tinyproto
|
Structure of HAL abstraction layer. More...
#include <no_platform_hal.h>
Public Attributes | |
void(* | mutex_create )(tiny_mutex_t *mutex) |
Optional, but remember, default implementation relies on GCC built-in atomic functions. | |
void(* | mutex_destroy )(tiny_mutex_t *mutex) |
Optional, but remember, default implementation relies on GCC built-in atomic functions. | |
uint8_t(* | mutex_try_lock )(tiny_mutex_t *mutex) |
Optional, but remember, default implementation relies on GCC built-in atomic functions. | |
void(* | mutex_unlock )(tiny_mutex_t *mutex) |
Optional, but remember, default implementation relies on GCC built-in atomic functions. | |
void(* | mutex_lock )(tiny_mutex_t *mutex) |
Optional, but remember, default implementation relies on GCC built-in atomic functions and tiny_sleep() implementation. | |
void(* | events_create )(tiny_events_t *events) |
Optional, but remember, default implementation relies on GCC built-in atomic functions. | |
void(* | events_destroy )(tiny_events_t *events) |
Optional, but remember, default implementation relies on GCC built-in atomic functions. | |
uint8_t(* | events_wait )(tiny_events_t *events, uint8_t bits, uint8_t clear, uint32_t timeout) |
Optional, but remember, default implementation relies on GCC built-in atomic functions and tiny_sleep() implementation. | |
uint8_t(* | events_check_int )(tiny_events_t *events, uint8_t bits, uint8_t clear) |
Optional, but remember, default implementation relies on GCC built-in atomic functions. | |
void(* | events_set )(tiny_events_t *events, uint8_t bits) |
Optional, but remember, default implementation relies on GCC built-in atomic functions. | |
void(* | events_clear )(tiny_events_t *events, uint8_t bits) |
Optional, but remember, default implementation relies on GCC built-in atomic functions. | |
void(* | sleep )(uint32_t ms) |
Must have for Full duplex protocol. More... | |
uint32_t(* | millis )(void) |
Must have for Full duplex protocol. More... | |
void(* | sleep_us )(uint32_t us) |
Must have for 1-wire interface. More... | |
uint32_t(* | micros )(void) |
Must have for 1-wire interface. More... | |
Structure of HAL abstraction layer.
uint32_t(* tiny_platform_hal_t::micros) (void) |
Must have for 1-wire interface.
Default implementation does not count microseconds
uint32_t(* tiny_platform_hal_t::millis) (void) |
Must have for Full duplex protocol.
Default implementation does not count milliseconds
void(* tiny_platform_hal_t::sleep) (uint32_t ms) |
Must have for Full duplex protocol.
Default implementation does not do any sleep operation
void(* tiny_platform_hal_t::sleep_us) (uint32_t us) |
Must have for 1-wire interface.
Default implementation does not do any sleep operation