Nexus Embedded Platform 1.0.0
Statically assembled reusable embedded mechanisms
Loading...
Searching...
No Matches
spi_owner.h
Go to the documentation of this file.
1
6#ifndef NEXUS_COMPONENTS_SPI_OWNER_H
7#define NEXUS_COMPONENTS_SPI_OWNER_H
9#include "nexus/io/spi.h"
10
11#ifdef __cplusplus
12extern "C" {
13#endif
14
16typedef struct {
18 const uint8_t* tx;
19 uint8_t* rx;
20 size_t length;
22
30
49 const nx_spi_port_t* port);
50
51#ifdef __cplusplus
52}
53#endif
54
55#endif /* NEXUS_COMPONENTS_SPI_OWNER_H */
Explicit bounded multi-producer, single-executor adapter.
Single-executor polling SPI endpoints and complete CS transactions.
struct nx_spi_port nx_spi_port_t
Definition spi.h:17
struct nx_spi_endpoint nx_spi_endpoint_t
Definition spi.h:18
nx_owner_executor_port_t nx_spi_owner_executor_port(nx_spi_owner_executor_t *executor, const nx_spi_port_t *port)
Bind an explicit synchronous SPI execution adapter.
nx_result_t
Operation result; success at submission means admission only.
Definition status.h:21
One real execution owner, injected without OS dependency.
Definition bus_owner.h:49
Exact polling executor storage; no payload copy or queue.
Definition spi_owner.h:24
const nx_spi_port_t * port
Definition spi_owner.h:25
Caller-owned SPI transaction descriptor, borrowed until SETTLED.
Definition spi_owner.h:16
const nx_spi_endpoint_t * endpoint
Definition spi_owner.h:17
const uint8_t * tx
Definition spi_owner.h:18