17#include "stm32l4xx_hal_gpio.h"
20#include "fota_error.h"
21#include "network_buffer.h"
30typedef enum { UART_PORT_1 = 0, UART_PORT_2, NUM_UART_PORTS }
UartPort;
33#define UART_MAX_BUFFER_LEN 256U
35#define UART_TIMEOUT_MS 1U
116#define FOTA_UART_TIMEOUT_MS 10U
UartPort
UART Port selection.
Definition: network.h:30
bool isTimeout(bool is_tx)
Checks if tx or rx command has timed out.
Definition: network.c:93
FotaError network_tx(UartPort uart, uint8_t *data, size_t len)
Transmit data from the UART port.
Definition: network.c:132
UartFlowControl
UART Flow control selection.
Definition: network.h:42
FotaError network_read(UartPort uart, uint8_t *data, size_t len)
Read data from the network buffer.
Definition: network.c:107
FotaError network_init(UartPort uart, UartSettings *settings, NetworkBuffer *network_buffer)
Initialize UART instance, assuming standard 8 bits 1 stop bit.
Definition: network.c:152
GpioPort
UART Settings.
Definition: network.h:56
FotaError
FOTA Error code definitions.
Definition: fota_error.h:27
GpioPort
Available GPIO ports.
Definition: gpio.h:97
@ GPIO_PORT_A
Definition: network.h:57
@ NUM_GPIO_PORTS
Definition: network.h:59
@ GPIO_PORT_B
Definition: network.h:58
UartFlowControl
UART Flow control selection.
Definition: uart.h:39
@ UART_FLOW_CONTROL_RTS_CTS
Definition: network.h:46
@ UART_FLOW_CONTROL_CTS
Definition: network.h:45
@ UART_FLOW_CONTROL_RTS
Definition: network.h:44
@ UART_FLOW_CONTROL_NONE
Definition: network.h:43
Port and pin data.
Definition: network.h:62
GpioPort port
Definition: network.h:63
struct containing details of circular buffer
Definition: network_buffer.h:36
UART Settings.
Definition: network.h:67
GpioAddress rx
Definition: network.h:69
UartFlowControl flow_control
Definition: network.h:71
uint32_t baudrate
Definition: network.h:70
GpioAddress tx
Definition: network.h:68