25#if PERIODIC_TELEMETRY && (USE_UART0 || USE_UART1 || USE_UART2 || USE_UART3 || USE_UART4 || USE_UART5 || USE_UART6 || USE_UART7 || USE_UART8)
35 &ore, &ne_err, &fe_err, &
_bus0);
128 p->rx_insert_idx = 0;
129 p->rx_extract_idx = 0;
130 p->tx_insert_idx = 0;
131 p->tx_extract_idx = 0;
132 p->tx_running =
false;
136 p->device.periph = (
void *)
p;
145#if PERIODIC_TELEMETRY
153 int space =
p->tx_extract_idx -
p->tx_insert_idx - 1;
164 for (i = 0; i < len; i++) {
183 int available =
p->rx_insert_idx -
p->rx_extract_idx;
void uart_put_byte(struct uart_periph *periph, long fd, uint8_t data)
void uart_periph_set_baudrate(struct uart_periph *periph, uint32_t baud)
#define UART_TX_BUFFER_SIZE
#define UART_RX_BUFFER_SIZE
static const struct usb_device_descriptor dev
int8_t register_periodic_telemetry(struct periodic_telemetry *_pt, uint8_t _id, telemetry_cb _cb)
Register a telemetry callback function.
Periodic telemetry system header (includes downlink utility and generated code).
#define DefaultPeriodic
Set default periodic telemetry.
int WEAK uart_char_available(struct uart_periph *p)
Check UART for available chars in receive buffer.
static void send_uart_err(struct transport_tx *trans, struct link_device *dev)
void WEAK uart_send_message(struct uart_periph *p, long fd)
void uart_periph_init(struct uart_periph *p)
void WEAK uart_put_buffer(struct uart_periph *p, long fd, const uint8_t *data, uint16_t len)
void WEAK uart_periph_invert_data_logic(struct uart_periph *p, bool invert_rx, bool invert_tx)
int WEAK uart_check_free_space(struct uart_periph *p, long *fd, uint16_t len)
void WEAK uart_arch_init(void)
uint8_t WEAK uart_getch(struct uart_periph *p)
arch independent UART (Universal Asynchronous Receiver/Transmitter) API
unsigned short uint16_t
Typedef defining 16 bit unsigned short type.
unsigned char uint8_t
Typedef defining 8 bit unsigned char type.