Skip to content

Is Accurate Packet Loss Detection Possible with 1-Byte Packet IDs? #110

@DashBarkHuss

Description

@DashBarkHuss

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions