Nexus Embedded Platform 0.1.0
Statically assembled reusable embedded mechanisms
Loading...
Searching...
No Matches
uart_owner.h
Go to the documentation of this file.
1
6#ifndef NEXUS_COMPONENTS_UART_OWNER_H
7#define NEXUS_COMPONENTS_UART_OWNER_H
9#include "nexus/io/uart.h"
10
11#ifdef __cplusplus
12extern "C" {
13#endif
14
16typedef struct {
17 const uint8_t* data;
18 size_t length;
20
34
54 const nx_uart_port_t* uart);
55
56#ifdef __cplusplus
57}
58#endif
59
60#endif /* NEXUS_COMPONENTS_UART_OWNER_H */
Explicit bounded multi-producer, single-executor adapter.
One real execution owner, injected without OS dependency.
Definition bus_owner.h:49
One executor's exact private provider request.
Definition uart_owner.h:29
const nx_uart_port_t * port
Definition uart_owner.h:30
nx_uart_tx_request_t inner
Definition uart_owner.h:31
Caller-owned TX payload descriptor borrowed until outer SETTLED.
Definition uart_owner.h:16
const uint8_t * data
Definition uart_owner.h:17
Caller-owned TX descriptor; initialize base before first prepare.
Definition uart.h:50
IRQ TX requests and independently budgeted byte/event reception.
struct nx_uart_port nx_uart_port_t
Definition uart.h:18
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.