FLDIGI Users Manual  4.0
FLDIGI KISS Hardware Commands

Table of Contents

Custom Frame Extensions

These commands are NON-STANDARD extension(s) to the KISS interface specifications and designed to control/configure aspects of FLDIGI not normally found in Hardware TNC's. Undefined kiss frame types 6 and 7 are used to identify these custom frames.

Definition Kiss frame ID
HARDWARE 6
RAW 7

External program which conform to the official KISS I/O specifications are expected to operate normally.

UDP/IP Connectionless communications are used to transfer information between FLDIGI and the host program. See Configure ARQ/KISS I/O and Command Line Switches for specific address and port number assignments.

Set Commands

Command <parameters(s)> Use
BCHN:<ON|OFF> Busy Channel On/Off
BCHNS:<0-999> Busy Channel Wait Duration (seconds)
CSMA:<ON|OFF> Enable/Disable CSMA. Used on a shared frequency
IBCHN:<N> Set Inhibit busy channel duration to N seconds
IBCHN:0 Resets temporary duration to default setting.
IBCHN:S Inhibit busy channel temporarily. 'S' (character) (default 5 seconds)
KISSRAW:<ON|OFF|ONLY> Pass non HDLC encoded data to the transmitter.
ON   = HDLC and Unaltered data.
OFF  = HDLC data only.
ONLY = Unaltered data only.
Command Use
KISSCRCM:<NONE|SMACK|CCITT|XOR|FCS> Enable KISS frame checksum type
KPSATT:<value> Set the fractional ratio gain value (1/value)
KPSQL:<ON|OFF> OFF=Histogram Mode, ON=User set level
KPSQLS:<0-100> Set squelch level (percent)
MODEM:<modem_id_string> Set modem type. Example MODEM:PSK63RC32
RSIDBCAST:<ON|OFF> Enable/disable RSID broadcast state change (default: OFF)
RSIDRX:<ON|OFF> Enable/disable RX RSID
RSIDTX:<ON|OFF> Enable/disable TX RSID
SQL:<ON|OFF> SQL On/Off
SQLS:<0-100> Set SQL Level (percent)
TRXSBCAST:<ON|OFF> Enable/disable TX/RX state change broadcast (default: OFF)
TXBEBCAST:<ON|OFF> Enable/disable TX buffer empty broadcast (default: OFF)
TXLOCK:<ON|OFF> Enable/disable TX waterfall position lock.
WFF:<integer value> Move TXRX cursor to frequency on waterfall.
NONE  = No CRC used
SMACK = Enable CRC use for Host <-> TNC ASYNC links
CCITT = Enable CCITT CRC
FCS   = Enable FCS CRC
XOR   = Enable BPQ's XOR CRC
Command <parameters(s)> Use
RSIDM:<BANDPASS|MODEM>,<ACTIVE|NOTIFY> Set the RSID mode to,...
BANDPASS = Search entire bandpass for RSID signals
MODEM    = Search Modem bandpass (+/- 200HZ) for RSID signals
ACTIVE   = When RSID received, move frequency transmit/receive cursor to location.
NOTIFY   = Report RSID when detected (Notify only).

Query Commands

Command / Return Status Use
BCHN: FLDIGI returns BCHN:<ON|OFF> Busy Channel State On/Off Query
BCHNS: FLDIGI returns BCHNS:<0-999> Busy Channel Wait Duration Query (seconds)
BUSY: FLDIGI returns BUSY:<Y|N> Return the state of the squelch, if there is a signal present
CSMA: FLDIGI returns CSMA:<ON|OFF> CSMA State ON/OFF
FLSTAT: FLDIGI returns FLSTAT:<INIT|OK>,<HH:MM:SS> Start up State and runtime. Returns OK and after initial Query
IBCHN: FLDIGI returns IBCHN:<SECONDS> Inhibit busy channel durations in seconds.
KISSCRCM: FLDIGI returns CRCMODE:<NONE|SMACK>,<CCITT|XOR|FCS> Host <-> TNC KISS CRC Types
KPSATT: FLDIGI returns KPSATT:<value> Fractional value of KPSQL ratio gain figure (1/value)
KPSQL: FLDIGI returns KPSQL:<ON|OFF> OFF=Histogram Mode, ON=User set level
KPSQLP: FLDIGI returns KPSQLP <0-100> Current Power Level
KPSQLS: FLDIGI returns KPSQLS:<0-100> Squelch set level Query (percent)
MODEM: FLDIGI returns MODEM:<Modem ID String> Current Modem
MODEMBW: FLDIGI returns MODEMBW:<Bandwidth in Hz> Current Modem Bandwidth
MODEML: FLDIGI returns MODEML:Modem1,Modem2,... A List of comma delimited modem ID strings.
RSIDM: FLDIGI returns RSIDM:<BANDPASS|MODEM>,<ACTIVE|NOTIFY> Return current RSID Mode
RSIDRX: FLDIGI returns RSIDRX:<ON|OFF> RX RSID ON?
RSIDTX: FLDIGI returns RSIDTX:<ON|OFF> TX RSID ON?
SQL: FLDIGI returns SQL:<ON|OFF> SQL On/Off
SQLP: FLDIGI returns SQLP:<0-100> Current Symbol Quality Level (Currently Not returning valid data)
SQLS: FLDIGI returns SQLS:<0-100> Set SQL Level Query (percent)
TNC: FLDIGI returns TNC:FLDIGI <Version Number> Returns the version number of FLDIGI
TRXS: FLDIGI returns TRXS:<RX|TX> Return the current RX/TX state of FLDIGI
TXBUF: FLDIGI returns TXBUF:<count> Return the number of byte in the transmit queue
TXLOCK: FLDIGI returns TXLOCK:<ON|OFF> Return TX waterfall position lock state.
WFBW: FLDIGI returns WFBW:<LOWER HZ>,<UPPER HZ> Return the active waterfall bandwidth
WFF: FLDIGI returns WFF:<integer value> Current modem position on waterfall (center)

Query Commands (FLDIGI to HOST)

Command Use
HOST: Host returns HOST:<program_name> <version>
Note:
Not required

Broadcast Status Messages (FLDIGI to HOST)

Status <parameters(s)> Use
RSIDN:NEW_WF_OFFSET,NEW_MODEM,OLD_WF_OFFSET,OLD_MODEM,<ACTIVE|NOTIFY|USER> RSID NOTICE
TRXS:<RX|TX> Transmitted during a state change between RX/TX or TX/RX.
TXBE: Broadcast on emptied transmit buffer.
NEW_WF_OFFSET = 0-4000
NEW_MODEM     = Modem ID string of newly switched modem.
OLD_WF_OFFSET = 0-4000
OLD_MODEM     = Modem ID string of modem prior to switching.
ACTIVE        = Indicating TXRX cursor changed.
NOTIFY        = Notice only.
USER          = Report User or commanded via KISS interface modem change.

Format of Hardware Commands

FLDIGI will only except KISS frames with a PORT ID of '0' (zero). The hardware frame is a kiss frame type 6.

MODEM:PSK125RC16
FEND,PORT(0)|HRDW(6),'M','O',D','E','M',':','P','S','K','1',2','5','R','C','1','6',FEND
KISS HARDWARE FRAME="MODEM:PSK63RC32"
KISS HARDWARE FRAME="RSIDTX:ON"
KISS HARDWARE FRAME="RSIDRX:OFF"

Format of RAW Data

To enable RAW use, issue hardware command KISSRAW:<ON|OFF|ONLY>. The encode of the raw data is the same as the encoding of normal kiss data. The host program is responsible for the proper protocol data syntax.

Format:

Dn=8 bit data (byte)

KISS RAW FRAME=D1,D2,D3,...

FEND,PORT(0)|RAW(7),D1,D2,D3,...,FEND



Notes:

  1. The transmit buffer has a ten minute timer association. In the event data has been retained in the transmit buffer for more then 10 minutes without being transmitted in part or whole the buffer is cleared. This will prevent a build up of data and a subsequent transmit for an extended period once the frequency is clear. Consider all packets in the transmit queue lost. If enabled, TXBE will be issued when this occurs.
  2. Both ARQ and KISS IO ports are active for the reception of data. However, only the selected port will pass data to the higher functions and the other port will not buffer the data for later use. Reason: see note 1.
  3. By keeping a complete ARQ (RAW) packet in one KISS frame both HDLC and ARQ (RAW) data can coexist. This allows for sequential data transmission without interleaving data at the byte level.