tinyproto
Public Attributes | List of all members
tiny_platform_hal_t Struct Reference

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...
 

Detailed Description

Structure of HAL abstraction layer.

Member Data Documentation

◆ micros

uint32_t(* tiny_platform_hal_t::micros) (void)

Must have for 1-wire interface.

Default implementation does not count microseconds

◆ millis

uint32_t(* tiny_platform_hal_t::millis) (void)

Must have for Full duplex protocol.

Default implementation does not count milliseconds

◆ sleep

void(* tiny_platform_hal_t::sleep) (uint32_t ms)

Must have for Full duplex protocol.

Default implementation does not do any sleep operation

◆ sleep_us

void(* tiny_platform_hal_t::sleep_us) (uint32_t us)

Must have for 1-wire interface.

Default implementation does not do any sleep operation


The documentation for this struct was generated from the following file: