Nexus Embedded Platform 0.1.0
Statically assembled reusable embedded mechanisms
Loading...
Searching...
No Matches
uart_rs485.h
Go to the documentation of this file.
1
6#ifndef NEXUS_UART_RS485_H
7#define NEXUS_UART_RS485_H
8
9#include "nexus/io/gpio.h"
10#include "nexus/io/uart.h"
11
12#ifdef __cplusplus
13extern "C" {
14#endif
15
26 void* context, const nx_uart_tx_request_t* request);
27
44
63
65
81 const nx_uart_rs485_config_t* config);
82
83#ifdef __cplusplus
84}
85#endif
86#endif
Fixed GPIO authorization masks and bounded port operations.
struct nx_gpio_port nx_gpio_port_t
Definition gpio.h:15
nx_result_t
Operation result; success at submission means admission only.
Definition status.h:21
Shared read-only methods using one provider state.
Definition uart.h:62
Immutable selected electrical/timing facts, no task or heap.
Definition uart_rs485.h:35
nx_time_us_t setup_us
Definition uart_rs485.h:40
const nx_gpio_port_t * direction
Definition uart_rs485.h:37
nx_uart_tx_validate_fn validate
Definition uart_rs485.h:38
const nx_uart_port_t * transport
Definition uart_rs485.h:36
nx_time_us_t hold_us
Definition uart_rs485.h:41
Caller-owned opt-in adapter, zero-initialize before init.
Definition uart_rs485.h:52
nx_time_us_t boundary
Definition uart_rs485.h:56
nx_uart_tx_request_t inner
Definition uart_rs485.h:54
nx_uart_tx_request_t * active
Definition uart_rs485.h:55
nx_result_t terminal
Definition uart_rs485.h:57
const nx_uart_rs485_config_t * config
Definition uart_rs485.h:53
Caller-owned TX descriptor; initialize base before first prepare.
Definition uart.h:50
uint64_t nx_time_us_t
Microseconds in one boot/clock domain; no wall-clock semantics.
Definition time.h:20
IRQ TX requests and independently budgeted byte/event reception.
struct nx_uart_port nx_uart_port_t
Definition uart.h:18
nx_result_t(* nx_uart_tx_validate_fn)(void *context, const nx_uart_tx_request_t *request)
Exact transport's side-effect-free TX admission validator.
Definition uart_rs485.h:25
const nx_uart_ops_t nx_uart_rs485_ops
nx_result_t nx_uart_rs485_initialize(nx_uart_rs485_state_t *state, const nx_uart_rs485_config_t *config)
Bind exclusive transport and establish inactive DE.