packet:ninotnc
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| packet:ninotnc [2026/02/08 14:31] – [Experimental new modes] m0lte | packet:ninotnc [2026/09/09 07:29] (current) – [Pinout] ei5iyb | ||
|---|---|---|---|
| Line 55: | Line 55: | ||
| 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 ** | + | **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. | 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. | ||
| Line 137: | Line 137: | ||
| * AX.25 - Basic over-the-air protocol utilised for packet radio | * AX.25 - Basic over-the-air protocol utilised for packet radio | ||
| * IL2P - Improved Layer 2 Protocol - effectively implements AX.25 but with some over-the-air improvements, | * IL2P - Improved Layer 2 Protocol - effectively implements AX.25 but with some over-the-air improvements, | ||
| - | * IL2P+CRC - IL2P with added checksum. Co-developed by Nino KK4HEJ and Jonathan G4KLX to resolve corruption found with IL2P in practice. | + | * IL2P+CRC |
| * BW - in this context, for FM: channel spacing, and for SSB: audio bandwidth. | * BW - in this context, for FM: channel spacing, and for SSB: audio bandwidth. | ||
| * Baud - symbols per second | * Baud - symbols per second | ||
| Line 219: | Line 219: | ||
| It's also useful to measure the peak-to-peak voltage of the transmit audio signal fed to the radio after proper deviation is set, using an oscilloscope. In this case it was 690mV. This will serve as a "good enough" | It's also useful to measure the peak-to-peak voltage of the transmit audio signal fed to the radio after proper deviation is set, using an oscilloscope. In this case it was 690mV. This will serve as a "good enough" | ||
| + | ==== Deviation / test-tone reference ==== | ||
| - | The FM modes tones are as follows: | + | Press the TEST button to emit the tone shown, then tune TX deviation to the target. |
| + | Deviation tuning applies to the FM modes only; SSB rows list the audio/ | ||
| + | Values current for firmware v3/4.44. | ||
| - | 0000, 0001: 999 Hz tone for 2.4kHz deviation \\ | + | ^ Switch ^ Band ^ Modulator ^ Test Tone / Centre Freq (Hz) ^ Target Deviation (kHz) ^ |
| - | 0010, 0011: 500 Hz tone for 1.2kHz deviation \\ | + | | 0000 | FM | GFSK 9600 | 999 | 2.4 | |
| - | 0110, 0111: 1248 Hz tone for 3.0kHz deviation \\ | + | | 0001 | FM | C4FSK 19200 | 2079 | 5.0 | |
| - | 0101: 2079 Hz tone for 5.0kHz deviation \\ | + | | 0010 | FM | GFSK 9600 | 999 | 2.4 | |
| - | C4FSK 9600 - 1039Hz for 2.5kHz outer deviation \\ | + | | 0011 | FM | C4FSK 9600 | 1039 | 2.5 | |
| - | C4FSK 19200 - 2079Hz for 5.0kHz outer deviation \\ | + | | 0100 | FM | GFSK 4800 | 500 | 1.2 | |
| + | | 0101 | FM | QPSK 3600 | 2079 | 5.0 | | ||
| + | | 0110 | FM | AFSK 1200 | 1248 | 3.0 | | ||
| + | | 0111 | FM | AFSK 1200 | 1248 | 3.0 | | ||
| + | | 1000 | SSB | PSK 300 | 1500 | n/a (SSB) | | ||
| + | | 1001 | SSB | PSK 300 | 1500 | n/a (SSB) | | ||
| + | | 1010 | SSB | PSK 1200 | 1500 | n/a (SSB) | | ||
| + | | 1011 | SSB | PSK 1200 | 1500 | n/a (SSB) | | ||
| + | | 1100 | SSB | AFSK 300 | 1700 | n/a (SSB) | | ||
| + | | 1101 | SSB | AFSK 300 | 1700 | n/a (SSB) | | ||
| + | | 1110 | SSB | AFSK 300 | 1700 | n/a (SSB) | | ||
| + | | 1111 | — | SET FROM KISS | n/a | n/a | | ||
| ==== Frequency misalignment ==== | ==== Frequency misalignment ==== | ||
| Line 324: | Line 338: | ||
| * Note - for a startup script you should always use the temporary value rather than writing to memory each time | * Note - for a startup script you should always use the temporary value rather than writing to memory each time | ||
| - | === GPIO === | ||
| - | With Raspberry Pi GPIO, put /usr/bin in the crontab path, and add the following to / | ||
| - | < | ||
| - | # 1000 - BPSK300 | ||
| - | 0 * * * * | ||
| - | |||
| - | # 1001 - QPSK600 | ||
| - | 30 * * * * | ||
| - | </ | ||
| - | |||
| - | dl = drive low, dh = drive high. | ||
| - | |||
| - | Wire the numbered GPIO pins to the bottom of the MODE DIP switch, turn all the switches off, and it'll mode-switch automatically. I've gone for BPSK300 for the first half of each hour, and QPSK600 for the second half. | ||
| - | |||
| - | I picked GPIOs 5, 6, 13 and 19 (consecutive physical pins) to map to the DIP switch pins from left to right as you look at the PCB. | ||
| - | |||
| - | === MCP2221A === | ||
| - | |||
| - | The MCP2221A USB chip has four GPIOs which can be used to control the mode, instead of the DIP switches. This can be useful particularly on a remote site, and removes the need for a second cable (and works with a machine without its own GPIO interface). | ||
| - | |||
| - | This is experimental and is likely to change. See https:// | ||
| - | |||
| - | General steps: | ||
| - | |||
| - | '' | ||
| - | |||
| - | Install python3. | ||
| - | |||
| - | then, once (persistent): | ||
| - | |||
| - | '' | ||
| - | |||
| - | this will configure the GPIO pins as outputs, and make them all low at power on. | ||
| - | |||
| - | then, when required (non-persistent): | ||
| - | |||
| - | '' | ||
| - | |||
| - | where 1111 is the state of the four switches, left to right. | ||
| - | |||
| - | Wiring as follows. **NOTE - you MUST either remove the DIP switch or leave all four switches set permanently off with the jumpers in place.** | ||
| - | |||
| - | Note: bit of an edge case, but it is required to run '' | ||
| - | |||
| - | {{: | ||
| ===== Pinout ===== | ===== Pinout ===== | ||
| - | Note: this is the BACK / SOLDER side of the PLUG. | + | Note: this is the BACK / SOLDER side of the PLUG. You are looking at the solder cups, NOT the pins. |
| {{: | {{: | ||
| + | |||
| + | We have section on making cables for NinoTNC -> [[cables|Transceiver Connections]] | ||
| ===== Firmware ===== | ===== Firmware ===== | ||
| Line 406: | Line 377: | ||
| </ | </ | ||
| - | Use v3 firmware | + | Use v3 firmware |
| If you get dire warnings about bricked TNCs, know is this highly unlikely. Unplug TNC, reboot system, plug TNC, try again. | If you get dire warnings about bricked TNCs, know is this highly unlikely. Unplug TNC, reboot system, plug TNC, try again. | ||
packet/ninotnc.1770561085.txt.gz · Last modified: by m0lte
