CTS-SAT-1-OBC-Firmware
Loading...
Searching...
No Matches
mpi_command_handling.h
Go to the documentation of this file.
1#ifndef INC_MPI_COMMAND_HANDLING_H_
2#define INC_MPI_COMMAND_HANDLING_H_
3
4#include <stdint.h>
5#include <stddef.h>
6
7#include "mpi/mpi_types.h"
8#include "littlefs/lfs.h"
9
10static const uint8_t MPI_COMMAND_SUCCESS_RESPONSE_VALUE = 0xFE; // 0xFE = 254
11
14
16extern volatile uint32_t MPI_science_data_bytes_lost;
18extern uint32_t MPI_recording_start_uptime_ms;
19
27
29 const uint8_t *bytes_to_send, const size_t bytes_to_send_len,
30 uint8_t *rx_buffer, const size_t rx_buffer_max_size,
31 uint16_t *rx_buffer_len
32);
33
34uint8_t MPI_enable_active_mode(const char output_file_path[]);
37 const uint8_t command_code, uint8_t *rx_buffer, const uint16_t rx_buffer_len
38);
39
41
42#endif /* INC_MPI_COMMAND_HANDLING_H_ */
struct lfs_file lfs_file_t
static const uint8_t MPI_COMMAND_SUCCESS_RESPONSE_VALUE
Definition mpi_command_handling.h:10
volatile MPI_rx_mode_enum_t MPI_current_uart_rx_mode
Current mode under which the MPI is being operated.
Definition mpi_command_handling.c:24
lfs_file_t MPI_science_data_file_pointer
Definition mpi_command_handling.c:31
MPI_reason_for_stopping_active_mode
Definition mpi_command_handling.h:20
@ MPI_REASON_FOR_STOPPING_MAX_TIME_EXCEEDED
Definition mpi_command_handling.h:24
@ MPI_REASON_FOR_STOPPING_TEMPERATURE_EXCEEDED
Definition mpi_command_handling.h:22
@ MPI_REASON_FOR_STOPPING_NOT_SET
Definition mpi_command_handling.h:21
@ MPI_REASON_FOR_STOPPING_SELF_CHECK_DONE
Definition mpi_command_handling.h:25
@ MPI_REASON_FOR_STOPPING_TELECOMMAND
Definition mpi_command_handling.h:23
uint8_t MPI_disable_active_mode(MPI_reason_for_stopping_active_mode reason_for_stopping)
Definition mpi_command_handling.c:403
uint32_t MPI_recording_start_uptime_ms
Definition mpi_command_handling.c:32
uint8_t MPI_science_data_file_is_open
Definition mpi_command_handling.c:29
char * MPI_reason_for_stopping_active_mode_enum_to_str(MPI_reason_for_stopping_active_mode reason)
Definition mpi_command_handling.c:470
uint8_t MPI_enable_active_mode(const char output_file_path[])
Turns on MPI science mode and Enables DMA interrupt for MPI channel.
Definition mpi_command_handling.c:325
uint8_t MPI_send_command_get_response(const uint8_t *bytes_to_send, const size_t bytes_to_send_len, uint8_t *rx_buffer, const size_t rx_buffer_max_size, uint16_t *rx_buffer_len)
Sends commandcode+params to the MPI as bytes.
Definition mpi_command_handling.c:44
volatile uint32_t MPI_science_data_bytes_lost
Definition mpi_command_handling.c:30
uint8_t MPI_validate_command_response(const uint8_t command_code, uint8_t *rx_buffer, const uint16_t rx_buffer_len)
The MPI responds to each telecommand with a response code consisting of an echo of the telecommand co...
Definition mpi_command_handling.c:130
MPI_rx_mode_enum_t
Enumerates the different modes under which the satellite can operate the MPI.
Definition mpi_types.h:14
const uint16_t rx_buffer_max_size
Definition uart_telelecommand_defs.c:23
static uint8_t rx_buffer[5120]
Definition uart_telelecommand_defs.c:25