Chat freely about anything...

User avatar
By rudy
#57438 I don't have time right now to think of requirements. But this is one that has to be there. A single SSID to connect to and gain access to the nodes on the mesh. A single web page entry point.

What I think would be desirable would be for the network to be able to be on an existing network. Just running it's own protocol. It's great to be able to connect with a phone or tablet (a requirement) but it would be better if we didn't have to disconnect from our normal computer network in order to look at what the mesh network is doing. I have not fully thought this out. But from a user standpoint it makes a lot of sense. Maybe there needs to be a gateway device in order to connect to the normal network. Hopefully not.
User avatar
By gmag11
#59612 Hello all,

I've found this project and felt in love with it. Congratulations for such a great job.

I've been reading this complete thread and looks like counter overflow is causing some problems. I interpret that it is not solved yet.

Maybe I am too lame but, I've thought that if signed integers are used for timming counters overflow will not be a problem. For instance
Code: Select all(int)0x00000002 - (int)0xFFFFFF2 = 0x10

Please correct me if I'm wrong, I'm not an experienced programmer at all.

Regards,
Germán
User avatar
By gmag11
#59613 Hello,

In order to learn about mesh networks I want to build a simple nerwork where all nodes have a LED blinking synchronously.

Are all nodes time synchronized? Reading code, it seems that they are, but I cannot find a way to get shared network clock into my code.

Could you give me any indication?

Regards,
Germán
User avatar
By gmag11
#59628 I'm trying to read the code for synchronization. I've found
Code: Select allmesh.getNodeTime
should give the same clock in all nodes but it doesn't.
I guess adjustment calculation has a bug because it gives very low values even ig nodes are switched on in different moments.
In
Code: Select allvoid ICACHE_FLASH_ATTR timeSync::calcAdjustment ( bool odd )
there is this code:
Code: Select all// find number that turns local time into remote time
uint32_t adopterTime = times[ bestIndex ] + (bestInterval / 2);
uint32_t adjustment = times[ bestIndex + 1 ] - adopterTime;
Shouldn't adopterTime be similar to local mesh.getNodeTime? As of debug data is closer to remote time.
Besides, some times both, remote and local nodes adopt the time at once so each node adjust time in the opposite direction.