I have modified lab 10.4.2 to have 4 nodes talking to a single host/master. Even though each of the 4 nodes reports “Sent IDx AHT10 Readings with Success”, only 3 are showing stats on the master – not the fourth (ID4). 10_4_2_esp-now_many-to-one_Receiver_ID0_Timer_ST7796S.zip is the host/master file and 10_4_1_esp-now_many-to-one_sender_ID4.zip is the node file. Node files with ID1 through ID4 are identical except for their ID numbers.
https://www.networkhorizons.com/EP/45_ESP32-C3_ESP-NOW/v1.0/Code/10_4_1_esp-now_many-to-one_sender_ID4.zip
https://www.networkhorizons.com/EP/45_ESP32-C3_ESP-NOW/v1.0/Code/10_4_2_esp-now_many-to-one_Receiver_ID0_Timer_ST7796S.zip
Additionally, the master’s Serial Monitor is not matching the correct ID of the satellite node. I tried to use this file to clean up the cache to no avail:https://www.networkhorizons.com/EP/45_ESP32-C3_ESP-NOW/v1.0/Code/ESP32-C3_Super_Mini_Forget_Cache.zip
Any help on why all 4 nodes send their traffic sucessfully but the master only displays 1 through 3 on the Serial Monitor and TFT display. Node that ID0 is the master reporting on its BME280 sensor whereas the satellite nodes are sporting AHT10 sensors.
Might be a syncing issue were message is arriving when another mesage is printing to Serial Monitor. Are you using flags to control when a message is sent?
Example of “on demand” data collection using flag syncing
Regards,
William
Before I have to change the code to accommodate the flags idea, I thought I would try something else.
All 4 boards were disconnected and the master was reset.
Board ID1 was powered up and was seen by the master. It was powered down and ID2 was powered up and seen by the master. As with ID1, the first byte of the Raw Data matched the ID#.
I powered down ID2 and powered up ID3; all is well. I powered down ID3.
When I powered up board ID4, it’s node readings were being sent but the board was not seen at all by the master. I powered down board ID4.
Next I powered up each board in order (ID1, ID2, ID3, ID4) once I could see that the previous ID matched the board and Raw Data. All was well but once again ID4 could not be seen.
There has to be something in my code, some hidden limit, that is preventing board 4 from being seen by the master.
Next, I replaced board 4 with board 5 and tried using ID4 code – no change.
I tried board 6 with ID1 code: it showed ID1 stats in master’s SM but not on the TFT display.
I tried board 6 with ID4 code: it showed ID4 stats in master’s SM but on the TFT display they are on the line used by ID3.
Time to take a break because if there is a failure pattern, it presently eludes me.