M17_spec icon indicating copy to clipboard operation
M17_spec copied to clipboard

LICH contents reassembly

Open sp5wwp opened this issue 11 months ago • 4 comments

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.

sp5wwp avatar Sep 19 '23 18:09 sp5wwp

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.

tarxvftech avatar Sep 20 '23 09:09 tarxvftech

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.

sp5wwp avatar Sep 20 '23 09:09 sp5wwp

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.

tarxvftech avatar Sep 20 '23 09:09 tarxvftech

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.

sp5wwp avatar Sep 20 '23 10:09 sp5wwp