Today, Sibille and I tested the common reference time sharing between Phyllos. After coding the whole part, it worked pretty well and we managed to communicate with three Phyllos and the main_stm almost on our first try.
What was just a bit more challenging was when we tried to make the current time master (see yesterday’s post) disappear so that a new one could be reelected.
The tests’ main points
We needed to make sure that we could propagate the time tops from the master chosen among the bottom PCBs, through the main PCB and up until the main STM32.… Read more
Today, Marc and I started to work on the common time reference shared between Phyllos.
As you may recall, we need this common time reference to be able to play synchronized animations with several Phyllos. Here is a gif to visualize an example of synchronized animation :
As explained in this post, we know since a long time that it is possible to transmit precisely enough a time reference with UDP. But we still have to choose one ESP32 to be the master ESP32 and to enforce its time reference to all other ESP32, and by extension all other Phyllos.… Read more
In one Phyllo, we
have two ESP32. Let’s call them main_esp and bottom_esp to match
main_pcb and bottom_pcb. As far as WiFi communication is concerned,
there are three types of possible data flows:
client (typically a computer, for shell connection on the main_stm)
main_esp (to play shared animations)
bottom_esp (the two ESP32 from the same Phyllo to provide target
rotation speed or maybe also turn off main_pcb)
For each flow, there
must be a protocol to discover the IP addresses. One solution is to
broadcast a request for a specific Phyllo IP address. This solution
is especially useful for the shell client.… Read more