|
Nexus Embedded Platform 0.1.0
Statically assembled reusable embedded mechanisms
|
Optional caller-owned ADC publication observations. More...
Go to the source code of this file.
Data Structures | |
| struct | nx_adc_observation_t |
| One loan's software observation, never a sample aperture. More... | |
| struct | nx_adc_observer_t |
| Optional caller-owned observer control and exact records. More... | |
Macros | |
| #define | NX_ADC_OBSERVATION_DISCONTINUITY 1U |
Functions | |
| nx_result_t | nx_adc_observer_initialize (nx_adc_observer_t *observer, nx_adc_observation_t *records, size_t count) |
| Initialize fresh unborrowed optional observation storage. | |
| nx_result_t | nx_adc_observer_bind (nx_adc_observer_t *observer, nx_stream_t *stream, const void *owner, size_t owner_size) |
| Provider-only cold bind validates every metadata/payload span before the first DMA loan. | |
| nx_result_t | nx_adc_observer_record (nx_adc_observer_t *observer, const nx_stream_fill_t *fill, nx_time_us_t observed_at) |
| Provider-only record before matching release-publication. | |
| nx_result_t | nx_adc_observer_read (const nx_adc_observer_t *observer, const nx_stream_block_t *block, nx_adc_observation_t *observation) |
| Read only a currently acquired block's exact epoch record. | |
| nx_result_t | nx_adc_observer_unbind (nx_adc_observer_t *observer) |
| Provider-only unbind after all producer/consumer loans join. | |
Optional caller-owned ADC publication observations.
Definition in file adc_observer.h.
| #define NX_ADC_OBSERVATION_DISCONTINUITY 1U |
Definition at line 15 of file adc_observer.h.
| nx_result_t nx_adc_observer_bind | ( | nx_adc_observer_t * | observer, |
| nx_stream_t * | stream, | ||
| const void * | owner, | ||
| size_t | owner_size ) |
Provider-only cold bind validates every metadata/payload span before the first DMA loan.
| [in,out] | observer | Initialized exclusive observation control. |
| [in] | stream | Exact initialized stream, no outstanding loans. |
| [in] | owner | Provider's stable complete private state span. |
| [in] | owner_size | Positive exact state byte count. |
| nx_result_t nx_adc_observer_initialize | ( | nx_adc_observer_t * | observer, |
| nx_adc_observation_t * | records, | ||
| size_t | count ) |
Initialize fresh unborrowed optional observation storage.
| [out] | observer | Aligned fresh control, not published to readers. |
| [out] | records | Distinct aligned exact record array. |
| [in] | count | Positive count; must equal the selected stream count. |
| nx_result_t nx_adc_observer_read | ( | const nx_adc_observer_t * | observer, |
| const nx_stream_block_t * | block, | ||
| nx_adc_observation_t * | observation ) |
Read only a currently acquired block's exact epoch record.
| [in] | observer | Stable bound observation control. |
| [in] | block | Same stream's live immutable consumer loan. |
| [out] | observation | Complete copy; untouched on rejection. |
| nx_result_t nx_adc_observer_record | ( | nx_adc_observer_t * | observer, |
| const nx_stream_fill_t * | fill, | ||
| nx_time_us_t | observed_at ) |
Provider-only record before matching release-publication.
| [in,out] | observer | Bound exact producer-owned control. |
| [in] | fill | Still FILLING, with a proved detached memory target. |
| [in] | observed_at | Software observation in the same clock domain. |
| nx_result_t nx_adc_observer_unbind | ( | nx_adc_observer_t * | observer | ) |
Provider-only unbind after all producer/consumer loans join.
| [in,out] | observer | Stable initialized control; NULL is allowed. |