https://github.com/f4exb/tnc1101
Semi-virtual TNC using MSP430 + CC1101 RF module
https://github.com/f4exb/tnc1101
Last synced: 16 days ago
JSON representation
Semi-virtual TNC using MSP430 + CC1101 RF module
- Host: GitHub
- URL: https://github.com/f4exb/tnc1101
- Owner: f4exb
- Created: 2015-04-09T12:29:39.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2015-04-12T23:58:48.000Z (about 10 years ago)
- Last Synced: 2025-03-28T01:48:07.856Z (about 1 month ago)
- Language: C
- Size: 750 KB
- Stars: 9
- Watchers: 5
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
tnc1101
=======Semi-virtual TNC using MSP430 + CC1101 RF module to send data blocks over the air and a host client application to handle AX.25/KISS protocol
#Introduction
It assumes the following architecture is in place:
+--------------------------------------+
| Host Rasp-Pi, whatever... |
| |
| TCP/IP |
| | |
| +-----------------------+ |
| | ax0 network interface | |
| +-----------------------+ |
| ^ |
| | AX.25/KISS |
| V |
| /var/ax25/axp1 |
| | |
| | Virtual serial cable |
| | |
| /var/ax25/axp2 |
| ^ |
| | |
| V |
| +--------------------+ |
| | tnc1101 vitual TNC |<- User parameters
| +--------------------+ |
| ^ |
+-----------|--------------------------+
| Serial over USB
+-----------|--------------------------+
| MCU | MSP430F5529 |
| v Launchpad |
| +------------------------+ |
| | CC1101 control program | |
| +------------------------+ |
| ^ |
+-----------|--------------------------+
| SPI
| \\|/
V |
+-----------------+ |
| CC1101 module |----------+
+-----------------+The application has two main components
- The MCU (MSP430F5529 Launchpad board) interface with the CC1101 RF module in `msp430` folder. It comprises the follwing functions:
- Initialize the CC1101 chip with parameters specified by the host client application
- Handle the CC1101 Rx and Tx 64 bytes FIFOs to handle data blocks up to 255 bytes called "radio blocks"
- The client application on the host that communicate with the MCU over USB. Located in `tnc1101` folder it does the following:
- Instructs the MCU to initialize the CC1101 module with the desired parameters
- Interface with the TNC end of the virtual serial link cable. See "AX.25/KISS operation" chapter about details on this virtual "cable".
- Handle KISS blocks and split them over radio blocks of up to 255 bytes
- Move radio blocks back and forth to the MCU via USB
- Provides diagnosticsAdditional folders:
- The USB stack and interface to other functionnalities of the MSP430F5529 Launchpad board (SPI, ...) from TI are located in `MSP430_USB_API` folder.
- The interface with the CC1101 module is located in `MSP430_cc1101`
- Common files interfacing host and MCU software are located in the `common` folder
- The `scripts` directory contains convenience shell scripts to set-up and bring down AX25/KISS or SLIP interfaces