Fills to complete message reception (Radio KD8TTE Ep081)

Поделиться
HTML-код
  • Опубликовано: 18 сен 2024

Комментарии • 3

  • @jeffallen6459
    @jeffallen6459 Год назад

    How does the receiving computer know to generate a matching checksum for comparison? Does every word/letter have its own checksum that the software knows to generate no matter the computer its on? If that makes any sense, lol.

    • @KD8TTE
      @KD8TTE  Год назад +1

      Great question.
      HOW FLAMP KNOWS TO DO WORK
      This is part of the Amateur Multicast Protocol (AMP) implemented in FLAMP. Because the sender's FLAMP is formatting the message and then using FLDIGI to make the transmission, and the receiver's FLDIGI is receiving the transmission and sending the AMP data to the receiver's FLAMP, the receiver's FLAMP reads each of the lines.
      WHAT FLAMP IS ACTUALLY DOING
      Let's look at one example in particular.
      Notice that I make a fill at 11:19 in the video (ruclips.net/video/015YO5ZqNEQ/видео.html). If you pause at about 11:21, you can see pretty clearly one of the blocks that I filled, data block 16. Let's look at the line in detail:
      {F187:16}+M8r+LmxWxlXkjIudhxh5WLs4L/TAfloTLMu2z4ZTEp/YiYeGJUpRYwtroByyUYevabABZmBV0UDIA/x
      The first thing that we see is that this line has three parts:
      1. The stuff in the angle brackets
      2. The stuff in the curly braces {}
      3. The stuff that follows.
      tells us three things:
      1. This is a DATA block that follows, not to be confused with part of the preamble, or some part of protocol, like an end of file (EOF) or end of transmission (EOT).
      2. The number of characters in the block is 89. (Go ahead, count 'em!)
      3. The checksum value, 5EAD. (This is using the CRC-16/MODBUS algorithm.)
      The {F187:16} tells us two things:
      1. The Queue ID (made by the sender's FLAMP when added to the transmit queue, so it's a unique value in the sender's queue of things to send),
      2. The block number (16)
      The stuff that follows is where the data are actually sent.
      The receiving FLAMP will see that line come in and do its work. You can even do it yourself. Check this out: Feed the whole data block to a CRC-16/MODBUS calculator, e.g., crccalc.com/ and paste the whole line in the input box there. (It should be one single line with no breaks or newlines anywhere, including the end, and should be exactly 89 characters.)
      If you do that then hit the CRC-16 button, look below at the row for CRC-16/MODBUS, you'll notice that it shows that the checksum in the Result column is 0x5EAD. (0x is a prefix that tells the reader unambiguously that what follows is hexadecimal; base-16, where each digit goes from 0 through f. Thus "0x9" is the same as decimal (base-10) 9; 0xa is the same as 10; 0x10 is the same as 16.)
      Thus, the block is good and the receiver's FLAMP keeps a copy of that block in memory. Once it's got a good copy of the whole thing, FLAMP will save the file in its rx folder for that day.
      Make a change to the line, like a newline, an extra letter, a dropped letter or change a zero to the letter o, and you'll see that even though it might look the same, the checksum is different. That's how FLAMP knows whether the block is good.
      Thanks for the question!

    • @jeffallen6459
      @jeffallen6459 Год назад

      @@KD8TTE thanks!