|
caffeine-sal 0.1.17
Header-only polymorphic middleware services layer for the Caffeine Framework
|
Abstract Button service interface. More...
#include "cfn_sal.h"Go to the source code of this file.
Data Structures | |
| struct | cfn_sal_dev_button_config_t |
| struct | cfn_sal_dev_button_api_s |
| Button Virtual Method Table (VMT). More... | |
Macros | |
| #define | CFN_SAL_DEV_TYPE_BUTTON CFN_SAL_TYPE('B', 'T', 'N') |
Typedefs | |
| typedef struct cfn_sal_dev_button_s | cfn_sal_dev_button_t |
| typedef struct cfn_sal_dev_button_api_s | cfn_sal_dev_button_api_t |
| typedef void(* | cfn_sal_dev_button_callback_t) (cfn_sal_dev_button_t *driver, uint32_t event_mask, uint32_t error_mask, void *user_arg) |
| Button callback signature. | |
Enumerations | |
| enum | cfn_sal_dev_button_event_t { CFN_SAL_DEV_BUTTON_EVENT_NONE = 0 , CFN_SAL_DEV_BUTTON_EVENT_PRESSED = CFN_HAL_BIT(0) , CFN_SAL_DEV_BUTTON_EVENT_RELEASED = CFN_HAL_BIT(1) , CFN_SAL_DEV_BUTTON_EVENT_LONG_PRESS = CFN_HAL_BIT(2) , CFN_SAL_DEV_BUTTON_EVENT_DOUBLE_CLICK = CFN_HAL_BIT(3) } |
| enum | cfn_sal_dev_button_state_t { CFN_SAL_DEV_BUTTON_STATE_RELEASED = 0 , CFN_SAL_DEV_BUTTON_STATE_PRESSED } |
Functions | |
| CFN_HAL_VMT_CHECK (struct cfn_sal_dev_button_api_s) | |
| CFN_SAL_CREATE_DRIVER_TYPE (sal_dev_button, cfn_sal_dev_button_config_t, cfn_sal_dev_button_api_t, cfn_sal_phy_t, cfn_sal_dev_button_callback_t) | |
| CFN_HAL_INLINE void | cfn_sal_dev_button_populate (cfn_sal_dev_button_t *driver, uint32_t peripheral_id, void *dependency, const cfn_sal_dev_button_api_t *api, const cfn_sal_phy_t *phy, const cfn_sal_dev_button_config_t *config, cfn_sal_dev_button_callback_t callback, void *user_arg) |
| cfn_hal_error_code_t | cfn_sal_dev_button_construct (cfn_sal_dev_button_t *driver, const cfn_sal_dev_button_config_t *config, const cfn_sal_phy_t *phy, void *dependency, cfn_sal_dev_button_callback_t callback, void *user_arg) |
| cfn_hal_error_code_t | cfn_sal_dev_button_destruct (cfn_sal_dev_button_t *driver) |
| CFN_HAL_INLINE cfn_hal_error_code_t | cfn_sal_dev_button_init (cfn_sal_dev_button_t *driver) |
| CFN_HAL_INLINE cfn_hal_error_code_t | cfn_sal_dev_button_deinit (cfn_sal_dev_button_t *driver) |
| CFN_HAL_INLINE cfn_hal_error_code_t | cfn_sal_dev_button_config_set (cfn_sal_dev_button_t *driver, const cfn_sal_dev_button_config_t *config) |
| CFN_HAL_INLINE cfn_hal_error_code_t | cfn_sal_dev_button_config_get (cfn_sal_dev_button_t *driver, cfn_sal_dev_button_config_t *config) |
| CFN_HAL_INLINE cfn_hal_error_code_t | cfn_sal_dev_button_callback_register (cfn_sal_dev_button_t *driver, cfn_sal_dev_button_callback_t callback, void *user_arg) |
| CFN_HAL_INLINE cfn_hal_error_code_t | cfn_sal_dev_button_power_state_set (cfn_sal_dev_button_t *driver, cfn_hal_power_state_t state) |
| CFN_HAL_INLINE cfn_hal_error_code_t | cfn_sal_dev_button_event_enable (cfn_sal_dev_button_t *driver, uint32_t event_mask) |
| CFN_HAL_INLINE cfn_hal_error_code_t | cfn_sal_dev_button_event_disable (cfn_sal_dev_button_t *driver, uint32_t event_mask) |
| CFN_HAL_INLINE cfn_hal_error_code_t | cfn_sal_dev_button_event_get (cfn_sal_dev_button_t *driver, uint32_t *event_mask) |
| CFN_HAL_INLINE cfn_hal_error_code_t | cfn_sal_dev_button_error_enable (cfn_sal_dev_button_t *driver, uint32_t error_mask) |
| CFN_HAL_INLINE cfn_hal_error_code_t | cfn_sal_dev_button_error_disable (cfn_sal_dev_button_t *driver, uint32_t error_mask) |
| CFN_HAL_INLINE cfn_hal_error_code_t | cfn_sal_dev_button_error_get (cfn_sal_dev_button_t *driver, uint32_t *error_mask) |
| CFN_HAL_INLINE cfn_hal_error_code_t | cfn_sal_dev_button_get_state (cfn_sal_dev_button_t *driver, cfn_sal_dev_button_state_t *state_out) |
| CFN_HAL_INLINE cfn_hal_error_code_t | cfn_sal_dev_button_set_debounce_time (cfn_sal_dev_button_t *driver, uint32_t ms) |
| CFN_HAL_INLINE cfn_hal_error_code_t | cfn_sal_dev_button_is_pressed (cfn_sal_dev_button_t *driver, bool *pressed_out) |
| CFN_HAL_INLINE cfn_hal_error_code_t | cfn_sal_dev_button_is_released (cfn_sal_dev_button_t *driver, bool *released_out) |
| CFN_HAL_INLINE cfn_hal_error_code_t | cfn_sal_dev_button_get_click_count (cfn_sal_dev_button_t *driver, uint8_t *count_out) |
| CFN_HAL_INLINE cfn_hal_error_code_t | cfn_sal_dev_button_get_hold_time_ms (cfn_sal_dev_button_t *driver, uint32_t *time_out) |
Abstract Button service interface.
| #define CFN_SAL_DEV_TYPE_BUTTON CFN_SAL_TYPE('B', 'T', 'N') |
| typedef struct cfn_sal_dev_button_api_s cfn_sal_dev_button_api_t |
| typedef void(* cfn_sal_dev_button_callback_t) (cfn_sal_dev_button_t *driver, uint32_t event_mask, uint32_t error_mask, void *user_arg) |
Button callback signature.
| typedef struct cfn_sal_dev_button_s cfn_sal_dev_button_t |
| CFN_HAL_VMT_CHECK | ( | struct cfn_sal_dev_button_api_s | ) |
| CFN_SAL_CREATE_DRIVER_TYPE | ( | sal_dev_button | , |
| cfn_sal_dev_button_config_t | , | ||
| cfn_sal_dev_button_api_t | , | ||
| cfn_sal_phy_t | , | ||
| cfn_sal_dev_button_callback_t | |||
| ) |
| CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_button_callback_register | ( | cfn_sal_dev_button_t * | driver, |
| cfn_sal_dev_button_callback_t | callback, | ||
| void * | user_arg | ||
| ) |
| CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_button_config_get | ( | cfn_sal_dev_button_t * | driver, |
| cfn_sal_dev_button_config_t * | config | ||
| ) |
| CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_button_config_set | ( | cfn_sal_dev_button_t * | driver, |
| const cfn_sal_dev_button_config_t * | config | ||
| ) |
| cfn_hal_error_code_t cfn_sal_dev_button_construct | ( | cfn_sal_dev_button_t * | driver, |
| const cfn_sal_dev_button_config_t * | config, | ||
| const cfn_sal_phy_t * | phy, | ||
| void * | dependency, | ||
| cfn_sal_dev_button_callback_t | callback, | ||
| void * | user_arg | ||
| ) |
| CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_button_deinit | ( | cfn_sal_dev_button_t * | driver | ) |
| cfn_hal_error_code_t cfn_sal_dev_button_destruct | ( | cfn_sal_dev_button_t * | driver | ) |
| CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_button_error_disable | ( | cfn_sal_dev_button_t * | driver, |
| uint32_t | error_mask | ||
| ) |
| CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_button_error_enable | ( | cfn_sal_dev_button_t * | driver, |
| uint32_t | error_mask | ||
| ) |
| CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_button_error_get | ( | cfn_sal_dev_button_t * | driver, |
| uint32_t * | error_mask | ||
| ) |
| CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_button_event_disable | ( | cfn_sal_dev_button_t * | driver, |
| uint32_t | event_mask | ||
| ) |
| CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_button_event_enable | ( | cfn_sal_dev_button_t * | driver, |
| uint32_t | event_mask | ||
| ) |
| CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_button_event_get | ( | cfn_sal_dev_button_t * | driver, |
| uint32_t * | event_mask | ||
| ) |
| CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_button_get_click_count | ( | cfn_sal_dev_button_t * | driver, |
| uint8_t * | count_out | ||
| ) |
| CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_button_get_hold_time_ms | ( | cfn_sal_dev_button_t * | driver, |
| uint32_t * | time_out | ||
| ) |
| CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_button_get_state | ( | cfn_sal_dev_button_t * | driver, |
| cfn_sal_dev_button_state_t * | state_out | ||
| ) |
| CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_button_init | ( | cfn_sal_dev_button_t * | driver | ) |
| CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_button_is_pressed | ( | cfn_sal_dev_button_t * | driver, |
| bool * | pressed_out | ||
| ) |
| CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_button_is_released | ( | cfn_sal_dev_button_t * | driver, |
| bool * | released_out | ||
| ) |
| CFN_HAL_INLINE void cfn_sal_dev_button_populate | ( | cfn_sal_dev_button_t * | driver, |
| uint32_t | peripheral_id, | ||
| void * | dependency, | ||
| const cfn_sal_dev_button_api_t * | api, | ||
| const cfn_sal_phy_t * | phy, | ||
| const cfn_sal_dev_button_config_t * | config, | ||
| cfn_sal_dev_button_callback_t | callback, | ||
| void * | user_arg | ||
| ) |
| CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_button_power_state_set | ( | cfn_sal_dev_button_t * | driver, |
| cfn_hal_power_state_t | state | ||
| ) |
| CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_button_set_debounce_time | ( | cfn_sal_dev_button_t * | driver, |
| uint32_t | ms | ||
| ) |