User Tools

Site Tools


packet:ninotnc

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
packet:ninotnc [2025/08/09 16:33] – [Flashing CRC] m0ltepacket:ninotnc [2025/10/27 14:19] (current) – [Operating modes] m0gzp
Line 60: Line 60:
  
 Baud is symbols per second, bps is bits per second. Where baud=bps, that means each symbol carries 1 bit (i.e. a symbol can have two states, 0 or 1). Where baud is 2x bps, that means each symbol carries 2 bits (i.e. a symbol can have four states: 00, 01, 10, 11). Baud is symbols per second, bps is bits per second. Where baud=bps, that means each symbol carries 1 bit (i.e. a symbol can have two states, 0 or 1). Where baud is 2x bps, that means each symbol carries 2 bits (i.e. a symbol can have four states: 00, 01, 10, 11).
 +
 +** Decoding Operating Modes from BrdSwchMod **
 +
 +When the test button is pressed on the TNC, along with the frame it emits to the radio, it will emit a different frame to the KISS client that is connected.  The BrdSwchMod value in the test frame can be decoded to share information about the TNC:
 +
 +  * the first two digits the board version (a decimal number, e.g. 04)
 +  * the next two are the physical MODE switch setting (encoded as binary, for example 06 is 0110)
 +  * the last four are the operating mode
 +
 +For example, for a value of ''BrdSwchMod:040F0023'' as used on the HF interface of GB7WEM, we can see:
 +
 +  * Board Revision 04
 +  * MODE switch setting 1111 (set by SETHW hardware command)
 +  * Current Operating Mode 0x23 (MODE_300_AFSKPLL_IL2P_CRC)
 +
 +The Operating Mode values are **internal** and **may change with firmware version**, so you can use the following table to map the operating mode values **for Version .44 of the Firmware** (current at time of writing):
 +
 +^ Switch Mode ^ BrdSwchMod Value ^ Mode Name                 ^
 +| 0 (0000)    | 0x00             | MODE_9600_GFSK_AX25       |
 +| 1 (0001)    | 0x41             | MODE_19200_4FSK           |
 +| 2 (0010)    | 0xB0             | MODE_9600_GFSK_IL2P_CRC   |
 +| 3 (0011)    | 0x40             | MODE_9600_4FSK            |
 +| 4 (0100)    | 0xA3             | MODE_4800_GFSK_IL2P_CRC   |
 +| 5 (0101)    | 0xF1             | MODE_3600_QPSK_IL2P_CRC   |
 +| 6 (0110)    | 0x02             | MODE_1200_AFSK_AX25       |
 +| 7 (0111)    | 0x93             | MODE_1200_AFSK_IL2P_CRC   |
 +| 8 (1000)    | 0x91             | MODE_300_BPSK_IL2P_CRC    |
 +| 9 (1001)    | 0x92             | MODE_600_QPSK_IL2P_CRC    |
 +| 10 (1010)   | 0xA0             | MODE_1200_BPSK_IL2P_CRC   |
 +| 11 (1011)   | 0xA2             | MODE_2400_QPSK_IL2P_CRC   |
 +| 12 (1100)   | 0x31             | MODE_300_AFSK_AX25        |
 +| 13 (1101)   | 0x22             | MODE_300_AFSKPLL_IL2P     |
 +| 14 (1110)   | 0x23             | MODE_300_AFSKPLL_IL2P_CRC |
 +| 15 (1111)   | 0xF3             | MODE_SET_FROM_KISS        |
 ===== Signals settings ===== ===== Signals settings =====
  
Line 335: Line 369:
  
 The KISS MODE setting is written to flash memory. To prevent an immediate flash memory write, add 16 to the mode number in the KISS SETHW command - for example, the value 14 would become 30. The KISS MODE setting is written to flash memory. To prevent an immediate flash memory write, add 16 to the mode number in the KISS SETHW command - for example, the value 14 would become 30.
 +
 +**BPQ**
  
 BPQ supports this via the ''KISS'' command. For this command to work, you must set the mode DIP switches to 1-1-1-1 (or //on-on-on-on//), and be in SYSOP mode. To enter SYSOP mode, type ''password'' at the prompt. The prompt will respond with ''OK''. At this point, enter the command below: BPQ supports this via the ''KISS'' command. For this command to work, you must set the mode DIP switches to 1-1-1-1 (or //on-on-on-on//), and be in SYSOP mode. To enter SYSOP mode, type ''password'' at the prompt. The prompt will respond with ''OK''. At this point, enter the command below:
Line 344: Line 380:
 * Remembering to add 16 to the value if you don't want the setting written to memory. * Remembering to add 16 to the value if you don't want the setting written to memory.
  
-**Examples**+**BPQ Examples**
  
 kiss n is the port number - port 3 in these examples kiss n is the port number - port 3 in these examples
Line 355: Line 391:
 | QPSK600 IL2Pc              | ''kiss 3 6 25'' | ''kiss 3 6 9''  | QPSK600 IL2Pc              | ''kiss 3 6 25'' | ''kiss 3 6 9'' 
  
 +**Linux Kernel**
 +
 +When configuring the linux kernel you can add the value required to the ''kissparms'' command in your startup script. For this command to work, you must set the mode DIP switches to 1-1-1-1 (or //on-on-on-on//).  You would then modify the command to include the ''-h'' parameter with whatever value you require:
 +<code>
 +kissparms -p <port> -h <value as determined above*> <any other needed parameters> 
 +</code>
 +
 +* Remembering to add 16 to the value if you don't want the setting written to memory.
 +
 +**Linux Kernel Examples**
 +
 +^ Set port n to mode         ^ temporary*       ^ persistent      ^
 +| FSK300 IL2Pc (40m slot 1)  | ''kissparms -p HF -h 30'' | ''kissparms -p HF -h 14'' |
 +| BPSK300 IL2Pc (40m slot 3) | ''kissparms -p HF -h 24'' | ''kissparms -p HF -h 8'' 
 +| QPSK600 IL2Pc              | ''kissparms -p HF -h 25'' | ''kissparms -p HF -h 9'' 
 +
 +* Note - for a startup script you should always use the temporary value rather than writing to memory each time
 === GPIO === === GPIO ===
 With Raspberry Pi GPIO, put /usr/bin in the crontab path, and add the following to /etc/crontab: With Raspberry Pi GPIO, put /usr/bin in the crontab path, and add the following to /etc/crontab:
packet/ninotnc.1754757195.txt.gz · Last modified: by m0lte