Nexus Embedded Platform 0.1.0
Statically assembled reusable embedded mechanisms
Loading...
Searching...
No Matches
uart_owner.h File Reference

Explicit IRQ UART executor with private provider settlement. More...

Go to the source code of this file.

Data Structures

struct  nx_uart_owner_operation_t
 Caller-owned TX payload descriptor borrowed until outer SETTLED. More...
struct  nx_uart_owner_executor_t
 One executor's exact private provider request. More...

Functions

nx_owner_executor_port_t nx_uart_owner_executor_port (nx_uart_owner_executor_t *executor, const nx_uart_port_t *uart)
 Bind a UART controller to one explicit service executor.

Detailed Description

Explicit IRQ UART executor with private provider settlement.

Author
Nexus Team

Definition in file uart_owner.h.

Function Documentation

◆ nx_uart_owner_executor_port()

nx_owner_executor_port_t nx_uart_owner_executor_port ( nx_uart_owner_executor_t * executor,
const nx_uart_port_t * uart )

Bind a UART controller to one explicit service executor.

Parameters
[in,out]executorUnused caller-owned storage, no concurrent calls
[in,out]uartInitialized UART exclusively owned by this executor
Returns
Port for nx_bus_owner_init, or an invalid zero port for NULL
Note
Startup/task context. Controller and executor remain alive through owner stop/drain and external observer quiescence. Direct UART users must not share this controller. Queued time belongs to the bus owner; after start the UART's first terminal TC/error/cancel/deadline fact is authoritative. cancel observes provider completion/deadline before asking it to abort. Failed drain keeps both requests QUARANTINED; service must continue during recovery. Outer SETTLED never precedes inner acquire-observed SETTLED and pointer detach. The application separately stops hardware and RX consumers only after all owner operations and controls quiesce.