Telemetry, Tracking, and Command system designed for Atlas Sat. Developed at DSO National Laboratories for R@YDSP
This repository features code used in the Telemetry, Tracking, and Command (TT&C) of Atlas Sat. The TT&C system is responsible for communication between the satellite and ground station, managing telemetry data, and processing commands. The TT&C is built using the FreeRTOS real-time operating system and the CSP communication protocol. The TT&C software is designed to be scalable and adaptable to various mission requirements.
For a detailed list of features, refer to the project report.
View Project Structure
└── ttnc/
├── docs
│ ├── Capture_obc.PNG
│ ├── Capture_subsys.PNG
│ ├── README.md
│ ├── _config.yml
│ └── wiring.jpg
├── ttnc
│ ├── FreeRTOS
│ │ ├── Demo
│ │ │ └── Common
│ │ └── Source
│ │ ├── include
│ │ ├── list.c
│ │ ├── portable
│ │ ├── queue.c
│ │ ├── tasks.c
│ │ └── timers.c
│ ├── FreeRTOSConfig.h
│ ├── libcsp
│ │ ├── CHANGELOG
│ │ ├── CONTRIBUTORS
│ │ ├── COPYING
│ │ ├── INSTALL.rst
│ │ ├── README.rst
│ │ ├── bindings
│ │ │ └── python
│ │ ├── doc
│ │ │ ├── example.rst
│ │ │ ├── history.rst
│ │ │ ├── interfaces.rst
│ │ │ ├── libcsp.rst
│ │ │ ├── memory.rst
│ │ │ ├── mtu.rst
│ │ │ ├── protocolstack.rst
│ │ │ ├── structure.rst
│ │ │ └── topology.rst
│ │ ├── include
│ │ │ └── csp
│ │ ├── src
│ │ │ ├── arch
│ │ │ ├── crypto
│ │ │ ├── csp_bridge.c
│ │ │ ├── csp_buffer.c
│ │ │ ├── csp_conn.c
│ │ │ ├── csp_crc32.c
│ │ │ ├── csp_debug.c
│ │ │ ├── csp_dedup.c
│ │ │ ├── csp_endian.c
│ │ │ ├── csp_iflist.c
│ │ │ ├── csp_io.c
│ │ │ ├── csp_port.c
│ │ │ ├── csp_promisc.c
│ │ │ ├── csp_qfifo.c
│ │ │ ├── csp_route.c
│ │ │ ├── csp_service_handler.c
│ │ │ ├── csp_services.c
│ │ │ ├── csp_sfp.c
│ │ │ ├── interfaces
│ │ │ ├── rtable
│ │ │ └── transport
│ │ ├── utils
│ │ │ ├── cfpsplit.py
│ │ │ └── cspsplit.py
│ │ ├── waf
│ │ └── wscript
│ ├── main.c
│ ├── project
│ │ ├── include
│ │ │ ├── conf_util.h
│ │ │ ├── driver_debug.h
│ │ │ ├── error.h
│ │ │ ├── packet.h
│ │ │ ├── protocol.h
│ │ │ ├── tasks.h
│ │ │ ├── uart.h
│ │ │ ├── uart1.h
│ │ │ └── uart2.h
│ │ └── src
│ │ ├── i2c.c
│ │ ├── packet.c
│ │ ├── tasks.c
│ │ ├── uart.c
│ │ ├── uart1.c
│ │ └── uart2.c
│ ├── ttnc.componentinfo.xml
│ └── ttnc.cproj
└── ttnc.atslnBefore getting started with ttnc, ensure your runtime environment meets the following requirements:
- Programming Language: C
- IDE: Microchip Studio
- Download from Arduino Software.
- Choose the MSI installer.
- Go to
Tools > Board > Boards Managerand install Arduino AVR boards. - Check the installation path of Arduino IDE:
- Right-click on the Arduino IDE icon > Open File Location.
- Example:
C:\Users\johndoe\AppData\Local\Programs\Arduino IDE.
- Verify the existence of the folder:
- Example:
C:\Users\johndoe\AppData\Local\Arduino15.
- Example:
- Locate the
avrdude.exepath:- Example:
C:\Users\johndoe\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17\bin\avrdude.exe - Copy the path and save it.
- Example:
- Download Microchip Studio from the Microchip website.
- Open Microchip Studio.
- Go to
Tools > External Tools. - Click on
Add. - Fill in the following fields:
- Title:
COMx.- Example:
COM4.
- Example:
- Command:
avrdude.exepath.- Example:
C:\Users\johndoe\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17\bin\avrdude.exe - Arguments:
-Cpath toavrdude.conffile-v -patmega328p -carduino -PCOMx-b115200 -D -Uflash:w:"$(ProjectDir)Debug\$(TargetName).hex":i.- Example:
-C"C:\Users\johndoe\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17\etc\avrdude.conf" -v -patmega328p -carduino -PCOM3 -b115200 -D -Uflash:w:"$(ProjectDir)Debug\$(TargetName).hex":i
- Title:
- Clone the ttnc repository:
❯ git clone https://github.com/atlas-sat/ttnc- Navigate to the project directory:
❯ cd ttnc- Open Microchip Studio.
- Go to
File > Open > Project/Solution. - Navigate to the project directory and open the
ttnc.atslnfile.
- Build the project by clicking on the
Buildbutton. - Verify that the project builds successfully.
- Go to
Tools > COMx. - Verify that the project flashes successfully.
This project is not protected under any license. You are free to use, modify, and distribute the software as you see fit.
- Caden's cat Clover.