Question
Does the 1-byte packet ID limitation (0-255 range) mean it's fundamentally impossible to programmatically detect accurate packet loss counts, or is there another mechanism in the firmware/protocol that allows for accurate detection across wraparounds?
Example of the ambiguity:
For Cyton Daisy with packet IDs [0, 2, 4, ..., 252, 254] (128 values):
- Last received packet ID:
2
- Next received packet ID:
8
What can be determined from packet IDs alone:
- Minimum packets lost: 2 (packets
4 and 6)
What could have actually happened:
- 2 packets lost:
4, 6
- 130 packets lost: (128 × 1 full loop) + 2
- 258 packets lost: (128 × 2 full loops) + 2
- 386 packets lost: (128 × 3 full loops) + 2
- etc.
The question: Is there any way to programmatically distinguish between these scenarios with the current protocol, or does the wraparound make accurate packet loss detection impossible?
For my used case, I'm looking to do real time processing of data. I've heard the SD card can solve some of these problems but I don't think that's a solution for me if I'm doing real time� processing.
Question
Does the 1-byte packet ID limitation (0-255 range) mean it's fundamentally impossible to programmatically detect accurate packet loss counts, or is there another mechanism in the firmware/protocol that allows for accurate detection across wraparounds?
Example of the ambiguity:
For Cyton Daisy with packet IDs
[0, 2, 4, ..., 252, 254](128 values):28What can be determined from packet IDs alone:
4and6)What could have actually happened:
4, 6The question: Is there any way to programmatically distinguish between these scenarios with the current protocol, or does the wraparound make accurate packet loss detection impossible?
For my used case, I'm looking to do real time processing of data. I've heard the SD card can solve some of these problems but I don't think that's a solution for me if I'm doing real time� processing.