CTS-SAT-1-OBC-Firmware
Loading...
Searching...
No Matches
uart_error_tracking.h
Go to the documentation of this file.
1#ifndef INCLUDE_GUARD__UART_ERROR_TRACKING_H
2#define INCLUDE_GUARD__UART_ERROR_TRACKING_H
3
4#include <stdint.h>
5#include "stm32l4xx_hal.h" // Need to include this before including line below
6#include "stm32l4xx_hal_uart.h"
7
8#define UART_ERROR_TRACKING_JSON_BUFFER_LEN 768 // 512 + 256
9
13typedef struct
14{
15 uint16_t parity_error_count; // HAL_UART_ERROR_PE
16 uint16_t noise_error_count; // HAL_UART_ERROR_NE
17 uint16_t frame_error_count; // HAL_UART_ERROR_FE
18 uint16_t overrun_error_count; // HAL_UART_ERROR_ORE
19 uint16_t dma_transfer_error_count; // HAL_UART_ERROR_DMA
20 uint16_t receiver_timeout_error_count; // HAL_UART_ERROR_RTO
21 uint16_t handler_buffer_full_error_count; // Custom field to track if buffer in ISR handler becomes full
23
26
28
30
32
34
35
36void UART_track_error_from_isr(USART_TypeDef *huart_instance, uint32_t error_code);
37
38uint8_t UART_single_subsystem_error_info_to_json(UART_error_counts_single_subsystem_struct_t *error_info_struct, char *json_buffer, uint16_t json_buffer_len);
39
40uint8_t UART_get_errors_json(char * json_buf, uint16_t json_buf_len);
41#endif // INCLUDE_GUARD__UART_ERROR_TRACKING_H
These will be an error defined in the stm32l4xx_hal_uart.h file.
Definition uart_error_tracking.h:14
uint16_t dma_transfer_error_count
Definition uart_error_tracking.h:19
uint16_t receiver_timeout_error_count
Definition uart_error_tracking.h:20
uint16_t parity_error_count
Definition uart_error_tracking.h:15
uint16_t noise_error_count
Definition uart_error_tracking.h:16
uint16_t frame_error_count
Definition uart_error_tracking.h:17
uint16_t overrun_error_count
Definition uart_error_tracking.h:18
uint16_t handler_buffer_full_error_count
Definition uart_error_tracking.h:21
UART_error_counts_single_subsystem_struct_t UART_error_mpi_error_info
Definition uart_error_tracking.c:9
uint8_t UART_get_errors_json(char *json_buf, uint16_t json_buf_len)
Definition uart_error_tracking.c:150
UART_error_counts_single_subsystem_struct_t UART_error_eps_error_info
Definition uart_error_tracking.c:48
UART_error_counts_single_subsystem_struct_t UART_error_telecommand_error_info
Definition uart_error_tracking.c:58
UART_error_counts_single_subsystem_struct_t UART_error_ax100_error_info
Definition uart_error_tracking.c:19
uint8_t UART_single_subsystem_error_info_to_json(UART_error_counts_single_subsystem_struct_t *error_info_struct, char *json_buffer, uint16_t json_buffer_len)
Definition uart_error_tracking.c:124
UART_error_counts_single_subsystem_struct_t UART_error_gnss_error_info
Definition uart_error_tracking.c:28
void UART_track_error_from_isr(USART_TypeDef *huart_instance, uint32_t error_code)
Track the error for a given UART instance.
Definition uart_error_tracking.c:73
UART_error_counts_single_subsystem_struct_t UART_error_camera_error_info
Definition uart_error_tracking.c:38