I’ve been thinking about your distributed learning model via IR, and had a few questions:
- Blink Program Layout: What is the physical layout when doing the IR distributed reprogram?
Star pattern with central Blink as the program sender and the surrounding Blinks as receivers of the new program?
Blink Depth: Can they be more than 1 deep off of the program sender?? (e.g. a row of Blinks, or 2+ deep in star pattern?)
Data Validation: How are you ensuring the receiving blinks are receiving all of the correct data? And when is the validation performed? (per data packet, per bunch, at program end??)
Message Queue/Buffering: Is there a message queue (bufferign), or only last received (depth=1; overwrite)?
Transmission rate: (directly tied to (3) and (4)) - what kind of data transmission speeds are you reaching reliably?
IR Timeout: Given that Blinks are continuously broadcasting and an IR timeout is only when there is no neighbor (or neighbors off); how are you distinguishing valid repeated data from old stale data? E.g. if the receiving BlinkOS in a “read loop” sees 0x11, 0x22, 0x22, 0x22, 0x33 - how can you tell if the 2nd or 3rd 0x22 is a rebroadcast of previous (stale) data or is a purposeful send of the same data?