|
Nexus Embedded Platform 1.0.0
Statically assembled reusable embedded mechanisms
|
Static EXTI line bindings, bounded event storage and drain. More...
Go to the source code of this file.
Data Structures | |
| struct | nx_exti_event_t |
| Edge facts; timestamp precision and coalescing are provider-specific. More... | |
| struct | nx_exti_ops_t |
| Shared read-only methods using one provider state. More... | |
| struct | nx_exti_port |
| Immutable interface pointing to caller-owned state. More... | |
Macros | |
| #define | NX_EXTI_EVENT_LOSS 1u |
| #define | NX_EXTI_EVENT_COALESCED 2u |
Typedefs | |
| typedef struct nx_exti_port | nx_exti_port_t |
Enumerations | |
| enum | nx_exti_edge_t { NX_EXTI_RISING = 1 , NX_EXTI_FALLING = 2 , NX_EXTI_BOTH = 3 } |
Functions | |
| nx_result_t | nx_exti_port_read (const nx_exti_port_t *port, nx_exti_event_t *events, size_t capacity, size_t *count) |
| Read queued EXTI events from an exact static line binding. | |
| nx_result_t | nx_exti_port_stop (const nx_exti_port_t *port) |
| Disable the line source, clear pending and drain its handler. | |
| nx_result_t | nx_exti_port_attach_wake (const nx_exti_port_t *port, const nx_irq_wake_t *wake, uint8_t syscall_ceiling) |
| Attach or detach an explicit event/loss IRQ wake target. | |
Static EXTI line bindings, bounded event storage and drain.
Definition in file exti.h.
| typedef struct nx_exti_port nx_exti_port_t |
| enum nx_exti_edge_t |
| nx_result_t nx_exti_port_attach_wake | ( | const nx_exti_port_t * | port, |
| const nx_irq_wake_t * | wake, | ||
| uint8_t | syscall_ceiling ) |
Attach or detach an explicit event/loss IRQ wake target.
| [in] | port | Initialized line, controlled by one task executor. |
| [in] | wake | Immutable live target, or NULL to detach. |
| [in] | syscall_ceiling | Optional additional unshifted kernel-safe priority floor; cannot weaken generated policy. PRIMASK kernel targets require zero. Ignored without kernel calls. |
| nx_result_t nx_exti_port_read | ( | const nx_exti_port_t * | port, |
| nx_exti_event_t * | events, | ||
| size_t | capacity, | ||
| size_t * | count ) |
Read queued EXTI events from an exact static line binding.
| [in,out] | port | One consumer; bounded configured IRQ-producer storage. |
| [out] | events | Caller destination, never retained. |
| [in] | capacity | Destination event count. |
| [out] | count | Copied events; loss is observable via event flags. |
| nx_result_t nx_exti_port_stop | ( | const nx_exti_port_t * | port | ) |
Disable the line source, clear pending and drain its handler.
| [in,out] | port | Execution owner; consumer/writers must quiesce first. |