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:19
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:19
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:38
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:103
volatile uint16_t UART_eps_buffer_write_idx
Definition uart_handler.c:55
#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:14
volatile uint8_t UART_camera_pending_fs_write_half_1_buf[]
Definition uart_handler.c:46
#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:102
volatile uint16_t UART_telecommand_buffer_write_idx
Definition uart_handler.c:24
const uint16_t MPI_science_buffer_len
Length of the MPI_science_buffer_one and MPI_science_buffer_two arrays.
Definition uart_handler.c:80
volatile uint32_t MPI_buffer_one_last_filled_uptime_ms
Definition uart_handler.c:88
volatile uint8_t UART_gnss_buffer[]
Definition uart_handler.h:60
const uint16_t UART_eps_buffer_len
Definition uart_handler.c:53
UART_HandleTypeDef * UART_camera_port_handle
Definition uart_handler.c:18
volatile uint8_t UART_mpi_last_rx_byte
Definition uart_handler.c:32
volatile uint8_t UART_camera_pending_fs_write_half_2_buf[]
Definition uart_handler.c:47
const uint16_t UART_mpi_buffer_len
Definition uart_handler.c:30
void UART_init_uart_handlers(void)
Definition uart_handler.c:472
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:85
volatile uint8_t UART_mpi_rx_dma_buffer[]
Definition uart_handler.c:77
volatile uint32_t UART_mpi_last_write_time_ms
Definition uart_handler.c:33
volatile uint32_t UART_telecommand_last_write_time_ms
Definition uart_handler.c:25
volatile uint8_t UART_eps_is_expecting_data
Definition uart_handler.c:57
UART_HandleTypeDef * UART_gnss_port_handle
Definition uart_handler.c:17
volatile CAMERA_uart_write_state_enum_t CAMERA_uart_half_2_state
Definition uart_handler.c:50
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:56
volatile uint8_t MPI_science_buffer_one[]
Definition uart_handler.c:81
volatile uint8_t UART_telecommand_buffer[]
Definition uart_handler.c:23
const uint8_t UART_mpi_rx_dma_buffer_len
Definition uart_handler.c:76
UART_HandleTypeDef * UART_mpi_port_handle
Definition uart_handler.c:15
volatile CAMERA_uart_write_state_enum_t CAMERA_uart_half_1_state
Definition uart_handler.c:49
volatile uint32_t MPI_buffer_two_last_filled_uptime_ms
Definition uart_handler.c:89
volatile uint16_t UART_mpi_buffer_write_idx
Definition uart_handler.c:34
const uint16_t UART_telecommand_buffer_len
Definition uart_handler.c:22
volatile uint8_t UART_gnss_buffer_last_rx_byte
Definition uart_handler.c:72
volatile uint8_t UART_gnss_uart_interrupt_enabled
Definition uart_handler.c:73
UART_HandleTypeDef * UART_ax100_port_handle
Definition uart_handler.c:16
uint8_t CAMERA_set_expecting_data(uint8_t new_enabled)
Sets the UART interrupt state (enabled/disabled)
Definition uart_handler.c:414
const uint16_t UART_camera_dma_buffer_len
Definition uart_handler.c:43
volatile uint8_t MPI_science_buffer_two[]
Definition uart_handler.c:82
const uint16_t UART_camera_dma_buffer_len_half
Definition uart_handler.c:44
volatile uint8_t UART_AX100_kiss_frame_queue_tail
Definition uart_handler.c:104
volatile MPI_buffer_state_enum_t MPI_buffer_two_state
Definition uart_handler.c:86
volatile uint32_t UART_camera_last_write_time_ms
Definition uart_handler.c:48
volatile uint8_t UART_eps_buffer[]
Definition uart_handler.c:54
volatile uint8_t UART_mpi_buffer[]
Definition uart_handler.c:31
volatile uint8_t UART_camera_dma_buffer[]
Definition uart_handler.c:45
void GNSS_set_uart_interrupt_state(uint8_t new_enabled)
Sets the UART interrupt state (enabled/disabled)
Definition uart_handler.c:401