CTS-SAT-1-OBC-Firmware
|
Every non-local C function, enum, typedef, etc. in this codebase shall be prefixed with one of the following uppercase identifiers to indicate which subsystem/region of code it belongs to.
TCMD_
: related to the telecommand parsing systemTCMDEXEC_
: is a telecommand which can be executedTASK_
: functions which are FreeRTOS threads/tasksTASK_HELP_
: functions, etc. which are directly related to FreeRTOS threads, which represent logic factored out of individual threadsDEBUG_UART_
: related to debugging via UART, and debugging UART communicationsDEBUG_I2C_
: related to I2CLFS_
: related to LittleFS, the satellite's filesystemlfs_
(lowercase).LFS_
prefix indicates that the function is implemented by the CTS team.UART_
: related to low-level UART drivers, written by the CTS teamTEST_
: unit testing and integration testing infrastructureTEST_EXEC_
: unit test and integration test functionsGEN_
: general-purpose functions which don't fit into any other categoryFREERTOS_
: related to FreeRTOS tasks/threads/metadataADCS_
: Attitude Determination and Control SystemEPS_
: related to the Electrical Power SystemEPS_CMD_
: functions which trigger a command to the EPS subsystemGNSS_
: GNSS/GPS receiverCOMMS_ANT_
: related to the I2C communications for the deployable communications antennaAX100_
: related to the AX100 communication module, at a low levelCOMMS_
: related to higher-level functions for command and data handling, which calls into the AX100_
prefixBOOM_
: related to the burn wire driver for the deployable composite latice boom (DCLB) subsystemCAM_
: related to the UART cameraLORA_
: related to the UART LoRaWAN communications systems, if integratedENVIRO_
: related to monitoring the environment (e.g., the on-OBC temperature sensor)FLASH_
: driver functions for the SPI flash system, which the lfs_
implementation can call intoSTM32_
: driver functions for features within the STM32, including internal flash, boot metadata, etc.CTS1_
: related to CTS-SAT-1/FrontierSat as a wholeTIME_
: related to the timer peripheral, or time-keeping in generalHAL_
: STM32 HAL (Hardware Abstraction Layer)lfs_
: LittleFS library functions_CFG_
: Variables can contain _CFG_
to indicate that they are configuration variables of another subsystem/namespace. For example, EPS_CFG_
denotes an EPS subsystem configuration variable._CMD_
: Functions can contain _CMD_
to indicate that they trigger a command to that subsystem. For example, EPS_CMD_
denotes a function which triggers a command to the EPS subsystem (and gets the EPS's response).