packet:ninotnc
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| packet:ninotnc [2025/01/03 23:01] – m0lte | packet:ninotnc [2025/10/27 14:19] (current) – [Operating modes] m0gzp | ||
|---|---|---|---|
| Line 21: | Line 21: | ||
| ===== UK Stock ===== | ===== UK Stock ===== | ||
| - | By agreement, Tom M0LTE holds stock of PCB + microcontroller only kits in the UK. These are available | + | By agreement, Tom M0LTE sometimes |
| ===== Operating modes ===== | ===== Operating modes ===== | ||
| Line 27: | Line 27: | ||
| Current modes as of firmware release 3.40 / 4.40 / v40 (all refer to the same version) | Current modes as of firmware release 3.40 / 4.40 / v40 (all refer to the same version) | ||
| - | ^# ^ Mode ^ Baud ^ bps ^ Mod ^ Proto ^ Usage ^ BW ^ Typical use ^ | + | ^# ^ Mode ^QtSM Mode ^ Baud ^ bps ^ Mod ^ Proto ^ Usage ^ BW ^ Typical use ^ |
| - | |1 | 0001 | 19200 | 19200 | 4FSK | IL2Pc | FM | 25k | High SNR links between dedicated data radios. v41 firmware required in practice. | + | |1 | 0001 | ? |19200 | 19200 | 4FSK | IL2Pc | FM | 25k | High SNR links between dedicated data radios. v41 firmware required in practice. |
| - | |3 | 0011 | 9600 | 9600 | 4FSK | IL2Pc | FM | 12.5k | High SNR links between dedicated data radios. Suitable for UK 2m band. | | + | |3 | 0011 | ? | 9600 | 9600 | 4FSK | IL2Pc | FM | 12.5k | High SNR links between dedicated data radios. Suitable for UK 2m band. | |
| - | |2 | 0010 | 9600 | 9600 | GFSK | IL2Pc | FM | 25k | Current recommended mode for new 70cm (25kHz) links where both ends are compatible | + | |2 | 0010 | ? | 9600 | 9600 | GFSK | IL2Pc | FM | 25k | Current recommended mode for new 70cm (25kHz) links where both ends are compatible |
| - | |5 | 0101 | 3600 | 3600 | QPSK | IL2Pc | FM | 12.5k | For situations where only a speaker/mic connection is available but > 1200 baud is desired | | + | |5 | 0101 | ? | 3600 | 3600 | QPSK | IL2Pc | FM | 12.5k | For situations where only a speaker/mic connection is available but > 1200 baud is desired | |
| - | |11| 1011 | 1200 | 2400 | QPSK | IL2Pc | SSB/FM | 2.4kHz | HF - quadrature version of 1200 BPSK, twice the throughput for +3dB SNR. | | + | |11| 1011 | QPSK v26a | 1200 | 2400 | QPSK | IL2Pc | SSB/FM | 2.4kHz | HF - quadrature version of 1200 BPSK, twice the throughput for +3dB SNR. | |
| - | |10| 1010 | 1200 | 1200 | BPSK | IL2Pc | SSB/FM | 2.4kHz | HF - use for circuits where wider transmission is acceptable. | + | |10| 1010 | ? | 1200 | 1200 | BPSK | IL2Pc | SSB/FM | 2.4kHz | HF - use for circuits where wider transmission is acceptable. |
| - | |9 | 1001 | 300 | 600 | QPSK | IL2Pc | SSB | 500Hz | HF - quadrature version of 300 BPSK, twice the throughput for +3dB SNR | | + | |9 | 1001 | ? | 300 | 600 | QPSK | IL2Pc | SSB | 500Hz | HF - quadrature version of 300 BPSK, twice the throughput for +3dB SNR | |
| - | |8 | 1000 | 300 | 300 | BPSK | IL2Pc | SSB | 500Hz | HF - slowest but best performing mode. ~7dB better than classic 300 baud FSK AX.25 | | + | |8 | 1000 | BPSK AX.25 300bd | 300 | 300 | BPSK | IL2Pc | SSB | 500Hz | HF - slowest but best performing mode. ~7dB better than classic 300 baud FSK AX.25 | |
| - | |14| 1110 | 300 | 300 | AFSK | IL2Pc | SSB | 500Hz | CRC improvement of IL2P 300 baud AX.25. Recommended if you can't do BPSK / QPSK on HF. | | + | |14| 1110 | AFSK AX.25 300bd | 300 | 300 | AFSK | IL2Pc | SSB | 500Hz | CRC improvement of IL2P 300 baud AX.25. Recommended if you can't do BPSK / QPSK on HF. | |
| - | |- | 1111 | n/a | n/a | n/a | n/a | n/a | n/a | Allows the mode to be set by a SETHW KISS command (v41+). | + | |- | 1111 | ? | n/a | n/a | n/a | n/a | n/a | n/a | Allows the mode to be set by a SETHW KISS command (v41+). |
| IL2Pc is shorthand for IL2P plus CRC. | IL2Pc is shorthand for IL2P plus CRC. | ||
| + | |||
| + | **QtSM NOTE: For IL2P and CRC modes, these need to be enabled per modem in the Settings/ | ||
| + | |||
| Superseded (but still supported) modes: | Superseded (but still supported) modes: | ||
| Line 57: | 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 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 '' | ||
| + | |||
| + | * 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) | ||
| + | | 1 (0001) | ||
| + | | 2 (0010) | ||
| + | | 3 (0011) | ||
| + | | 4 (0100) | ||
| + | | 5 (0101) | ||
| + | | 6 (0110) | ||
| + | | 7 (0111) | ||
| + | | 8 (1000) | ||
| + | | 9 (1001) | ||
| + | | 10 (1010) | ||
| + | | 11 (1011) | ||
| + | | 12 (1100) | ||
| + | | 13 (1101) | ||
| + | | 14 (1110) | ||
| + | | 15 (1111) | ||
| ===== Signals settings ===== | ===== Signals settings ===== | ||
| Line 273: | Line 310: | ||
| 0110, 0111: 1248 Hz tone for 3.0kHz deviation \\ | 0110, 0111: 1248 Hz tone for 3.0kHz deviation \\ | ||
| 0101: 2079 Hz tone for 5.0kHz deviation \\ | 0101: 2079 Hz tone for 5.0kHz deviation \\ | ||
| + | C4FSK 9600 - 1039Hz for 2.5kHz outer deviation \\ | ||
| + | C4FSK 19200 - 2079Hz for 5.0kHz outer deviation \\ | ||
| + | |||
| + | ==== Frequency misalignment ==== | ||
| + | |||
| + | TL;DR: +/- 4kHz is absolute maximum misalignment for narrow channel, that will still be decoded | ||
| + | |||
| + | Tested using a 25kHz Tait TM8105, programmed with a 12.5kHz channel, using a 4k8 GFSK signal with 1.2kHz deviation, and tested with a signal generator. The receive performance was fairly consistent with frequency misalignment up to +-4kHz. At that limit, the Tait's RSSI pin was indicating 3dB less signal strength than when the frequency was perfectly aligned. At +- 5kHz misalignment, | ||
| + | |||
| + | Narrowband Kenwood TK-760, nearly the same as the Tait. Also tried a FTM-3100 set to narrow. Similar, but less accurate and wider. It worked +4kHz to -6kHz, suggesting a couple kHz oscillator misalignment. | ||
| ===== Misc Linux Notes ===== | ===== Misc Linux Notes ===== | ||
| Line 322: | 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 '' | BPQ supports this via the '' | ||
| Line 331: | 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 | ||
| + | |||
| + | the 6 is always constant | ||
| ^ Set port n to mode ^ temporary | ^ Set port n to mode ^ temporary | ||
| - | | 300FSK | + | | FSK300 |
| - | | 300BPSK | + | | BPSK300 |
| + | | QPSK600 IL2Pc | '' | ||
| + | |||
| + | **Linux Kernel** | ||
| + | |||
| + | When configuring the linux kernel you can add the value required to the '' | ||
| + | < | ||
| + | kissparms -p < | ||
| + | </ | ||
| + | |||
| + | * 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* | ||
| + | | FSK300 IL2Pc (40m slot 1) | '' | ||
| + | | BPSK300 IL2Pc (40m slot 3) | '' | ||
| + | | QPSK600 IL2Pc | '' | ||
| + | * 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 / | With Raspberry Pi GPIO, put /usr/bin in the crontab path, and add the following to / | ||
| Line 392: | Line 462: | ||
| ===== Firmware ===== | ===== Firmware ===== | ||
| + | |||
| + | To check your firmware version, press the test (red) button on TNC and observe the decoded packet. | ||
| + | |||
| + | < | ||
| + | =FirmwareVr: | ||
| + | 00000000=IL2PRxUnCr: | ||
| + | </ | ||
| To upgrade the firmware, see https:// | To upgrade the firmware, see https:// | ||
| Line 420: | Line 497: | ||
| Available from [[https:// | Available from [[https:// | ||
| + | |||
| + | ===== Flashing CRC ===== | ||
| + | |||
| + | If your CRC light is flashing, you are driving the modem' | ||
| + | |||
| + | {{: | ||
packet/ninotnc.1735945301.txt.gz · Last modified: by m0lte
