Site Tools


fpk_data_mode

FPK data mode

This is a reverse-engineered description of the data mode used by Flare Pepper Kitchen option 8.

Modulation

FPK uses binary audio frequency-shift keying (AFSK). The default parameters are as follows:

  • Symbol rate: 300 Bd
  • Space (0) frequency: 1270 Hz
  • Mark (1) frequency: 1070 Hz

Bitstream

FPK transmissions consist of a series of bytes framed in the 8-N-1 configuration. That is, each transmitted byte begins with a single 0 bit, followed by the eight data bits ordered least significant bit first, followed by a single 1 bit.

The following sections describe unframed bytes in the conventional most significant bit first order. All multi-byte fields are big endian.

Packets

Each FPK transmission is a single packet. All packet types share the following structure:

Byte 0 1 2 3 N-6 N-5 N-4 N-3 N-2 N-1
Value 0x5A5A5A5A CRC 0x00000000
  • CRC (16 bits): CRC-16-MODBUS computed from all preceding bytes in the packet, including the initial 0x5A5A5A5A sequence. CRC-16-MODBUS is defined by the polynomial x16+x15+x2+1, initial state 0xFFFF, reflected input, and reflected output; for input bytes 5A 5A 5A 5A 04 00 00, the correct result is 0xEBE6.

Info packet

Byte 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 N-7
Value 0x03 PC 0x00 MD5 Filename
  • PC (16 bits): Number of data packets in the file descriptor that have payload present.
  • MD5 (128 bits): Binary MD5 hash of the transmitted file.
  • Filename: ASCII string terminated with a single 0x00 byte.

Data packet

Byte 4 5 6 7 N-7
Value 0x04 BR Payload
  • BR (16 bits): Number of bytes remaining at this point in the transmission, excluding the current packet. In practical terms:
    • For the first data packet, this field is equal to the size of the file.
    • For the last data packet, this field is equal to the packet's payload length.
  • Payload: Bytes to copy into the file unmodified. Data packets with no payload are valid.

File descriptors

Each file descriptor is a series of numbered packets:

  • Packet 0 is always an info packet with metadata on the transmitted file.
  • Packets 1, 2, 3, etc. are always data packets with fragments of the file, in order from first to last.
  • Beyond the final data packet with payload present are empty data packets.
This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies
fpk_data_mode.txt · Last modified: 2024/05/27 17:04 by dae