Table of Contents

Data and Configuration Modem -> App

the modem sends these data to the application via UDP port 40133:
the first Byte is a message ID:

Response to broadcast

see: GUI Interface: UDP/IP/Initialization

Data Reception

when the modem detects incoming data it unpacks the payload and sends this message to the user application:

 Byte 0 ... 0x01
 Byte 1 ... frame type (which was inserted by the sender)
 Byte 2 ... frame counter MSB
 Byte 3 ... frame counter LSB (10 bits used)
 Byte 4 ... frame information (which was inserted by the sender)
 Byte 5 ... unused
 Byte 6 ... measured line speed MSB
 Byte 7 ... measured line speed LSB
 Bytes 8-10 ... unused
 Bytes 11-229 ... 219 bytes payload

FFT data for a spectrum monitor

 Byte 0 ... 0x04
 Byte 1 ... usage of the TX fifo (used by the transmitter to sync its data 
            output to the modem). This is a value between 0..255. During 
            an active transmission keep it above 4.
 Byte 2 ... usage of RX fifo (not important, but can be displayed to the 
            user). A very high RX fifo usage indicates the the computer 
            is too slow for HSmodem.
 Byte 3 ... 0 or 1. Indicates that an RF level was detected
 Byte 4 ... 0 or 1. Indicates that the HSmodem receiver is synchronized 
            with a signal
 Byte 5 ... maximum audio level (0..100%) of the audio input from the 
            transceiver. Can be used to detect clipping.
 Byte 6 ... maximum audio level (0..100%) of the audio output to the 
            transceiver. Can be used to detect clipping.
 Byte 7 ... in RTTY mode this is the auto-locked RTTY frequency MSB
 Byte 8 ... and LSB
 Byte 9 ... RTTY: 0=tx off, 1=txon
 Byte 10 to the end ... FFT spectrum data, beginning at 0 Hz to 4kHz with 
            a resolution of 10 Hz

IQ Data for constellation diagram

 Byte 0 ... 0x05
 Byte 1 ... point-1 real part MSB
 Byte 2 ... point-1 real part LSB
 Byte 3 ... point-1 imaginary part MSB
 Byte 4 ... point-1 imaginary part LSB
 Byte 5 ... point-2 real part MSB
 Byte 6 ... point-2 real part LSB
 Byte 7 ... point-2 imaginary part MSB
 Byte 8 ... point-2 imaginary part LSB
 .
 .
 .
 . to the end of the message

not all IQ values are transferred to avoid flooding the computer running the GUI. But the number is sufficient for a good constellation display.

RTTY

 Byte 0 ... 0x06
 Byte 1 ... received RTTY character (Ascii)
 Byte 2 ... 0 (unused)
 Byte 3 ... 0=RX idle, 1=RX in sync with a received RTTY signal