|
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).