caffeine-sal 0.1.17
Header-only polymorphic middleware services layer for the Caffeine Framework
Loading...
Searching...
No Matches
Data Structures | Macros | Typedefs | Enumerations | Functions
cfn_sal_dev_accelerometer.h File Reference

Abstract Accelerometer service interface. More...

#include "cfn_sal.h"

Go to the source code of this file.

Data Structures

struct  cfn_sal_dev_accelerometer_int_config_t
 
struct  cfn_sal_dev_accelerometer_data_t
 
struct  cfn_sal_dev_accelerometer_tap_config_t
 
struct  cfn_sal_dev_accelerometer_freefall_config_t
 
struct  cfn_sal_dev_accelerometer_config_t
 
struct  cfn_sal_dev_accelerometer_api_s
 Accelerometer Virtual Method Table (VMT). More...
 

Macros

#define CFN_SAL_DEV_TYPE_ACCELEROMETER   CFN_SAL_TYPE('A', 'C', 'L')
 

Typedefs

typedef struct cfn_sal_dev_accelerometer_s cfn_sal_dev_accelerometer_t
 
typedef struct cfn_sal_dev_accelerometer_api_s cfn_sal_dev_accelerometer_api_t
 
typedef void(* cfn_sal_dev_accelerometer_callback_t) (cfn_sal_dev_accelerometer_t *driver, uint32_t event, uint32_t error, void *user_arg)
 

Enumerations

enum  cfn_sal_dev_accelerometer_event_t {
  CFN_SAL_DEV_ACCELEROMETER_EVENT_NONE = 0 , CFN_SAL_DEV_ACCELEROMETER_EVENT_DATA_READY = CFN_HAL_BIT(0) , CFN_SAL_DEV_ACCELEROMETER_EVENT_FREEFALL = CFN_HAL_BIT(1) , CFN_SAL_DEV_ACCELEROMETER_EVENT_WAKEUP = CFN_HAL_BIT(2) ,
  CFN_SAL_DEV_ACCELEROMETER_EVENT_SINGLE_TAP = CFN_HAL_BIT(3) , CFN_SAL_DEV_ACCELEROMETER_EVENT_DOUBLE_TAP = CFN_HAL_BIT(4)
}
 
enum  cfn_sal_dev_accelerometer_mode_t { CFN_SAL_DEV_ACCELEROMETER_MODE_NORMAL , CFN_SAL_DEV_ACCELEROMETER_MODE_LOW_POWER , CFN_SAL_DEV_ACCELEROMETER_MODE_STANDBY }
 
enum  cfn_sal_dev_accelerometer_resolution_t {
  CFN_SAL_DEV_ACCELEROMETER_RESOLUTION_8_BIT , CFN_SAL_DEV_ACCELEROMETER_RESOLUTION_10_BIT , CFN_SAL_DEV_ACCELEROMETER_RESOLUTION_12_BIT , CFN_SAL_DEV_ACCELEROMETER_RESOLUTION_14_BIT ,
  CFN_SAL_DEV_ACCELEROMETER_RESOLUTION_16_BIT
}
 
enum  cfn_sal_dev_accelerometer_filter_t { CFN_SAL_DEV_ACCELEROMETER_FILTER_NONE , CFN_SAL_DEV_ACCELEROMETER_FILTER_HIGH_PASS , CFN_SAL_DEV_ACCELEROMETER_FILTER_LOW_PASS , CFN_SAL_DEV_ACCELEROMETER_FILTER_BAND_PASS }
 
enum  cfn_sal_dev_accelerometer_range_t { CFN_SAL_DEV_ACCELEROMETER_RANGE_2G , CFN_SAL_DEV_ACCELEROMETER_RANGE_4G , CFN_SAL_DEV_ACCELEROMETER_RANGE_8G , CFN_SAL_DEV_ACCELEROMETER_RANGE_16G }
 
enum  cfn_sal_dev_accelerometer_odr_t {
  CFN_SAL_DEV_ACCELEROMETER_ODR_1_HZ , CFN_SAL_DEV_ACCELEROMETER_ODR_10_HZ , CFN_SAL_DEV_ACCELEROMETER_ODR_25_HZ , CFN_SAL_DEV_ACCELEROMETER_ODR_50_HZ ,
  CFN_SAL_DEV_ACCELEROMETER_ODR_100_HZ , CFN_SAL_DEV_ACCELEROMETER_ODR_200_HZ , CFN_SAL_DEV_ACCELEROMETER_ODR_400_HZ , CFN_SAL_DEV_ACCELEROMETER_ODR_1000_HZ
}
 
enum  cfn_sal_dev_accelerometer_bw_t { CFN_SAL_DEV_ACCELEROMETER_BW_ODR_DIV_2 , CFN_SAL_DEV_ACCELEROMETER_BW_ODR_DIV_4 }
 
enum  cfn_sal_dev_accelerometer_fifo_mode_t { CFN_SAL_DEV_ACCELEROMETER_FIFO_MODE_BYPASS , CFN_SAL_DEV_ACCELEROMETER_FIFO_MODE_FIFO , CFN_SAL_DEV_ACCELEROMETER_FIFO_MODE_STREAM , CFN_SAL_DEV_ACCELEROMETER_FIFO_MODE_TRIGGER }
 
enum  cfn_sal_dev_accelerometer_int_pin_t { CFN_SAL_DEV_ACCELEROMETER_INT_PIN_1 , CFN_SAL_DEV_ACCELEROMETER_INT_PIN_2 }
 
enum  cfn_sal_dev_accelerometer_int_mode_t { CFN_SAL_DEV_ACCELEROMETER_INT_MODE_PUSH_PULL , CFN_SAL_DEV_ACCELEROMETER_INT_MODE_OPEN_DRAIN }
 
enum  cfn_sal_dev_accelerometer_int_level_t { CFN_SAL_DEV_ACCELEROMETER_INT_LEVEL_ACTIVE_LOW , CFN_SAL_DEV_ACCELEROMETER_INT_LEVEL_ACTIVE_HIGH }
 

Functions

 CFN_HAL_VMT_CHECK (struct cfn_sal_dev_accelerometer_api_s)
 
 CFN_SAL_CREATE_DRIVER_TYPE (sal_dev_accelerometer, cfn_sal_dev_accelerometer_config_t, cfn_sal_dev_accelerometer_api_t, cfn_sal_phy_t, cfn_sal_dev_accelerometer_callback_t)
 
CFN_HAL_INLINE void cfn_sal_dev_accelerometer_populate (cfn_sal_dev_accelerometer_t *driver, uint32_t peripheral_id, void *dependency, const cfn_sal_dev_accelerometer_api_t *api, const cfn_sal_phy_t *phy, const cfn_sal_dev_accelerometer_config_t *config, cfn_sal_dev_accelerometer_callback_t callback, void *user_arg)
 
cfn_hal_error_code_t cfn_sal_dev_accelerometer_construct (cfn_sal_dev_accelerometer_t *driver, const cfn_sal_dev_accelerometer_config_t *config, const cfn_sal_phy_t *phy, void *dependency, cfn_sal_dev_accelerometer_callback_t callback, void *user_arg)
 
cfn_hal_error_code_t cfn_sal_dev_accelerometer_destruct (cfn_sal_dev_accelerometer_t *driver)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_accelerometer_init (cfn_sal_dev_accelerometer_t *driver)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_accelerometer_deinit (cfn_sal_dev_accelerometer_t *driver)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_accelerometer_config_set (cfn_sal_dev_accelerometer_t *driver, const cfn_sal_dev_accelerometer_config_t *config)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_accelerometer_config_get (cfn_sal_dev_accelerometer_t *driver, cfn_sal_dev_accelerometer_config_t *config)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_accelerometer_callback_register (cfn_sal_dev_accelerometer_t *driver, cfn_sal_dev_accelerometer_callback_t callback, void *user_arg)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_accelerometer_power_state_set (cfn_sal_dev_accelerometer_t *driver, cfn_hal_power_state_t state)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_accelerometer_event_enable (cfn_sal_dev_accelerometer_t *driver, uint32_t event_mask)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_accelerometer_event_disable (cfn_sal_dev_accelerometer_t *driver, uint32_t event_mask)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_accelerometer_event_get (cfn_sal_dev_accelerometer_t *driver, uint32_t *event_mask)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_accelerometer_error_enable (cfn_sal_dev_accelerometer_t *driver, uint32_t error_mask)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_accelerometer_error_disable (cfn_sal_dev_accelerometer_t *driver, uint32_t error_mask)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_accelerometer_error_get (cfn_sal_dev_accelerometer_t *driver, uint32_t *error_mask)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_accelerometer_read_mg (cfn_sal_dev_accelerometer_t *driver, cfn_sal_dev_accelerometer_data_t *data_out)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_accelerometer_read_raw (cfn_sal_dev_accelerometer_t *driver, cfn_sal_dev_accelerometer_data_t *data_out)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_accelerometer_read_fifo (cfn_sal_dev_accelerometer_t *driver, cfn_sal_dev_accelerometer_data_t *data, size_t *count)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_accelerometer_get_status (cfn_sal_dev_accelerometer_t *driver, uint32_t *status_flags)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_accelerometer_read_step_counter (cfn_sal_dev_accelerometer_t *driver, uint32_t *steps)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_accelerometer_read_6d_orientation (cfn_sal_dev_accelerometer_t *driver, uint8_t *orientation_code)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_accelerometer_get_id (cfn_sal_dev_accelerometer_t *driver, uint32_t *id_out)
 
CFN_HAL_INLINE void cfn_sal_dev_accelerometer_handle_interrupt (cfn_sal_dev_accelerometer_t *driver)
 

Detailed Description

Abstract Accelerometer service interface.

Macro Definition Documentation

◆ CFN_SAL_DEV_TYPE_ACCELEROMETER

#define CFN_SAL_DEV_TYPE_ACCELEROMETER   CFN_SAL_TYPE('A', 'C', 'L')

Typedef Documentation

◆ cfn_sal_dev_accelerometer_api_t

◆ cfn_sal_dev_accelerometer_callback_t

typedef void(* cfn_sal_dev_accelerometer_callback_t) (cfn_sal_dev_accelerometer_t *driver, uint32_t event, uint32_t error, void *user_arg)

◆ cfn_sal_dev_accelerometer_t

typedef struct cfn_sal_dev_accelerometer_s cfn_sal_dev_accelerometer_t

Enumeration Type Documentation

◆ cfn_sal_dev_accelerometer_bw_t

Enumerator
CFN_SAL_DEV_ACCELEROMETER_BW_ODR_DIV_2 
CFN_SAL_DEV_ACCELEROMETER_BW_ODR_DIV_4 

◆ cfn_sal_dev_accelerometer_event_t

Enumerator
CFN_SAL_DEV_ACCELEROMETER_EVENT_NONE 
CFN_SAL_DEV_ACCELEROMETER_EVENT_DATA_READY 
CFN_SAL_DEV_ACCELEROMETER_EVENT_FREEFALL 
CFN_SAL_DEV_ACCELEROMETER_EVENT_WAKEUP 
CFN_SAL_DEV_ACCELEROMETER_EVENT_SINGLE_TAP 
CFN_SAL_DEV_ACCELEROMETER_EVENT_DOUBLE_TAP 

◆ cfn_sal_dev_accelerometer_fifo_mode_t

Enumerator
CFN_SAL_DEV_ACCELEROMETER_FIFO_MODE_BYPASS 
CFN_SAL_DEV_ACCELEROMETER_FIFO_MODE_FIFO 
CFN_SAL_DEV_ACCELEROMETER_FIFO_MODE_STREAM 
CFN_SAL_DEV_ACCELEROMETER_FIFO_MODE_TRIGGER 

◆ cfn_sal_dev_accelerometer_filter_t

Enumerator
CFN_SAL_DEV_ACCELEROMETER_FILTER_NONE 
CFN_SAL_DEV_ACCELEROMETER_FILTER_HIGH_PASS 
CFN_SAL_DEV_ACCELEROMETER_FILTER_LOW_PASS 
CFN_SAL_DEV_ACCELEROMETER_FILTER_BAND_PASS 

◆ cfn_sal_dev_accelerometer_int_level_t

Enumerator
CFN_SAL_DEV_ACCELEROMETER_INT_LEVEL_ACTIVE_LOW 
CFN_SAL_DEV_ACCELEROMETER_INT_LEVEL_ACTIVE_HIGH 

◆ cfn_sal_dev_accelerometer_int_mode_t

Enumerator
CFN_SAL_DEV_ACCELEROMETER_INT_MODE_PUSH_PULL 
CFN_SAL_DEV_ACCELEROMETER_INT_MODE_OPEN_DRAIN 

◆ cfn_sal_dev_accelerometer_int_pin_t

Enumerator
CFN_SAL_DEV_ACCELEROMETER_INT_PIN_1 
CFN_SAL_DEV_ACCELEROMETER_INT_PIN_2 

◆ cfn_sal_dev_accelerometer_mode_t

Enumerator
CFN_SAL_DEV_ACCELEROMETER_MODE_NORMAL 
CFN_SAL_DEV_ACCELEROMETER_MODE_LOW_POWER 
CFN_SAL_DEV_ACCELEROMETER_MODE_STANDBY 

◆ cfn_sal_dev_accelerometer_odr_t

Enumerator
CFN_SAL_DEV_ACCELEROMETER_ODR_1_HZ 
CFN_SAL_DEV_ACCELEROMETER_ODR_10_HZ 
CFN_SAL_DEV_ACCELEROMETER_ODR_25_HZ 
CFN_SAL_DEV_ACCELEROMETER_ODR_50_HZ 
CFN_SAL_DEV_ACCELEROMETER_ODR_100_HZ 
CFN_SAL_DEV_ACCELEROMETER_ODR_200_HZ 
CFN_SAL_DEV_ACCELEROMETER_ODR_400_HZ 
CFN_SAL_DEV_ACCELEROMETER_ODR_1000_HZ 

◆ cfn_sal_dev_accelerometer_range_t

Enumerator
CFN_SAL_DEV_ACCELEROMETER_RANGE_2G 
CFN_SAL_DEV_ACCELEROMETER_RANGE_4G 
CFN_SAL_DEV_ACCELEROMETER_RANGE_8G 
CFN_SAL_DEV_ACCELEROMETER_RANGE_16G 

◆ cfn_sal_dev_accelerometer_resolution_t

Enumerator
CFN_SAL_DEV_ACCELEROMETER_RESOLUTION_8_BIT 
CFN_SAL_DEV_ACCELEROMETER_RESOLUTION_10_BIT 
CFN_SAL_DEV_ACCELEROMETER_RESOLUTION_12_BIT 
CFN_SAL_DEV_ACCELEROMETER_RESOLUTION_14_BIT 
CFN_SAL_DEV_ACCELEROMETER_RESOLUTION_16_BIT 

Function Documentation

◆ CFN_HAL_VMT_CHECK()

CFN_HAL_VMT_CHECK ( struct cfn_sal_dev_accelerometer_api_s  )

◆ CFN_SAL_CREATE_DRIVER_TYPE()

CFN_SAL_CREATE_DRIVER_TYPE ( sal_dev_accelerometer  ,
cfn_sal_dev_accelerometer_config_t  ,
cfn_sal_dev_accelerometer_api_t  ,
cfn_sal_phy_t  ,
cfn_sal_dev_accelerometer_callback_t   
)

◆ cfn_sal_dev_accelerometer_callback_register()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_accelerometer_callback_register ( cfn_sal_dev_accelerometer_t driver,
cfn_sal_dev_accelerometer_callback_t  callback,
void *  user_arg 
)

◆ cfn_sal_dev_accelerometer_config_get()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_accelerometer_config_get ( cfn_sal_dev_accelerometer_t driver,
cfn_sal_dev_accelerometer_config_t config 
)

◆ cfn_sal_dev_accelerometer_config_set()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_accelerometer_config_set ( cfn_sal_dev_accelerometer_t driver,
const cfn_sal_dev_accelerometer_config_t config 
)

◆ cfn_sal_dev_accelerometer_construct()

cfn_hal_error_code_t cfn_sal_dev_accelerometer_construct ( cfn_sal_dev_accelerometer_t driver,
const cfn_sal_dev_accelerometer_config_t config,
const cfn_sal_phy_t phy,
void *  dependency,
cfn_sal_dev_accelerometer_callback_t  callback,
void *  user_arg 
)

◆ cfn_sal_dev_accelerometer_deinit()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_accelerometer_deinit ( cfn_sal_dev_accelerometer_t driver)

◆ cfn_sal_dev_accelerometer_destruct()

cfn_hal_error_code_t cfn_sal_dev_accelerometer_destruct ( cfn_sal_dev_accelerometer_t driver)

◆ cfn_sal_dev_accelerometer_error_disable()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_accelerometer_error_disable ( cfn_sal_dev_accelerometer_t driver,
uint32_t  error_mask 
)

◆ cfn_sal_dev_accelerometer_error_enable()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_accelerometer_error_enable ( cfn_sal_dev_accelerometer_t driver,
uint32_t  error_mask 
)

◆ cfn_sal_dev_accelerometer_error_get()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_accelerometer_error_get ( cfn_sal_dev_accelerometer_t driver,
uint32_t *  error_mask 
)

◆ cfn_sal_dev_accelerometer_event_disable()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_accelerometer_event_disable ( cfn_sal_dev_accelerometer_t driver,
uint32_t  event_mask 
)

◆ cfn_sal_dev_accelerometer_event_enable()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_accelerometer_event_enable ( cfn_sal_dev_accelerometer_t driver,
uint32_t  event_mask 
)

◆ cfn_sal_dev_accelerometer_event_get()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_accelerometer_event_get ( cfn_sal_dev_accelerometer_t driver,
uint32_t *  event_mask 
)

◆ cfn_sal_dev_accelerometer_get_id()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_accelerometer_get_id ( cfn_sal_dev_accelerometer_t driver,
uint32_t *  id_out 
)

◆ cfn_sal_dev_accelerometer_get_status()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_accelerometer_get_status ( cfn_sal_dev_accelerometer_t driver,
uint32_t *  status_flags 
)

◆ cfn_sal_dev_accelerometer_handle_interrupt()

CFN_HAL_INLINE void cfn_sal_dev_accelerometer_handle_interrupt ( cfn_sal_dev_accelerometer_t driver)

◆ cfn_sal_dev_accelerometer_init()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_accelerometer_init ( cfn_sal_dev_accelerometer_t driver)

◆ cfn_sal_dev_accelerometer_populate()

CFN_HAL_INLINE void cfn_sal_dev_accelerometer_populate ( cfn_sal_dev_accelerometer_t driver,
uint32_t  peripheral_id,
void *  dependency,
const cfn_sal_dev_accelerometer_api_t api,
const cfn_sal_phy_t phy,
const cfn_sal_dev_accelerometer_config_t config,
cfn_sal_dev_accelerometer_callback_t  callback,
void *  user_arg 
)

◆ cfn_sal_dev_accelerometer_power_state_set()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_accelerometer_power_state_set ( cfn_sal_dev_accelerometer_t driver,
cfn_hal_power_state_t  state 
)

◆ cfn_sal_dev_accelerometer_read_6d_orientation()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_accelerometer_read_6d_orientation ( cfn_sal_dev_accelerometer_t driver,
uint8_t *  orientation_code 
)

◆ cfn_sal_dev_accelerometer_read_fifo()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_accelerometer_read_fifo ( cfn_sal_dev_accelerometer_t driver,
cfn_sal_dev_accelerometer_data_t data,
size_t *  count 
)

◆ cfn_sal_dev_accelerometer_read_mg()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_accelerometer_read_mg ( cfn_sal_dev_accelerometer_t driver,
cfn_sal_dev_accelerometer_data_t data_out 
)

◆ cfn_sal_dev_accelerometer_read_raw()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_accelerometer_read_raw ( cfn_sal_dev_accelerometer_t driver,
cfn_sal_dev_accelerometer_data_t data_out 
)

◆ cfn_sal_dev_accelerometer_read_step_counter()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_accelerometer_read_step_counter ( cfn_sal_dev_accelerometer_t driver,
uint32_t *  steps 
)