This is a quick introduction to the computing team.
Our job is to schedule tasks onboard the satellite, log telemetry data, and interface with the radio and power subsystems. We also packetize the data that gets sent down by the radio.
Our main processor is the TMS570 line from Texas Instruments. This is an industrial processor with two cores that constantly compare with each other. It has the SECDED (single error correction, double error detection) principle implemented throughout the entire chip. This means that any single-bit errors can be corrected automatically by the system, increasing reliability for us.
To schedule tasks and coordinate the functionality that must happen, we use FreeRTOS. There is already a part of the OS for our processor, and there is extensive documentation and help online.
Getting Started Steps
Quickly skim this presentation: https://docs.google.com/presentation/d/10rZ7HNJK1PKdXTrqoN9SsgCA_vathLfs1MCG52YartE/edit
Follow the steps in this presentation: https://docs.google.com/presentation/d/1f7Ju9JL5RSyHOoU5yEFDoLO5kCBvoIrjsd7w20Z_gYI/edit#slide=id.g2149ba1043_0_75
For reference, this is the development board we use: https://www.digikey.ca/products/en?keywords=hercules%20launchpad
Watch our youtube videos https://www.youtube.com/watch?v=DB2Amdz4kz0&list=PLcguvqXCBMy1I6HJXY4a4-JYDu080Ofvw These give an intro to our software and development tools
Read the preface, chapter 3, chapter 7
This document is in progress, but has some details about the implementation of various features We are trying to update it with recent design decisions.
Check out the code
- Pull master https://github.com/SFUSatClub/obc-firmware
- Set the build config to build-obc-v0.4
- Examine the flow in platform-obc-v0.4/source/sys_main.c
- You can highlight and right click function names and choose “Open Declaration” to open the function’s .c file
- All of our code is in either sys_main.c or the SFUSat directory
- Have a look at task_main and the tests and examples
Browse the issues on Git
See what you’d like to work on. https://github.com/SFUSatClub/obc-firmware/issues
Youtube tutorials https://docs.google.com/spreadsheets/d/1R0j-JpN3n5S3hFIuyeGC2EwDK7S45FBwHiTS_3dcA70/edit#gid=0 Important tutorials are numbered in the “View Order” tab Unfortunately, many of them don’t exist anymore :( Task walkthrough This is a simple task that still incorporates a lot of fundamentals such as: RTOS tasks, GPIO pins, and time delays. This document walks through the configuration and software writing process. https://docs.google.com/document/d/1AJDf07F2Gc79XzgEqg17G6lv2K4JDy7efGeB2hOkoxk/edit