2#ifndef INCLUDE_GUARD__UART_HANDLER_H__
3#define INCLUDE_GUARD__UART_HANDLER_H__
5#include "stm32l4xx_hal.h"
80#define AX100_MAX_KISS_FRAMES_IN_RX_QUEUE 8
81#define AX100_MAX_KISS_FRAME_SIZE_BYTES 500
MPI_buffer_state_enum_t
Definition mpi_types.h:20
Definition uart_handler.h:83
uint16_t len
Definition uart_handler.h:85
uint8_t data[AX100_MAX_KISS_FRAME_SIZE_BYTES]
Definition uart_handler.h:84
UART_HandleTypeDef * UART_eps_port_handle
Definition uart_handler.c:21
CAMERA_uart_write_state_enum_t
Definition uart_handler.h:10
@ CAMERA_UART_WRITE_STATE_HALF_FILLING
Definition uart_handler.h:12
@ CAMERA_UART_WRITE_STATE_IDLE
Definition uart_handler.h:11
@ CAMERA_UART_WRITE_STATE_HALF_FILLED_WAITING_FS_WRITE
Definition uart_handler.h:13
@ CAMERA_UART_WRITE_STATE_HALF_WRITTEN_TO_FS
Definition uart_handler.h:14
volatile uint32_t UART_ax100_last_write_time_ms
Definition uart_handler.c:32
const uint16_t UART_gnss_buffer_len
Definition uart_handler.h:59
volatile uint8_t UART_AX100_kiss_frame_queue_head
Definition uart_handler.c:97
volatile uint16_t UART_eps_buffer_write_idx
Definition uart_handler.c:49
#define AX100_MAX_KISS_FRAMES_IN_RX_QUEUE
Definition uart_handler.h:80
volatile uint16_t UART_gnss_buffer_write_idx
Definition uart_handler.h:61
UART_HandleTypeDef * UART_telecommand_port_handle
Definition uart_handler.c:16
volatile uint8_t UART_camera_pending_fs_write_half_1_buf[]
Definition uart_handler.c:40
#define AX100_MAX_KISS_FRAME_SIZE_BYTES
Definition uart_handler.h:81
volatile AX100_kiss_frame_struct_t UART_AX100_kiss_frame_queue[AX100_MAX_KISS_FRAMES_IN_RX_QUEUE]
Definition uart_handler.c:96
volatile uint16_t UART_telecommand_buffer_write_idx
Definition uart_handler.c:26
const uint16_t MPI_science_buffer_len
Length of the MPI_science_buffer_one and MPI_science_buffer_two arrays.
Definition uart_handler.c:74
volatile uint32_t MPI_buffer_one_last_filled_uptime_ms
Definition uart_handler.c:82
volatile uint8_t UART_gnss_buffer[]
Definition uart_handler.h:60
const uint16_t UART_eps_buffer_len
Definition uart_handler.c:47
UART_HandleTypeDef * UART_camera_port_handle
Definition uart_handler.c:20
volatile uint8_t UART_mpi_last_rx_byte
Definition uart_handler.c:57
volatile uint8_t UART_camera_pending_fs_write_half_2_buf[]
Definition uart_handler.c:41
const uint16_t UART_mpi_buffer_len
Definition uart_handler.c:55
void UART_init_uart_handlers(void)
Enable the UART interrupts for always-enabled systems.
Definition uart_handler.c:471
volatile MPI_buffer_state_enum_t MPI_buffer_one_state
Current state of the MPI_active_data_median_buffer (pending write vs. written).
Definition uart_handler.c:79
volatile uint8_t UART_mpi_rx_dma_buffer[]
Definition uart_handler.c:71
volatile uint32_t UART_mpi_last_write_time_ms
Definition uart_handler.c:58
volatile uint32_t UART_telecommand_last_write_time_ms
Definition uart_handler.c:27
volatile uint8_t UART_eps_is_expecting_data
Definition uart_handler.c:51
UART_HandleTypeDef * UART_gnss_port_handle
Definition uart_handler.c:19
volatile CAMERA_uart_write_state_enum_t CAMERA_uart_half_2_state
Definition uart_handler.c:44
volatile uint32_t UART_gnss_last_write_time_ms
Definition uart_handler.h:62
volatile uint32_t UART_eps_last_write_time_ms
Definition uart_handler.c:50
volatile uint8_t MPI_science_buffer_one[]
Definition uart_handler.c:75
volatile uint8_t UART_telecommand_buffer[]
Definition uart_handler.c:25
const uint8_t UART_mpi_rx_dma_buffer_len
Definition uart_handler.c:70
UART_HandleTypeDef * UART_mpi_port_handle
Definition uart_handler.c:17
volatile CAMERA_uart_write_state_enum_t CAMERA_uart_half_1_state
Definition uart_handler.c:43
volatile uint32_t MPI_buffer_two_last_filled_uptime_ms
Definition uart_handler.c:83
volatile uint16_t UART_mpi_buffer_write_idx
Definition uart_handler.c:59
const uint16_t UART_telecommand_buffer_len
Definition uart_handler.c:24
volatile uint8_t UART_gnss_buffer_last_rx_byte
Definition uart_handler.c:66
volatile uint8_t UART_gnss_uart_interrupt_enabled
Definition uart_handler.c:67
UART_HandleTypeDef * UART_ax100_port_handle
Definition uart_handler.c:18
uint8_t CAMERA_set_expecting_data(uint8_t new_enabled)
Sets the UART interrupt state (enabled/disabled).
Definition uart_handler.c:411
const uint16_t UART_camera_dma_buffer_len
Definition uart_handler.c:36
volatile uint8_t MPI_science_buffer_two[]
Definition uart_handler.c:76
const uint16_t UART_camera_dma_buffer_len_half
Definition uart_handler.c:37
volatile uint8_t UART_AX100_kiss_frame_queue_tail
Definition uart_handler.c:98
volatile MPI_buffer_state_enum_t MPI_buffer_two_state
Definition uart_handler.c:80
volatile uint32_t UART_camera_last_write_time_ms
Definition uart_handler.c:42
volatile uint8_t UART_eps_buffer[]
Definition uart_handler.c:48
volatile uint8_t UART_mpi_buffer[]
Definition uart_handler.c:56
volatile uint8_t UART_camera_dma_buffer[]
Definition uart_handler.c:38
void GNSS_set_uart_interrupt_state(uint8_t new_enabled)
Sets the UART interrupt state (enabled/disabled).
Definition uart_handler.c:394