void(* nhal_async_complete_cb_t)(void *context)
nhal_result_t
Unified HAL result type for all peripheral operations.
@ NHAL_ERR_OTHER
Unspecified error.
@ NHAL_ERR_TIMEOUT
Operation timeout.
@ NHAL_ERR_NOT_STARTED
Operation not started.
@ NHAL_ERR_BUFFER_OVERFLOW
Buffer overflow.
@ NHAL_ERR_HW_FAILURE
Hardware failure.
@ NHAL_ERR_BUFFER_FULL
Buffer full.
@ NHAL_ERR_UNSUPPORTED
Feature not supported.
@ NHAL_ERR_ALREADY_INITIALIZED
Already initialized.
@ NHAL_ERR_ALREADY_STARTED
Already started/running.
@ NHAL_ERR_NO_RESPONSE
No response from target (NACK, etc.).
@ NHAL_OK
Operation completed successfully.
@ NHAL_ERR_OUT_OF_MEMORY
Memory allocation failed.
@ NHAL_ERR_NOT_INITIALIZED
Peripheral not initialized.
@ NHAL_ERR_TRANSMISSION_ERROR
General transmission error.
@ NHAL_ERR_INVALID_CONFIG
Invalid configuration.
@ NHAL_ERR_NOT_CONFIGURED
Peripheral not configured.
@ NHAL_ERR_BUSY
Resource busy/locked/unavailable.
@ NHAL_ERR_INVALID_ARG
Invalid arguments provided.
uint64_t nhal_get_timestamp_microseconds(void)
Get monotonic timestamp in microseconds since boot.
void nhal_delay_milliseconds(uint32_t milliseconds)
Blocking delay for specified number of milliseconds.
@ NHAL_ASYNC_STATUS_BUSY
Async operation in progress.
@ NHAL_ASYNC_STATUS_ERROR
Operation completed with error.
@ NHAL_ASYNC_STATUS_IDLE
No async operation in progress.
@ NHAL_ASYNC_STATUS_COMPLETE
Operation completed successfully.
uint32_t nhal_get_timestamp_milliseconds(void)
Get monotonic timestamp in milliseconds since boot.
void nhal_delay_microseconds(uint32_t microseconds)
Blocking delay for specified number of microseconds.
struct nhal_async_impl_config * impl_config
Platform-specific async config.