/** \page kiss_command_page FLDIGI KISS Hardware Commands \tableofcontents

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 \ref config_io_page and \ref command_line_switches_page for specific address and port number assignments. \section sSetCommands Set Commands Command \ | Use :------------------------------- | :---------------------------- BCHN:\ | Busy Channel On/Off BCHNS:\<0-999\> | Busy Channel Wait Duration (seconds) CSMA:\ | Enable/Disable CSMA. Used on a shared frequency IBCHN:\ | 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:\ | Pass non HDLC encoded data to the transmitter. \verbatim ON = HDLC and Unaltered data. OFF = HDLC data only. ONLY = Unaltered data only. \endverbatim Command | Use :------------------------------- |:------------------------------------------------- KISSCRCM:\ | Enable KISS frame checksum type KPSATT:\ | Set the fractional ratio gain value (1/value) KPSQL:\ | OFF=Histogram Mode, ON=User set level KPSQLS:\<0-100\> | Set squelch level (percent) MODEM:\ | Set modem type. Example MODEM:PSK63RC32 RSIDBCAST:\ | Enable/disable RSID broadcast state change (default: OFF) RSIDRX:\ | Enable/disable RX RSID RSIDTX:\ | Enable/disable TX RSID SQL:\ | SQL On/Off SQLS:\<0-100\> | Set SQL Level (percent) TRXSBCAST:\ | Enable/disable TX/RX state change broadcast (default: OFF) TXBEBCAST:\ | Enable/disable TX buffer empty broadcast (default: OFF) TXLOCK:\ | Enable/disable TX waterfall position lock. WFF:\ | Move TXRX cursor to frequency on waterfall. \verbatim 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 \endverbatim Command \ | Use :---------------------|:------------------------------------------------- RSIDM:\,\ | Set the RSID mode to,... \verbatim 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). \endverbatim \section sQueryCommands Query Commands Command / Return Status | Use :-------------------------------------------------------- | :------------------------------------------------- BCHN: FLDIGI returns BCHN:\ | Busy Channel State On/Off Query BCHNS: FLDIGI returns BCHNS:\<0-999\> | Busy Channel Wait Duration Query (seconds) BUSY: FLDIGI returns BUSY:\ | Return the state of the squelch, if there is a signal present CSMA: FLDIGI returns CSMA:\ | CSMA State ON/OFF FLSTAT: FLDIGI returns FLSTAT:\,\ | Start up State and runtime. Returns OK and after initial Query IBCHN: FLDIGI returns IBCHN:\ | Inhibit busy channel durations in seconds. KISSCRCM: FLDIGI returns CRCMODE:\,\ | Host <-> TNC KISS CRC Types KPSATT: FLDIGI returns KPSATT:\ | Fractional value of KPSQL ratio gain figure (1/value) KPSQL: FLDIGI returns KPSQL:\ | 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:\ | Current Modem MODEMBW: FLDIGI returns MODEMBW:\ | Current Modem Bandwidth MODEML: FLDIGI returns MODEML:Modem1,Modem2,... | A List of comma delimited modem ID strings. RSIDM: FLDIGI returns RSIDM:\,\ | Return current RSID Mode RSIDRX: FLDIGI returns RSIDRX:\ | RX RSID ON? RSIDTX: FLDIGI returns RSIDTX:\ | TX RSID ON? SQL: FLDIGI returns SQL:\ | 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 \ | Returns the version number of FLDIGI TRXS: FLDIGI returns TRXS:\ | Return the current RX/TX state of FLDIGI TXBUF: FLDIGI returns TXBUF:\ | Return the number of byte in the transmit queue TXLOCK: FLDIGI returns TXLOCK:\ | Return TX waterfall position lock state. WFBW: FLDIGI returns WFBW:\,\ | Return the active waterfall bandwidth WFF: FLDIGI returns WFF:\ | Current modem position on waterfall (center) \subsection ssQueryCommand Query Commands (FLDIGI to HOST) Command | Use :------------ |:------------------------------------------------- HOST: | Host returns HOST:\ \ \par Note: Not required \section sBroadcastCommands Broadcast Status Messages (FLDIGI to HOST) Status \ | Use :-------------------------- |:------------------------------------------------- RSIDN:NEW_WF_OFFSET,NEW_MODEM,OLD_WF_OFFSET,OLD_MODEM,\ | RSID NOTICE TRXS:\ | Transmitted during a state change between RX/TX or TX/RX. TXBE: | Broadcast on emptied transmit buffer. \verbatim 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. \endverbatim \section sCommandFormat 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. \verbatim 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" \endverbatim \section sRawDataFormat Format of RAW Data To enable RAW use, issue hardware command KISSRAW:. 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) \verbatim KISS RAW FRAME=D1,D2,D3,... FEND,PORT(0)|RAW(7),D1,D2,D3,...,FEND \endverbatim
--- 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.
*/