Although the basic KISS configuration is simple, with a number of parameters set to reasonable defaults, the KISS driver has a large number of options. KISS can operate over a serial port, i2c, TCP and UDP.
All KISS ports have a number of statements in common:
; Minimal KISS Configuration PORT ID=Kiss Port TYPE=ASYNC PROTOCOL=KISS FRACK=10000 RESPTIME=3000 RETRIES=10 MAXFRAME=2 PACLEN=200 TXDELAY=500 SLOTTIME=100 PERSIST=64
Serial ports need COMPORT and SPEED parameters:
COMPORT=3 ; Windows - COM3 or COMPORT=/dev/ttyS0 ; Linux device name. SPEED=19200 ; PC to TNC Speed
Software Modems, such as DireWolf or UZ7HO Soundmodem, can use KISS over TCP. These Need IPADDR and TCPPORT parameters:
IPADDR=127.0.0.1 ; Address of PC runnning the TNC. Usually this is the same machine as BPQ, so use 127.0.0.1 but can be on another machine TCPPORT=8100 ; Port TNC listens on. Default for UZ7HO is 8100 and Direwolf 8001
Some configurations need a KISSOPTIONS paramter. The options are
KISSOPTIONS=POLLED,CHECKSUM,ACKMODE,SLAVE,D700,PITNC,NOPARAMS,FLDIGI,TRACKER ENDPORT
The first 3 select my extended KISS mode.
These extended KISS options are supported by my BPQKISS EPROM for the TNC2 and clones, the TNCPI and most Kantronics TNCs (where it is called XKISS).
POLLED selects multi-dropped mode, where the TNC only transmits when requested (Polled) by the PC. This allows several TNCs to share an async port without any risk of collisions.
CHECKSUM selects a mode where a checksum byte is appended to each data message, and checked by the other end. This reduces the risk of data corruption if errors occur on the link from PC to TNCs. It may be used on its own, but should always be used if POLLED mode is selected.
ACKMODE enables the transmission of 'ACK required' frames. These cause the TNC to send a reply when the frame has been transmitted. This will improve link performance by avoiding the possibility of a retry being sent before the original frame has even left the TNC. This mode should always be used if the TNC support it.
SLAVE allows a PC to be multidropped along with one or more KISS TNCs on a multidropped link. If you use SLAVE, you shouldn't set POLLED, and you shouldn't use ACKMODE on either end.
D700 removes the risk of accidentally taking D700/D710 radios out of KISS Mode
PITNC is for use the the TNC-PI on a Raspberry PI
NOPARAMS - Don't send Parameters (TXDELAY, SLOTTIME, etc) to TNC;
FLDIGI - Set if you are using the "KISS over UDP" option in FLDIGI
TRACKER - Used with SCS Tracket to place it in KISS mode on initialisation
If you need more than one separate with commas, eg KISSOPTIONS=PITNC,NOPARAMS