|
CTS-SAT-1-OBC-Firmware
|
#include "main.h"#include "rtos_tasks/rtos_task_helpers.h"#include "rtos_tasks/rtos_tasks_rx_telecommands.h"#include "telecommand_exec/telecommand_parser.h"#include "telecommand_exec/telecommand_executor.h"#include "uart_handler/uart_handler.h"#include "transforms/arrays.h"#include "log/log.h"#include "debug_tools/debug_uart.h"#include "cmsis_os.h"#include <string.h>#include <stdio.h>#include <time.h>
Enumerations | |
| enum | TCMD_check_result_enum_t { TCMD_CHECK_STATUS_NO_TCMD = 0 , TCMD_CHECK_STATUS_TCMD_SCHEDULED = 1 , TCMD_CHECK_STATUS_TCMD_INVALID_AND_DISCARDED = 2 } |
Functions | |
| static TCMD_check_result_enum_t | check_for_and_handle_new_uart_tcmds () |
| Checks for an available telecommand in the UART buffer, and schedules it for execution. | |
| void | TASK_handle_uart_telecommands (void *argument) |
| static TCMD_check_result_enum_t | check_for_and_handle_new_ax100_kiss_tcmd (uint8_t csp_packet_array[], uint16_t csp_packet_array_len) |
| Checks for an available telecommand in the UART buffer, and schedules it for execution. | |
| void | TASK_handle_ax100_kiss_telecommands (void *argument) |
Variables | |
| uint32_t | AX100_uptime_at_last_received_kiss_tcmd_ms = 0 |
| The system uptime, as of the last time a telecommand was received by the AX100 (and sent to OBC via KISS). | |
| uint32_t | TCMD_handle_umbilical_tcmds_interval_ms = 400 |
| The interval between handling telecommands (parsing and adding to agenda) from the umbilical UART. | |
| uint32_t | TCMD_handle_ax100_tcmds_interval_ms = 400 |
| The interval between handling telecommands (parsing and adding to agenda) uplinked via the UHF radio. Note: Does not include execution. Decrease this to 200ms-250ms (or lower) if bulk uplinking large amounts of data (e.g., firmware). | |
|
static |
Checks for an available telecommand in the UART buffer, and schedules it for execution.
| csp_packet_array | The CSP packet to read, starting with 4 bytes of CSP, and reading until null-termination after the CSP header. |
| csp_packet_array_len | The length of the csp_packet_array. |


|
static |
Checks for an available telecommand in the UART buffer, and schedules it for execution.


| void TASK_handle_ax100_kiss_telecommands | ( | void * | argument | ) |


| void TASK_handle_uart_telecommands | ( | void * | argument | ) |


| uint32_t AX100_uptime_at_last_received_kiss_tcmd_ms = 0 |
The system uptime, as of the last time a telecommand was received by the AX100 (and sent to OBC via KISS).
| uint32_t TCMD_handle_ax100_tcmds_interval_ms = 400 |
The interval between handling telecommands (parsing and adding to agenda) uplinked via the UHF radio. Note: Does not include execution. Decrease this to 200ms-250ms (or lower) if bulk uplinking large amounts of data (e.g., firmware).
| uint32_t TCMD_handle_umbilical_tcmds_interval_ms = 400 |
The interval between handling telecommands (parsing and adding to agenda) from the umbilical UART.
Any value from 1ms to millions is reasonable. 20ms is a good value for optimized bulk uplink. Note: Does not include execution.