KISS is a protocol for communicating with a serial terminal node controller (TNC) device used for amateur radio. This allows the TNC to combine more features into a single device and standardizes communications. KISS was developed by Mike Chepponis and Phil Karn to allow transmission of AX.25 packet radio frames containing IP packets over an asynchronous serial link, for use with the KA9Q NOS program. [1 ]
Description [ edit ]
The KISS protocol is designed to be easy to implement in simple
embedded devices, which are capable of asynchronous serial communications. While it allows arbitrary data to be transferred, there is no support for flow control or error handling.
Back-to-back FEND codes should not be interpreted as empty frames. Instead, all but the last FEND code should be discarded. This can be used for synchronization.
If the FEND or FESC codes appear in the data to be transferred, they need to be
escaped. The FEND code is then sent as FESC, TFEND and the FESC is then sent as FESC, TFESC.
Special characters [ edit ]
Hex value Abbreviation
Transposed Frame End
Transposed Frame Escape
Command codes [ edit ]
Any of these codes may be sent from the host to the TNC, but only the "Data frame" code should be sent from the TNC to the host.
Hex value Name
This frame contains data that should be sent out of the TNC. The maximum number of bytes is determined by the amount of memory in the TNC.
The amount of time to wait before keying the transmitter and beginning to send data (in 10 ms units).
The persistence parameter. Persistence=Data*256-1. Used for
Slot time in 10 ms units. Used for
The length of time to keep the transmitter keyed after sending the data (in 10 ms units).
0 means half
duplex, anything else means full duplex.
Exit KISS mode. This applies to all ports and requires a port code of 0xF.
Packet format [ edit ]
nibble – Port Index
Low nibble – Command Data
Send the characters "TEST" out of TNC port 0 [ edit ]
Send the characters "Hello" out of TNC port 5 [ edit ]
Send the bytes 0xC0, 0xDB out of TNC port 0 [ edit ]
Exit KISS mode [ edit ]
Common uses [ edit ]
Alternatives [ edit ]
See also [ edit ]
References [ edit ]
External links [ edit ]