Da Vinci Firmware 1
Firmware for the DaVinci-M rocket avionics board.
Loading...
Searching...
No Matches

This section group all the functions concerning the fifo usage. More...

Collaboration diagram for LSM6DSO32_fifo:

Enumerations

enum  lsm6dso32_uncoptr_rate_t {
  LSM6DSO32_CMP_DISABLE = 0x00 , LSM6DSO32_CMP_ALWAYS = 0x04 , LSM6DSO32_CMP_8_TO_1 = 0x05 , LSM6DSO32_CMP_16_TO_1 = 0x06 ,
  LSM6DSO32_CMP_32_TO_1 = 0x07
}
 
enum  lsm6dso32_bdr_xl_t {
  LSM6DSO32_XL_NOT_BATCHED = 0 , LSM6DSO32_XL_BATCHED_AT_12Hz5 = 1 , LSM6DSO32_XL_BATCHED_AT_26Hz = 2 , LSM6DSO32_XL_BATCHED_AT_52Hz = 3 ,
  LSM6DSO32_XL_BATCHED_AT_104Hz = 4 , LSM6DSO32_XL_BATCHED_AT_208Hz = 5 , LSM6DSO32_XL_BATCHED_AT_417Hz = 6 , LSM6DSO32_XL_BATCHED_AT_833Hz = 7 ,
  LSM6DSO32_XL_BATCHED_AT_1667Hz = 8 , LSM6DSO32_XL_BATCHED_AT_3333Hz = 9 , LSM6DSO32_XL_BATCHED_AT_6667Hz = 10 , LSM6DSO32_XL_BATCHED_AT_6Hz5 = 11
}
 
enum  lsm6dso32_bdr_gy_t {
  LSM6DSO32_GY_NOT_BATCHED = 0 , LSM6DSO32_GY_BATCHED_AT_12Hz5 = 1 , LSM6DSO32_GY_BATCHED_AT_26Hz = 2 , LSM6DSO32_GY_BATCHED_AT_52Hz = 3 ,
  LSM6DSO32_GY_BATCHED_AT_104Hz = 4 , LSM6DSO32_GY_BATCHED_AT_208Hz = 5 , LSM6DSO32_GY_BATCHED_AT_417Hz = 6 , LSM6DSO32_GY_BATCHED_AT_833Hz = 7 ,
  LSM6DSO32_GY_BATCHED_AT_1667Hz = 8 , LSM6DSO32_GY_BATCHED_AT_3333Hz = 9 , LSM6DSO32_GY_BATCHED_AT_6667Hz = 10 , LSM6DSO32_GY_BATCHED_AT_6Hz5 = 11
}
 
enum  lsm6dso32_fifo_mode_t {
  LSM6DSO32_BYPASS_MODE = 0 , LSM6DSO32_FIFO_MODE = 1 , LSM6DSO32_STREAM_TO_FIFO_MODE = 3 , LSM6DSO32_BYPASS_TO_STREAM_MODE = 4 ,
  LSM6DSO32_STREAM_MODE = 6 , LSM6DSO32_BYPASS_TO_FIFO_MODE = 7
}
 
enum  lsm6dso32_odr_t_batch_t { LSM6DSO32_TEMP_NOT_BATCHED = 0 , LSM6DSO32_TEMP_BATCHED_AT_1Hz6 = 1 , LSM6DSO32_TEMP_BATCHED_AT_12Hz5 = 2 , LSM6DSO32_TEMP_BATCHED_AT_52Hz = 3 }
 
enum  lsm6dso32_odr_ts_batch_t { LSM6DSO32_NO_DECIMATION = 0 , LSM6DSO32_DEC_1 = 1 , LSM6DSO32_DEC_8 = 2 , LSM6DSO32_DEC_32 = 3 }
 
enum  lsm6dso32_trig_counter_bdr_t { LSM6DSO32_XL_BATCH_EVENT = 0 , LSM6DSO32_GYRO_BATCH_EVENT = 1 }
 
enum  lsm6dso32_fifo_tag_t {
  LSM6DSO32_GYRO_NC_TAG = 1 , LSM6DSO32_XL_NC_TAG , LSM6DSO32_TEMPERATURE_TAG , LSM6DSO32_TIMESTAMP_TAG ,
  LSM6DSO32_CFG_CHANGE_TAG , LSM6DSO32_XL_NC_T_2_TAG , LSM6DSO32_XL_NC_T_1_TAG , LSM6DSO32_XL_2XC_TAG ,
  LSM6DSO32_XL_3XC_TAG , LSM6DSO32_GYRO_NC_T_2_TAG , LSM6DSO32_GYRO_NC_T_1_TAG , LSM6DSO32_GYRO_2XC_TAG ,
  LSM6DSO32_GYRO_3XC_TAG , LSM6DSO32_SENSORHUB_SLAVE0_TAG , LSM6DSO32_SENSORHUB_SLAVE1_TAG , LSM6DSO32_SENSORHUB_SLAVE2_TAG ,
  LSM6DSO32_SENSORHUB_SLAVE3_TAG , LSM6DSO32_STEP_COUNTER_TAG , LSM6DSO32_SENSORHUB_NACK_TAG = 0x19
}
 

Functions

int32_t lsm6dso32_fifo_watermark_set (stmdev_ctx_t *ctx, uint16_t val)
 FIFO watermark level selection.[set].
 
int32_t lsm6dso32_fifo_watermark_get (stmdev_ctx_t *ctx, uint16_t *val)
 FIFO watermark level selection.[get].
 
int32_t lsm6dso32_compression_algo_init_set (stmdev_ctx_t *ctx, uint8_t val)
 FIFO compression feature initialization request [set].
 
int32_t lsm6dso32_compression_algo_init_get (stmdev_ctx_t *ctx, uint8_t *val)
 FIFO compression feature initialization request [get].
 
int32_t lsm6dso32_compression_algo_set (stmdev_ctx_t *ctx, lsm6dso32_uncoptr_rate_t val)
 Enable and configure compression algo.[set].
 
int32_t lsm6dso32_compression_algo_get (stmdev_ctx_t *ctx, lsm6dso32_uncoptr_rate_t *val)
 Enable and configure compression algo.[get].
 
int32_t lsm6dso32_fifo_virtual_sens_odr_chg_set (stmdev_ctx_t *ctx, uint8_t val)
 Enables ODR CHANGE virtual sensor to be batched in FIFO.[set].
 
int32_t lsm6dso32_fifo_virtual_sens_odr_chg_get (stmdev_ctx_t *ctx, uint8_t *val)
 Enables ODR CHANGE virtual sensor to be batched in FIFO.[get].
 
int32_t lsm6dso32_compression_algo_real_time_set (stmdev_ctx_t *ctx, uint8_t val)
 Enables/Disables compression algorithm runtime.[set].
 
int32_t lsm6dso32_compression_algo_real_time_get (stmdev_ctx_t *ctx, uint8_t *val)
 Enables/Disables compression algorithm runtime.[get].
 
int32_t lsm6dso32_fifo_stop_on_wtm_set (stmdev_ctx_t *ctx, uint8_t val)
 Sensing chain FIFO stop values memorization at threshold level.[set].
 
int32_t lsm6dso32_fifo_stop_on_wtm_get (stmdev_ctx_t *ctx, uint8_t *val)
 Sensing chain FIFO stop values memorization at threshold level.[get].
 
int32_t lsm6dso32_fifo_xl_batch_set (stmdev_ctx_t *ctx, lsm6dso32_bdr_xl_t val)
 Selects Batching Data Rate (writing frequency in FIFO) for accelerometer data.[set].
 
int32_t lsm6dso32_fifo_xl_batch_get (stmdev_ctx_t *ctx, lsm6dso32_bdr_xl_t *val)
 Selects Batching Data Rate (writing frequency in FIFO) for accelerometer data.[get].
 
int32_t lsm6dso32_fifo_gy_batch_set (stmdev_ctx_t *ctx, lsm6dso32_bdr_gy_t val)
 Selects Batching Data Rate (writing frequency in FIFO) for gyroscope data.[set].
 
int32_t lsm6dso32_fifo_gy_batch_get (stmdev_ctx_t *ctx, lsm6dso32_bdr_gy_t *val)
 Selects Batching Data Rate (writing frequency in FIFO) for gyroscope data.[get].
 
int32_t lsm6dso32_fifo_mode_set (stmdev_ctx_t *ctx, lsm6dso32_fifo_mode_t val)
 FIFO mode selection.[set].
 
int32_t lsm6dso32_fifo_mode_get (stmdev_ctx_t *ctx, lsm6dso32_fifo_mode_t *val)
 FIFO mode selection.[get].
 
int32_t lsm6dso32_fifo_temp_batch_set (stmdev_ctx_t *ctx, lsm6dso32_odr_t_batch_t val)
 Selects Batching Data Rate (writing frequency in FIFO) for temperature data.[set].
 
int32_t lsm6dso32_fifo_temp_batch_get (stmdev_ctx_t *ctx, lsm6dso32_odr_t_batch_t *val)
 Selects Batching Data Rate (writing frequency in FIFO) for temperature data.[get].
 
int32_t lsm6dso32_fifo_timestamp_decimation_set (stmdev_ctx_t *ctx, lsm6dso32_odr_ts_batch_t val)
 Selects decimation for timestamp batching in FIFO. Writing rate will be the maximum rate between XL and GYRO BDR divided by decimation decoder.[set].
 
int32_t lsm6dso32_fifo_timestamp_decimation_get (stmdev_ctx_t *ctx, lsm6dso32_odr_ts_batch_t *val)
 Selects decimation for timestamp batching in FIFO. Writing rate will be the maximum rate between XL and GYRO BDR divided by decimation decoder.[get].
 
int32_t lsm6dso32_fifo_cnt_event_batch_set (stmdev_ctx_t *ctx, lsm6dso32_trig_counter_bdr_t val)
 Selects the trigger for the internal counter of batching events between XL and gyro.[set].
 
int32_t lsm6dso32_fifo_cnt_event_batch_get (stmdev_ctx_t *ctx, lsm6dso32_trig_counter_bdr_t *val)
 Selects the trigger for the internal counter of batching events between XL and gyro.[get].
 
int32_t lsm6dso32_rst_batch_counter_set (stmdev_ctx_t *ctx, uint8_t val)
 Resets the internal counter of batching vents for a single sensor. This bit is automatically reset to zero if it was set to ‘1’.[set].
 
int32_t lsm6dso32_rst_batch_counter_get (stmdev_ctx_t *ctx, uint8_t *val)
 Resets the internal counter of batching events for a single sensor. This bit is automatically reset to zero if it was set to ‘1’.[get].
 
int32_t lsm6dso32_batch_counter_threshold_set (stmdev_ctx_t *ctx, uint16_t val)
 Batch data rate counter.[set].
 
int32_t lsm6dso32_batch_counter_threshold_get (stmdev_ctx_t *ctx, uint16_t *val)
 Batch data rate counter.[get].
 
int32_t lsm6dso32_fifo_data_level_get (stmdev_ctx_t *ctx, uint16_t *val)
 Number of unread sensor data(TAG + 6 bytes) stored in FIFO.[get].
 
int32_t lsm6dso32_fifo_status_get (stmdev_ctx_t *ctx, lsm6dso32_fifo_status2_t *val)
 FIFO status.[get].
 
int32_t lsm6dso32_fifo_full_flag_get (stmdev_ctx_t *ctx, uint8_t *val)
 Smart FIFO full status.[get].
 
int32_t lsm6dso32_fifo_ovr_flag_get (stmdev_ctx_t *ctx, uint8_t *val)
 FIFO overrun status.[get].
 
int32_t lsm6dso32_fifo_wtm_flag_get (stmdev_ctx_t *ctx, uint8_t *val)
 FIFO watermark status.[get].
 
int32_t lsm6dso32_fifo_sensor_tag_get (stmdev_ctx_t *ctx, lsm6dso32_fifo_tag_t *val)
 Identifies the sensor in FIFO_DATA_OUT.[get].
 
int32_t lsm6dso32_fifo_pedo_batch_set (stmdev_ctx_t *ctx, uint8_t val)
 : Enable FIFO batching of pedometer embedded function values.[set]
 
int32_t lsm6dso32_fifo_pedo_batch_get (stmdev_ctx_t *ctx, uint8_t *val)
 Enable FIFO batching of pedometer embedded function values.[get].
 
int32_t lsm6dso32_sh_batch_slave_0_set (stmdev_ctx_t *ctx, uint8_t val)
 Enable FIFO batching data of first slave.[set].
 
int32_t lsm6dso32_sh_batch_slave_0_get (stmdev_ctx_t *ctx, uint8_t *val)
 Enable FIFO batching data of first slave.[get].
 
int32_t lsm6dso32_sh_batch_slave_1_set (stmdev_ctx_t *ctx, uint8_t val)
 Enable FIFO batching data of second slave.[set].
 
int32_t lsm6dso32_sh_batch_slave_1_get (stmdev_ctx_t *ctx, uint8_t *val)
 Enable FIFO batching data of second slave.[get].
 
int32_t lsm6dso32_sh_batch_slave_2_set (stmdev_ctx_t *ctx, uint8_t val)
 Enable FIFO batching data of third slave.[set].
 
int32_t lsm6dso32_sh_batch_slave_2_get (stmdev_ctx_t *ctx, uint8_t *val)
 Enable FIFO batching data of third slave.[get].
 
int32_t lsm6dso32_sh_batch_slave_3_set (stmdev_ctx_t *ctx, uint8_t val)
 Enable FIFO batching data of fourth slave.[set].
 
int32_t lsm6dso32_sh_batch_slave_3_get (stmdev_ctx_t *ctx, uint8_t *val)
 Enable FIFO batching data of fourth slave.[get].
 

Detailed Description

This section group all the functions concerning the fifo usage.

Enumeration Type Documentation

◆ lsm6dso32_bdr_gy_t

Enumerator
LSM6DSO32_GY_NOT_BATCHED 
LSM6DSO32_GY_BATCHED_AT_12Hz5 
LSM6DSO32_GY_BATCHED_AT_26Hz 
LSM6DSO32_GY_BATCHED_AT_52Hz 
LSM6DSO32_GY_BATCHED_AT_104Hz 
LSM6DSO32_GY_BATCHED_AT_208Hz 
LSM6DSO32_GY_BATCHED_AT_417Hz 
LSM6DSO32_GY_BATCHED_AT_833Hz 
LSM6DSO32_GY_BATCHED_AT_1667Hz 
LSM6DSO32_GY_BATCHED_AT_3333Hz 
LSM6DSO32_GY_BATCHED_AT_6667Hz 
LSM6DSO32_GY_BATCHED_AT_6Hz5 

Definition at line 3361 of file lsm6dso32_reg.h.

3362{
lsm6dso32_bdr_gy_t
@ LSM6DSO32_GY_BATCHED_AT_3333Hz
@ LSM6DSO32_GY_NOT_BATCHED
@ LSM6DSO32_GY_BATCHED_AT_417Hz
@ LSM6DSO32_GY_BATCHED_AT_833Hz
@ LSM6DSO32_GY_BATCHED_AT_26Hz
@ LSM6DSO32_GY_BATCHED_AT_6Hz5
@ LSM6DSO32_GY_BATCHED_AT_12Hz5
@ LSM6DSO32_GY_BATCHED_AT_1667Hz
@ LSM6DSO32_GY_BATCHED_AT_208Hz
@ LSM6DSO32_GY_BATCHED_AT_52Hz
@ LSM6DSO32_GY_BATCHED_AT_104Hz
@ LSM6DSO32_GY_BATCHED_AT_6667Hz

◆ lsm6dso32_bdr_xl_t

Enumerator
LSM6DSO32_XL_NOT_BATCHED 
LSM6DSO32_XL_BATCHED_AT_12Hz5 
LSM6DSO32_XL_BATCHED_AT_26Hz 
LSM6DSO32_XL_BATCHED_AT_52Hz 
LSM6DSO32_XL_BATCHED_AT_104Hz 
LSM6DSO32_XL_BATCHED_AT_208Hz 
LSM6DSO32_XL_BATCHED_AT_417Hz 
LSM6DSO32_XL_BATCHED_AT_833Hz 
LSM6DSO32_XL_BATCHED_AT_1667Hz 
LSM6DSO32_XL_BATCHED_AT_3333Hz 
LSM6DSO32_XL_BATCHED_AT_6667Hz 
LSM6DSO32_XL_BATCHED_AT_6Hz5 

Definition at line 3341 of file lsm6dso32_reg.h.

3342{
lsm6dso32_bdr_xl_t
@ LSM6DSO32_XL_BATCHED_AT_26Hz
@ LSM6DSO32_XL_BATCHED_AT_1667Hz
@ LSM6DSO32_XL_BATCHED_AT_12Hz5
@ LSM6DSO32_XL_BATCHED_AT_208Hz
@ LSM6DSO32_XL_BATCHED_AT_6Hz5
@ LSM6DSO32_XL_BATCHED_AT_104Hz
@ LSM6DSO32_XL_BATCHED_AT_417Hz
@ LSM6DSO32_XL_BATCHED_AT_3333Hz
@ LSM6DSO32_XL_BATCHED_AT_6667Hz
@ LSM6DSO32_XL_NOT_BATCHED
@ LSM6DSO32_XL_BATCHED_AT_52Hz
@ LSM6DSO32_XL_BATCHED_AT_833Hz

◆ lsm6dso32_fifo_mode_t

Enumerator
LSM6DSO32_BYPASS_MODE 
LSM6DSO32_FIFO_MODE 
LSM6DSO32_STREAM_TO_FIFO_MODE 
LSM6DSO32_BYPASS_TO_STREAM_MODE 
LSM6DSO32_STREAM_MODE 
LSM6DSO32_BYPASS_TO_FIFO_MODE 

Definition at line 3381 of file lsm6dso32_reg.h.

3382{
lsm6dso32_fifo_mode_t
@ LSM6DSO32_BYPASS_TO_FIFO_MODE
@ LSM6DSO32_STREAM_MODE
@ LSM6DSO32_BYPASS_MODE
@ LSM6DSO32_BYPASS_TO_STREAM_MODE
@ LSM6DSO32_STREAM_TO_FIFO_MODE
@ LSM6DSO32_FIFO_MODE

◆ lsm6dso32_fifo_tag_t

Enumerator
LSM6DSO32_GYRO_NC_TAG 
LSM6DSO32_XL_NC_TAG 
LSM6DSO32_TEMPERATURE_TAG 
LSM6DSO32_TIMESTAMP_TAG 
LSM6DSO32_CFG_CHANGE_TAG 
LSM6DSO32_XL_NC_T_2_TAG 
LSM6DSO32_XL_NC_T_1_TAG 
LSM6DSO32_XL_2XC_TAG 
LSM6DSO32_XL_3XC_TAG 
LSM6DSO32_GYRO_NC_T_2_TAG 
LSM6DSO32_GYRO_NC_T_1_TAG 
LSM6DSO32_GYRO_2XC_TAG 
LSM6DSO32_GYRO_3XC_TAG 
LSM6DSO32_SENSORHUB_SLAVE0_TAG 
LSM6DSO32_SENSORHUB_SLAVE1_TAG 
LSM6DSO32_SENSORHUB_SLAVE2_TAG 
LSM6DSO32_SENSORHUB_SLAVE3_TAG 
LSM6DSO32_STEP_COUNTER_TAG 
LSM6DSO32_SENSORHUB_NACK_TAG 

Definition at line 3425 of file lsm6dso32_reg.h.

3426{
lsm6dso32_fifo_tag_t
@ LSM6DSO32_GYRO_3XC_TAG
@ LSM6DSO32_SENSORHUB_NACK_TAG
@ LSM6DSO32_GYRO_NC_TAG
@ LSM6DSO32_XL_2XC_TAG
@ LSM6DSO32_XL_NC_T_1_TAG
@ LSM6DSO32_SENSORHUB_SLAVE3_TAG
@ LSM6DSO32_GYRO_NC_T_2_TAG
@ LSM6DSO32_GYRO_NC_T_1_TAG
@ LSM6DSO32_XL_NC_TAG
@ LSM6DSO32_GYRO_2XC_TAG
@ LSM6DSO32_XL_NC_T_2_TAG
@ LSM6DSO32_SENSORHUB_SLAVE2_TAG
@ LSM6DSO32_CFG_CHANGE_TAG
@ LSM6DSO32_TIMESTAMP_TAG
@ LSM6DSO32_TEMPERATURE_TAG
@ LSM6DSO32_SENSORHUB_SLAVE0_TAG
@ LSM6DSO32_XL_3XC_TAG
@ LSM6DSO32_SENSORHUB_SLAVE1_TAG
@ LSM6DSO32_STEP_COUNTER_TAG

◆ lsm6dso32_odr_t_batch_t

Enumerator
LSM6DSO32_TEMP_NOT_BATCHED 
LSM6DSO32_TEMP_BATCHED_AT_1Hz6 
LSM6DSO32_TEMP_BATCHED_AT_12Hz5 
LSM6DSO32_TEMP_BATCHED_AT_52Hz 

Definition at line 3395 of file lsm6dso32_reg.h.

3396{
lsm6dso32_odr_t_batch_t
@ LSM6DSO32_TEMP_BATCHED_AT_1Hz6
@ LSM6DSO32_TEMP_NOT_BATCHED
@ LSM6DSO32_TEMP_BATCHED_AT_52Hz
@ LSM6DSO32_TEMP_BATCHED_AT_12Hz5

◆ lsm6dso32_odr_ts_batch_t

Enumerator
LSM6DSO32_NO_DECIMATION 
LSM6DSO32_DEC_1 
LSM6DSO32_DEC_8 
LSM6DSO32_DEC_32 

Definition at line 3407 of file lsm6dso32_reg.h.

3408{
3410 LSM6DSO32_DEC_1 = 1,
3411 LSM6DSO32_DEC_8 = 2,
3412 LSM6DSO32_DEC_32 = 3,
lsm6dso32_odr_ts_batch_t
@ LSM6DSO32_DEC_8
@ LSM6DSO32_DEC_32
@ LSM6DSO32_DEC_1
@ LSM6DSO32_NO_DECIMATION

◆ lsm6dso32_trig_counter_bdr_t

Enumerator
LSM6DSO32_XL_BATCH_EVENT 
LSM6DSO32_GYRO_BATCH_EVENT 

Definition at line 3419 of file lsm6dso32_reg.h.

3420{
lsm6dso32_trig_counter_bdr_t
@ LSM6DSO32_GYRO_BATCH_EVENT
@ LSM6DSO32_XL_BATCH_EVENT

◆ lsm6dso32_uncoptr_rate_t

Enumerator
LSM6DSO32_CMP_DISABLE 
LSM6DSO32_CMP_ALWAYS 
LSM6DSO32_CMP_8_TO_1 
LSM6DSO32_CMP_16_TO_1 
LSM6DSO32_CMP_32_TO_1 

Definition at line 3313 of file lsm6dso32_reg.h.

3314{
3315 LSM6DSO32_CMP_DISABLE = 0x00,
3316 LSM6DSO32_CMP_ALWAYS = 0x04,
3317 LSM6DSO32_CMP_8_TO_1 = 0x05,
3318 LSM6DSO32_CMP_16_TO_1 = 0x06,
3319 LSM6DSO32_CMP_32_TO_1 = 0x07,
lsm6dso32_uncoptr_rate_t
@ LSM6DSO32_CMP_16_TO_1
@ LSM6DSO32_CMP_ALWAYS
@ LSM6DSO32_CMP_DISABLE
@ LSM6DSO32_CMP_32_TO_1
@ LSM6DSO32_CMP_8_TO_1

Function Documentation

◆ lsm6dso32_batch_counter_threshold_get()

int32_t lsm6dso32_batch_counter_threshold_get ( stmdev_ctx_t ctx,
uint16_t *  val 
)

Batch data rate counter.[get].

Parameters
ctxread / write interface definitions
valchange the values of cnt_bdr_th in reg COUNTER_BDR_REG2 and COUNTER_BDR_REG1.
Return values
interfacestatus (MANDATORY: return 0 -> no Error)

Definition at line 6023 of file lsm6dso32_reg.c.

6025{
6026 lsm6dso32_counter_bdr_reg1_t counter_bdr_reg1;
6027 lsm6dso32_counter_bdr_reg2_t counter_bdr_reg2;
6028 int32_t ret;
6029
6031 (uint8_t *)&counter_bdr_reg1, 1);
6032
6033 if (ret == 0)
6034 {
6036 (uint8_t *)&counter_bdr_reg2, 1);
6037 *val = ((uint16_t)counter_bdr_reg1.cnt_bdr_th << 8)
6038 + (uint16_t)counter_bdr_reg2.cnt_bdr_th;
6039 }
6040
6041 return ret;
6042}
int32_t __weak lsm6dso32_read_reg(stmdev_ctx_t *ctx, uint8_t reg, uint8_t *data, uint16_t len)
Read generic device register.
#define LSM6DSO32_COUNTER_BDR_REG2
#define LSM6DSO32_COUNTER_BDR_REG1

References lsm6dso32_counter_bdr_reg1_t::cnt_bdr_th, LSM6DSO32_COUNTER_BDR_REG1, LSM6DSO32_COUNTER_BDR_REG2, and lsm6dso32_read_reg().

Here is the call graph for this function:

◆ lsm6dso32_batch_counter_threshold_set()

int32_t lsm6dso32_batch_counter_threshold_set ( stmdev_ctx_t ctx,
uint16_t  val 
)

Batch data rate counter.[set].

Parameters
ctxread / write interface definitions
valchange the values of cnt_bdr_th in reg COUNTER_BDR_REG2 and COUNTER_BDR_REG1.
Return values
interfacestatus (MANDATORY: return 0 -> no Error)

Definition at line 5987 of file lsm6dso32_reg.c.

5989{
5990 lsm6dso32_counter_bdr_reg1_t counter_bdr_reg1;
5991 lsm6dso32_counter_bdr_reg2_t counter_bdr_reg2;
5992 int32_t ret;
5993
5995 (uint8_t *)&counter_bdr_reg1, 1);
5996
5997 if (ret == 0)
5998 {
5999 counter_bdr_reg2.cnt_bdr_th = 0x00FFU & (uint8_t)val;
6000 counter_bdr_reg1.cnt_bdr_th = (uint8_t)(0x0700U & val) >> 8;
6002 (uint8_t *)&counter_bdr_reg1, 1);
6003 }
6004
6005 if (ret == 0)
6006 {
6008 (uint8_t *)&counter_bdr_reg2, 1);
6009 }
6010
6011 return ret;
6012}
int32_t __weak lsm6dso32_write_reg(stmdev_ctx_t *ctx, uint8_t reg, uint8_t *data, uint16_t len)
Write generic device register.

References lsm6dso32_counter_bdr_reg1_t::cnt_bdr_th, lsm6dso32_counter_bdr_reg2_t::cnt_bdr_th, LSM6DSO32_COUNTER_BDR_REG1, LSM6DSO32_COUNTER_BDR_REG2, lsm6dso32_read_reg(), and lsm6dso32_write_reg().

Here is the call graph for this function:

◆ lsm6dso32_compression_algo_get()

int32_t lsm6dso32_compression_algo_get ( stmdev_ctx_t ctx,
lsm6dso32_uncoptr_rate_t val 
)

Enable and configure compression algo.[get].

Parameters
ctxread / write interface definitions
valGet the values of uncoptr_rate in reg FIFO_CTRL2
Return values
interfacestatus (MANDATORY: return 0 -> no Error)

Definition at line 5268 of file lsm6dso32_reg.c.

5270{
5272 int32_t ret;
5273
5274 ret = lsm6dso32_read_reg(ctx, LSM6DSO32_FIFO_CTRL2, (uint8_t *)&reg, 1);
5275
5276 switch ((reg.fifo_compr_rt_en << 2) | reg.uncoptr_rate)
5277 {
5279 *val = LSM6DSO32_CMP_DISABLE;
5280 break;
5281
5283 *val = LSM6DSO32_CMP_ALWAYS;
5284 break;
5285
5287 *val = LSM6DSO32_CMP_8_TO_1;
5288 break;
5289
5291 *val = LSM6DSO32_CMP_16_TO_1;
5292 break;
5293
5295 *val = LSM6DSO32_CMP_32_TO_1;
5296 break;
5297
5298 default:
5299 *val = LSM6DSO32_CMP_DISABLE;
5300 break;
5301 }
5302
5303 return ret;
5304}
#define LSM6DSO32_FIFO_CTRL2

References lsm6dso32_fifo_ctrl2_t::fifo_compr_rt_en, LSM6DSO32_CMP_16_TO_1, LSM6DSO32_CMP_32_TO_1, LSM6DSO32_CMP_8_TO_1, LSM6DSO32_CMP_ALWAYS, LSM6DSO32_CMP_DISABLE, LSM6DSO32_FIFO_CTRL2, lsm6dso32_read_reg(), and lsm6dso32_fifo_ctrl2_t::uncoptr_rate.

Here is the call graph for this function:

◆ lsm6dso32_compression_algo_init_get()

int32_t lsm6dso32_compression_algo_init_get ( stmdev_ctx_t ctx,
uint8_t *  val 
)

FIFO compression feature initialization request [get].

Parameters
ctxread / write interface definitions
valchange the values of FIFO_COMPR_INIT in reg EMB_FUNC_INIT_B
Return values
interfacestatus (MANDATORY: return 0 -> no Error)

Definition at line 5183 of file lsm6dso32_reg.c.

5185{
5187 int32_t ret;
5188
5190
5191 if (ret == 0)
5192 {
5194 (uint8_t *)&reg, 1);
5195 }
5196
5197 if (ret == 0)
5198 {
5199 *val = reg.fifo_compr_init;
5201 }
5202
5203 return ret;
5204}
int32_t lsm6dso32_mem_bank_set(stmdev_ctx_t *ctx, lsm6dso32_reg_access_t val)
Enable access to the embedded functions/sensor hub configuration registers.[set].
@ LSM6DSO32_USER_BANK
@ LSM6DSO32_EMBEDDED_FUNC_BANK
#define LSM6DSO32_EMB_FUNC_INIT_B

References lsm6dso32_emb_func_init_b_t::fifo_compr_init, LSM6DSO32_EMB_FUNC_INIT_B, LSM6DSO32_EMBEDDED_FUNC_BANK, lsm6dso32_mem_bank_set(), lsm6dso32_read_reg(), and LSM6DSO32_USER_BANK.

Here is the call graph for this function:

◆ lsm6dso32_compression_algo_init_set()

int32_t lsm6dso32_compression_algo_init_set ( stmdev_ctx_t ctx,
uint8_t  val 
)

FIFO compression feature initialization request [set].

Parameters
ctxread / write interface definitions
valchange the values of FIFO_COMPR_INIT in reg EMB_FUNC_INIT_B
Return values
interfacestatus (MANDATORY: return 0 -> no Error)

Definition at line 5145 of file lsm6dso32_reg.c.

5147{
5149 int32_t ret;
5150
5152
5153 if (ret == 0)
5154 {
5156 (uint8_t *)&reg, 1);
5157 }
5158
5159 if (ret == 0)
5160 {
5161 reg.fifo_compr_init = val;
5163 (uint8_t *)&reg, 1);
5164 }
5165
5166 if (ret == 0)
5167 {
5169 }
5170
5171 return ret;
5172}

References lsm6dso32_emb_func_init_b_t::fifo_compr_init, LSM6DSO32_EMB_FUNC_INIT_B, LSM6DSO32_EMBEDDED_FUNC_BANK, lsm6dso32_mem_bank_set(), lsm6dso32_read_reg(), LSM6DSO32_USER_BANK, and lsm6dso32_write_reg().

Here is the call graph for this function:

◆ lsm6dso32_compression_algo_real_time_get()

int32_t lsm6dso32_compression_algo_real_time_get ( stmdev_ctx_t ctx,
uint8_t *  val 
)

Enables/Disables compression algorithm runtime.[get].

Parameters
ctxread / write interface definitions
valchange the values of fifo_compr_rt_en in reg FIFO_CTRL2
Return values
interfacestatus (MANDATORY: return 0 -> no Error)

Definition at line 5385 of file lsm6dso32_reg.c.

5387{
5389 int32_t ret;
5390
5391 ret = lsm6dso32_read_reg(ctx, LSM6DSO32_FIFO_CTRL2, (uint8_t *)&reg, 1);
5392 *val = reg.fifo_compr_rt_en;
5393
5394 return ret;
5395}

References lsm6dso32_fifo_ctrl2_t::fifo_compr_rt_en, LSM6DSO32_FIFO_CTRL2, and lsm6dso32_read_reg().

Here is the call graph for this function:

◆ lsm6dso32_compression_algo_real_time_set()

int32_t lsm6dso32_compression_algo_real_time_set ( stmdev_ctx_t ctx,
uint8_t  val 
)

Enables/Disables compression algorithm runtime.[set].

Parameters
ctxread / write interface definitions
valchange the values of fifo_compr_rt_en in reg FIFO_CTRL2
Return values
interfacestatus (MANDATORY: return 0 -> no Error)

Definition at line 5360 of file lsm6dso32_reg.c.

5362{
5364 int32_t ret;
5365
5366 ret = lsm6dso32_read_reg(ctx, LSM6DSO32_FIFO_CTRL2, (uint8_t *)&reg, 1);
5367
5368 if (ret == 0)
5369 {
5370 reg.fifo_compr_rt_en = val;
5371 ret = lsm6dso32_write_reg(ctx, LSM6DSO32_FIFO_CTRL2, (uint8_t *)&reg, 1);
5372 }
5373
5374 return ret;
5375}

References lsm6dso32_fifo_ctrl2_t::fifo_compr_rt_en, LSM6DSO32_FIFO_CTRL2, lsm6dso32_read_reg(), and lsm6dso32_write_reg().

Here is the call graph for this function:

◆ lsm6dso32_compression_algo_set()

int32_t lsm6dso32_compression_algo_set ( stmdev_ctx_t ctx,
lsm6dso32_uncoptr_rate_t  val 
)

Enable and configure compression algo.[set].

Parameters
ctxread / write interface definitions
valchange the values of uncoptr_rate in reg FIFO_CTRL2
Return values
interfacestatus (MANDATORY: return 0 -> no Error)

Definition at line 5215 of file lsm6dso32_reg.c.

5217{
5218 lsm6dso32_emb_func_en_b_t emb_func_en_b;
5219 lsm6dso32_fifo_ctrl2_t fifo_ctrl2;
5220 int32_t ret;
5221
5223
5224 if (ret == 0)
5225 {
5227 (uint8_t *)&emb_func_en_b, 1);
5228 }
5229
5230 if (ret == 0)
5231 {
5232 emb_func_en_b.fifo_compr_en = ((uint8_t)val & 0x04U) >> 2;
5234 (uint8_t *)&emb_func_en_b, 1);
5235 }
5236
5237 if (ret == 0)
5238 {
5240 }
5241
5242 if (ret == 0)
5243 {
5245 (uint8_t *)&fifo_ctrl2, 1);
5246 }
5247
5248 if (ret == 0)
5249 {
5250 fifo_ctrl2.fifo_compr_rt_en = ((uint8_t)val & 0x04U) >> 2;
5251 fifo_ctrl2.uncoptr_rate = (uint8_t)val & 0x03U;
5253 (uint8_t *)&fifo_ctrl2, 1);
5254 }
5255
5256 return ret;
5257}
#define LSM6DSO32_EMB_FUNC_EN_B

References lsm6dso32_emb_func_en_b_t::fifo_compr_en, lsm6dso32_fifo_ctrl2_t::fifo_compr_rt_en, LSM6DSO32_EMB_FUNC_EN_B, LSM6DSO32_EMBEDDED_FUNC_BANK, LSM6DSO32_FIFO_CTRL2, lsm6dso32_mem_bank_set(), lsm6dso32_read_reg(), LSM6DSO32_USER_BANK, lsm6dso32_write_reg(), and lsm6dso32_fifo_ctrl2_t::uncoptr_rate.

Here is the call graph for this function:

◆ lsm6dso32_fifo_cnt_event_batch_get()

int32_t lsm6dso32_fifo_cnt_event_batch_get ( stmdev_ctx_t ctx,
lsm6dso32_trig_counter_bdr_t val 
)

Selects the trigger for the internal counter of batching events between XL and gyro.[get].

Parameters
ctxread / write interface definitions
valGet the values of trig_counter_bdr in reg COUNTER_BDR_REG1
Return values
interfacestatus (MANDATORY: return 0 -> no Error)

Definition at line 5899 of file lsm6dso32_reg.c.

5901{
5903 int32_t ret;
5904
5906 (uint8_t *)&reg, 1);
5907
5908 switch (reg.trig_counter_bdr)
5909 {
5912 break;
5913
5916 break;
5917
5918 default:
5920 break;
5921 }
5922
5923 return ret;
5924}

References LSM6DSO32_COUNTER_BDR_REG1, LSM6DSO32_GYRO_BATCH_EVENT, lsm6dso32_read_reg(), LSM6DSO32_XL_BATCH_EVENT, and lsm6dso32_counter_bdr_reg1_t::trig_counter_bdr.

Here is the call graph for this function:

◆ lsm6dso32_fifo_cnt_event_batch_set()

int32_t lsm6dso32_fifo_cnt_event_batch_set ( stmdev_ctx_t ctx,
lsm6dso32_trig_counter_bdr_t  val 
)

Selects the trigger for the internal counter of batching events between XL and gyro.[set].

Parameters
ctxread / write interface definitions
valchange the values of trig_counter_bdr in reg COUNTER_BDR_REG1
Return values
interfacestatus (MANDATORY: return 0 -> no Error)

Definition at line 5870 of file lsm6dso32_reg.c.

5872{
5874 int32_t ret;
5875
5877 (uint8_t *)&reg, 1);
5878
5879 if (ret == 0)
5880 {
5881 reg.trig_counter_bdr = (uint8_t)val;
5883 (uint8_t *)&reg, 1);
5884 }
5885
5886 return ret;
5887}

References LSM6DSO32_COUNTER_BDR_REG1, lsm6dso32_read_reg(), lsm6dso32_write_reg(), and lsm6dso32_counter_bdr_reg1_t::trig_counter_bdr.

Here is the call graph for this function:

◆ lsm6dso32_fifo_data_level_get()

int32_t lsm6dso32_fifo_data_level_get ( stmdev_ctx_t ctx,
uint16_t *  val 
)

Number of unread sensor data(TAG + 6 bytes) stored in FIFO.[get].

Parameters
ctxread / write interface definitions
valchange the values of diff_fifo in reg FIFO_STATUS1
Return values
interfacestatus (MANDATORY: return 0 -> no Error)

Definition at line 6052 of file lsm6dso32_reg.c.

6054{
6055 lsm6dso32_fifo_status1_t fifo_status1;
6056 lsm6dso32_fifo_status2_t fifo_status2;
6057 int32_t ret;
6058
6060 (uint8_t *)&fifo_status1, 1);
6061
6062 if (ret == 0)
6063 {
6065 (uint8_t *)&fifo_status2, 1);
6066 *val = ((uint16_t)fifo_status2.diff_fifo << 8) +
6067 (uint16_t)fifo_status1.diff_fifo;
6068 }
6069
6070 return ret;
6071}
#define LSM6DSO32_FIFO_STATUS2
#define LSM6DSO32_FIFO_STATUS1

References lsm6dso32_fifo_status1_t::diff_fifo, LSM6DSO32_FIFO_STATUS1, LSM6DSO32_FIFO_STATUS2, and lsm6dso32_read_reg().

Here is the call graph for this function:

◆ lsm6dso32_fifo_full_flag_get()

int32_t lsm6dso32_fifo_full_flag_get ( stmdev_ctx_t ctx,
uint8_t *  val 
)

Smart FIFO full status.[get].

Parameters
ctxread / write interface definitions
valchange the values of fifo_full_ia in reg FIFO_STATUS2
Return values
interfacestatus (MANDATORY: return 0 -> no Error)

Definition at line 6099 of file lsm6dso32_reg.c.

6100{
6102 int32_t ret;
6103
6104 ret = lsm6dso32_read_reg(ctx, LSM6DSO32_FIFO_STATUS2, (uint8_t *)&reg, 1);
6105 *val = reg.fifo_full_ia;
6106
6107 return ret;
6108}

References lsm6dso32_fifo_status2_t::fifo_full_ia, LSM6DSO32_FIFO_STATUS2, and lsm6dso32_read_reg().

Here is the call graph for this function:

◆ lsm6dso32_fifo_gy_batch_get()

int32_t lsm6dso32_fifo_gy_batch_get ( stmdev_ctx_t ctx,
lsm6dso32_bdr_gy_t val 
)

Selects Batching Data Rate (writing frequency in FIFO) for gyroscope data.[get].

Parameters
ctxread / write interface definitions
valGet the values of bdr_gy in reg FIFO_CTRL3
Return values
interfacestatus (MANDATORY: return 0 -> no Error)

Definition at line 5579 of file lsm6dso32_reg.c.

5581{
5583 int32_t ret;
5584
5585 ret = lsm6dso32_read_reg(ctx, LSM6DSO32_FIFO_CTRL3, (uint8_t *)&reg, 1);
5586
5587 switch (reg.bdr_gy)
5588 {
5591 break;
5592
5595 break;
5596
5599 break;
5600
5603 break;
5604
5607 break;
5608
5611 break;
5612
5615 break;
5616
5619 break;
5620
5623 break;
5624
5627 break;
5628
5631 break;
5632
5635 break;
5636
5637 default:
5639 break;
5640 }
5641
5642 return ret;
5643}
#define LSM6DSO32_FIFO_CTRL3

References lsm6dso32_fifo_ctrl3_t::bdr_gy, LSM6DSO32_FIFO_CTRL3, LSM6DSO32_GY_BATCHED_AT_104Hz, LSM6DSO32_GY_BATCHED_AT_12Hz5, LSM6DSO32_GY_BATCHED_AT_1667Hz, LSM6DSO32_GY_BATCHED_AT_208Hz, LSM6DSO32_GY_BATCHED_AT_26Hz, LSM6DSO32_GY_BATCHED_AT_3333Hz, LSM6DSO32_GY_BATCHED_AT_417Hz, LSM6DSO32_GY_BATCHED_AT_52Hz, LSM6DSO32_GY_BATCHED_AT_6667Hz, LSM6DSO32_GY_BATCHED_AT_6Hz5, LSM6DSO32_GY_BATCHED_AT_833Hz, LSM6DSO32_GY_NOT_BATCHED, and lsm6dso32_read_reg().

Here is the call graph for this function:

◆ lsm6dso32_fifo_gy_batch_set()

int32_t lsm6dso32_fifo_gy_batch_set ( stmdev_ctx_t ctx,
lsm6dso32_bdr_gy_t  val 
)

Selects Batching Data Rate (writing frequency in FIFO) for gyroscope data.[set].

Parameters
ctxread / write interface definitions
valchange the values of bdr_gy in reg FIFO_CTRL3
Return values
interfacestatus (MANDATORY: return 0 -> no Error)

Definition at line 5553 of file lsm6dso32_reg.c.

5555{
5557 int32_t ret;
5558
5559 ret = lsm6dso32_read_reg(ctx, LSM6DSO32_FIFO_CTRL3, (uint8_t *)&reg, 1);
5560
5561 if (ret == 0)
5562 {
5563 reg.bdr_gy = (uint8_t)val;
5564 ret = lsm6dso32_write_reg(ctx, LSM6DSO32_FIFO_CTRL3, (uint8_t *)&reg, 1);
5565 }
5566
5567 return ret;
5568}

References lsm6dso32_fifo_ctrl3_t::bdr_gy, LSM6DSO32_FIFO_CTRL3, lsm6dso32_read_reg(), and lsm6dso32_write_reg().

Here is the call graph for this function:

◆ lsm6dso32_fifo_mode_get()

int32_t lsm6dso32_fifo_mode_get ( stmdev_ctx_t ctx,
lsm6dso32_fifo_mode_t val 
)

FIFO mode selection.[get].

Parameters
ctxread / write interface definitions
valGet the values of fifo_mode in reg FIFO_CTRL4
Return values
interfacestatus (MANDATORY: return 0 -> no Error)

Definition at line 5678 of file lsm6dso32_reg.c.

5680{
5682 int32_t ret;
5683
5684 ret = lsm6dso32_read_reg(ctx, LSM6DSO32_FIFO_CTRL4, (uint8_t *)&reg, 1);
5685
5686 switch (reg.fifo_mode)
5687 {
5689 *val = LSM6DSO32_BYPASS_MODE;
5690 break;
5691
5693 *val = LSM6DSO32_FIFO_MODE;
5694 break;
5695
5698 break;
5699
5702 break;
5703
5705 *val = LSM6DSO32_STREAM_MODE;
5706 break;
5707
5710 break;
5711
5712 default:
5713 *val = LSM6DSO32_BYPASS_MODE;
5714 break;
5715 }
5716
5717 return ret;
5718}
#define LSM6DSO32_FIFO_CTRL4

References lsm6dso32_fifo_ctrl4_t::fifo_mode, LSM6DSO32_BYPASS_MODE, LSM6DSO32_BYPASS_TO_FIFO_MODE, LSM6DSO32_BYPASS_TO_STREAM_MODE, LSM6DSO32_FIFO_CTRL4, LSM6DSO32_FIFO_MODE, lsm6dso32_read_reg(), LSM6DSO32_STREAM_MODE, and LSM6DSO32_STREAM_TO_FIFO_MODE.

Here is the call graph for this function:

◆ lsm6dso32_fifo_mode_set()

int32_t lsm6dso32_fifo_mode_set ( stmdev_ctx_t ctx,
lsm6dso32_fifo_mode_t  val 
)

FIFO mode selection.[set].

Parameters
ctxread / write interface definitions
valchange the values of fifo_mode in reg FIFO_CTRL4
Return values
interfacestatus (MANDATORY: return 0 -> no Error)

Definition at line 5653 of file lsm6dso32_reg.c.

5655{
5657 int32_t ret;
5658
5659 ret = lsm6dso32_read_reg(ctx, LSM6DSO32_FIFO_CTRL4, (uint8_t *)&reg, 1);
5660
5661 if (ret == 0)
5662 {
5663 reg.fifo_mode = (uint8_t)val;
5664 ret = lsm6dso32_write_reg(ctx, LSM6DSO32_FIFO_CTRL4, (uint8_t *)&reg, 1);
5665 }
5666
5667 return ret;
5668}

References lsm6dso32_fifo_ctrl4_t::fifo_mode, LSM6DSO32_FIFO_CTRL4, lsm6dso32_read_reg(), and lsm6dso32_write_reg().

Here is the call graph for this function:

◆ lsm6dso32_fifo_ovr_flag_get()

int32_t lsm6dso32_fifo_ovr_flag_get ( stmdev_ctx_t ctx,
uint8_t *  val 
)

FIFO overrun status.[get].

Parameters
ctxread / write interface definitions
valchange the values of fifo_over_run_latched in reg FIFO_STATUS2
Return values
interfacestatus (MANDATORY: return 0 -> no Error)

Definition at line 6119 of file lsm6dso32_reg.c.

6120{
6122 int32_t ret;
6123
6124 ret = lsm6dso32_read_reg(ctx, LSM6DSO32_FIFO_STATUS2, (uint8_t *)&reg, 1);
6125 *val = reg.fifo_ovr_ia;
6126
6127 return ret;
6128}

References lsm6dso32_fifo_status2_t::fifo_ovr_ia, LSM6DSO32_FIFO_STATUS2, and lsm6dso32_read_reg().

Here is the call graph for this function:

◆ lsm6dso32_fifo_pedo_batch_get()

int32_t lsm6dso32_fifo_pedo_batch_get ( stmdev_ctx_t ctx,
uint8_t *  val 
)

Enable FIFO batching of pedometer embedded function values.[get].

Parameters
ctxread / write interface definitions
valchange the values of pedo_fifo_en in reg LSM6DSO32_EMB_FUNC_FIFO_CFG
Return values
interfacestatus (MANDATORY: return 0 -> no Error)

Definition at line 6299 of file lsm6dso32_reg.c.

6300{
6302 int32_t ret;
6303
6305
6306 if (ret == 0)
6307 {
6309 (uint8_t *)&reg, 1);
6310 }
6311
6312 if (ret == 0)
6313 {
6314 *val = reg.pedo_fifo_en;
6316 }
6317
6318 return ret;
6319}
#define LSM6DSO32_EMB_FUNC_FIFO_CFG

References LSM6DSO32_EMB_FUNC_FIFO_CFG, LSM6DSO32_EMBEDDED_FUNC_BANK, lsm6dso32_mem_bank_set(), lsm6dso32_read_reg(), LSM6DSO32_USER_BANK, and lsm6dso32_emb_func_fifo_cfg_t::pedo_fifo_en.

Here is the call graph for this function:

◆ lsm6dso32_fifo_pedo_batch_set()

int32_t lsm6dso32_fifo_pedo_batch_set ( stmdev_ctx_t ctx,
uint8_t  val 
)

: Enable FIFO batching of pedometer embedded function values.[set]

Parameters
ctxread / write interface definitions
valchange the values of gbias_fifo_en in reg LSM6DSO32_EMB_FUNC_FIFO_CFG
Return values
interfacestatus (MANDATORY: return 0 -> no Error)

Definition at line 6262 of file lsm6dso32_reg.c.

6263{
6265 int32_t ret;
6266
6268
6269 if (ret == 0)
6270 {
6272 (uint8_t *)&reg, 1);
6273 }
6274
6275 if (ret == 0)
6276 {
6277 reg.pedo_fifo_en = val;
6279 (uint8_t *)&reg, 1);
6280 }
6281
6282 if (ret == 0)
6283 {
6285 }
6286
6287 return ret;
6288}

References LSM6DSO32_EMB_FUNC_FIFO_CFG, LSM6DSO32_EMBEDDED_FUNC_BANK, lsm6dso32_mem_bank_set(), lsm6dso32_read_reg(), LSM6DSO32_USER_BANK, lsm6dso32_write_reg(), and lsm6dso32_emb_func_fifo_cfg_t::pedo_fifo_en.

Here is the call graph for this function:

◆ lsm6dso32_fifo_sensor_tag_get()

int32_t lsm6dso32_fifo_sensor_tag_get ( stmdev_ctx_t ctx,
lsm6dso32_fifo_tag_t val 
)

Identifies the sensor in FIFO_DATA_OUT.[get].

Parameters
ctxread / write interface definitions
valchange the values of tag_sensor in reg FIFO_DATA_OUT_TAG
Return values
interfacestatus (MANDATORY: return 0 -> no Error)

Definition at line 6157 of file lsm6dso32_reg.c.

6159{
6161 int32_t ret;
6162
6164 (uint8_t *)&reg, 1);
6165
6166 switch (reg.tag_sensor)
6167 {
6169 *val = LSM6DSO32_GYRO_NC_TAG;
6170 break;
6171
6173 *val = LSM6DSO32_XL_NC_TAG;
6174 break;
6175
6178 break;
6179
6182 break;
6183
6186 break;
6187
6190 break;
6191
6194 break;
6195
6197 *val = LSM6DSO32_XL_2XC_TAG;
6198 break;
6199
6201 *val = LSM6DSO32_XL_3XC_TAG;
6202 break;
6203
6206 break;
6207
6210 break;
6211
6214 break;
6215
6218 break;
6219
6222 break;
6223
6226 break;
6227
6230 break;
6231
6234 break;
6235
6238 break;
6239
6242 break;
6243
6244 default:
6245 *val = LSM6DSO32_GYRO_NC_TAG;
6246 break;
6247 }
6248
6249 return ret;
6250}
#define LSM6DSO32_FIFO_DATA_OUT_TAG

References LSM6DSO32_CFG_CHANGE_TAG, LSM6DSO32_FIFO_DATA_OUT_TAG, LSM6DSO32_GYRO_2XC_TAG, LSM6DSO32_GYRO_3XC_TAG, LSM6DSO32_GYRO_NC_T_1_TAG, LSM6DSO32_GYRO_NC_T_2_TAG, LSM6DSO32_GYRO_NC_TAG, lsm6dso32_read_reg(), LSM6DSO32_SENSORHUB_NACK_TAG, LSM6DSO32_SENSORHUB_SLAVE0_TAG, LSM6DSO32_SENSORHUB_SLAVE1_TAG, LSM6DSO32_SENSORHUB_SLAVE2_TAG, LSM6DSO32_SENSORHUB_SLAVE3_TAG, LSM6DSO32_STEP_COUNTER_TAG, LSM6DSO32_TEMPERATURE_TAG, LSM6DSO32_TIMESTAMP_TAG, LSM6DSO32_XL_2XC_TAG, LSM6DSO32_XL_3XC_TAG, LSM6DSO32_XL_NC_T_1_TAG, LSM6DSO32_XL_NC_T_2_TAG, LSM6DSO32_XL_NC_TAG, and lsm6dso32_fifo_data_out_tag_t::tag_sensor.

Here is the call graph for this function:

◆ lsm6dso32_fifo_status_get()

int32_t lsm6dso32_fifo_status_get ( stmdev_ctx_t ctx,
lsm6dso32_fifo_status2_t val 
)

FIFO status.[get].

Parameters
ctxread / write interface definitions
valregisters FIFO_STATUS2
Return values
interfacestatus (MANDATORY: return 0 -> no Error)

Definition at line 6081 of file lsm6dso32_reg.c.

6083{
6084 int32_t ret;
6085
6086 ret = lsm6dso32_read_reg(ctx, LSM6DSO32_FIFO_STATUS2, (uint8_t *) val, 1);
6087
6088 return ret;
6089}

References LSM6DSO32_FIFO_STATUS2, and lsm6dso32_read_reg().

Here is the call graph for this function:

◆ lsm6dso32_fifo_stop_on_wtm_get()

int32_t lsm6dso32_fifo_stop_on_wtm_get ( stmdev_ctx_t ctx,
uint8_t *  val 
)

Sensing chain FIFO stop values memorization at threshold level.[get].

Parameters
ctxread / write interface definitions
valchange the values of stop_on_wtm in reg FIFO_CTRL2
Return values
interfacestatus (MANDATORY: return 0 -> no Error)

Definition at line 5431 of file lsm6dso32_reg.c.

5433{
5435 int32_t ret;
5436
5437 ret = lsm6dso32_read_reg(ctx, LSM6DSO32_FIFO_CTRL2, (uint8_t *)&reg, 1);
5438 *val = reg.stop_on_wtm;
5439
5440 return ret;
5441}

References LSM6DSO32_FIFO_CTRL2, lsm6dso32_read_reg(), and lsm6dso32_fifo_ctrl2_t::stop_on_wtm.

Here is the call graph for this function:

◆ lsm6dso32_fifo_stop_on_wtm_set()

int32_t lsm6dso32_fifo_stop_on_wtm_set ( stmdev_ctx_t ctx,
uint8_t  val 
)

Sensing chain FIFO stop values memorization at threshold level.[set].

Parameters
ctxread / write interface definitions
valchange the values of stop_on_wtm in reg FIFO_CTRL2
Return values
interfacestatus (MANDATORY: return 0 -> no Error)

Definition at line 5406 of file lsm6dso32_reg.c.

5407{
5409 int32_t ret;
5410
5411 ret = lsm6dso32_read_reg(ctx, LSM6DSO32_FIFO_CTRL2, (uint8_t *)&reg, 1);
5412
5413 if (ret == 0)
5414 {
5415 reg.stop_on_wtm = val;
5416 ret = lsm6dso32_write_reg(ctx, LSM6DSO32_FIFO_CTRL2, (uint8_t *)&reg, 1);
5417 }
5418
5419 return ret;
5420}

References LSM6DSO32_FIFO_CTRL2, lsm6dso32_read_reg(), lsm6dso32_write_reg(), and lsm6dso32_fifo_ctrl2_t::stop_on_wtm.

Here is the call graph for this function:

◆ lsm6dso32_fifo_temp_batch_get()

int32_t lsm6dso32_fifo_temp_batch_get ( stmdev_ctx_t ctx,
lsm6dso32_odr_t_batch_t val 
)

Selects Batching Data Rate (writing frequency in FIFO) for temperature data.[get].

Parameters
ctxread / write interface definitions
valGet the values of odr_t_batch in reg FIFO_CTRL4
Return values
interfacestatus (MANDATORY: return 0 -> no Error)

Definition at line 5755 of file lsm6dso32_reg.c.

5757{
5759 int32_t ret;
5760
5761 ret = lsm6dso32_read_reg(ctx, LSM6DSO32_FIFO_CTRL4, (uint8_t *)&reg, 1);
5762
5763 switch (reg.odr_t_batch)
5764 {
5767 break;
5768
5771 break;
5772
5775 break;
5776
5779 break;
5780
5781 default:
5783 break;
5784 }
5785
5786 return ret;
5787}

References LSM6DSO32_FIFO_CTRL4, lsm6dso32_read_reg(), LSM6DSO32_TEMP_BATCHED_AT_12Hz5, LSM6DSO32_TEMP_BATCHED_AT_1Hz6, LSM6DSO32_TEMP_BATCHED_AT_52Hz, LSM6DSO32_TEMP_NOT_BATCHED, and lsm6dso32_fifo_ctrl4_t::odr_t_batch.

Here is the call graph for this function:

◆ lsm6dso32_fifo_temp_batch_set()

int32_t lsm6dso32_fifo_temp_batch_set ( stmdev_ctx_t ctx,
lsm6dso32_odr_t_batch_t  val 
)

Selects Batching Data Rate (writing frequency in FIFO) for temperature data.[set].

Parameters
ctxread / write interface definitions
valchange the values of odr_t_batch in reg FIFO_CTRL4
Return values
interfacestatus (MANDATORY: return 0 -> no Error)

Definition at line 5729 of file lsm6dso32_reg.c.

5731{
5733 int32_t ret;
5734
5735 ret = lsm6dso32_read_reg(ctx, LSM6DSO32_FIFO_CTRL4, (uint8_t *)&reg, 1);
5736
5737 if (ret == 0)
5738 {
5739 reg.odr_t_batch = (uint8_t)val;
5740 ret = lsm6dso32_write_reg(ctx, LSM6DSO32_FIFO_CTRL4, (uint8_t *)&reg, 1);
5741 }
5742
5743 return ret;
5744}

References LSM6DSO32_FIFO_CTRL4, lsm6dso32_read_reg(), lsm6dso32_write_reg(), and lsm6dso32_fifo_ctrl4_t::odr_t_batch.

Here is the call graph for this function:

◆ lsm6dso32_fifo_timestamp_decimation_get()

int32_t lsm6dso32_fifo_timestamp_decimation_get ( stmdev_ctx_t ctx,
lsm6dso32_odr_ts_batch_t val 
)

Selects decimation for timestamp batching in FIFO. Writing rate will be the maximum rate between XL and GYRO BDR divided by decimation decoder.[get].

Parameters
ctxread / write interface definitions
valGet the values of odr_ts_batch in reg FIFO_CTRL4
Return values
interfacestatus (MANDATORY: return 0 -> no Error)

Definition at line 5826 of file lsm6dso32_reg.c.

5828{
5830 int32_t ret;
5831
5832 ret = lsm6dso32_read_reg(ctx, LSM6DSO32_FIFO_CTRL4, (uint8_t *)&reg, 1);
5833
5834 switch (reg.odr_ts_batch)
5835 {
5838 break;
5839
5840 case LSM6DSO32_DEC_1:
5841 *val = LSM6DSO32_DEC_1;
5842 break;
5843
5844 case LSM6DSO32_DEC_8:
5845 *val = LSM6DSO32_DEC_8;
5846 break;
5847
5848 case LSM6DSO32_DEC_32:
5849 *val = LSM6DSO32_DEC_32;
5850 break;
5851
5852 default:
5854 break;
5855 }
5856
5857 return ret;
5858}

References LSM6DSO32_DEC_1, LSM6DSO32_DEC_32, LSM6DSO32_DEC_8, LSM6DSO32_FIFO_CTRL4, LSM6DSO32_NO_DECIMATION, lsm6dso32_read_reg(), and lsm6dso32_fifo_ctrl4_t::odr_ts_batch.

Here is the call graph for this function:

◆ lsm6dso32_fifo_timestamp_decimation_set()

int32_t lsm6dso32_fifo_timestamp_decimation_set ( stmdev_ctx_t ctx,
lsm6dso32_odr_ts_batch_t  val 
)

Selects decimation for timestamp batching in FIFO. Writing rate will be the maximum rate between XL and GYRO BDR divided by decimation decoder.[set].

Parameters
ctxread / write interface definitions
valchange the values of odr_ts_batch in reg FIFO_CTRL4
Return values
interfacestatus (MANDATORY: return 0 -> no Error)

Definition at line 5799 of file lsm6dso32_reg.c.

5801{
5803 int32_t ret;
5804
5805 ret = lsm6dso32_read_reg(ctx, LSM6DSO32_FIFO_CTRL4, (uint8_t *)&reg, 1);
5806
5807 if (ret == 0)
5808 {
5809 reg.odr_ts_batch = (uint8_t)val;
5810 ret = lsm6dso32_write_reg(ctx, LSM6DSO32_FIFO_CTRL4, (uint8_t *)&reg, 1);
5811 }
5812
5813 return ret;
5814}

References LSM6DSO32_FIFO_CTRL4, lsm6dso32_read_reg(), lsm6dso32_write_reg(), and lsm6dso32_fifo_ctrl4_t::odr_ts_batch.

Here is the call graph for this function:

◆ lsm6dso32_fifo_virtual_sens_odr_chg_get()

int32_t lsm6dso32_fifo_virtual_sens_odr_chg_get ( stmdev_ctx_t ctx,
uint8_t *  val 
)

Enables ODR CHANGE virtual sensor to be batched in FIFO.[get].

Parameters
ctxread / write interface definitions
valchange the values of odrchg_en in reg FIFO_CTRL2
Return values
interfacestatus (MANDATORY: return 0 -> no Error)

Definition at line 5339 of file lsm6dso32_reg.c.

5341{
5343 int32_t ret;
5344
5345 ret = lsm6dso32_read_reg(ctx, LSM6DSO32_FIFO_CTRL2, (uint8_t *)&reg, 1);
5346 *val = reg.odrchg_en;
5347
5348 return ret;
5349}

References LSM6DSO32_FIFO_CTRL2, lsm6dso32_read_reg(), and lsm6dso32_fifo_ctrl2_t::odrchg_en.

Here is the call graph for this function:

◆ lsm6dso32_fifo_virtual_sens_odr_chg_set()

int32_t lsm6dso32_fifo_virtual_sens_odr_chg_set ( stmdev_ctx_t ctx,
uint8_t  val 
)

Enables ODR CHANGE virtual sensor to be batched in FIFO.[set].

Parameters
ctxread / write interface definitions
valchange the values of odrchg_en in reg FIFO_CTRL2
Return values
interfacestatus (MANDATORY: return 0 -> no Error)

Definition at line 5314 of file lsm6dso32_reg.c.

5316{
5318 int32_t ret;
5319
5320 ret = lsm6dso32_read_reg(ctx, LSM6DSO32_FIFO_CTRL2, (uint8_t *)&reg, 1);
5321
5322 if (ret == 0)
5323 {
5324 reg.odrchg_en = val;
5325 ret = lsm6dso32_write_reg(ctx, LSM6DSO32_FIFO_CTRL2, (uint8_t *)&reg, 1);
5326 }
5327
5328 return ret;
5329}

References LSM6DSO32_FIFO_CTRL2, lsm6dso32_read_reg(), lsm6dso32_write_reg(), and lsm6dso32_fifo_ctrl2_t::odrchg_en.

Here is the call graph for this function:

◆ lsm6dso32_fifo_watermark_get()

int32_t lsm6dso32_fifo_watermark_get ( stmdev_ctx_t ctx,
uint16_t *  val 
)

FIFO watermark level selection.[get].

Parameters
ctxread / write interface definitions
valchange the values of wtm in reg FIFO_CTRL1
Return values
interfacestatus (MANDATORY: return 0 -> no Error)

Definition at line 5117 of file lsm6dso32_reg.c.

5118{
5119 lsm6dso32_fifo_ctrl1_t fifo_ctrl1;
5120 lsm6dso32_fifo_ctrl2_t fifo_ctrl2;
5121 int32_t ret;
5122
5124 (uint8_t *)&fifo_ctrl1, 1);
5125
5126 if (ret == 0)
5127 {
5129 (uint8_t *)&fifo_ctrl2, 1);
5130 *val = ((uint16_t)fifo_ctrl2.wtm << 8) + (uint16_t)fifo_ctrl1.wtm;
5131 }
5132
5133 return ret;
5134}
#define LSM6DSO32_FIFO_CTRL1

References LSM6DSO32_FIFO_CTRL1, LSM6DSO32_FIFO_CTRL2, lsm6dso32_read_reg(), and lsm6dso32_fifo_ctrl1_t::wtm.

Here is the call graph for this function:

◆ lsm6dso32_fifo_watermark_set()

int32_t lsm6dso32_fifo_watermark_set ( stmdev_ctx_t ctx,
uint16_t  val 
)

FIFO watermark level selection.[set].

Parameters
ctxread / write interface definitions
valchange the values of wtm in reg FIFO_CTRL1
Return values
interfacestatus (MANDATORY: return 0 -> no Error)

Definition at line 5083 of file lsm6dso32_reg.c.

5084{
5085 lsm6dso32_fifo_ctrl1_t fifo_ctrl1;
5086 lsm6dso32_fifo_ctrl2_t fifo_ctrl2;
5087 int32_t ret;
5088
5090 (uint8_t *)&fifo_ctrl2, 1);
5091
5092 if (ret == 0)
5093 {
5094 fifo_ctrl1.wtm = 0x00FFU & (uint8_t)val;
5095 fifo_ctrl2.wtm = (uint8_t)((0x0100U & val) >> 8);
5097 (uint8_t *)&fifo_ctrl1, 1);
5098 }
5099
5100 if (ret == 0)
5101 {
5103 (uint8_t *)&fifo_ctrl2, 1);
5104 }
5105
5106 return ret;
5107}

References LSM6DSO32_FIFO_CTRL1, LSM6DSO32_FIFO_CTRL2, lsm6dso32_read_reg(), lsm6dso32_write_reg(), lsm6dso32_fifo_ctrl1_t::wtm, and lsm6dso32_fifo_ctrl2_t::wtm.

Here is the call graph for this function:

◆ lsm6dso32_fifo_wtm_flag_get()

int32_t lsm6dso32_fifo_wtm_flag_get ( stmdev_ctx_t ctx,
uint8_t *  val 
)

FIFO watermark status.[get].

Parameters
ctxread / write interface definitions
valchange the values of fifo_wtm_ia in reg FIFO_STATUS2
Return values
interfacestatus (MANDATORY: return 0 -> no Error)

Definition at line 6138 of file lsm6dso32_reg.c.

6139{
6141 int32_t ret;
6142
6143 ret = lsm6dso32_read_reg(ctx, LSM6DSO32_FIFO_STATUS2, (uint8_t *)&reg, 1);
6144 *val = reg.fifo_wtm_ia;
6145
6146 return ret;
6147}

References lsm6dso32_fifo_status2_t::fifo_wtm_ia, LSM6DSO32_FIFO_STATUS2, and lsm6dso32_read_reg().

Here is the call graph for this function:

◆ lsm6dso32_fifo_xl_batch_get()

int32_t lsm6dso32_fifo_xl_batch_get ( stmdev_ctx_t ctx,
lsm6dso32_bdr_xl_t val 
)

Selects Batching Data Rate (writing frequency in FIFO) for accelerometer data.[get].

Parameters
ctxread / write interface definitions
valGet the values of bdr_xl in reg FIFO_CTRL3
Return values
interfacestatus (MANDATORY: return 0 -> no Error)

Definition at line 5478 of file lsm6dso32_reg.c.

5480{
5482 int32_t ret;
5483
5484 ret = lsm6dso32_read_reg(ctx, LSM6DSO32_FIFO_CTRL3, (uint8_t *)&reg, 1);
5485
5486 switch (reg.bdr_xl)
5487 {
5490 break;
5491
5494 break;
5495
5498 break;
5499
5502 break;
5503
5506 break;
5507
5510 break;
5511
5514 break;
5515
5518 break;
5519
5522 break;
5523
5526 break;
5527
5530 break;
5531
5534 break;
5535
5536 default:
5538 break;
5539 }
5540
5541 return ret;
5542}

References lsm6dso32_fifo_ctrl3_t::bdr_xl, LSM6DSO32_FIFO_CTRL3, lsm6dso32_read_reg(), LSM6DSO32_XL_BATCHED_AT_104Hz, LSM6DSO32_XL_BATCHED_AT_12Hz5, LSM6DSO32_XL_BATCHED_AT_1667Hz, LSM6DSO32_XL_BATCHED_AT_208Hz, LSM6DSO32_XL_BATCHED_AT_26Hz, LSM6DSO32_XL_BATCHED_AT_3333Hz, LSM6DSO32_XL_BATCHED_AT_417Hz, LSM6DSO32_XL_BATCHED_AT_52Hz, LSM6DSO32_XL_BATCHED_AT_6667Hz, LSM6DSO32_XL_BATCHED_AT_6Hz5, LSM6DSO32_XL_BATCHED_AT_833Hz, and LSM6DSO32_XL_NOT_BATCHED.

Here is the call graph for this function:

◆ lsm6dso32_fifo_xl_batch_set()

int32_t lsm6dso32_fifo_xl_batch_set ( stmdev_ctx_t ctx,
lsm6dso32_bdr_xl_t  val 
)

Selects Batching Data Rate (writing frequency in FIFO) for accelerometer data.[set].

Parameters
ctxread / write interface definitions
valchange the values of bdr_xl in reg FIFO_CTRL3
Return values
interfacestatus (MANDATORY: return 0 -> no Error)

Definition at line 5452 of file lsm6dso32_reg.c.

5454{
5456 int32_t ret;
5457
5458 ret = lsm6dso32_read_reg(ctx, LSM6DSO32_FIFO_CTRL3, (uint8_t *)&reg, 1);
5459
5460 if (ret == 0)
5461 {
5462 reg.bdr_xl = (uint8_t)val;
5463 ret = lsm6dso32_write_reg(ctx, LSM6DSO32_FIFO_CTRL3, (uint8_t *)&reg, 1);
5464 }
5465
5466 return ret;
5467}

References lsm6dso32_fifo_ctrl3_t::bdr_xl, LSM6DSO32_FIFO_CTRL3, lsm6dso32_read_reg(), and lsm6dso32_write_reg().

Here is the call graph for this function:

◆ lsm6dso32_rst_batch_counter_get()

int32_t lsm6dso32_rst_batch_counter_get ( stmdev_ctx_t ctx,
uint8_t *  val 
)

Resets the internal counter of batching events for a single sensor. This bit is automatically reset to zero if it was set to ‘1’.[get].

Parameters
ctxread / write interface definitions
valchange the values of rst_counter_bdr in reg COUNTER_BDR_REG1
Return values
interfacestatus (MANDATORY: return 0 -> no Error)

Definition at line 5965 of file lsm6dso32_reg.c.

5967{
5969 int32_t ret;
5970
5972 (uint8_t *)&reg, 1);
5973 *val = reg.rst_counter_bdr;
5974
5975 return ret;
5976}

References LSM6DSO32_COUNTER_BDR_REG1, lsm6dso32_read_reg(), and lsm6dso32_counter_bdr_reg1_t::rst_counter_bdr.

Here is the call graph for this function:

◆ lsm6dso32_rst_batch_counter_set()

int32_t lsm6dso32_rst_batch_counter_set ( stmdev_ctx_t ctx,
uint8_t  val 
)

Resets the internal counter of batching vents for a single sensor. This bit is automatically reset to zero if it was set to ‘1’.[set].

Parameters
ctxread / write interface definitions
valchange the values of rst_counter_bdr in reg COUNTER_BDR_REG1
Return values
interfacestatus (MANDATORY: return 0 -> no Error)

Definition at line 5936 of file lsm6dso32_reg.c.

5938{
5940 int32_t ret;
5941
5943 (uint8_t *)&reg, 1);
5944
5945 if (ret == 0)
5946 {
5947 reg.rst_counter_bdr = val;
5949 (uint8_t *)&reg, 1);
5950 }
5951
5952 return ret;
5953}

References LSM6DSO32_COUNTER_BDR_REG1, lsm6dso32_read_reg(), lsm6dso32_write_reg(), and lsm6dso32_counter_bdr_reg1_t::rst_counter_bdr.

Here is the call graph for this function:

◆ lsm6dso32_sh_batch_slave_0_get()

int32_t lsm6dso32_sh_batch_slave_0_get ( stmdev_ctx_t ctx,
uint8_t *  val 
)

Enable FIFO batching data of first slave.[get].

Parameters
ctxread / write interface definitions
valchange the values of batch_ext_sens_0_en in reg SLV0_CONFIG
Return values
interfacestatus (MANDATORY: return 0 -> no Error)

Definition at line 6365 of file lsm6dso32_reg.c.

6367{
6369 int32_t ret;
6370
6372
6373 if (ret == 0)
6374 {
6375 ret = lsm6dso32_read_reg(ctx, LSM6DSO32_SLV0_CONFIG, (uint8_t *)&reg, 1);
6376 }
6377
6378 if (ret == 0)
6379 {
6380 *val = reg.batch_ext_sens_0_en;
6382 }
6383
6384 return ret;
6385}
@ LSM6DSO32_SENSOR_HUB_BANK
#define LSM6DSO32_SLV0_CONFIG

References lsm6dso32_slv0_config_t::batch_ext_sens_0_en, lsm6dso32_mem_bank_set(), lsm6dso32_read_reg(), LSM6DSO32_SENSOR_HUB_BANK, LSM6DSO32_SLV0_CONFIG, and LSM6DSO32_USER_BANK.

Here is the call graph for this function:

◆ lsm6dso32_sh_batch_slave_0_set()

int32_t lsm6dso32_sh_batch_slave_0_set ( stmdev_ctx_t ctx,
uint8_t  val 
)

Enable FIFO batching data of first slave.[set].

Parameters
ctxread / write interface definitions
valchange the values of batch_ext_sens_0_en in reg SLV0_CONFIG
Return values
interfacestatus (MANDATORY: return 0 -> no Error)

Definition at line 6330 of file lsm6dso32_reg.c.

6331{
6333 int32_t ret;
6334
6336
6337 if (ret == 0)
6338 {
6339 ret = lsm6dso32_read_reg(ctx, LSM6DSO32_SLV0_CONFIG, (uint8_t *)&reg, 1);
6340 }
6341
6342 if (ret == 0)
6343 {
6344 reg.batch_ext_sens_0_en = val;
6345 ret = lsm6dso32_write_reg(ctx, LSM6DSO32_SLV0_CONFIG, (uint8_t *)&reg, 1);
6346 }
6347
6348 if (ret == 0)
6349 {
6351 }
6352
6353 return ret;
6354}

References lsm6dso32_slv0_config_t::batch_ext_sens_0_en, lsm6dso32_mem_bank_set(), lsm6dso32_read_reg(), LSM6DSO32_SENSOR_HUB_BANK, LSM6DSO32_SLV0_CONFIG, LSM6DSO32_USER_BANK, and lsm6dso32_write_reg().

Here is the call graph for this function:

◆ lsm6dso32_sh_batch_slave_1_get()

int32_t lsm6dso32_sh_batch_slave_1_get ( stmdev_ctx_t ctx,
uint8_t *  val 
)

Enable FIFO batching data of second slave.[get].

Parameters
ctxread / write interface definitions
valchange the values of batch_ext_sens_1_en in reg SLV1_CONFIG
Return values
interfacestatus (MANDATORY: return 0 -> no Error)

Definition at line 6431 of file lsm6dso32_reg.c.

6433{
6435 int32_t ret;
6436
6438
6439 if (ret == 0)
6440 {
6441 ret = lsm6dso32_read_reg(ctx, LSM6DSO32_SLV1_CONFIG, (uint8_t *)&reg, 1);
6442 *val = reg.batch_ext_sens_1_en;
6443 }
6444
6445 if (ret == 0)
6446 {
6448 }
6449
6450 return ret;
6451}
#define LSM6DSO32_SLV1_CONFIG

References lsm6dso32_mem_bank_set(), lsm6dso32_read_reg(), LSM6DSO32_SENSOR_HUB_BANK, LSM6DSO32_SLV1_CONFIG, and LSM6DSO32_USER_BANK.

Here is the call graph for this function:

◆ lsm6dso32_sh_batch_slave_1_set()

int32_t lsm6dso32_sh_batch_slave_1_set ( stmdev_ctx_t ctx,
uint8_t  val 
)

Enable FIFO batching data of second slave.[set].

Parameters
ctxread / write interface definitions
valchange the values of batch_ext_sens_1_en in reg SLV1_CONFIG
Return values
interfacestatus (MANDATORY: return 0 -> no Error)

Definition at line 6396 of file lsm6dso32_reg.c.

6397{
6399 int32_t ret;
6400
6402
6403 if (ret == 0)
6404 {
6405 ret = lsm6dso32_read_reg(ctx, LSM6DSO32_SLV1_CONFIG, (uint8_t *)&reg, 1);
6406 }
6407
6408 if (ret == 0)
6409 {
6410 reg.batch_ext_sens_1_en = val;
6411 ret = lsm6dso32_write_reg(ctx, LSM6DSO32_SLV1_CONFIG, (uint8_t *)&reg, 1);
6412 }
6413
6414 if (ret == 0)
6415 {
6417 }
6418
6419 return ret;
6420}

References lsm6dso32_slv1_config_t::batch_ext_sens_1_en, lsm6dso32_mem_bank_set(), lsm6dso32_read_reg(), LSM6DSO32_SENSOR_HUB_BANK, LSM6DSO32_SLV1_CONFIG, LSM6DSO32_USER_BANK, and lsm6dso32_write_reg().

Here is the call graph for this function:

◆ lsm6dso32_sh_batch_slave_2_get()

int32_t lsm6dso32_sh_batch_slave_2_get ( stmdev_ctx_t ctx,
uint8_t *  val 
)

Enable FIFO batching data of third slave.[get].

Parameters
ctxread / write interface definitions
valchange the values of batch_ext_sens_2_en in reg SLV2_CONFIG
Return values
interfacestatus (MANDATORY: return 0 -> no Error)

Definition at line 6497 of file lsm6dso32_reg.c.

6499{
6501 int32_t ret;
6502
6504
6505 if (ret == 0)
6506 {
6507 ret = lsm6dso32_read_reg(ctx, LSM6DSO32_SLV2_CONFIG, (uint8_t *)&reg, 1);
6508 }
6509
6510 if (ret == 0)
6511 {
6512 *val = reg.batch_ext_sens_2_en;
6514 }
6515
6516 return ret;
6517}
#define LSM6DSO32_SLV2_CONFIG

References lsm6dso32_slv2_config_t::batch_ext_sens_2_en, lsm6dso32_mem_bank_set(), lsm6dso32_read_reg(), LSM6DSO32_SENSOR_HUB_BANK, LSM6DSO32_SLV2_CONFIG, and LSM6DSO32_USER_BANK.

Here is the call graph for this function:

◆ lsm6dso32_sh_batch_slave_2_set()

int32_t lsm6dso32_sh_batch_slave_2_set ( stmdev_ctx_t ctx,
uint8_t  val 
)

Enable FIFO batching data of third slave.[set].

Parameters
ctxread / write interface definitions
valchange the values of batch_ext_sens_2_en in reg SLV2_CONFIG
Return values
interfacestatus (MANDATORY: return 0 -> no Error)

Definition at line 6462 of file lsm6dso32_reg.c.

6463{
6465 int32_t ret;
6466
6468
6469 if (ret == 0)
6470 {
6471 ret = lsm6dso32_read_reg(ctx, LSM6DSO32_SLV2_CONFIG, (uint8_t *)&reg, 1);
6472 }
6473
6474 if (ret == 0)
6475 {
6476 reg.batch_ext_sens_2_en = val;
6477 ret = lsm6dso32_write_reg(ctx, LSM6DSO32_SLV2_CONFIG, (uint8_t *)&reg, 1);
6478 }
6479
6480 if (ret == 0)
6481 {
6483 }
6484
6485 return ret;
6486}

References lsm6dso32_slv2_config_t::batch_ext_sens_2_en, lsm6dso32_mem_bank_set(), lsm6dso32_read_reg(), LSM6DSO32_SENSOR_HUB_BANK, LSM6DSO32_SLV2_CONFIG, LSM6DSO32_USER_BANK, and lsm6dso32_write_reg().

Here is the call graph for this function:

◆ lsm6dso32_sh_batch_slave_3_get()

int32_t lsm6dso32_sh_batch_slave_3_get ( stmdev_ctx_t ctx,
uint8_t *  val 
)

Enable FIFO batching data of fourth slave.[get].

Parameters
ctxread / write interface definitions
valchange the values of batch_ext_sens_3_en in reg SLV3_CONFIG
Return values
interfacestatus (MANDATORY: return 0 -> no Error)

Definition at line 6563 of file lsm6dso32_reg.c.

6565{
6567 int32_t ret;
6568
6570
6571 if (ret == 0)
6572 {
6573 ret = lsm6dso32_read_reg(ctx, LSM6DSO32_SLV3_CONFIG, (uint8_t *)&reg, 1);
6574 }
6575
6576 if (ret == 0)
6577 {
6578 *val = reg.batch_ext_sens_3_en;
6580 }
6581
6582 return ret;
6583}
#define LSM6DSO32_SLV3_CONFIG

References lsm6dso32_slv3_config_t::batch_ext_sens_3_en, lsm6dso32_mem_bank_set(), lsm6dso32_read_reg(), LSM6DSO32_SENSOR_HUB_BANK, LSM6DSO32_SLV3_CONFIG, and LSM6DSO32_USER_BANK.

Here is the call graph for this function:

◆ lsm6dso32_sh_batch_slave_3_set()

int32_t lsm6dso32_sh_batch_slave_3_set ( stmdev_ctx_t ctx,
uint8_t  val 
)

Enable FIFO batching data of fourth slave.[set].

Parameters
ctxread / write interface definitions
valchange the values of batch_ext_sens_3_en in reg SLV3_CONFIG
Return values
interfacestatus (MANDATORY: return 0 -> no Error)

Definition at line 6528 of file lsm6dso32_reg.c.

6529{
6531 int32_t ret;
6532
6534
6535 if (ret == 0)
6536 {
6537 ret = lsm6dso32_read_reg(ctx, LSM6DSO32_SLV3_CONFIG, (uint8_t *)&reg, 1);
6538 }
6539
6540 if (ret == 0)
6541 {
6542 reg.batch_ext_sens_3_en = val;
6543 ret = lsm6dso32_write_reg(ctx, LSM6DSO32_SLV3_CONFIG, (uint8_t *)&reg, 1);
6544 }
6545
6546 if (ret == 0)
6547 {
6549 }
6550
6551 return ret;
6552}

References lsm6dso32_slv3_config_t::batch_ext_sens_3_en, lsm6dso32_mem_bank_set(), lsm6dso32_read_reg(), LSM6DSO32_SENSOR_HUB_BANK, LSM6DSO32_SLV3_CONFIG, LSM6DSO32_USER_BANK, and lsm6dso32_write_reg().

Here is the call graph for this function: