Module header

Module header 

Source
Expand description

D-STAR radio header (41 bytes on the wire with CRC-CCITT).

The header is transmitted at the start of every D-STAR voice stream. It contains routing information (repeater callsigns, destination, origin) and 3 flag bytes for control signaling.

§Wire format (per JARL D-STAR specification)

Offset  Length  Field
0       1       Flag 1 (control)
1       1       Flag 2 (reserved)
2       1       Flag 3 (reserved)
3       8       RPT2 callsign (space-padded)
11      8       RPT1 callsign (space-padded)
19      8       YOUR callsign (space-padded)
27      8       MY callsign (space-padded)
35      4       MY suffix (space-padded)
39      2       CRC-CCITT (little-endian)

§CRC-CCITT

Reflected polynomial 0x8408, initial value 0xFFFF, final XOR 0xFFFF. Computed over bytes 0-38, stored little-endian at 39-40.

See ircDDBGateway/Common/HeaderData.cpp:637-684 (getDPlusData) and ircDDBGateway/Common/CCITTChecksum.cpp for the reference implementation this module mirrors.

Structs§

DStarHeader
D-STAR radio header.

Constants§

ENCODED_LEN
Size of the encoded header on the wire (including CRC).

Functions§

crc_ccitt
CRC-CCITT (reflected polynomial 0x8408, init 0xFFFF, final XOR 0xFFFF).