Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LICH contents reassembly #131

Open
sp5wwp opened this issue Sep 19, 2023 · 4 comments
Open

LICH contents reassembly #131

sp5wwp opened this issue Sep 19, 2023 · 4 comments
Assignees
Labels
enhancement New feature or request

Comments

@sp5wwp
Copy link
Member

sp5wwp commented Sep 19, 2023

Link Setup Data* must remain the same over the course of a superframe, and receivers should only reassemble the LSD chunks from within a single superframe.

*naming convention - LSF is the first frame containing LSD. LSD is then also the data reassembled using LICH. Logically, it's not LSF.

@tarxvftech
Copy link
Contributor

tarxvftech commented Sep 20, 2023

I see why the desire for having a different name due to the changing data and multiple uses.
Makes sense, that distinction needs to be made.

So we have:

  • LICH which is the data itself
  • LSD which ... is the same data? Or is it a single chunk of the LICH?
  • LSF which is the actual frame that contains full LICH/LSD sent at the beginning of a new transmission. I used to know this as Link Information Frame but I see it was updated.

I'm clear on the distinction between LSD and LSF (good luck qyslexics! I think I'd have to write each out a lot to keep them straight).

I'm not fully clear on the distinction between LICH and LSD.

@sp5wwp
Copy link
Member Author

sp5wwp commented Sep 20, 2023

Starting with LSD:
LSD - link setup data that contains the destination, source, metadata. It is only data, represented with bytes.
LSF - it is the first frame containing full LSD. It is frame, a basic logical element of the RF transmission.
LICH - it is the channel within M17 RF transmission, containing error-correction-coded chunks of LSD. It is present in every stream frame containing payload. It can be used to reconstruct LSD, if all 6 frames forming a superframe are decoded and the resulting data is concatenated together. LSD can change in time, on superframe basis.

@tarxvftech
Copy link
Contributor

Gotcha. If I have that right then each of these should be correct:

LICH refers specifically to the chunks of LSD.
LSF contains the full LSD.
The LICH stream allows you to assemble the full LSD if you collect a full superframe's worth of chunks.

So we're being more precise with the language. I like it, makes sense.

@sp5wwp
Copy link
Member Author

sp5wwp commented Sep 20, 2023

Exactly. It makes little sense to say "recover full LSF" as LSF is a frame, not its contents. Or "LSF has to remain the same over the course of a single superframe" - again, LSF is a frame and not the data it holds.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants