LELEC2811 - I&S / LSM6DSO

Dependencies:   X_NUCLEO_COMMON ST_INTERFACES

Dependents:   X_NUCLEO_IKS01A3

Embed: (wiki syntax)

« Back to documentation index

LSM6DSO

LSM6DSO

This file provides a set of functions needed to drive the lsm6dso enhanced inertial module. More...

Modules

 LSM6DSO_Interfaces_Functions
 

This section provide a set of functions used to read and write a generic register of the device.


 LSM6DSO_Sensitivity
 

These functions convert raw-data into engineering units.


 LSM6DSO_Data_Generation
 

This section groups all the functions concerning data generation.


 LSM6DSO_sensors_common_types
 LSM6DSO_Infos
 LSM6DSO_Register_Union
 

This union group all the registers that has a bitfield description.


Functions

int32_t lsm6dso_xl_full_scale_set (lsm6dso_ctx_t *ctx, lsm6dso_fs_xl_t val)
 Accelerometer full-scale selection.
int32_t lsm6dso_xl_full_scale_get (lsm6dso_ctx_t *ctx, lsm6dso_fs_xl_t *val)
 Accelerometer full-scale selection.
int32_t lsm6dso_xl_data_rate_set (lsm6dso_ctx_t *ctx, lsm6dso_odr_xl_t val)
 Accelerometer UI data rate selection.
int32_t lsm6dso_xl_data_rate_get (lsm6dso_ctx_t *ctx, lsm6dso_odr_xl_t *val)
 Accelerometer UI data rate selection.
int32_t lsm6dso_gy_full_scale_set (lsm6dso_ctx_t *ctx, lsm6dso_fs_g_t val)
 Gyroscope UI chain full-scale selection.
int32_t lsm6dso_gy_full_scale_get (lsm6dso_ctx_t *ctx, lsm6dso_fs_g_t *val)
 Gyroscope UI chain full-scale selection.
int32_t lsm6dso_gy_data_rate_set (lsm6dso_ctx_t *ctx, lsm6dso_odr_g_t val)
 Gyroscope UI data rate selection.
int32_t lsm6dso_gy_data_rate_get (lsm6dso_ctx_t *ctx, lsm6dso_odr_g_t *val)
 Gyroscope UI data rate selection.
int32_t lsm6dso_block_data_update_set (lsm6dso_ctx_t *ctx, uint8_t val)
 Block data update.
int32_t lsm6dso_block_data_update_get (lsm6dso_ctx_t *ctx, uint8_t *val)
 Block data update.
int32_t lsm6dso_xl_offset_weight_set (lsm6dso_ctx_t *ctx, lsm6dso_usr_off_w_t val)
 Weight of XL user offset bits of registers X_OFS_USR (73h), Y_OFS_USR (74h), Z_OFS_USR (75h).
int32_t lsm6dso_xl_offset_weight_get (lsm6dso_ctx_t *ctx, lsm6dso_usr_off_w_t *val)
 Weight of XL user offset bits of registers X_OFS_USR (73h), Y_OFS_USR (74h), Z_OFS_USR (75h).
int32_t lsm6dso_xl_power_mode_set (lsm6dso_ctx_t *ctx, lsm6dso_xl_hm_mode_t val)
 Accelerometer power mode.
int32_t lsm6dso_xl_power_mode_get (lsm6dso_ctx_t *ctx, lsm6dso_xl_hm_mode_t *val)
 Accelerometer power mode.
int32_t lsm6dso_gy_power_mode_set (lsm6dso_ctx_t *ctx, lsm6dso_g_hm_mode_t val)
 Operating mode for gyroscope.
int32_t lsm6dso_gy_power_mode_get (lsm6dso_ctx_t *ctx, lsm6dso_g_hm_mode_t *val)
 Operating mode for gyroscope.
int32_t lsm6dso_all_sources_get (lsm6dso_ctx_t *ctx, lsm6dso_all_sources_t *val)
 Read all the interrupt flag of the device.
int32_t lsm6dso_status_reg_get (lsm6dso_ctx_t *ctx, lsm6dso_status_reg_t *val)
 The STATUS_REG register is read by the primary interface.
int32_t lsm6dso_xl_flag_data_ready_get (lsm6dso_ctx_t *ctx, uint8_t *val)
 Accelerometer new data available.
int32_t lsm6dso_gy_flag_data_ready_get (lsm6dso_ctx_t *ctx, uint8_t *val)
 Gyroscope new data available.
int32_t lsm6dso_temp_flag_data_ready_get (lsm6dso_ctx_t *ctx, uint8_t *val)
 Temperature new data available.
int32_t lsm6dso_xl_usr_offset_x_set (lsm6dso_ctx_t *ctx, uint8_t *buff)
 Accelerometer X-axis user offset correction expressed in two’s complement, weight depends on USR_OFF_W in CTRL6_C (15h).
int32_t lsm6dso_xl_usr_offset_x_get (lsm6dso_ctx_t *ctx, uint8_t *buff)
 Accelerometer X-axis user offset correction expressed in two’s complement, weight depends on USR_OFF_W in CTRL6_C (15h).
int32_t lsm6dso_xl_usr_offset_y_set (lsm6dso_ctx_t *ctx, uint8_t *buff)
 Accelerometer Y-axis user offset correction expressed in two’s complement, weight depends on USR_OFF_W in CTRL6_C (15h).
int32_t lsm6dso_xl_usr_offset_y_get (lsm6dso_ctx_t *ctx, uint8_t *buff)
 Accelerometer Y-axis user offset correction expressed in two’s complement, weight depends on USR_OFF_W in CTRL6_C (15h).
int32_t lsm6dso_xl_usr_offset_z_set (lsm6dso_ctx_t *ctx, uint8_t *buff)
 Accelerometer Z-axis user offset correction expressed in two’s complement, weight depends on USR_OFF_W in CTRL6_C (15h).
int32_t lsm6dso_xl_usr_offset_z_get (lsm6dso_ctx_t *ctx, uint8_t *buff)
 Accelerometer Z-axis user offset correction expressed in two’s complement, weight depends on USR_OFF_W in CTRL6_C (15h).
int32_t lsm6dso_xl_usr_offset_set (lsm6dso_ctx_t *ctx, uint8_t val)
 Enables user offset on out.
int32_t lsm6dso_xl_usr_offset_get (lsm6dso_ctx_t *ctx, uint8_t *val)
 User offset on out flag.
int32_t lsm6dso_read_reg (lsm6dso_ctx_t *ctx, uint8_t reg, uint8_t *data, uint16_t len)
 Read generic device register.
int32_t lsm6dso_write_reg (lsm6dso_ctx_t *ctx, uint8_t reg, uint8_t *data, uint16_t len)
 Write generic device register.
int32_t lsm6dso_timestamp_set (lsm6dso_ctx_t *ctx, uint8_t val)
 Enables timestamp counter.
int32_t lsm6dso_timestamp_get (lsm6dso_ctx_t *ctx, uint8_t *val)
 Enables timestamp counter.
int32_t lsm6dso_timestamp_raw_get (lsm6dso_ctx_t *ctx, uint8_t *buff)
 Timestamp first data output register (r).
int32_t lsm6dso_rounding_mode_set (lsm6dso_ctx_t *ctx, lsm6dso_rounding_t val)
 Circular burst-mode (rounding) read of the output registers.
int32_t lsm6dso_rounding_mode_get (lsm6dso_ctx_t *ctx, lsm6dso_rounding_t *val)
 Gyroscope UI chain full-scale selection.
int32_t lsm6dso_temperature_raw_get (lsm6dso_ctx_t *ctx, uint8_t *buff)
 Temperature data output register (r).
int32_t lsm6dso_angular_rate_raw_get (lsm6dso_ctx_t *ctx, uint8_t *buff)
 Angular rate sensor.
int32_t lsm6dso_acceleration_raw_get (lsm6dso_ctx_t *ctx, uint8_t *buff)
 Linear acceleration output register.
int32_t lsm6dso_fifo_out_raw_get (lsm6dso_ctx_t *ctx, uint8_t *buff)
 FIFO data output [get].
int32_t lsm6dso_number_of_steps_get (lsm6dso_ctx_t *ctx, uint8_t *buff)
 Step counter output register.
int32_t lsm6dso_steps_reset (lsm6dso_ctx_t *ctx)
 Reset step counter register.
int32_t lsm6dso_odr_cal_reg_set (lsm6dso_ctx_t *ctx, uint8_t val)
 Difference in percentage of the effective ODR(and timestamp rate) with respect to the typical.
int32_t lsm6dso_odr_cal_reg_get (lsm6dso_ctx_t *ctx, uint8_t *val)
 Difference in percentage of the effective ODR(and timestamp rate) with respect to the typical.
int32_t lsm6dso_mem_bank_set (lsm6dso_ctx_t *ctx, lsm6dso_reg_access_t val)
 Enable access to the embedded functions/sensor hub configuration registers.
int32_t lsm6dso_mem_bank_get (lsm6dso_ctx_t *ctx, lsm6dso_reg_access_t *val)
 Enable access to the embedded functions/sensor hub configuration registers.
int32_t lsm6dso_ln_pg_write_byte (lsm6dso_ctx_t *ctx, uint16_t address, uint8_t *val)
 Write a line(byte) in a page.
int32_t lsm6dso_ln_pg_read_byte (lsm6dso_ctx_t *ctx, uint16_t address, uint8_t *val)
 Read a line(byte) in a page.
int32_t lsm6dso_ln_pg_write (lsm6dso_ctx_t *ctx, uint16_t address, uint8_t *buf, uint8_t len)
 Write buffer in a page.
int32_t lsm6dso_data_ready_mode_set (lsm6dso_ctx_t *ctx, lsm6dso_dataready_pulsed_t val)
 Data-ready pulsed / letched mode.
int32_t lsm6dso_data_ready_mode_get (lsm6dso_ctx_t *ctx, lsm6dso_dataready_pulsed_t *val)
 Data-ready pulsed / letched mode.
int32_t lsm6dso_device_id_get (lsm6dso_ctx_t *ctx, uint8_t *buff)
 Device "Who am I".
int32_t lsm6dso_reset_set (lsm6dso_ctx_t *ctx, uint8_t val)
 Software reset.
int32_t lsm6dso_reset_get (lsm6dso_ctx_t *ctx, uint8_t *val)
 Software reset.
int32_t lsm6dso_auto_increment_set (lsm6dso_ctx_t *ctx, uint8_t val)
 Register address automatically incremented during a multiple byte access with a serial interface.
int32_t lsm6dso_auto_increment_get (lsm6dso_ctx_t *ctx, uint8_t *val)
 Register address automatically incremented during a multiple byte access with a serial interface.
int32_t lsm6dso_boot_set (lsm6dso_ctx_t *ctx, uint8_t val)
 Reboot memory content.
int32_t lsm6dso_boot_get (lsm6dso_ctx_t *ctx, uint8_t *val)
 Reboot memory content.
int32_t lsm6dso_xl_self_test_set (lsm6dso_ctx_t *ctx, lsm6dso_st_xl_t val)
 Linear acceleration sensor self-test enable.
int32_t lsm6dso_xl_self_test_get (lsm6dso_ctx_t *ctx, lsm6dso_st_xl_t *val)
 Linear acceleration sensor self-test enable.
int32_t lsm6dso_gy_self_test_set (lsm6dso_ctx_t *ctx, lsm6dso_st_g_t val)
 Angular rate sensor self-test enable.
int32_t lsm6dso_gy_self_test_get (lsm6dso_ctx_t *ctx, lsm6dso_st_g_t *val)
 Angular rate sensor self-test enable.
int32_t lsm6dso_xl_filter_lp2_set (lsm6dso_ctx_t *ctx, uint8_t val)
 Accelerometer output from LPF2 filtering stage selection.
int32_t lsm6dso_xl_filter_lp2_get (lsm6dso_ctx_t *ctx, uint8_t *val)
 Accelerometer output from LPF2 filtering stage selection.
int32_t lsm6dso_gy_filter_lp1_set (lsm6dso_ctx_t *ctx, uint8_t val)
 Enables gyroscope digital LPF1 if auxiliary SPI is disabled; the bandwidth can be selected through FTYPE [2:0] in CTRL6_C (15h).
int32_t lsm6dso_gy_filter_lp1_get (lsm6dso_ctx_t *ctx, uint8_t *val)
 Enables gyroscope digital LPF1 if auxiliary SPI is disabled; the bandwidth can be selected through FTYPE [2:0] in CTRL6_C (15h).
int32_t lsm6dso_filter_settling_mask_set (lsm6dso_ctx_t *ctx, uint8_t val)
 Mask DRDY on pin (both XL & Gyro) until filter settling ends (XL and Gyro independently masked).
int32_t lsm6dso_filter_settling_mask_get (lsm6dso_ctx_t *ctx, uint8_t *val)
 Mask DRDY on pin (both XL & Gyro) until filter settling ends (XL and Gyro independently masked).
int32_t lsm6dso_gy_lp1_bandwidth_set (lsm6dso_ctx_t *ctx, lsm6dso_ftype_t val)
 Gyroscope lp1 bandwidth.
int32_t lsm6dso_gy_lp1_bandwidth_get (lsm6dso_ctx_t *ctx, lsm6dso_ftype_t *val)
 Gyroscope lp1 bandwidth.
int32_t lsm6dso_xl_lp2_on_6d_set (lsm6dso_ctx_t *ctx, uint8_t val)
 Low pass filter 2 on 6D function selection.
int32_t lsm6dso_xl_lp2_on_6d_get (lsm6dso_ctx_t *ctx, uint8_t *val)
 Low pass filter 2 on 6D function selection.
int32_t lsm6dso_xl_hp_path_on_out_set (lsm6dso_ctx_t *ctx, lsm6dso_hp_slope_xl_en_t val)
 Accelerometer slope filter / high-pass filter selection on output.
int32_t lsm6dso_xl_hp_path_on_out_get (lsm6dso_ctx_t *ctx, lsm6dso_hp_slope_xl_en_t *val)
 Accelerometer slope filter / high-pass filter selection on output.
int32_t lsm6dso_xl_fast_settling_set (lsm6dso_ctx_t *ctx, uint8_t val)
 Enables accelerometer LPF2 and HPF fast-settling mode.
int32_t lsm6dso_xl_fast_settling_get (lsm6dso_ctx_t *ctx, uint8_t *val)
 Enables accelerometer LPF2 and HPF fast-settling mode.
int32_t lsm6dso_xl_hp_path_internal_set (lsm6dso_ctx_t *ctx, lsm6dso_slope_fds_t val)
 HPF or SLOPE filter selection on wake-up and Activity/Inactivity functions.
int32_t lsm6dso_xl_hp_path_internal_get (lsm6dso_ctx_t *ctx, lsm6dso_slope_fds_t *val)
 HPF or SLOPE filter selection on wake-up and Activity/Inactivity functions.
int32_t lsm6dso_gy_hp_path_internal_set (lsm6dso_ctx_t *ctx, lsm6dso_hpm_g_t val)
 Enables gyroscope digital high-pass filter.
int32_t lsm6dso_gy_hp_path_internal_get (lsm6dso_ctx_t *ctx, lsm6dso_hpm_g_t *val)
 Enables gyroscope digital high-pass filter.
int32_t lsm6dso_aux_sdo_ocs_mode_set (lsm6dso_ctx_t *ctx, lsm6dso_ois_pu_dis_t val)
 aOn auxiliary interface connect/disconnect SDO and OCS internal pull-up.
int32_t lsm6dso_aux_sdo_ocs_mode_get (lsm6dso_ctx_t *ctx, lsm6dso_ois_pu_dis_t *val)
 On auxiliary interface connect/disconnect SDO and OCS internal pull-up.
int32_t lsm6dso_aux_pw_on_ctrl_set (lsm6dso_ctx_t *ctx, lsm6dso_ois_on_t val)
 OIS chain on aux interface power on mode.
int32_t lsm6dso_aux_pw_on_ctrl_get (lsm6dso_ctx_t *ctx, lsm6dso_ois_on_t *val)
 aux_pw_on_ctrl: [get] OIS chain on aux interface power on mode
int32_t lsm6dso_aux_xl_fs_mode_set (lsm6dso_ctx_t *ctx, lsm6dso_xl_fs_mode_t val)
 Accelerometer full-scale management between UI chain and OIS chain.
int32_t lsm6dso_aux_xl_fs_mode_get (lsm6dso_ctx_t *ctx, lsm6dso_xl_fs_mode_t *val)
 Accelerometer full-scale management between UI chain and OIS chain.
int32_t lsm6dso_aux_status_reg_get (lsm6dso_ctx_t *ctx, lsm6dso_status_spiaux_t *val)
 The STATUS_SPIAux register is read by the auxiliary SPI.
int32_t lsm6dso_aux_xl_flag_data_ready_get (lsm6dso_ctx_t *ctx, uint8_t *val)
 aux_xl_flag_data_ready: [get] AUX accelerometer data available
int32_t lsm6dso_aux_gy_flag_data_ready_get (lsm6dso_ctx_t *ctx, uint8_t *val)
 aux_gy_flag_data_ready: [get] AUX gyroscope data available.
int32_t lsm6dso_aux_gy_flag_settling_get (lsm6dso_ctx_t *ctx, uint8_t *val)
 High when the gyroscope output is in the settling phase.
int32_t lsm6dso_aux_xl_self_test_set (lsm6dso_ctx_t *ctx, lsm6dso_st_xl_ois_t val)
 Selects accelerometer self-test.
int32_t lsm6dso_aux_xl_self_test_get (lsm6dso_ctx_t *ctx, lsm6dso_st_xl_ois_t *val)
 Selects accelerometer self-test.
int32_t lsm6dso_aux_den_polarity_set (lsm6dso_ctx_t *ctx, lsm6dso_den_lh_ois_t val)
 Indicates polarity of DEN signal on OIS chain.
int32_t lsm6dso_aux_den_polarity_get (lsm6dso_ctx_t *ctx, lsm6dso_den_lh_ois_t *val)
 Indicates polarity of DEN signal on OIS chain.
int32_t lsm6dso_aux_den_mode_set (lsm6dso_ctx_t *ctx, lsm6dso_lvl2_ois_t val)
 Configure DEN mode on the OIS chain.
int32_t lsm6dso_aux_den_mode_get (lsm6dso_ctx_t *ctx, lsm6dso_lvl2_ois_t *val)
 Configure DEN mode on the OIS chain.
int32_t lsm6dso_aux_drdy_on_int2_set (lsm6dso_ctx_t *ctx, uint8_t val)
 Enables/Disable OIS chain DRDY on INT2 pin.
int32_t lsm6dso_aux_drdy_on_int2_get (lsm6dso_ctx_t *ctx, uint8_t *val)
 Enables/Disable OIS chain DRDY on INT2 pin.
int32_t lsm6dso_aux_mode_set (lsm6dso_ctx_t *ctx, lsm6dso_ois_en_spi2_t val)
 Enables OIS chain data processing for gyro in Mode 3 and Mode 4 (mode4_en = 1) and accelerometer data in and Mode 4 (mode4_en = 1).
int32_t lsm6dso_aux_mode_get (lsm6dso_ctx_t *ctx, lsm6dso_ois_en_spi2_t *val)
 Enables OIS chain data processing for gyro in Mode 3 and Mode 4 (mode4_en = 1) and accelerometer data in and Mode 4 (mode4_en = 1).
int32_t lsm6dso_aux_gy_full_scale_set (lsm6dso_ctx_t *ctx, lsm6dso_fs_g_ois_t val)
 Selects gyroscope OIS chain full-scale.
int32_t lsm6dso_aux_gy_full_scale_get (lsm6dso_ctx_t *ctx, lsm6dso_fs_g_ois_t *val)
 Selects gyroscope OIS chain full-scale.
int32_t lsm6dso_aux_spi_mode_set (lsm6dso_ctx_t *ctx, lsm6dso_sim_ois_t val)
 SPI2 3- or 4-wire interface.
int32_t lsm6dso_aux_spi_mode_get (lsm6dso_ctx_t *ctx, lsm6dso_sim_ois_t *val)
 SPI2 3- or 4-wire interface.
int32_t lsm6dso_aux_gy_lp1_bandwidth_set (lsm6dso_ctx_t *ctx, lsm6dso_ftype_ois_t val)
 Selects gyroscope digital LPF1 filter bandwidth.
int32_t lsm6dso_aux_gy_lp1_bandwidth_get (lsm6dso_ctx_t *ctx, lsm6dso_ftype_ois_t *val)
 Selects gyroscope digital LPF1 filter bandwidth.
int32_t lsm6dso_aux_gy_hp_bandwidth_set (lsm6dso_ctx_t *ctx, lsm6dso_hpm_ois_t val)
 Selects gyroscope OIS chain digital high-pass filter cutoff.
int32_t lsm6dso_aux_gy_hp_bandwidth_get (lsm6dso_ctx_t *ctx, lsm6dso_hpm_ois_t *val)
 Selects gyroscope OIS chain digital high-pass filter cutoff.
int32_t lsm6dso_aux_gy_clamp_set (lsm6dso_ctx_t *ctx, lsm6dso_st_ois_clampdis_t val)
 Enable / Disables OIS chain clamp.
int32_t lsm6dso_aux_gy_clamp_get (lsm6dso_ctx_t *ctx, lsm6dso_st_ois_clampdis_t *val)
 Enable / Disables OIS chain clamp.
int32_t lsm6dso_aux_gy_self_test_set (lsm6dso_ctx_t *ctx, lsm6dso_st_ois_t val)
 Selects gyroscope OIS chain self-test.
int32_t lsm6dso_aux_gy_self_test_get (lsm6dso_ctx_t *ctx, lsm6dso_st_ois_t *val)
 Selects gyroscope OIS chain self-test.
int32_t lsm6dso_aux_xl_bandwidth_set (lsm6dso_ctx_t *ctx, lsm6dso_filter_xl_conf_ois_t val)
 Selects accelerometer OIS channel bandwidth.
int32_t lsm6dso_aux_xl_bandwidth_get (lsm6dso_ctx_t *ctx, lsm6dso_filter_xl_conf_ois_t *val)
 Selects accelerometer OIS channel bandwidth.
int32_t lsm6dso_aux_xl_full_scale_set (lsm6dso_ctx_t *ctx, lsm6dso_fs_xl_ois_t val)
 Selects accelerometer OIS channel full-scale.
int32_t lsm6dso_aux_xl_full_scale_get (lsm6dso_ctx_t *ctx, lsm6dso_fs_xl_ois_t *val)
 Selects accelerometer OIS channel full-scale.
int32_t lsm6dso_sdo_sa0_mode_set (lsm6dso_ctx_t *ctx, lsm6dso_sdo_pu_en_t val)
 Connect/Disconnect SDO/SA0 internal pull-up.
int32_t lsm6dso_sdo_sa0_mode_get (lsm6dso_ctx_t *ctx, lsm6dso_sdo_pu_en_t *val)
 Connect/Disconnect SDO/SA0 internal pull-up.
int32_t lsm6dso_spi_mode_set (lsm6dso_ctx_t *ctx, lsm6dso_sim_t val)
 SPI Serial Interface Mode selection.
int32_t lsm6dso_spi_mode_get (lsm6dso_ctx_t *ctx, lsm6dso_sim_t *val)
 SPI Serial Interface Mode selection.
int32_t lsm6dso_i2c_interface_set (lsm6dso_ctx_t *ctx, lsm6dso_i2c_disable_t val)
 Disable / Enable I2C interface.
int32_t lsm6dso_i2c_interface_get (lsm6dso_ctx_t *ctx, lsm6dso_i2c_disable_t *val)
 Disable / Enable I2C interface.
int32_t lsm6dso_i3c_disable_set (lsm6dso_ctx_t *ctx, lsm6dso_i3c_disable_t val)
 I3C Enable/Disable communication protocol[.set].
int32_t lsm6dso_i3c_disable_get (lsm6dso_ctx_t *ctx, lsm6dso_i3c_disable_t *val)
 I3C Enable/Disable communication protocol.
int32_t lsm6dso_int1_mode_set (lsm6dso_ctx_t *ctx, lsm6dso_int1_pd_en_t val)
 Connect/Disconnect INT1 internal pull-down.
int32_t lsm6dso_int1_mode_get (lsm6dso_ctx_t *ctx, lsm6dso_int1_pd_en_t *val)
 Connect/Disconnect INT1 internal pull-down.
int32_t lsm6dso_pin_int1_route_set (lsm6dso_ctx_t *ctx, lsm6dso_pin_int1_route_t *val)
 Select the signal that need to route on int1 pad.
int32_t lsm6dso_pin_int1_route_get (lsm6dso_ctx_t *ctx, lsm6dso_pin_int1_route_t *val)
 Select the signal that need to route on int1 pad.
int32_t lsm6dso_pin_int2_route_set (lsm6dso_ctx_t *ctx, lsm6dso_pin_int2_route_t *val)
 Select the signal that need to route on int2 pad.
int32_t lsm6dso_pin_int2_route_get (lsm6dso_ctx_t *ctx, lsm6dso_pin_int2_route_t *val)
 Select the signal that need to route on int2 pad.
int32_t lsm6dso_pin_mode_set (lsm6dso_ctx_t *ctx, lsm6dso_pp_od_t val)
 Push-pull/open drain selection on interrupt pads.
int32_t lsm6dso_pin_mode_get (lsm6dso_ctx_t *ctx, lsm6dso_pp_od_t *val)
 Push-pull/open drain selection on interrupt pads.
int32_t lsm6dso_pin_polarity_set (lsm6dso_ctx_t *ctx, lsm6dso_h_lactive_t val)
 Interrupt active-high/low.
int32_t lsm6dso_pin_polarity_get (lsm6dso_ctx_t *ctx, lsm6dso_h_lactive_t *val)
 Interrupt active-high/low.
int32_t lsm6dso_all_on_int1_set (lsm6dso_ctx_t *ctx, uint8_t val)
 All interrupt signals become available on INT1 pin.
int32_t lsm6dso_all_on_int1_get (lsm6dso_ctx_t *ctx, uint8_t *val)
 All interrupt signals become available on INT1 pin.
int32_t lsm6dso_int_notification_set (lsm6dso_ctx_t *ctx, lsm6dso_lir_t val)
 Interrupt notification mode.
int32_t lsm6dso_int_notification_get (lsm6dso_ctx_t *ctx, lsm6dso_lir_t *val)
 Interrupt notification mode.
int32_t lsm6dso_wkup_ths_weight_set (lsm6dso_ctx_t *ctx, lsm6dso_wake_ths_w_t val)
 Weight of 1 LSB of wakeup threshold.
int32_t lsm6dso_wkup_ths_weight_get (lsm6dso_ctx_t *ctx, lsm6dso_wake_ths_w_t *val)
 Weight of 1 LSB of wakeup threshold.
int32_t lsm6dso_wkup_threshold_set (lsm6dso_ctx_t *ctx, uint8_t val)
 Threshold for wakeup: 1 LSB weight depends on WAKE_THS_W in WAKE_UP_DUR.
int32_t lsm6dso_wkup_threshold_get (lsm6dso_ctx_t *ctx, uint8_t *val)
 Threshold for wakeup: 1 LSB weight depends on WAKE_THS_W in WAKE_UP_DUR.
int32_t lsm6dso_xl_usr_offset_on_wkup_set (lsm6dso_ctx_t *ctx, uint8_t val)
 Wake up duration event.
int32_t lsm6dso_xl_usr_offset_on_wkup_get (lsm6dso_ctx_t *ctx, uint8_t *val)
 Wake up duration event.
int32_t lsm6dso_wkup_dur_set (lsm6dso_ctx_t *ctx, uint8_t val)
 Wake up duration event.
int32_t lsm6dso_wkup_dur_get (lsm6dso_ctx_t *ctx, uint8_t *val)
 Wake up duration event.
int32_t lsm6dso_gy_sleep_mode_set (lsm6dso_ctx_t *ctx, uint8_t val)
 Enables gyroscope Sleep mode.
int32_t lsm6dso_gy_sleep_mode_get (lsm6dso_ctx_t *ctx, uint8_t *val)
 Enables gyroscope Sleep mode.
int32_t lsm6dso_act_pin_notification_set (lsm6dso_ctx_t *ctx, lsm6dso_sleep_status_on_int_t val)
 Drives the sleep status instead of sleep change on INT pins (only if INT1_SLEEP_CHANGE or INT2_SLEEP_CHANGE bits are enabled).
int32_t lsm6dso_act_pin_notification_get (lsm6dso_ctx_t *ctx, lsm6dso_sleep_status_on_int_t *val)
 Drives the sleep status instead of sleep change on INT pins (only if INT1_SLEEP_CHANGE or INT2_SLEEP_CHANGE bits are enabled).
int32_t lsm6dso_act_mode_set (lsm6dso_ctx_t *ctx, lsm6dso_inact_en_t val)
 Enable inactivity function.
int32_t lsm6dso_act_mode_get (lsm6dso_ctx_t *ctx, lsm6dso_inact_en_t *val)
 Enable inactivity function.
int32_t lsm6dso_act_sleep_dur_set (lsm6dso_ctx_t *ctx, uint8_t val)
 Duration to go in sleep mode.
int32_t lsm6dso_act_sleep_dur_get (lsm6dso_ctx_t *ctx, uint8_t *val)
 Duration to go in sleep mode.
int32_t lsm6dso_tap_detection_on_z_set (lsm6dso_ctx_t *ctx, uint8_t val)
 Enable Z direction in tap recognition.
int32_t lsm6dso_tap_detection_on_z_get (lsm6dso_ctx_t *ctx, uint8_t *val)
 Enable Z direction in tap recognition.
int32_t lsm6dso_tap_detection_on_y_set (lsm6dso_ctx_t *ctx, uint8_t val)
 Enable Y direction in tap recognition.
int32_t lsm6dso_tap_detection_on_y_get (lsm6dso_ctx_t *ctx, uint8_t *val)
 Enable Y direction in tap recognition.
int32_t lsm6dso_tap_detection_on_x_set (lsm6dso_ctx_t *ctx, uint8_t val)
 Enable X direction in tap recognition.
int32_t lsm6dso_tap_detection_on_x_get (lsm6dso_ctx_t *ctx, uint8_t *val)
 Enable X direction in tap recognition.
int32_t lsm6dso_tap_threshold_x_set (lsm6dso_ctx_t *ctx, uint8_t val)
 X-axis tap recognition threshold.
int32_t lsm6dso_tap_threshold_x_get (lsm6dso_ctx_t *ctx, uint8_t *val)
 X-axis tap recognition threshold.
int32_t lsm6dso_tap_axis_priority_set (lsm6dso_ctx_t *ctx, lsm6dso_tap_priority_t val)
 Selection of axis priority for TAP detection.
int32_t lsm6dso_tap_axis_priority_get (lsm6dso_ctx_t *ctx, lsm6dso_tap_priority_t *val)
 Selection of axis priority for TAP detection.
int32_t lsm6dso_tap_threshold_y_set (lsm6dso_ctx_t *ctx, uint8_t val)
 Y-axis tap recognition threshold.
int32_t lsm6dso_tap_threshold_y_get (lsm6dso_ctx_t *ctx, uint8_t *val)
 Y-axis tap recognition threshold.
int32_t lsm6dso_tap_threshold_z_set (lsm6dso_ctx_t *ctx, uint8_t val)
 Z-axis recognition threshold.
int32_t lsm6dso_tap_threshold_z_get (lsm6dso_ctx_t *ctx, uint8_t *val)
 Z-axis recognition threshold.
int32_t lsm6dso_tap_shock_set (lsm6dso_ctx_t *ctx, uint8_t val)
 Maximum duration is the maximum time of an over threshold signal detection to be recognized as a tap event.
int32_t lsm6dso_tap_shock_get (lsm6dso_ctx_t *ctx, uint8_t *val)
 Maximum duration is the maximum time of an over threshold signal detection to be recognized as a tap event.
int32_t lsm6dso_tap_quiet_set (lsm6dso_ctx_t *ctx, uint8_t val)
 Quiet time is the time after the first detected tap in which there must not be any over threshold event.
int32_t lsm6dso_tap_quiet_get (lsm6dso_ctx_t *ctx, uint8_t *val)
 Quiet time is the time after the first detected tap in which there must not be any over threshold event.
int32_t lsm6dso_tap_dur_set (lsm6dso_ctx_t *ctx, uint8_t val)
 When double tap recognition is enabled, this register expresses the maximum time between two consecutive detected taps to determine a double tap event.
int32_t lsm6dso_tap_dur_get (lsm6dso_ctx_t *ctx, uint8_t *val)
 When double tap recognition is enabled, this register expresses the maximum time between two consecutive detected taps to determine a double tap event.
int32_t lsm6dso_tap_mode_set (lsm6dso_ctx_t *ctx, lsm6dso_single_double_tap_t val)
 Single/double-tap event enable.
int32_t lsm6dso_tap_mode_get (lsm6dso_ctx_t *ctx, lsm6dso_single_double_tap_t *val)
 Single/double-tap event enable.
int32_t lsm6dso_6d_threshold_set (lsm6dso_ctx_t *ctx, lsm6dso_sixd_ths_t val)
 Threshold for 4D/6D function.
int32_t lsm6dso_6d_threshold_get (lsm6dso_ctx_t *ctx, lsm6dso_sixd_ths_t *val)
 Threshold for 4D/6D function.
int32_t lsm6dso_4d_mode_set (lsm6dso_ctx_t *ctx, uint8_t val)
 4D orientation detection enable.
int32_t lsm6dso_4d_mode_get (lsm6dso_ctx_t *ctx, uint8_t *val)
 4D orientation detection enable.
int32_t lsm6dso_ff_threshold_set (lsm6dso_ctx_t *ctx, lsm6dso_ff_ths_t val)
 Free fall threshold setting.
int32_t lsm6dso_ff_threshold_get (lsm6dso_ctx_t *ctx, lsm6dso_ff_ths_t *val)
 Free fall threshold setting.
int32_t lsm6dso_ff_dur_set (lsm6dso_ctx_t *ctx, uint8_t val)
 Free-fall duration event.
int32_t lsm6dso_ff_dur_get (lsm6dso_ctx_t *ctx, uint8_t *val)
 Free-fall duration event.
int32_t lsm6dso_fifo_watermark_set (lsm6dso_ctx_t *ctx, uint16_t val)
 FIFO watermark level selection.
int32_t lsm6dso_fifo_watermark_get (lsm6dso_ctx_t *ctx, uint16_t *val)
 FIFO watermark level selection.
int32_t lsm6dso_compression_algo_init_set (lsm6dso_ctx_t *ctx, uint8_t val)
 FIFO compression feature initialization request [set].
int32_t lsm6dso_compression_algo_init_get (lsm6dso_ctx_t *ctx, uint8_t *val)
 FIFO compression feature initialization request [get].
int32_t lsm6dso_compression_algo_set (lsm6dso_ctx_t *ctx, lsm6dso_uncoptr_rate_t val)
 Enable and configure compression algo.
int32_t lsm6dso_compression_algo_get (lsm6dso_ctx_t *ctx, lsm6dso_uncoptr_rate_t *val)
 Enable and configure compression algo.
int32_t lsm6dso_fifo_virtual_sens_odr_chg_set (lsm6dso_ctx_t *ctx, uint8_t val)
 Enables ODR CHANGE virtual sensor to be batched in FIFO.
int32_t lsm6dso_fifo_virtual_sens_odr_chg_get (lsm6dso_ctx_t *ctx, uint8_t *val)
 Enables ODR CHANGE virtual sensor to be batched in FIFO.
int32_t lsm6dso_compression_algo_real_time_set (lsm6dso_ctx_t *ctx, uint8_t val)
 Enables/Disables compression algorithm runtime.
int32_t lsm6dso_compression_algo_real_time_get (lsm6dso_ctx_t *ctx, uint8_t *val)
 Enables/Disables compression algorithm runtime.
int32_t lsm6dso_fifo_stop_on_wtm_set (lsm6dso_ctx_t *ctx, uint8_t val)
 Sensing chain FIFO stop values memorization at threshold level.
int32_t lsm6dso_fifo_stop_on_wtm_get (lsm6dso_ctx_t *ctx, uint8_t *val)
 Sensing chain FIFO stop values memorization at threshold level.
int32_t lsm6dso_fifo_xl_batch_set (lsm6dso_ctx_t *ctx, lsm6dso_bdr_xl_t val)
 Selects Batching Data Rate (writing frequency in FIFO) for accelerometer data.
int32_t lsm6dso_fifo_xl_batch_get (lsm6dso_ctx_t *ctx, lsm6dso_bdr_xl_t *val)
 Selects Batching Data Rate (writing frequency in FIFO) for accelerometer data.
int32_t lsm6dso_fifo_gy_batch_set (lsm6dso_ctx_t *ctx, lsm6dso_bdr_gy_t val)
 Selects Batching Data Rate (writing frequency in FIFO) for gyroscope data.
int32_t lsm6dso_fifo_gy_batch_get (lsm6dso_ctx_t *ctx, lsm6dso_bdr_gy_t *val)
 Selects Batching Data Rate (writing frequency in FIFO) for gyroscope data.
int32_t lsm6dso_fifo_mode_set (lsm6dso_ctx_t *ctx, lsm6dso_fifo_mode_t val)
 FIFO mode selection.
int32_t lsm6dso_fifo_mode_get (lsm6dso_ctx_t *ctx, lsm6dso_fifo_mode_t *val)
 FIFO mode selection.
int32_t lsm6dso_fifo_temp_batch_set (lsm6dso_ctx_t *ctx, lsm6dso_odr_t_batch_t val)
 Selects Batching Data Rate (writing frequency in FIFO) for temperature data.
int32_t lsm6dso_fifo_temp_batch_get (lsm6dso_ctx_t *ctx, lsm6dso_odr_t_batch_t *val)
 Selects Batching Data Rate (writing frequency in FIFO) for temperature data.
int32_t lsm6dso_fifo_timestamp_decimation_set (lsm6dso_ctx_t *ctx, lsm6dso_odr_ts_batch_t val)
 Selects decimation for timestamp batching in FIFO.
int32_t lsm6dso_fifo_timestamp_decimation_get (lsm6dso_ctx_t *ctx, lsm6dso_odr_ts_batch_t *val)
 Selects decimation for timestamp batching in FIFO.
int32_t lsm6dso_fifo_cnt_event_batch_set (lsm6dso_ctx_t *ctx, lsm6dso_trig_counter_bdr_t val)
 Selects the trigger for the internal counter of batching events between XL and gyro.
int32_t lsm6dso_fifo_cnt_event_batch_get (lsm6dso_ctx_t *ctx, lsm6dso_trig_counter_bdr_t *val)
 Selects the trigger for the internal counter of batching events between XL and gyro.
int32_t lsm6dso_rst_batch_counter_set (lsm6dso_ctx_t *ctx, uint8_t val)
 Resets the internal counter of batching vents for a single sensor.
int32_t lsm6dso_rst_batch_counter_get (lsm6dso_ctx_t *ctx, uint8_t *val)
 Resets the internal counter of batching events for a single sensor.
int32_t lsm6dso_batch_counter_threshold_set (lsm6dso_ctx_t *ctx, uint16_t val)
 Batch data rate counter.
int32_t lsm6dso_batch_counter_threshold_get (lsm6dso_ctx_t *ctx, uint16_t *val)
 Batch data rate counter.
int32_t lsm6dso_fifo_data_level_get (lsm6dso_ctx_t *ctx, uint16_t *val)
 Number of unread sensor data(TAG + 6 bytes) stored in FIFO.
int32_t lsm6dso_fifo_status_get (lsm6dso_ctx_t *ctx, lsm6dso_fifo_status2_t *val)
 FIFO status.
int32_t lsm6dso_fifo_full_flag_get (lsm6dso_ctx_t *ctx, uint8_t *val)
 Smart FIFO full status.
int32_t lsm6dso_fifo_ovr_flag_get (lsm6dso_ctx_t *ctx, uint8_t *val)
 FIFO overrun status.
int32_t lsm6dso_fifo_wtm_flag_get (lsm6dso_ctx_t *ctx, uint8_t *val)
 FIFO watermark status.
int32_t lsm6dso_fifo_sensor_tag_get (lsm6dso_ctx_t *ctx, lsm6dso_fifo_tag_t *val)
 Identifies the sensor in FIFO_DATA_OUT.
int32_t lsm6dso_fifo_pedo_batch_set (lsm6dso_ctx_t *ctx, uint8_t val)
 : Enable FIFO batching of pedometer embedded function values.
int32_t lsm6dso_fifo_pedo_batch_get (lsm6dso_ctx_t *ctx, uint8_t *val)
 Enable FIFO batching of pedometer embedded function values.
int32_t lsm6dso_sh_batch_slave_0_set (lsm6dso_ctx_t *ctx, uint8_t val)
 Enable FIFO batching data of first slave.
int32_t lsm6dso_sh_batch_slave_0_get (lsm6dso_ctx_t *ctx, uint8_t *val)
 Enable FIFO batching data of first slave.
int32_t lsm6dso_sh_batch_slave_1_set (lsm6dso_ctx_t *ctx, uint8_t val)
 Enable FIFO batching data of second slave.
int32_t lsm6dso_sh_batch_slave_1_get (lsm6dso_ctx_t *ctx, uint8_t *val)
 Enable FIFO batching data of second slave.
int32_t lsm6dso_sh_batch_slave_2_set (lsm6dso_ctx_t *ctx, uint8_t val)
 Enable FIFO batching data of third slave.
int32_t lsm6dso_sh_batch_slave_2_get (lsm6dso_ctx_t *ctx, uint8_t *val)
 Enable FIFO batching data of third slave.
int32_t lsm6dso_sh_batch_slave_3_set (lsm6dso_ctx_t *ctx, uint8_t val)
 Enable FIFO batching data of fourth slave.
int32_t lsm6dso_sh_batch_slave_3_get (lsm6dso_ctx_t *ctx, uint8_t *val)
 Enable FIFO batching data of fourth slave.
int32_t lsm6dso_den_mode_set (lsm6dso_ctx_t *ctx, lsm6dso_den_mode_t val)
 DEN functionality marking mode.
int32_t lsm6dso_den_mode_get (lsm6dso_ctx_t *ctx, lsm6dso_den_mode_t *val)
 DEN functionality marking mode.
int32_t lsm6dso_den_polarity_set (lsm6dso_ctx_t *ctx, lsm6dso_den_lh_t val)
 DEN active level configuration.
int32_t lsm6dso_den_polarity_get (lsm6dso_ctx_t *ctx, lsm6dso_den_lh_t *val)
 DEN active level configuration.
int32_t lsm6dso_den_enable_set (lsm6dso_ctx_t *ctx, lsm6dso_den_xl_g_t val)
 DEN enable.
int32_t lsm6dso_den_enable_get (lsm6dso_ctx_t *ctx, lsm6dso_den_xl_g_t *val)
 DEN enable.
int32_t lsm6dso_den_mark_axis_x_set (lsm6dso_ctx_t *ctx, uint8_t val)
 DEN value stored in LSB of X-axis.
int32_t lsm6dso_den_mark_axis_x_get (lsm6dso_ctx_t *ctx, uint8_t *val)
 DEN value stored in LSB of X-axis.
int32_t lsm6dso_den_mark_axis_y_set (lsm6dso_ctx_t *ctx, uint8_t val)
 DEN value stored in LSB of Y-axis.
int32_t lsm6dso_den_mark_axis_y_get (lsm6dso_ctx_t *ctx, uint8_t *val)
 DEN value stored in LSB of Y-axis.
int32_t lsm6dso_den_mark_axis_z_set (lsm6dso_ctx_t *ctx, uint8_t val)
 DEN value stored in LSB of Z-axis.
int32_t lsm6dso_den_mark_axis_z_get (lsm6dso_ctx_t *ctx, uint8_t *val)
 DEN value stored in LSB of Z-axis.
int32_t lsm6dso_pedo_sens_set (lsm6dso_ctx_t *ctx, lsm6dso_pedo_md_t val)
 Enable pedometer algorithm.
int32_t lsm6dso_pedo_sens_get (lsm6dso_ctx_t *ctx, lsm6dso_pedo_md_t *val)
 Enable pedometer algorithm.
int32_t lsm6dso_pedo_step_detect_get (lsm6dso_ctx_t *ctx, uint8_t *val)
 Interrupt status bit for step detection.
int32_t lsm6dso_pedo_debounce_steps_set (lsm6dso_ctx_t *ctx, uint8_t *buff)
 Pedometer debounce configuration register (r/w).
int32_t lsm6dso_pedo_debounce_steps_get (lsm6dso_ctx_t *ctx, uint8_t *buff)
 Pedometer debounce configuration register (r/w).
int32_t lsm6dso_pedo_steps_period_set (lsm6dso_ctx_t *ctx, uint8_t *buff)
 Time period register for step detection on delta time (r/w).
int32_t lsm6dso_pedo_steps_period_get (lsm6dso_ctx_t *ctx, uint8_t *buff)
 Time period register for step detection on delta time (r/w).
int32_t lsm6dso_pedo_int_mode_set (lsm6dso_ctx_t *ctx, lsm6dso_carry_count_en_t val)
 Set when user wants to generate interrupt on count overflow event/every step.
int32_t lsm6dso_pedo_int_mode_get (lsm6dso_ctx_t *ctx, lsm6dso_carry_count_en_t *val)
 Set when user wants to generate interrupt on count overflow event/every step.
int32_t lsm6dso_motion_sens_set (lsm6dso_ctx_t *ctx, uint8_t val)
 Enable significant motion detection function.
int32_t lsm6dso_motion_sens_get (lsm6dso_ctx_t *ctx, uint8_t *val)
 Enable significant motion detection function.
int32_t lsm6dso_motion_flag_data_ready_get (lsm6dso_ctx_t *ctx, uint8_t *val)
 Interrupt status bit for significant motion detection.
int32_t lsm6dso_tilt_sens_set (lsm6dso_ctx_t *ctx, uint8_t val)
 Enable tilt calculation.
int32_t lsm6dso_tilt_sens_get (lsm6dso_ctx_t *ctx, uint8_t *val)
 Enable tilt calculation.
int32_t lsm6dso_tilt_flag_data_ready_get (lsm6dso_ctx_t *ctx, uint8_t *val)
 Interrupt status bit for tilt detection.
int32_t lsm6dso_mag_sensitivity_set (lsm6dso_ctx_t *ctx, uint8_t *buff)
 External magnetometer sensitivity value register.
int32_t lsm6dso_mag_sensitivity_get (lsm6dso_ctx_t *ctx, uint8_t *buff)
 External magnetometer sensitivity value register.
int32_t lsm6dso_mag_offset_set (lsm6dso_ctx_t *ctx, uint8_t *buff)
 Offset for hard-iron compensation register (r/w).
int32_t lsm6dso_mag_offset_get (lsm6dso_ctx_t *ctx, uint8_t *buff)
 Offset for hard-iron compensation register (r/w).
int32_t lsm6dso_mag_soft_iron_set (lsm6dso_ctx_t *ctx, uint8_t *buff)
 Soft-iron (3x3 symmetric) matrix correction register (r/w).
int32_t lsm6dso_mag_soft_iron_get (lsm6dso_ctx_t *ctx, uint8_t *buff)
 Soft-iron (3x3 symmetric) matrix correction register (r/w).
int32_t lsm6dso_mag_z_orient_set (lsm6dso_ctx_t *ctx, lsm6dso_mag_z_axis_t val)
 Magnetometer Z-axis coordinates rotation (to be aligned to accelerometer/gyroscope axes orientation).
int32_t lsm6dso_mag_z_orient_get (lsm6dso_ctx_t *ctx, lsm6dso_mag_z_axis_t *val)
 Magnetometer Z-axis coordinates rotation (to be aligned to accelerometer/gyroscope axes orientation).
int32_t lsm6dso_mag_y_orient_set (lsm6dso_ctx_t *ctx, lsm6dso_mag_y_axis_t val)
 Magnetometer Y-axis coordinates rotation (to be aligned to accelerometer/gyroscope axes orientation).
int32_t lsm6dso_mag_y_orient_get (lsm6dso_ctx_t *ctx, lsm6dso_mag_y_axis_t *val)
 Magnetometer Y-axis coordinates rotation (to be aligned to accelerometer/gyroscope axes orientation).
int32_t lsm6dso_mag_x_orient_set (lsm6dso_ctx_t *ctx, lsm6dso_mag_x_axis_t val)
 Magnetometer X-axis coordinates rotation (to be aligned to accelerometer/gyroscope axes orientation).
int32_t lsm6dso_mag_x_orient_get (lsm6dso_ctx_t *ctx, lsm6dso_mag_x_axis_t *val)
 Magnetometer X-axis coordinates rotation (to be aligned to accelerometer/gyroscope axes orientation).
int32_t lsm6dso_long_cnt_flag_data_ready_get (lsm6dso_ctx_t *ctx, uint8_t *val)
 Interrupt status bit for FSM long counter timeout interrupt event.
int32_t lsm6dso_emb_fsm_en_set (lsm6dso_ctx_t *ctx, uint8_t val)
 Final State Machine global enable.
int32_t lsm6dso_emb_fsm_en_get (lsm6dso_ctx_t *ctx, uint8_t *val)
 Final State Machine global enable.
int32_t lsm6dso_fsm_enable_set (lsm6dso_ctx_t *ctx, lsm6dso_emb_fsm_enable_t *val)
 Final State Machine enable.
int32_t lsm6dso_fsm_enable_get (lsm6dso_ctx_t *ctx, lsm6dso_emb_fsm_enable_t *val)
 Final State Machine enable.
int32_t lsm6dso_long_cnt_set (lsm6dso_ctx_t *ctx, uint8_t *buff)
 FSM long counter status register.
int32_t lsm6dso_long_cnt_get (lsm6dso_ctx_t *ctx, uint8_t *buff)
 FSM long counter status register.
int32_t lsm6dso_long_clr_set (lsm6dso_ctx_t *ctx, lsm6dso_fsm_lc_clr_t val)
 Clear FSM long counter value.
int32_t lsm6dso_long_clr_get (lsm6dso_ctx_t *ctx, lsm6dso_fsm_lc_clr_t *val)
 Clear FSM long counter value.
int32_t lsm6dso_fsm_out_get (lsm6dso_ctx_t *ctx, lsm6dso_fsm_out_t *val)
 FSM output registers[get].
int32_t lsm6dso_fsm_data_rate_set (lsm6dso_ctx_t *ctx, lsm6dso_fsm_odr_t val)
 Finite State Machine ODR configuration.
int32_t lsm6dso_fsm_data_rate_get (lsm6dso_ctx_t *ctx, lsm6dso_fsm_odr_t *val)
 Finite State Machine ODR configuration.
int32_t lsm6dso_fsm_init_set (lsm6dso_ctx_t *ctx, uint8_t val)
 FSM initialization request.
int32_t lsm6dso_fsm_init_get (lsm6dso_ctx_t *ctx, uint8_t *val)
 FSM initialization request.
int32_t lsm6dso_long_cnt_int_value_set (lsm6dso_ctx_t *ctx, uint16_t val)
 FSM long counter timeout register (r/w).
int32_t lsm6dso_long_cnt_int_value_get (lsm6dso_ctx_t *ctx, uint16_t *val)
 FSM long counter timeout register (r/w).
int32_t lsm6dso_fsm_number_of_programs_set (lsm6dso_ctx_t *ctx, uint8_t val)
 FSM number of programs register.
int32_t lsm6dso_fsm_number_of_programs_get (lsm6dso_ctx_t *ctx, uint8_t *val)
 FSM number of programs register.
int32_t lsm6dso_fsm_start_address_set (lsm6dso_ctx_t *ctx, uint16_t val)
 FSM start address register (r/w).
int32_t lsm6dso_fsm_start_address_get (lsm6dso_ctx_t *ctx, uint16_t *val)
 FSM start address register (r/w).
int32_t lsm6dso_sh_read_data_raw_get (lsm6dso_ctx_t *ctx, uint8_t *val, uint8_t len)
 Sensor hub output registers.
int32_t lsm6dso_sh_slave_connected_set (lsm6dso_ctx_t *ctx, lsm6dso_aux_sens_on_t val)
 Number of external sensors to be read by the sensor hub.
int32_t lsm6dso_sh_slave_connected_get (lsm6dso_ctx_t *ctx, lsm6dso_aux_sens_on_t *val)
 Number of external sensors to be read by the sensor hub.
int32_t lsm6dso_sh_master_set (lsm6dso_ctx_t *ctx, uint8_t val)
 Sensor hub I2C master enable.
int32_t lsm6dso_sh_master_get (lsm6dso_ctx_t *ctx, uint8_t *val)
 Sensor hub I2C master enable.
int32_t lsm6dso_sh_pin_mode_set (lsm6dso_ctx_t *ctx, lsm6dso_shub_pu_en_t val)
 Master I2C pull-up enable.
int32_t lsm6dso_sh_pin_mode_get (lsm6dso_ctx_t *ctx, lsm6dso_shub_pu_en_t *val)
 Master I2C pull-up enable.
int32_t lsm6dso_sh_pass_through_set (lsm6dso_ctx_t *ctx, uint8_t val)
 I2C interface pass-through.
int32_t lsm6dso_sh_pass_through_get (lsm6dso_ctx_t *ctx, uint8_t *val)
 I2C interface pass-through.
int32_t lsm6dso_sh_syncro_mode_set (lsm6dso_ctx_t *ctx, lsm6dso_start_config_t val)
 Sensor hub trigger signal selection.
int32_t lsm6dso_sh_syncro_mode_get (lsm6dso_ctx_t *ctx, lsm6dso_start_config_t *val)
 Sensor hub trigger signal selection.
int32_t lsm6dso_sh_write_mode_set (lsm6dso_ctx_t *ctx, lsm6dso_write_once_t val)
 Slave 0 write operation is performed only at the first sensor hub cycle.
int32_t lsm6dso_sh_write_mode_get (lsm6dso_ctx_t *ctx, lsm6dso_write_once_t *val)
 Slave 0 write operation is performed only at the first sensor hub cycle.
int32_t lsm6dso_sh_reset_set (lsm6dso_ctx_t *ctx)
 Reset Master logic and output registers.
int32_t lsm6dso_sh_reset_get (lsm6dso_ctx_t *ctx, uint8_t *val)
 Reset Master logic and output registers.
int32_t lsm6dso_sh_data_rate_set (lsm6dso_ctx_t *ctx, lsm6dso_shub_odr_t val)
 Rate at which the master communicates.
int32_t lsm6dso_sh_data_rate_get (lsm6dso_ctx_t *ctx, lsm6dso_shub_odr_t *val)
 Rate at which the master communicates.
int32_t lsm6dso_sh_cfg_write (lsm6dso_ctx_t *ctx, lsm6dso_sh_cfg_write_t *val)
 Configure slave 0 for perform a write.
int32_t lsm6dso_sh_slv0_cfg_read (lsm6dso_ctx_t *ctx, lsm6dso_sh_cfg_read_t *val)
 Configure slave 0 for perform a read.
int32_t lsm6dso_sh_slv1_cfg_read (lsm6dso_ctx_t *ctx, lsm6dso_sh_cfg_read_t *val)
 Configure slave 0 for perform a write/read.
int32_t lsm6dso_sh_slv2_cfg_read (lsm6dso_ctx_t *ctx, lsm6dso_sh_cfg_read_t *val)
 Configure slave 0 for perform a write/read.
int32_t lsm6dso_sh_slv3_cfg_read (lsm6dso_ctx_t *ctx, lsm6dso_sh_cfg_read_t *val)
 Configure slave 0 for perform a write/read.
int32_t lsm6dso_sh_status_get (lsm6dso_ctx_t *ctx, lsm6dso_status_master_t *val)
 Sensor hub source register.

Detailed Description

This file provides a set of functions needed to drive the lsm6dso enhanced inertial module.


Function Documentation

int32_t lsm6dso_4d_mode_get ( lsm6dso_ctx_t *  ctx,
uint8_t *  val 
)

4D orientation detection enable.

[get]

Parameters:
ctxread / write interface definitions
valchange the values of d4d_en in reg TAP_THS_6D

Definition at line 5008 of file lsm6dso_reg.c.

int32_t lsm6dso_4d_mode_set ( lsm6dso_ctx_t *  ctx,
uint8_t  val 
)

4D orientation detection enable.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of d4d_en in reg TAP_THS_6D

Definition at line 4988 of file lsm6dso_reg.c.

int32_t lsm6dso_6d_threshold_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_sixd_ths_t *  val 
)

Threshold for 4D/6D function.

[get]

Parameters:
ctxread / write interface definitions
valGet the values of sixd_ths in reg TAP_THS_6D

Definition at line 4955 of file lsm6dso_reg.c.

int32_t lsm6dso_6d_threshold_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_sixd_ths_t  val 
)

Threshold for 4D/6D function.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of sixd_ths in reg TAP_THS_6D

Definition at line 4935 of file lsm6dso_reg.c.

int32_t lsm6dso_acceleration_raw_get ( lsm6dso_ctx_t *  ctx,
uint8_t *  buff 
)

Linear acceleration output register.

The value is expressed as a 16-bit word in two’s complement.[get]

Parameters:
ctxread / write interface definitions
buffbuffer that stores data read

Definition at line 1070 of file lsm6dso_reg.c.

int32_t lsm6dso_act_mode_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_inact_en_t *  val 
)

Enable inactivity function.

[get]

Parameters:
ctxread / write interface definitions
valGet the values of inact_en in reg TAP_CFG2

Definition at line 4344 of file lsm6dso_reg.c.

int32_t lsm6dso_act_mode_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_inact_en_t  val 
)

Enable inactivity function.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of inact_en in reg TAP_CFG2

Definition at line 4324 of file lsm6dso_reg.c.

int32_t lsm6dso_act_pin_notification_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_sleep_status_on_int_t *  val 
)

Drives the sleep status instead of sleep change on INT pins (only if INT1_SLEEP_CHANGE or INT2_SLEEP_CHANGE bits are enabled).

[get]

Parameters:
ctxread / write interface definitions
valGet the values of sleep_status_on_int in reg TAP_CFG0

Definition at line 4296 of file lsm6dso_reg.c.

int32_t lsm6dso_act_pin_notification_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_sleep_status_on_int_t  val 
)

Drives the sleep status instead of sleep change on INT pins (only if INT1_SLEEP_CHANGE or INT2_SLEEP_CHANGE bits are enabled).

[set]

Parameters:
ctxread / write interface definitions
valchange the values of sleep_status_on_int in reg TAP_CFG0

Definition at line 4272 of file lsm6dso_reg.c.

int32_t lsm6dso_act_sleep_dur_get ( lsm6dso_ctx_t *  ctx,
uint8_t *  val 
)

Duration to go in sleep mode.

[get] 1 LSb = 512 / ODR

Parameters:
ctxread / write interface definitions
valchange the values of sleep_dur in reg WAKE_UP_DUR

Definition at line 4399 of file lsm6dso_reg.c.

int32_t lsm6dso_act_sleep_dur_set ( lsm6dso_ctx_t *  ctx,
uint8_t  val 
)

Duration to go in sleep mode.

[set] 1 LSb = 512 / ODR

Parameters:
ctxread / write interface definitions
valchange the values of sleep_dur in reg WAKE_UP_DUR

Definition at line 4378 of file lsm6dso_reg.c.

int32_t lsm6dso_all_on_int1_get ( lsm6dso_ctx_t *  ctx,
uint8_t *  val 
)

All interrupt signals become available on INT1 pin.

[get]

Parameters:
ctxread / write interface definitions
valchange the values of int2_on_int1 in reg CTRL4_C

Definition at line 3919 of file lsm6dso_reg.c.

int32_t lsm6dso_all_on_int1_set ( lsm6dso_ctx_t *  ctx,
uint8_t  val 
)

All interrupt signals become available on INT1 pin.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of int2_on_int1 in reg CTRL4_C

Definition at line 3898 of file lsm6dso_reg.c.

int32_t lsm6dso_all_sources_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_all_sources_t *  val 
)

Read all the interrupt flag of the device.

[get]

Parameters:
ctxread / write interface definitions
valregisters ALL_INT_SRC; WAKE_UP_SRC; TAP_SRC; D6D_SRC; STATUS_REG; EMB_FUNC_STATUS; FSM_STATUS_A/B

Definition at line 649 of file lsm6dso_reg.c.

int32_t lsm6dso_angular_rate_raw_get ( lsm6dso_ctx_t *  ctx,
uint8_t *  buff 
)

Angular rate sensor.

The value is expressed as a 16-bit word in two’s complement.[get]

Parameters:
ctxread / write interface definitions
buffbuffer that stores data read

Definition at line 1055 of file lsm6dso_reg.c.

int32_t lsm6dso_auto_increment_get ( lsm6dso_ctx_t *  ctx,
uint8_t *  val 
)

Register address automatically incremented during a multiple byte access with a serial interface.

[get]

Parameters:
ctxread / write interface definitions
valchange the values of if_inc in reg CTRL3_C

Definition at line 1573 of file lsm6dso_reg.c.

int32_t lsm6dso_auto_increment_set ( lsm6dso_ctx_t *  ctx,
uint8_t  val 
)

Register address automatically incremented during a multiple byte access with a serial interface.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of if_inc in reg CTRL3_C

Definition at line 1552 of file lsm6dso_reg.c.

int32_t lsm6dso_aux_den_mode_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_lvl2_ois_t *  val 
)

Configure DEN mode on the OIS chain.

[get]

Parameters:
ctxread / write interface definitions
valGet the values of lvl2_ois in reg INT_OIS

Definition at line 2618 of file lsm6dso_reg.c.

int32_t lsm6dso_aux_den_mode_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_lvl2_ois_t  val 
)

Configure DEN mode on the OIS chain.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of lvl2_ois in reg INT_OIS

Definition at line 2590 of file lsm6dso_reg.c.

int32_t lsm6dso_aux_den_polarity_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_den_lh_ois_t *  val 
)

Indicates polarity of DEN signal on OIS chain.

[get]

Parameters:
ctxread / write interface definitions
valGet the values of den_lh_ois in reg INT_OIS

Definition at line 2562 of file lsm6dso_reg.c.

int32_t lsm6dso_aux_den_polarity_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_den_lh_ois_t  val 
)

Indicates polarity of DEN signal on OIS chain.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of den_lh_ois in reg INT_OIS

Definition at line 2541 of file lsm6dso_reg.c.

int32_t lsm6dso_aux_drdy_on_int2_get ( lsm6dso_ctx_t *  ctx,
uint8_t *  val 
)

Enables/Disable OIS chain DRDY on INT2 pin.

This setting has priority over all other INT2 settings.[get]

Parameters:
ctxread / write interface definitions
valchange the values of int2_drdy_ois in reg INT_OIS

Definition at line 2674 of file lsm6dso_reg.c.

int32_t lsm6dso_aux_drdy_on_int2_set ( lsm6dso_ctx_t *  ctx,
uint8_t  val 
)

Enables/Disable OIS chain DRDY on INT2 pin.

This setting has priority over all other INT2 settings.[set]

Parameters:
ctxread / write interface definitions
valchange the values of int2_drdy_ois in reg INT_OIS

Definition at line 2653 of file lsm6dso_reg.c.

int32_t lsm6dso_aux_gy_clamp_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_st_ois_clampdis_t *  val 
)

Enable / Disables OIS chain clamp.

Enable: All OIS chain outputs = 8000h during self-test; Disable: OIS chain self-test outputs dependent from the aux gyro full scale selected.[set]

Parameters:
ctxread / write interface definitions
valGet the values of st_ois_clampdis in reg CTRL3_OIS

Definition at line 3006 of file lsm6dso_reg.c.

int32_t lsm6dso_aux_gy_clamp_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_st_ois_clampdis_t  val 
)

Enable / Disables OIS chain clamp.

Enable: All OIS chain outputs = 8000h during self-test; Disable: OIS chain self-test outputs dependent from the aux gyro full scale selected.[set]

Parameters:
ctxread / write interface definitions
valchange the values of st_ois_clampdis in reg CTRL3_OIS

Definition at line 2980 of file lsm6dso_reg.c.

int32_t lsm6dso_aux_gy_flag_data_ready_get ( lsm6dso_ctx_t *  ctx,
uint8_t *  val 
)

aux_gy_flag_data_ready: [get] AUX gyroscope data available.

Parameters:
ctxread / write interface definitions
valchange the values of gda in reg STATUS_SPIAUX

Definition at line 2450 of file lsm6dso_reg.c.

int32_t lsm6dso_aux_gy_flag_settling_get ( lsm6dso_ctx_t *  ctx,
uint8_t *  val 
)

High when the gyroscope output is in the settling phase.

[get]

Parameters:
ctxread / write interface definitions
valchange the values of gyro_settling in reg STATUS_SPIAUX

Definition at line 2468 of file lsm6dso_reg.c.

int32_t lsm6dso_aux_gy_full_scale_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_fs_g_ois_t *  val 
)

Selects gyroscope OIS chain full-scale.

[get]

Parameters:
ctxread / write interface definitions
valGet the values of fs_g_ois in reg CTRL1_OIS

Definition at line 2776 of file lsm6dso_reg.c.

int32_t lsm6dso_aux_gy_full_scale_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_fs_g_ois_t  val 
)

Selects gyroscope OIS chain full-scale.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of fs_g_ois in reg CTRL1_OIS

Definition at line 2755 of file lsm6dso_reg.c.

int32_t lsm6dso_aux_gy_hp_bandwidth_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_hpm_ois_t *  val 
)

Selects gyroscope OIS chain digital high-pass filter cutoff.

[get]

Parameters:
ctxread / write interface definitions
valGet the values of hpm_ois in reg CTRL2_OIS

Definition at line 2938 of file lsm6dso_reg.c.

int32_t lsm6dso_aux_gy_hp_bandwidth_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_hpm_ois_t  val 
)

Selects gyroscope OIS chain digital high-pass filter cutoff.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of hpm_ois in reg CTRL2_OIS

Definition at line 2916 of file lsm6dso_reg.c.

int32_t lsm6dso_aux_gy_lp1_bandwidth_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_ftype_ois_t *  val 
)

Selects gyroscope digital LPF1 filter bandwidth.

[get]

Parameters:
ctxread / write interface definitions
valGet the values of ftype_ois in reg CTRL2_OIS

Definition at line 2882 of file lsm6dso_reg.c.

int32_t lsm6dso_aux_gy_lp1_bandwidth_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_ftype_ois_t  val 
)

Selects gyroscope digital LPF1 filter bandwidth.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of ftype_ois in reg CTRL2_OIS

Definition at line 2861 of file lsm6dso_reg.c.

int32_t lsm6dso_aux_gy_self_test_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_st_ois_t *  val 
)

Selects gyroscope OIS chain self-test.

[get]

Parameters:
ctxread / write interface definitions
valGet the values of st_ois in reg CTRL3_OIS

Definition at line 3054 of file lsm6dso_reg.c.

int32_t lsm6dso_aux_gy_self_test_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_st_ois_t  val 
)

Selects gyroscope OIS chain self-test.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of st_ois in reg CTRL3_OIS

Definition at line 3034 of file lsm6dso_reg.c.

int32_t lsm6dso_aux_mode_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_ois_en_spi2_t *  val 
)

Enables OIS chain data processing for gyro in Mode 3 and Mode 4 (mode4_en = 1) and accelerometer data in and Mode 4 (mode4_en = 1).

When the OIS chain is enabled, the OIS outputs are available through the SPI2 in registers OUTX_L_G (22h) through OUTZ_H_G (27h) and STATUS_REG (1Eh) / STATUS_SPIAux, and LPF1 is dedicated to this chain.[get]

Parameters:
ctxread / write interface definitions
valGet the values of ois_en_spi2 in reg CTRL1_OIS

Definition at line 2725 of file lsm6dso_reg.c.

int32_t lsm6dso_aux_mode_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_ois_en_spi2_t  val 
)

Enables OIS chain data processing for gyro in Mode 3 and Mode 4 (mode4_en = 1) and accelerometer data in and Mode 4 (mode4_en = 1).

When the OIS chain is enabled, the OIS outputs are available through the SPI2 in registers OUTX_L_G (22h) through OUTZ_H_G (27h) and STATUS_REG (1Eh) / STATUS_SPIAux, and LPF1 is dedicated to this chain.[set]

Parameters:
ctxread / write interface definitions
valchange the values of ois_en_spi2 in reg CTRL1_OIS

Definition at line 2698 of file lsm6dso_reg.c.

int32_t lsm6dso_aux_pw_on_ctrl_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_ois_on_t *  val 
)

aux_pw_on_ctrl: [get] OIS chain on aux interface power on mode

Parameters:
ctxread / write interface definitions
valGet the values of ois_on in reg CTRL7_G

Definition at line 2328 of file lsm6dso_reg.c.

int32_t lsm6dso_aux_pw_on_ctrl_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_ois_on_t  val 
)

OIS chain on aux interface power on mode.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of ois_on in reg CTRL7_G

Definition at line 2307 of file lsm6dso_reg.c.

int32_t lsm6dso_aux_sdo_ocs_mode_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_ois_pu_dis_t *  val 
)

On auxiliary interface connect/disconnect SDO and OCS internal pull-up.

[get]

Parameters:
ctxread / write interface definitions
valGet the values of ois_pu_dis in reg PIN_CTRL

Definition at line 2279 of file lsm6dso_reg.c.

int32_t lsm6dso_aux_sdo_ocs_mode_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_ois_pu_dis_t  val 
)

aOn auxiliary interface connect/disconnect SDO and OCS internal pull-up.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of ois_pu_dis in reg PIN_CTRL

Definition at line 2257 of file lsm6dso_reg.c.

int32_t lsm6dso_aux_spi_mode_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_sim_ois_t *  val 
)

SPI2 3- or 4-wire interface.

[get]

Parameters:
ctxread / write interface definitions
valGet the values of sim_ois in reg CTRL1_OIS

Definition at line 2833 of file lsm6dso_reg.c.

int32_t lsm6dso_aux_spi_mode_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_sim_ois_t  val 
)

SPI2 3- or 4-wire interface.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of sim_ois in reg CTRL1_OIS

Definition at line 2813 of file lsm6dso_reg.c.

int32_t lsm6dso_aux_status_reg_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_status_spiaux_t *  val 
)

The STATUS_SPIAux register is read by the auxiliary SPI.

[get]

Parameters:
ctxread / write interface definitions
lsm6dso_status_spiaux_t,:registers STATUS_SPIAUX

Definition at line 2417 of file lsm6dso_reg.c.

int32_t lsm6dso_aux_xl_bandwidth_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_filter_xl_conf_ois_t *  val 
)

Selects accelerometer OIS channel bandwidth.

[get]

Parameters:
ctxread / write interface definitions
valGet the values of filter_xl_conf_ois in reg CTRL3_OIS

Definition at line 3107 of file lsm6dso_reg.c.

int32_t lsm6dso_aux_xl_bandwidth_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_filter_xl_conf_ois_t  val 
)

Selects accelerometer OIS channel bandwidth.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of filter_xl_conf_ois in reg CTRL3_OIS

Definition at line 3085 of file lsm6dso_reg.c.

int32_t lsm6dso_aux_xl_flag_data_ready_get ( lsm6dso_ctx_t *  ctx,
uint8_t *  val 
)

aux_xl_flag_data_ready: [get] AUX accelerometer data available

Parameters:
ctxread / write interface definitions
valchange the values of xlda in reg STATUS_SPIAUX

Definition at line 2432 of file lsm6dso_reg.c.

int32_t lsm6dso_aux_xl_fs_mode_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_xl_fs_mode_t *  val 
)

Accelerometer full-scale management between UI chain and OIS chain.

When XL UI is on, the full scale is the same between UI/OIS and is chosen by the UI CTRL registers; when XL UI is in PD, the OIS can choose the FS. Full scales are independent between the UI/OIS chain but both bound to 8 g.[get]

Parameters:
ctxread / write interface definitions
valGet the values of xl_fs_mode in reg CTRL8_XL

Definition at line 2388 of file lsm6dso_reg.c.

int32_t lsm6dso_aux_xl_fs_mode_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_xl_fs_mode_t  val 
)

Accelerometer full-scale management between UI chain and OIS chain.

When XL UI is on, the full scale is the same between UI/OIS and is chosen by the UI CTRL registers; when XL UI is in PD, the OIS can choose the FS. Full scales are independent between the UI/OIS chain but both bound to 8 g.[set]

Parameters:
ctxread / write interface definitions
valchange the values of xl_fs_mode in reg CTRL8_XL

Definition at line 2362 of file lsm6dso_reg.c.

int32_t lsm6dso_aux_xl_full_scale_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_fs_xl_ois_t *  val 
)

Selects accelerometer OIS channel full-scale.

[get]

Parameters:
ctxread / write interface definitions
valGet the values of fs_xl_ois in reg CTRL3_OIS

Definition at line 3176 of file lsm6dso_reg.c.

int32_t lsm6dso_aux_xl_full_scale_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_fs_xl_ois_t  val 
)

Selects accelerometer OIS channel full-scale.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of fs_xl_ois in reg CTRL3_OIS

Definition at line 3155 of file lsm6dso_reg.c.

int32_t lsm6dso_aux_xl_self_test_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_st_xl_ois_t *  val 
)

Selects accelerometer self-test.

Effective only if XL OIS chain is enabled.[get]

Parameters:
ctxread / write interface definitions
valGet the values of st_xl_ois in reg INT_OIS

Definition at line 2509 of file lsm6dso_reg.c.

int32_t lsm6dso_aux_xl_self_test_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_st_xl_ois_t  val 
)

Selects accelerometer self-test.

Effective only if XL OIS chain is enabled.[set]

Parameters:
ctxread / write interface definitions
valchange the values of st_xl_ois in reg INT_OIS

Definition at line 2487 of file lsm6dso_reg.c.

int32_t lsm6dso_batch_counter_threshold_get ( lsm6dso_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.

Definition at line 5929 of file lsm6dso_reg.c.

int32_t lsm6dso_batch_counter_threshold_set ( lsm6dso_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.

Definition at line 5900 of file lsm6dso_reg.c.

int32_t lsm6dso_block_data_update_get ( lsm6dso_ctx_t *  ctx,
uint8_t *  val 
)

Block data update.

[get]

Parameters:
ctxread / write interface definitions
valchange the values of bdu in reg CTRL3_C

Definition at line 463 of file lsm6dso_reg.c.

int32_t lsm6dso_block_data_update_set ( lsm6dso_ctx_t *  ctx,
uint8_t  val 
)

Block data update.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of bdu in reg CTRL3_C

Definition at line 443 of file lsm6dso_reg.c.

int32_t lsm6dso_boot_get ( lsm6dso_ctx_t *  ctx,
uint8_t *  val 
)

Reboot memory content.

Reload the calibration parameters.[get]

Parameters:
ctxread / write interface definitions
valchange the values of boot in reg CTRL3_C

Definition at line 1611 of file lsm6dso_reg.c.

int32_t lsm6dso_boot_set ( lsm6dso_ctx_t *  ctx,
uint8_t  val 
)

Reboot memory content.

Reload the calibration parameters.[set]

Parameters:
ctxread / write interface definitions
valchange the values of boot in reg CTRL3_C

Definition at line 1591 of file lsm6dso_reg.c.

int32_t lsm6dso_compression_algo_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_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

Definition at line 5309 of file lsm6dso_reg.c.

int32_t lsm6dso_compression_algo_init_get ( lsm6dso_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

Definition at line 5242 of file lsm6dso_reg.c.

int32_t lsm6dso_compression_algo_init_set ( lsm6dso_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

Definition at line 5214 of file lsm6dso_reg.c.

int32_t lsm6dso_compression_algo_real_time_get ( lsm6dso_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

Definition at line 5409 of file lsm6dso_reg.c.

int32_t lsm6dso_compression_algo_real_time_set ( lsm6dso_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

Definition at line 5388 of file lsm6dso_reg.c.

int32_t lsm6dso_compression_algo_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_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

Definition at line 5267 of file lsm6dso_reg.c.

int32_t lsm6dso_data_ready_mode_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_dataready_pulsed_t *  val 
)

Data-ready pulsed / letched mode.

[get]

Parameters:
ctxread / write interface definitions
valGet the values of dataready_pulsed in reg COUNTER_BDR_REG1

Definition at line 1469 of file lsm6dso_reg.c.

int32_t lsm6dso_data_ready_mode_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_dataready_pulsed_t  val 
)

Data-ready pulsed / letched mode.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of dataready_pulsed in reg COUNTER_BDR_REG1

Definition at line 1446 of file lsm6dso_reg.c.

int32_t lsm6dso_den_enable_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_den_xl_g_t *  val 
)

DEN enable.

[get]

Parameters:
ctxread / write interface definitions
valGet the values of den_xl_g in reg CTRL9_XL

Definition at line 6537 of file lsm6dso_reg.c.

int32_t lsm6dso_den_enable_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_den_xl_g_t  val 
)

DEN enable.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of den_xl_g in reg CTRL9_XL

Definition at line 6516 of file lsm6dso_reg.c.

int32_t lsm6dso_den_mark_axis_x_get ( lsm6dso_ctx_t *  ctx,
uint8_t *  val 
)

DEN value stored in LSB of X-axis.

[get]

Parameters:
ctxread / write interface definitions
valchange the values of den_z in reg CTRL9_XL

Definition at line 6589 of file lsm6dso_reg.c.

int32_t lsm6dso_den_mark_axis_x_set ( lsm6dso_ctx_t *  ctx,
uint8_t  val 
)

DEN value stored in LSB of X-axis.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of den_z in reg CTRL9_XL

Definition at line 6568 of file lsm6dso_reg.c.

int32_t lsm6dso_den_mark_axis_y_get ( lsm6dso_ctx_t *  ctx,
uint8_t *  val 
)

DEN value stored in LSB of Y-axis.

[get]

Parameters:
ctxread / write interface definitions
valchange the values of den_y in reg CTRL9_XL

Definition at line 6628 of file lsm6dso_reg.c.

int32_t lsm6dso_den_mark_axis_y_set ( lsm6dso_ctx_t *  ctx,
uint8_t  val 
)

DEN value stored in LSB of Y-axis.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of den_y in reg CTRL9_XL

Definition at line 6607 of file lsm6dso_reg.c.

int32_t lsm6dso_den_mark_axis_z_get ( lsm6dso_ctx_t *  ctx,
uint8_t *  val 
)

DEN value stored in LSB of Z-axis.

[get]

Parameters:
ctxread / write interface definitions
valchange the values of den_x in reg CTRL9_XL

Definition at line 6667 of file lsm6dso_reg.c.

int32_t lsm6dso_den_mark_axis_z_set ( lsm6dso_ctx_t *  ctx,
uint8_t  val 
)

DEN value stored in LSB of Z-axis.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of den_x in reg CTRL9_XL

Definition at line 6646 of file lsm6dso_reg.c.

int32_t lsm6dso_den_mode_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_den_mode_t *  val 
)

DEN functionality marking mode.

[get]

Parameters:
ctxread / write interface definitions
valGet the values of den_mode in reg CTRL6_C

Definition at line 6430 of file lsm6dso_reg.c.

int32_t lsm6dso_den_mode_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_den_mode_t  val 
)

DEN functionality marking mode.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of den_mode in reg CTRL6_C

Definition at line 6409 of file lsm6dso_reg.c.

int32_t lsm6dso_den_polarity_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_den_lh_t *  val 
)

DEN active level configuration.

[get]

Parameters:
ctxread / write interface definitions
valGet the values of den_lh in reg CTRL9_XL

Definition at line 6488 of file lsm6dso_reg.c.

int32_t lsm6dso_den_polarity_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_den_lh_t  val 
)

DEN active level configuration.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of den_lh in reg CTRL9_XL

Definition at line 6467 of file lsm6dso_reg.c.

int32_t lsm6dso_device_id_get ( lsm6dso_ctx_t *  ctx,
uint8_t *  buff 
)

Device "Who am I".

[get]

Parameters:
ctxread / write interface definitions
buffbuffer that stores data read

Definition at line 1497 of file lsm6dso_reg.c.

int32_t lsm6dso_emb_fsm_en_get ( lsm6dso_ctx_t *  ctx,
uint8_t *  val 
)

Final State Machine global enable.

[get]

Parameters:
ctxread / write interface definitions
uint8_t*: return the values of fsm_en in reg EMB_FUNC_EN_B

Definition at line 7671 of file lsm6dso_reg.c.

int32_t lsm6dso_emb_fsm_en_set ( lsm6dso_ctx_t *  ctx,
uint8_t  val 
)

Final State Machine global enable.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of fsm_en in reg EMB_FUNC_EN_B

Definition at line 7645 of file lsm6dso_reg.c.

int32_t lsm6dso_ff_dur_get ( lsm6dso_ctx_t *  ctx,
uint8_t *  val 
)

Free-fall duration event.

[get] 1LSb = 1 / ODR

Parameters:
ctxread / write interface definitions
valchange the values of ff_dur in reg FREE_FALL

Definition at line 5134 of file lsm6dso_reg.c.

int32_t lsm6dso_ff_dur_set ( lsm6dso_ctx_t *  ctx,
uint8_t  val 
)

Free-fall duration event.

[set] 1LSb = 1 / ODR

Parameters:
ctxread / write interface definitions
valchange the values of ff_dur in reg FREE_FALL

Definition at line 5104 of file lsm6dso_reg.c.

int32_t lsm6dso_ff_threshold_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_ff_ths_t *  val 
)

Free fall threshold setting.

[get]

Parameters:
ctxread / write interface definitions
valGet the values of ff_ths in reg FREE_FALL

Definition at line 5058 of file lsm6dso_reg.c.

int32_t lsm6dso_ff_threshold_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_ff_ths_t  val 
)

Free fall threshold setting.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of ff_ths in reg FREE_FALL

Definition at line 5038 of file lsm6dso_reg.c.

int32_t lsm6dso_fifo_cnt_event_batch_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_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

Definition at line 5829 of file lsm6dso_reg.c.

int32_t lsm6dso_fifo_cnt_event_batch_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_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

Definition at line 5806 of file lsm6dso_reg.c.

int32_t lsm6dso_fifo_data_level_get ( lsm6dso_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

Definition at line 5955 of file lsm6dso_reg.c.

int32_t lsm6dso_fifo_full_flag_get ( lsm6dso_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

Definition at line 5994 of file lsm6dso_reg.c.

int32_t lsm6dso_fifo_gy_batch_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_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

Definition at line 5570 of file lsm6dso_reg.c.

int32_t lsm6dso_fifo_gy_batch_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_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

Definition at line 5549 of file lsm6dso_reg.c.

int32_t lsm6dso_fifo_mode_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_fifo_mode_t *  val 
)

FIFO mode selection.

[get]

Parameters:
ctxread / write interface definitions
valGet the values of fifo_mode in reg FIFO_CTRL4

Definition at line 5647 of file lsm6dso_reg.c.

int32_t lsm6dso_fifo_mode_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_fifo_mode_t  val 
)

FIFO mode selection.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of fifo_mode in reg FIFO_CTRL4

Definition at line 5627 of file lsm6dso_reg.c.

int32_t lsm6dso_fifo_out_raw_get ( lsm6dso_ctx_t *  ctx,
uint8_t *  buff 
)

FIFO data output [get].

Parameters:
ctxread / write interface definitions
buffbuffer that stores data read

Definition at line 1084 of file lsm6dso_reg.c.

int32_t lsm6dso_fifo_ovr_flag_get ( lsm6dso_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

Definition at line 6013 of file lsm6dso_reg.c.

int32_t lsm6dso_fifo_pedo_batch_get ( lsm6dso_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 LSM6DSO_EMB_FUNC_FIFO_CFG

Definition at line 6164 of file lsm6dso_reg.c.

int32_t lsm6dso_fifo_pedo_batch_set ( lsm6dso_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 LSM6DSO_EMB_FUNC_FIFO_CFG

Definition at line 6136 of file lsm6dso_reg.c.

int32_t lsm6dso_fifo_sensor_tag_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_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

Definition at line 6049 of file lsm6dso_reg.c.

int32_t lsm6dso_fifo_status_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_fifo_status2_t *  val 
)

FIFO status.

[get]

Parameters:
ctxread / write interface definitions
valregisters FIFO_STATUS2

Definition at line 5979 of file lsm6dso_reg.c.

int32_t lsm6dso_fifo_stop_on_wtm_get ( lsm6dso_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

Definition at line 5450 of file lsm6dso_reg.c.

int32_t lsm6dso_fifo_stop_on_wtm_set ( lsm6dso_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

Definition at line 5429 of file lsm6dso_reg.c.

int32_t lsm6dso_fifo_temp_batch_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_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

Definition at line 5710 of file lsm6dso_reg.c.

int32_t lsm6dso_fifo_temp_batch_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_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

Definition at line 5688 of file lsm6dso_reg.c.

int32_t lsm6dso_fifo_timestamp_decimation_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_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

Definition at line 5770 of file lsm6dso_reg.c.

int32_t lsm6dso_fifo_timestamp_decimation_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_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

Definition at line 5747 of file lsm6dso_reg.c.

int32_t lsm6dso_fifo_virtual_sens_odr_chg_get ( lsm6dso_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

Definition at line 5368 of file lsm6dso_reg.c.

int32_t lsm6dso_fifo_virtual_sens_odr_chg_set ( lsm6dso_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

Definition at line 5347 of file lsm6dso_reg.c.

int32_t lsm6dso_fifo_watermark_get ( lsm6dso_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

Definition at line 5192 of file lsm6dso_reg.c.

int32_t lsm6dso_fifo_watermark_set ( lsm6dso_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

Definition at line 5167 of file lsm6dso_reg.c.

int32_t lsm6dso_fifo_wtm_flag_get ( lsm6dso_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

Definition at line 6031 of file lsm6dso_reg.c.

int32_t lsm6dso_fifo_xl_batch_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_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

Definition at line 5490 of file lsm6dso_reg.c.

int32_t lsm6dso_fifo_xl_batch_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_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

Definition at line 5469 of file lsm6dso_reg.c.

int32_t lsm6dso_filter_settling_mask_get ( lsm6dso_ctx_t *  ctx,
uint8_t *  val 
)

Mask DRDY on pin (both XL & Gyro) until filter settling ends (XL and Gyro independently masked).

[get]

Parameters:
ctxread / write interface definitions
valchange the values of drdy_mask in reg CTRL4_C

Definition at line 1844 of file lsm6dso_reg.c.

int32_t lsm6dso_filter_settling_mask_set ( lsm6dso_ctx_t *  ctx,
uint8_t  val 
)

Mask DRDY on pin (both XL & Gyro) until filter settling ends (XL and Gyro independently masked).

[set]

Parameters:
ctxread / write interface definitions
valchange the values of drdy_mask in reg CTRL4_C

Definition at line 1823 of file lsm6dso_reg.c.

int32_t lsm6dso_fsm_data_rate_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_fsm_odr_t *  val 
)

Finite State Machine ODR configuration.

[get]

Parameters:
ctxread / write interface definitions
valGet the values of fsm_odr in reg EMB_FUNC_ODR_CFG_B

Definition at line 7946 of file lsm6dso_reg.c.

int32_t lsm6dso_fsm_data_rate_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_fsm_odr_t  val 
)

Finite State Machine ODR configuration.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of fsm_odr in reg EMB_FUNC_ODR_CFG_B

Definition at line 7916 of file lsm6dso_reg.c.

int32_t lsm6dso_fsm_enable_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_emb_fsm_enable_t *  val 
)

Final State Machine enable.

[get]

Parameters:
ctxread / write interface definitions
valunion of registers from FSM_ENABLE_A to FSM_ENABLE_B

Definition at line 7755 of file lsm6dso_reg.c.

int32_t lsm6dso_fsm_enable_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_emb_fsm_enable_t *  val 
)

Final State Machine enable.

[set]

Parameters:
ctxread / write interface definitions
valunion of registers from FSM_ENABLE_A to FSM_ENABLE_B

Definition at line 7698 of file lsm6dso_reg.c.

int32_t lsm6dso_fsm_init_get ( lsm6dso_ctx_t *  ctx,
uint8_t *  val 
)

FSM initialization request.

[get]

Parameters:
ctxread / write interface definitions
valchange the values of fsm_init in reg FSM_INIT

Definition at line 8014 of file lsm6dso_reg.c.

int32_t lsm6dso_fsm_init_set ( lsm6dso_ctx_t *  ctx,
uint8_t  val 
)

FSM initialization request.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of fsm_init in reg FSM_INIT

Definition at line 7987 of file lsm6dso_reg.c.

int32_t lsm6dso_fsm_number_of_programs_get ( lsm6dso_ctx_t *  ctx,
uint8_t *  val 
)

FSM number of programs register.

[get]

Parameters:
ctxread / write interface definitions
valbuffer that stores data read.

Definition at line 8107 of file lsm6dso_reg.c.

int32_t lsm6dso_fsm_number_of_programs_set ( lsm6dso_ctx_t *  ctx,
uint8_t  val 
)

FSM number of programs register.

[set]

Parameters:
ctxread / write interface definitions
valvalue to write

Definition at line 8091 of file lsm6dso_reg.c.

int32_t lsm6dso_fsm_out_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_fsm_out_t *  val 
)

FSM output registers[get].

Parameters:
ctxread / write interface definitions
valstruct of registers from FSM_OUTS1 to FSM_OUTS16

Definition at line 7894 of file lsm6dso_reg.c.

int32_t lsm6dso_fsm_start_address_get ( lsm6dso_ctx_t *  ctx,
uint16_t *  val 
)

FSM start address register (r/w).

First available address is 0x033C.[get]

Parameters:
ctxread / write interface definitions
valbuffer the value of start address.

Definition at line 8148 of file lsm6dso_reg.c.

int32_t lsm6dso_fsm_start_address_set ( lsm6dso_ctx_t *  ctx,
uint16_t  val 
)

FSM start address register (r/w).

First available address is 0x033C.[set]

Parameters:
ctxread / write interface definitions
valthe value of start address

Definition at line 8124 of file lsm6dso_reg.c.

int32_t lsm6dso_gy_data_rate_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_odr_g_t *  val 
)

Gyroscope UI data rate selection.

[get]

Parameters:
ctxread / write interface definitions
valGet the values of odr_g in reg CTRL2_G

Definition at line 389 of file lsm6dso_reg.c.

int32_t lsm6dso_gy_data_rate_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_odr_g_t  val 
)

Gyroscope UI data rate selection.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of odr_g in reg CTRL2_G

Definition at line 368 of file lsm6dso_reg.c.

int32_t lsm6dso_gy_filter_lp1_get ( lsm6dso_ctx_t *  ctx,
uint8_t *  val 
)

Enables gyroscope digital LPF1 if auxiliary SPI is disabled; the bandwidth can be selected through FTYPE [2:0] in CTRL6_C (15h).

[get]

Parameters:
ctxread / write interface definitions
valchange the values of lpf1_sel_g in reg CTRL4_C

Definition at line 1804 of file lsm6dso_reg.c.

int32_t lsm6dso_gy_filter_lp1_set ( lsm6dso_ctx_t *  ctx,
uint8_t  val 
)

Enables gyroscope digital LPF1 if auxiliary SPI is disabled; the bandwidth can be selected through FTYPE [2:0] in CTRL6_C (15h).

[set]

Parameters:
ctxread / write interface definitions
valchange the values of lpf1_sel_g in reg CTRL4_C

Definition at line 1782 of file lsm6dso_reg.c.

int32_t lsm6dso_gy_flag_data_ready_get ( lsm6dso_ctx_t *  ctx,
uint8_t *  val 
)

Gyroscope new data available.

[get]

Parameters:
ctxread / write interface definitions
valchange the values of gda in reg STATUS_REG

Definition at line 733 of file lsm6dso_reg.c.

int32_t lsm6dso_gy_full_scale_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_fs_g_t *  val 
)

Gyroscope UI chain full-scale selection.

[get]

Parameters:
ctxread / write interface definitions
valGet the values of fs_g in reg CTRL2_G

Definition at line 331 of file lsm6dso_reg.c.

int32_t lsm6dso_gy_full_scale_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_fs_g_t  val 
)

Gyroscope UI chain full-scale selection.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of fs_g in reg CTRL2_G

Definition at line 310 of file lsm6dso_reg.c.

int32_t lsm6dso_gy_hp_path_internal_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_hpm_g_t *  val 
)

Enables gyroscope digital high-pass filter.

The filter is enabled only if the gyro is in HP mode.[get]

Parameters:
ctxread / write interface definitions
valGet the values of hp_en_g and hp_en_g in reg CTRL7_G

Definition at line 2205 of file lsm6dso_reg.c.

int32_t lsm6dso_gy_hp_path_internal_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_hpm_g_t  val 
)

Enables gyroscope digital high-pass filter.

The filter is enabled only if the gyro is in HP mode.[set]

Parameters:
ctxread / write interface definitions
valGet the values of hp_en_g and hp_en_g in reg CTRL7_G

Definition at line 2181 of file lsm6dso_reg.c.

int32_t lsm6dso_gy_lp1_bandwidth_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_ftype_t *  val 
)

Gyroscope lp1 bandwidth.

[get]

Parameters:
ctxread / write interface definitions
valGet the values of ftype in reg CTRL6_C

Definition at line 1882 of file lsm6dso_reg.c.

int32_t lsm6dso_gy_lp1_bandwidth_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_ftype_t  val 
)

Gyroscope lp1 bandwidth.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of ftype in reg CTRL6_C

Definition at line 1862 of file lsm6dso_reg.c.

int32_t lsm6dso_gy_power_mode_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_g_hm_mode_t *  val 
)

Operating mode for gyroscope.

[get]

Parameters:
ctxread / write interface definitions
valGet the values of g_hm_mode in reg CTRL7_G

Definition at line 619 of file lsm6dso_reg.c.

int32_t lsm6dso_gy_power_mode_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_g_hm_mode_t  val 
)

Operating mode for gyroscope.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of g_hm_mode in reg CTRL7_G

Definition at line 598 of file lsm6dso_reg.c.

int32_t lsm6dso_gy_self_test_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_st_g_t *  val 
)

Angular rate sensor self-test enable.

[get]

Parameters:
ctxread / write interface definitions
valGet the values of st_g in reg CTRL5_C

Definition at line 1699 of file lsm6dso_reg.c.

int32_t lsm6dso_gy_self_test_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_st_g_t  val 
)

Angular rate sensor self-test enable.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of st_g in reg CTRL5_C

Definition at line 1679 of file lsm6dso_reg.c.

int32_t lsm6dso_gy_sleep_mode_get ( lsm6dso_ctx_t *  ctx,
uint8_t *  val 
)

Enables gyroscope Sleep mode.

[get]

Parameters:
ctxread / write interface definitions
valchange the values of sleep_g in reg CTRL4_C

Definition at line 4251 of file lsm6dso_reg.c.

int32_t lsm6dso_gy_sleep_mode_set ( lsm6dso_ctx_t *  ctx,
uint8_t  val 
)

Enables gyroscope Sleep mode.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of sleep_g in reg CTRL4_C

Definition at line 4231 of file lsm6dso_reg.c.

int32_t lsm6dso_i2c_interface_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_i2c_disable_t *  val 
)

Disable / Enable I2C interface.

[get]

Parameters:
ctxread / write interface definitions
valGet the values of i2c_disable in reg CTRL4_C

Definition at line 3341 of file lsm6dso_reg.c.

int32_t lsm6dso_i2c_interface_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_i2c_disable_t  val 
)

Disable / Enable I2C interface.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of i2c_disable in reg CTRL4_C

Definition at line 3319 of file lsm6dso_reg.c.

int32_t lsm6dso_i3c_disable_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_i3c_disable_t *  val 
)

I3C Enable/Disable communication protocol.

[get]

Parameters:
ctxread / write interface definitions
valchange the values of i3c_disable in reg CTRL9_XL

Definition at line 3403 of file lsm6dso_reg.c.

int32_t lsm6dso_i3c_disable_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_i3c_disable_t  val 
)

I3C Enable/Disable communication protocol[.set].

Parameters:
ctxread / write interface definitions
valchange the values of i3c_disable in reg CTRL9_XL

Definition at line 3370 of file lsm6dso_reg.c.

int32_t lsm6dso_int1_mode_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_int1_pd_en_t *  val 
)

Connect/Disconnect INT1 internal pull-down.

[get]

Parameters:
ctxread / write interface definitions
valGet the values of pd_dis_int1 in reg I3C_BUS_AVB

Definition at line 3477 of file lsm6dso_reg.c.

int32_t lsm6dso_int1_mode_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_int1_pd_en_t  val 
)

Connect/Disconnect INT1 internal pull-down.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of pd_dis_int1 in reg I3C_BUS_AVB

Definition at line 3457 of file lsm6dso_reg.c.

int32_t lsm6dso_int_notification_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_lir_t *  val 
)

Interrupt notification mode.

[get]

Parameters:
ctxread / write interface definitions
valGet the values of lir in reg TAP_CFG0

Definition at line 3974 of file lsm6dso_reg.c.

int32_t lsm6dso_int_notification_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_lir_t  val 
)

Interrupt notification mode.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of lir in reg TAP_CFG0

Definition at line 3937 of file lsm6dso_reg.c.

int32_t lsm6dso_ln_pg_read_byte ( lsm6dso_ctx_t *  ctx,
uint16_t  address,
uint8_t *  val 
)

Read a line(byte) in a page.

[get]

Parameters:
ctxread / write interface definitions
uint8_taddress: page line address
valread value

Definition at line 1388 of file lsm6dso_reg.c.

int32_t lsm6dso_ln_pg_write ( lsm6dso_ctx_t *  ctx,
uint16_t  address,
uint8_t *  buf,
uint8_t  len 
)

Write buffer in a page.

[set]

Parameters:
ctxread / write interface definitions
uint8_taddress: page line address
uint8_t*buf: buffer to write
uint8_tlen: buffer len

Definition at line 1313 of file lsm6dso_reg.c.

int32_t lsm6dso_ln_pg_write_byte ( lsm6dso_ctx_t *  ctx,
uint16_t  address,
uint8_t *  val 
)

Write a line(byte) in a page.

[set]

Parameters:
ctxread / write interface definitions
uint8_taddress: page line address
valvalue to write

Definition at line 1256 of file lsm6dso_reg.c.

int32_t lsm6dso_long_clr_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_fsm_lc_clr_t *  val 
)

Clear FSM long counter value.

[get]

Parameters:
ctxread / write interface definitions
valGet the values of fsm_lc_clr in reg FSM_LONG_COUNTER_CLEAR

Definition at line 7853 of file lsm6dso_reg.c.

int32_t lsm6dso_long_clr_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_fsm_lc_clr_t  val 
)

Clear FSM long counter value.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of fsm_lc_clr in reg FSM_LONG_COUNTER_CLEAR

Definition at line 7824 of file lsm6dso_reg.c.

int32_t lsm6dso_long_cnt_flag_data_ready_get ( lsm6dso_ctx_t *  ctx,
uint8_t *  val 
)

Interrupt status bit for FSM long counter timeout interrupt event.

[get]

Parameters:
ctxread / write interface definitions
valchange the values of is_fsm_lc in reg EMB_FUNC_STATUS

Definition at line 7622 of file lsm6dso_reg.c.

int32_t lsm6dso_long_cnt_get ( lsm6dso_ctx_t *  ctx,
uint8_t *  buff 
)

FSM long counter status register.

Long counter value is an unsigned integer value (16-bit format).[get]

Parameters:
ctxread / write interface definitions
buffbuffer that stores data read

Definition at line 7801 of file lsm6dso_reg.c.

int32_t lsm6dso_long_cnt_int_value_get ( lsm6dso_ctx_t *  ctx,
uint16_t *  val 
)

FSM long counter timeout register (r/w).

The long counter timeout value is an unsigned integer value (16-bit format). When the long counter value reached this value, the FSM generates an interrupt.[get]

Parameters:
ctxread / write interface definitions
valbuffer that stores the value of long counter

Definition at line 8067 of file lsm6dso_reg.c.

int32_t lsm6dso_long_cnt_int_value_set ( lsm6dso_ctx_t *  ctx,
uint16_t  val 
)

FSM long counter timeout register (r/w).

The long counter timeout value is an unsigned integer value (16-bit format). When the long counter value reached this value, the FSM generates an interrupt.[set]

Parameters:
ctxread / write interface definitions
valthe value of long counter

Definition at line 8040 of file lsm6dso_reg.c.

int32_t lsm6dso_long_cnt_set ( lsm6dso_ctx_t *  ctx,
uint8_t *  buff 
)

FSM long counter status register.

Long counter value is an unsigned integer value (16-bit format).[set]

Parameters:
ctxread / write interface definitions
buffbuffer that contains data to write

Definition at line 7778 of file lsm6dso_reg.c.

int32_t lsm6dso_mag_offset_get ( lsm6dso_ctx_t *  ctx,
uint8_t *  buff 
)

Offset for hard-iron compensation register (r/w).

[get]

Parameters:
ctxread / write interface definitions
buffbuffer that stores data read

Definition at line 7222 of file lsm6dso_reg.c.

int32_t lsm6dso_mag_offset_set ( lsm6dso_ctx_t *  ctx,
uint8_t *  buff 
)

Offset for hard-iron compensation register (r/w).

[set]

Parameters:
ctxread / write interface definitions
buffbuffer that contains data to write

Definition at line 7183 of file lsm6dso_reg.c.

int32_t lsm6dso_mag_sensitivity_get ( lsm6dso_ctx_t *  ctx,
uint8_t *  buff 
)

External magnetometer sensitivity value register.

[get]

Parameters:
ctxread / write interface definitions
buffbuffer that stores data read

Definition at line 7159 of file lsm6dso_reg.c.

int32_t lsm6dso_mag_sensitivity_set ( lsm6dso_ctx_t *  ctx,
uint8_t *  buff 
)

External magnetometer sensitivity value register.

[set]

Parameters:
ctxread / write interface definitions
buffbuffer that contains data to write

Definition at line 7135 of file lsm6dso_reg.c.

int32_t lsm6dso_mag_soft_iron_get ( lsm6dso_ctx_t *  ctx,
uint8_t *  buff 
)

Soft-iron (3x3 symmetric) matrix correction register (r/w).

The value is expressed as half-precision floating-point format: SEEEEEFFFFFFFFFF S: 1 sign bit; E: 5 exponent bits; F: 10 fraction bits.[get]

Parameters:
ctxread / write interface definitions
buffbuffer that stores data read

Definition at line 7341 of file lsm6dso_reg.c.

int32_t lsm6dso_mag_soft_iron_set ( lsm6dso_ctx_t *  ctx,
uint8_t *  buff 
)

Soft-iron (3x3 symmetric) matrix correction register (r/w).

The value is expressed as half-precision floating-point format: SEEEEEFFFFFFFFFF S: 1 sign bit; E: 5 exponent bits; F: 10 fraction bits).[set]

Parameters:
ctxread / write interface definitions
buffbuffer that contains data to write

Definition at line 7267 of file lsm6dso_reg.c.

int32_t lsm6dso_mag_x_orient_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_mag_x_axis_t *  val 
)

Magnetometer X-axis coordinates rotation (to be aligned to accelerometer/gyroscope axes orientation).

[get]

Parameters:
ctxread / write interface definitions
valGet the values of mag_x_axis in reg MAG_CFG_B

Definition at line 7568 of file lsm6dso_reg.c.

int32_t lsm6dso_mag_x_orient_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_mag_x_axis_t  val 
)

Magnetometer X-axis coordinates rotation (to be aligned to accelerometer/gyroscope axes orientation).

[set]

Parameters:
ctxread / write interface definitions
valchange the values of mag_x_axis in reg MAG_CFG_B

Definition at line 7544 of file lsm6dso_reg.c.

int32_t lsm6dso_mag_y_orient_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_mag_y_axis_t *  val 
)

Magnetometer Y-axis coordinates rotation (to be aligned to accelerometer/gyroscope axes orientation).

[get]

Parameters:
ctxread / write interface definitions
valGet the values of mag_y_axis in reg MAG_CFG_A

Definition at line 7501 of file lsm6dso_reg.c.

int32_t lsm6dso_mag_y_orient_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_mag_y_axis_t  val 
)

Magnetometer Y-axis coordinates rotation (to be aligned to accelerometer/gyroscope axes orientation).

[set]

Parameters:
ctxread / write interface definitions
valchange the values of mag_y_axis in reg MAG_CFG_A

Definition at line 7477 of file lsm6dso_reg.c.

int32_t lsm6dso_mag_z_orient_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_mag_z_axis_t *  val 
)

Magnetometer Z-axis coordinates rotation (to be aligned to accelerometer/gyroscope axes orientation).

[get]

Parameters:
ctxread / write interface definitions
valGet the values of mag_z_axis in reg MAG_CFG_A

Definition at line 7435 of file lsm6dso_reg.c.

int32_t lsm6dso_mag_z_orient_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_mag_z_axis_t  val 
)

Magnetometer Z-axis coordinates rotation (to be aligned to accelerometer/gyroscope axes orientation).

[set]

Parameters:
ctxread / write interface definitions
valchange the values of mag_z_axis in reg MAG_CFG_A

Definition at line 7411 of file lsm6dso_reg.c.

int32_t lsm6dso_mem_bank_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_reg_access_t *  val 
)

Enable access to the embedded functions/sensor hub configuration registers.

[get]

Parameters:
ctxread / write interface definitions
valGet the values of reg_access in reg FUNC_CFG_ACCESS

Definition at line 1225 of file lsm6dso_reg.c.

int32_t lsm6dso_mem_bank_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_reg_access_t  val 
)

Enable access to the embedded functions/sensor hub configuration registers.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of reg_access in reg FUNC_CFG_ACCESS

Definition at line 1203 of file lsm6dso_reg.c.

int32_t lsm6dso_motion_flag_data_ready_get ( lsm6dso_ctx_t *  ctx,
uint8_t *  val 
)

Interrupt status bit for significant motion detection.

[get]

Parameters:
ctxread / write interface definitions
valchange the values of is_sigmot in reg EMB_FUNC_STATUS

Definition at line 7011 of file lsm6dso_reg.c.

int32_t lsm6dso_motion_sens_get ( lsm6dso_ctx_t *  ctx,
uint8_t *  val 
)

Enable significant motion detection function.

[get]

Parameters:
ctxread / write interface definitions
valchange the values of sign_motion_en in reg EMB_FUNC_EN_A

Definition at line 6988 of file lsm6dso_reg.c.

int32_t lsm6dso_motion_sens_set ( lsm6dso_ctx_t *  ctx,
uint8_t  val 
)

Enable significant motion detection function.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of sign_motion_en in reg EMB_FUNC_EN_A

Definition at line 6962 of file lsm6dso_reg.c.

int32_t lsm6dso_number_of_steps_get ( lsm6dso_ctx_t *  ctx,
uint8_t *  buff 
)

Step counter output register.

[get]

Parameters:
ctxread / write interface definitions
buffbuffer that stores data read

Definition at line 1098 of file lsm6dso_reg.c.

int32_t lsm6dso_odr_cal_reg_get ( lsm6dso_ctx_t *  ctx,
uint8_t *  val 
)

Difference in percentage of the effective ODR(and timestamp rate) with respect to the typical.

Step: 0.15%. 8-bit format, 2's complement.[get]

Parameters:
ctxread / write interface definitions
valchange the values of freq_fine in reg INTERNAL_FREQ_FINE

Definition at line 1182 of file lsm6dso_reg.c.

int32_t lsm6dso_odr_cal_reg_set ( lsm6dso_ctx_t *  ctx,
uint8_t  val 
)

Difference in percentage of the effective ODR(and timestamp rate) with respect to the typical.

Step: 0.15%. 8-bit format, 2's complement.[set]

Parameters:
ctxread / write interface definitions
valchange the values of freq_fine in reg INTERNAL_FREQ_FINE

Definition at line 1159 of file lsm6dso_reg.c.

int32_t lsm6dso_pedo_debounce_steps_get ( lsm6dso_ctx_t *  ctx,
uint8_t *  buff 
)

Pedometer debounce configuration register (r/w).

[get]

Parameters:
ctxread / write interface definitions
buffbuffer that stores data read

Definition at line 6839 of file lsm6dso_reg.c.

int32_t lsm6dso_pedo_debounce_steps_set ( lsm6dso_ctx_t *  ctx,
uint8_t *  buff 
)

Pedometer debounce configuration register (r/w).

[set]

Parameters:
ctxread / write interface definitions
buffbuffer that contains data to write

Definition at line 6825 of file lsm6dso_reg.c.

int32_t lsm6dso_pedo_int_mode_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_carry_count_en_t *  val 
)

Set when user wants to generate interrupt on count overflow event/every step.

[get]

Parameters:
ctxread / write interface definitions
valGet the values of carry_count_en in reg PEDO_CMD_REG

Definition at line 6921 of file lsm6dso_reg.c.

int32_t lsm6dso_pedo_int_mode_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_carry_count_en_t  val 
)

Set when user wants to generate interrupt on count overflow event/every step.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of carry_count_en in reg PEDO_CMD_REG

Definition at line 6898 of file lsm6dso_reg.c.

int32_t lsm6dso_pedo_sens_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_pedo_md_t *  val 
)

Enable pedometer algorithm.

[get]

Parameters:
ctxread / write interface definitions
valturn on and configure pedometer

Definition at line 6747 of file lsm6dso_reg.c.

int32_t lsm6dso_pedo_sens_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_pedo_md_t  val 
)

Enable pedometer algorithm.

[set]

Parameters:
ctxread / write interface definitions
valturn on and configure pedometer

Definition at line 6697 of file lsm6dso_reg.c.

int32_t lsm6dso_pedo_step_detect_get ( lsm6dso_ctx_t *  ctx,
uint8_t *  val 
)

Interrupt status bit for step detection.

[get]

Parameters:
ctxread / write interface definitions
valchange the values of is_step_det in reg EMB_FUNC_STATUS

Definition at line 6801 of file lsm6dso_reg.c.

int32_t lsm6dso_pedo_steps_period_get ( lsm6dso_ctx_t *  ctx,
uint8_t *  buff 
)

Time period register for step detection on delta time (r/w).

[get]

Parameters:
ctxread / write interface definitions
buffbuffer that stores data read

Definition at line 6875 of file lsm6dso_reg.c.

int32_t lsm6dso_pedo_steps_period_set ( lsm6dso_ctx_t *  ctx,
uint8_t *  buff 
)

Time period register for step detection on delta time (r/w).

[set]

Parameters:
ctxread / write interface definitions
buffbuffer that contains data to write

Definition at line 6853 of file lsm6dso_reg.c.

int32_t lsm6dso_pin_int1_route_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_pin_int1_route_t *  val 
)

Select the signal that need to route on int1 pad.

[get]

Parameters:
ctxread / write interface definitions
valstruct of registers: INT1_CTRL, MD1_CFG, EMB_FUNC_INT1, FSM_INT1_A, FSM_INT1_B

Definition at line 3613 of file lsm6dso_reg.c.

int32_t lsm6dso_pin_int1_route_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_pin_int1_route_t *  val 
)

Select the signal that need to route on int1 pad.

[set]

Parameters:
ctxread / write interface definitions
valstruct of registers: INT1_CTRL, MD1_CFG, EMB_FUNC_INT1, FSM_INT1_A, FSM_INT1_B

Definition at line 3506 of file lsm6dso_reg.c.

int32_t lsm6dso_pin_int2_route_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_pin_int2_route_t *  val 
)

Select the signal that need to route on int2 pad.

[get]

Parameters:
ctxread / write interface definitions
valunion of registers INT2_CTRL, MD2_CFG, EMB_FUNC_INT2, FSM_INT2_A, FSM_INT2_B

Definition at line 3762 of file lsm6dso_reg.c.

int32_t lsm6dso_pin_int2_route_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_pin_int2_route_t *  val 
)

Select the signal that need to route on int2 pad.

[set]

Parameters:
ctxread / write interface definitions
valunion of registers INT2_CTRL, MD2_CFG, EMB_FUNC_INT2, FSM_INT2_A, FSM_INT2_B

Definition at line 3654 of file lsm6dso_reg.c.

int32_t lsm6dso_pin_mode_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_pp_od_t *  val 
)

Push-pull/open drain selection on interrupt pads.

[get]

Parameters:
ctxread / write interface definitions
valGet the values of pp_od in reg CTRL3_C

Definition at line 3821 of file lsm6dso_reg.c.

int32_t lsm6dso_pin_mode_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_pp_od_t  val 
)

Push-pull/open drain selection on interrupt pads.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of pp_od in reg CTRL3_C

Definition at line 3801 of file lsm6dso_reg.c.

int32_t lsm6dso_pin_polarity_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_h_lactive_t *  val 
)

Interrupt active-high/low.

[get]

Parameters:
ctxread / write interface definitions
valGet the values of h_lactive in reg CTRL3_C

Definition at line 3870 of file lsm6dso_reg.c.

int32_t lsm6dso_pin_polarity_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_h_lactive_t  val 
)

Interrupt active-high/low.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of h_lactive in reg CTRL3_C

Definition at line 3849 of file lsm6dso_reg.c.

int32_t lsm6dso_read_reg ( lsm6dso_ctx_t *  ctx,
uint8_t  reg,
uint8_t *  data,
uint16_t  len 
)

Read generic device register.

Parameters:
ctxread / write interface definitions(ptr)
regregister to read
datapointer to buffer that store the data read(ptr)
lennumber of consecutive register to read
Return values:
interfacestatus (MANDATORY: return 0 -> no Error)

Definition at line 66 of file lsm6dso_reg.c.

int32_t lsm6dso_reset_get ( lsm6dso_ctx_t *  ctx,
uint8_t *  val 
)

Software reset.

Restore the default values in user registers.[get]

Parameters:
ctxread / write interface definitions
valchange the values of sw_reset in reg CTRL3_C

Definition at line 1533 of file lsm6dso_reg.c.

int32_t lsm6dso_reset_set ( lsm6dso_ctx_t *  ctx,
uint8_t  val 
)

Software reset.

Restore the default values in user registers[set]

Parameters:
ctxread / write interface definitions
valchange the values of sw_reset in reg CTRL3_C

Definition at line 1512 of file lsm6dso_reg.c.

int32_t lsm6dso_rounding_mode_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_rounding_t *  val 
)

Gyroscope UI chain full-scale selection.

[get]

Parameters:
ctxread / write interface definitions
valGet the values of rounding in reg CTRL5_C

Definition at line 1004 of file lsm6dso_reg.c.

int32_t lsm6dso_rounding_mode_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_rounding_t  val 
)

Circular burst-mode (rounding) read of the output registers.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of rounding in reg CTRL5_C

Definition at line 983 of file lsm6dso_reg.c.

int32_t lsm6dso_rst_batch_counter_get ( lsm6dso_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

Definition at line 5881 of file lsm6dso_reg.c.

int32_t lsm6dso_rst_batch_counter_set ( lsm6dso_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

Definition at line 5859 of file lsm6dso_reg.c.

int32_t lsm6dso_sdo_sa0_mode_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_sdo_pu_en_t *  val 
)

Connect/Disconnect SDO/SA0 internal pull-up.

[get]

Parameters:
ctxread / write interface definitions
valGet the values of sdo_pu_en in reg PIN_CTRL

Definition at line 3244 of file lsm6dso_reg.c.

int32_t lsm6dso_sdo_sa0_mode_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_sdo_pu_en_t  val 
)

Connect/Disconnect SDO/SA0 internal pull-up.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of sdo_pu_en in reg PIN_CTRL

Definition at line 3224 of file lsm6dso_reg.c.

int32_t lsm6dso_sh_batch_slave_0_get ( lsm6dso_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

Definition at line 6215 of file lsm6dso_reg.c.

int32_t lsm6dso_sh_batch_slave_0_set ( lsm6dso_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

Definition at line 6188 of file lsm6dso_reg.c.

int32_t lsm6dso_sh_batch_slave_1_get ( lsm6dso_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

Definition at line 6267 of file lsm6dso_reg.c.

int32_t lsm6dso_sh_batch_slave_1_set ( lsm6dso_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

Definition at line 6239 of file lsm6dso_reg.c.

int32_t lsm6dso_sh_batch_slave_2_get ( lsm6dso_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

Definition at line 6319 of file lsm6dso_reg.c.

int32_t lsm6dso_sh_batch_slave_2_set ( lsm6dso_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

Definition at line 6291 of file lsm6dso_reg.c.

int32_t lsm6dso_sh_batch_slave_3_get ( lsm6dso_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

Definition at line 6372 of file lsm6dso_reg.c.

int32_t lsm6dso_sh_batch_slave_3_set ( lsm6dso_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

Definition at line 6344 of file lsm6dso_reg.c.

int32_t lsm6dso_sh_cfg_write ( lsm6dso_ctx_t *  ctx,
lsm6dso_sh_cfg_write_t *  val 
)

Configure slave 0 for perform a write.

[set]

Parameters:
ctxread / write interface definitions
vala structure that contain

  • uint8_t slv1_add; 8 bit i2c device address
  • uint8_t slv1_subadd; 8 bit register device address
  • uint8_t slv1_data; 8 bit data to write

Definition at line 8692 of file lsm6dso_reg.c.

int32_t lsm6dso_sh_data_rate_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_shub_odr_t *  val 
)

Rate at which the master communicates.

[get]

Parameters:
ctxread / write interface definitions
valGet the values of shub_odr in reg slv1_CONFIG

Definition at line 8648 of file lsm6dso_reg.c.

int32_t lsm6dso_sh_data_rate_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_shub_odr_t  val 
)

Rate at which the master communicates.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of shub_odr in reg slv1_CONFIG

Definition at line 8621 of file lsm6dso_reg.c.

int32_t lsm6dso_sh_master_get ( lsm6dso_ctx_t *  ctx,
uint8_t *  val 
)

Sensor hub I2C master enable.

[get]

Parameters:
ctxread / write interface definitions
valchange the values of master_on in reg MASTER_CONFIG

Definition at line 8302 of file lsm6dso_reg.c.

int32_t lsm6dso_sh_master_set ( lsm6dso_ctx_t *  ctx,
uint8_t  val 
)

Sensor hub I2C master enable.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of master_on in reg MASTER_CONFIG

Definition at line 8276 of file lsm6dso_reg.c.

int32_t lsm6dso_sh_pass_through_get ( lsm6dso_ctx_t *  ctx,
uint8_t *  val 
)

I2C interface pass-through.

[get]

Parameters:
ctxread / write interface definitions
valchange the values of pass_through_mode in reg MASTER_CONFIG

Definition at line 8417 of file lsm6dso_reg.c.

int32_t lsm6dso_sh_pass_through_set ( lsm6dso_ctx_t *  ctx,
uint8_t  val 
)

I2C interface pass-through.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of pass_through_mode in reg MASTER_CONFIG

Definition at line 8389 of file lsm6dso_reg.c.

int32_t lsm6dso_sh_pin_mode_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_shub_pu_en_t *  val 
)

Master I2C pull-up enable.

[get]

Parameters:
ctxread / write interface definitions
valGet the values of shub_pu_en in reg MASTER_CONFIG

Definition at line 8353 of file lsm6dso_reg.c.

int32_t lsm6dso_sh_pin_mode_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_shub_pu_en_t  val 
)

Master I2C pull-up enable.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of shub_pu_en in reg MASTER_CONFIG

Definition at line 8326 of file lsm6dso_reg.c.

int32_t lsm6dso_sh_read_data_raw_get ( lsm6dso_ctx_t *  ctx,
uint8_t *  val,
uint8_t  len 
)

Sensor hub output registers.

[get]

Parameters:
ctxread / write interface definitions
valvalues read from registers SENSOR_HUB_1 to SENSOR_HUB_18
lennumber of consecutive register to read (max 18)

Definition at line 8185 of file lsm6dso_reg.c.

int32_t lsm6dso_sh_reset_get ( lsm6dso_ctx_t *  ctx,
uint8_t *  val 
)

Reset Master logic and output registers.

[get]

Parameters:
ctxread / write interface definitions
valchange the values of rst_master_regs in reg MASTER_CONFIG

Definition at line 8598 of file lsm6dso_reg.c.

int32_t lsm6dso_sh_reset_set ( lsm6dso_ctx_t *  ctx )

Reset Master logic and output registers.

[set]

Parameters:
ctxread / write interface definitions

Definition at line 8567 of file lsm6dso_reg.c.

int32_t lsm6dso_sh_slave_connected_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_aux_sens_on_t *  val 
)

Number of external sensors to be read by the sensor hub.

[get]

Parameters:
ctxread / write interface definitions
valGet the values of aux_sens_on in reg MASTER_CONFIG

Definition at line 8235 of file lsm6dso_reg.c.

int32_t lsm6dso_sh_slave_connected_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_aux_sens_on_t  val 
)

Number of external sensors to be read by the sensor hub.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of aux_sens_on in reg MASTER_CONFIG

Definition at line 8208 of file lsm6dso_reg.c.

int32_t lsm6dso_sh_slv0_cfg_read ( lsm6dso_ctx_t *  ctx,
lsm6dso_sh_cfg_read_t *  val 
)

Configure slave 0 for perform a read.

[set]

Parameters:
ctxread / write interface definitions
valStructure that contain

  • uint8_t slv1_add; 8 bit i2c device address
  • uint8_t slv1_subadd; 8 bit register device address
  • uint8_t slv1_len; num of bit to read

Definition at line 8727 of file lsm6dso_reg.c.

int32_t lsm6dso_sh_slv1_cfg_read ( lsm6dso_ctx_t *  ctx,
lsm6dso_sh_cfg_read_t *  val 
)

Configure slave 0 for perform a write/read.

[set]

Parameters:
ctxread / write interface definitions
valStructure that contain

  • uint8_t slv1_add; 8 bit i2c device address
  • uint8_t slv1_subadd; 8 bit register device address
  • uint8_t slv1_len; num of bit to read

Definition at line 8770 of file lsm6dso_reg.c.

int32_t lsm6dso_sh_slv2_cfg_read ( lsm6dso_ctx_t *  ctx,
lsm6dso_sh_cfg_read_t *  val 
)

Configure slave 0 for perform a write/read.

[set]

Parameters:
ctxread / write interface definitions
valStructure that contain

  • uint8_t slv2_add; 8 bit i2c device address
  • uint8_t slv2_subadd; 8 bit register device address
  • uint8_t slv2_len; num of bit to read

Definition at line 8813 of file lsm6dso_reg.c.

int32_t lsm6dso_sh_slv3_cfg_read ( lsm6dso_ctx_t *  ctx,
lsm6dso_sh_cfg_read_t *  val 
)

Configure slave 0 for perform a write/read.

[set]

Parameters:
ctxread / write interface definitions
valStructure that contain

  • uint8_t slv3_add; 8 bit i2c device address
  • uint8_t slv3_subadd; 8 bit register device address
  • uint8_t slv3_len; num of bit to read

Definition at line 8855 of file lsm6dso_reg.c.

int32_t lsm6dso_sh_status_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_status_master_t *  val 
)

Sensor hub source register.

[get]

Parameters:
ctxread / write interface definitions
valunion of registers from STATUS_MASTER to

Definition at line 8894 of file lsm6dso_reg.c.

int32_t lsm6dso_sh_syncro_mode_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_start_config_t *  val 
)

Sensor hub trigger signal selection.

[get]

Parameters:
ctxread / write interface definitions
valGet the values of start_config in reg MASTER_CONFIG

Definition at line 8469 of file lsm6dso_reg.c.

int32_t lsm6dso_sh_syncro_mode_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_start_config_t  val 
)

Sensor hub trigger signal selection.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of start_config in reg MASTER_CONFIG

Definition at line 8441 of file lsm6dso_reg.c.

int32_t lsm6dso_sh_write_mode_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_write_once_t *  val 
)

Slave 0 write operation is performed only at the first sensor hub cycle.

[get]

Parameters:
ctxread / write interface definitions
valGet the values of write_once in reg MASTER_CONFIG

Definition at line 8533 of file lsm6dso_reg.c.

int32_t lsm6dso_sh_write_mode_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_write_once_t  val 
)

Slave 0 write operation is performed only at the first sensor hub cycle.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of write_once in reg MASTER_CONFIG

Definition at line 8504 of file lsm6dso_reg.c.

int32_t lsm6dso_spi_mode_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_sim_t *  val 
)

SPI Serial Interface Mode selection.

[get]

Parameters:
ctxread / write interface definitions
valGet the values of sim in reg CTRL3_C

Definition at line 3291 of file lsm6dso_reg.c.

int32_t lsm6dso_spi_mode_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_sim_t  val 
)

SPI Serial Interface Mode selection.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of sim in reg CTRL3_C

Definition at line 3271 of file lsm6dso_reg.c.

int32_t lsm6dso_status_reg_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_status_reg_t *  val 
)

The STATUS_REG register is read by the primary interface.

[get]

Parameters:
ctxread / write interface definitions
valregister STATUS_REG

Definition at line 701 of file lsm6dso_reg.c.

int32_t lsm6dso_steps_reset ( lsm6dso_ctx_t *  ctx )

Reset step counter register.

[get]

Parameters:
ctxread / write interface definitions

Definition at line 1118 of file lsm6dso_reg.c.

int32_t lsm6dso_tap_axis_priority_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_tap_priority_t *  val 
)

Selection of axis priority for TAP detection.

[get]

Parameters:
ctxread / write interface definitions
valGet the values of tap_priority in reg TAP_CFG1

Definition at line 4605 of file lsm6dso_reg.c.

int32_t lsm6dso_tap_axis_priority_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_tap_priority_t  val 
)

Selection of axis priority for TAP detection.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of tap_priority in reg TAP_CFG1

Definition at line 4583 of file lsm6dso_reg.c.

int32_t lsm6dso_tap_detection_on_x_get ( lsm6dso_ctx_t *  ctx,
uint8_t *  val 
)

Enable X direction in tap recognition.

[get]

Parameters:
ctxread / write interface definitions
valchange the values of tap_x_en in reg TAP_CFG0

Definition at line 4526 of file lsm6dso_reg.c.

int32_t lsm6dso_tap_detection_on_x_set ( lsm6dso_ctx_t *  ctx,
uint8_t  val 
)

Enable X direction in tap recognition.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of tap_x_en in reg TAP_CFG0

Definition at line 4506 of file lsm6dso_reg.c.

int32_t lsm6dso_tap_detection_on_y_get ( lsm6dso_ctx_t *  ctx,
uint8_t *  val 
)

Enable Y direction in tap recognition.

[get]

Parameters:
ctxread / write interface definitions
valchange the values of tap_y_en in reg TAP_CFG0

Definition at line 4488 of file lsm6dso_reg.c.

int32_t lsm6dso_tap_detection_on_y_set ( lsm6dso_ctx_t *  ctx,
uint8_t  val 
)

Enable Y direction in tap recognition.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of tap_y_en in reg TAP_CFG0

Definition at line 4468 of file lsm6dso_reg.c.

int32_t lsm6dso_tap_detection_on_z_get ( lsm6dso_ctx_t *  ctx,
uint8_t *  val 
)

Enable Z direction in tap recognition.

[get]

Parameters:
ctxread / write interface definitions
valchange the values of tap_z_en in reg TAP_CFG0

Definition at line 4450 of file lsm6dso_reg.c.

int32_t lsm6dso_tap_detection_on_z_set ( lsm6dso_ctx_t *  ctx,
uint8_t  val 
)

Enable Z direction in tap recognition.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of tap_z_en in reg TAP_CFG0

Definition at line 4430 of file lsm6dso_reg.c.

int32_t lsm6dso_tap_dur_get ( lsm6dso_ctx_t *  ctx,
uint8_t *  val 
)

When double tap recognition is enabled, this register expresses the maximum time between two consecutive detected taps to determine a double tap event.

The default value of these bits is 0000b which corresponds to 16*ODR_XL time. If the DUR[3:0] bits are set to a different value, 1LSB corresponds to 32*ODR_XL time.[get]

Parameters:
ctxread / write interface definitions
valchange the values of dur in reg INT_DUR2

Definition at line 4853 of file lsm6dso_reg.c.

int32_t lsm6dso_tap_dur_set ( lsm6dso_ctx_t *  ctx,
uint8_t  val 
)

When double tap recognition is enabled, this register expresses the maximum time between two consecutive detected taps to determine a double tap event.

The default value of these bits is 0000b which corresponds to 16*ODR_XL time. If the DUR[3:0] bits are set to a different value, 1LSB corresponds to 32*ODR_XL time.[set]

Parameters:
ctxread / write interface definitions
valchange the values of dur in reg INT_DUR2

Definition at line 4826 of file lsm6dso_reg.c.

int32_t lsm6dso_tap_mode_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_single_double_tap_t *  val 
)

Single/double-tap event enable.

[get]

Parameters:
ctxread / write interface definitions
valGet the values of single_double_tap in reg WAKE_UP_THS

Definition at line 4892 of file lsm6dso_reg.c.

int32_t lsm6dso_tap_mode_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_single_double_tap_t  val 
)

Single/double-tap event enable.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of single_double_tap in reg WAKE_UP_THS

Definition at line 4871 of file lsm6dso_reg.c.

int32_t lsm6dso_tap_quiet_get ( lsm6dso_ctx_t *  ctx,
uint8_t *  val 
)

Quiet time is the time after the first detected tap in which there must not be any over threshold event.

The default value of these bits is 00b which corresponds to 2*ODR_XL time. If the QUIET[1:0] bits are set to a different value, 1LSB corresponds to 4*ODR_XL time.[get]

Parameters:
ctxread / write interface definitions
valchange the values of quiet in reg INT_DUR2

Definition at line 4801 of file lsm6dso_reg.c.

int32_t lsm6dso_tap_quiet_set ( lsm6dso_ctx_t *  ctx,
uint8_t  val 
)

Quiet time is the time after the first detected tap in which there must not be any over threshold event.

The default value of these bits is 00b which corresponds to 2*ODR_XL time. If the QUIET[1:0] bits are set to a different value, 1LSB corresponds to 4*ODR_XL time.[set]

Parameters:
ctxread / write interface definitions
valchange the values of quiet in reg INT_DUR2

Definition at line 4775 of file lsm6dso_reg.c.

int32_t lsm6dso_tap_shock_get ( lsm6dso_ctx_t *  ctx,
uint8_t *  val 
)

Maximum duration is the maximum time of an over threshold signal detection to be recognized as a tap event.

The default value of these bits is 00b which corresponds to 4*ODR_XL time. If the SHOCK[1:0] bits are set to a different value, 1LSB corresponds to 8*ODR_XL time.[get]

Parameters:
ctxread / write interface definitions
valchange the values of shock in reg INT_DUR2

Definition at line 4751 of file lsm6dso_reg.c.

int32_t lsm6dso_tap_shock_set ( lsm6dso_ctx_t *  ctx,
uint8_t  val 
)

Maximum duration is the maximum time of an over threshold signal detection to be recognized as a tap event.

The default value of these bits is 00b which corresponds to 4*ODR_XL time. If the SHOCK[1:0] bits are set to a different value, 1LSB corresponds to 8*ODR_XL time.[set]

Parameters:
ctxread / write interface definitions
valchange the values of shock in reg INT_DUR2

Definition at line 4726 of file lsm6dso_reg.c.

int32_t lsm6dso_tap_threshold_x_get ( lsm6dso_ctx_t *  ctx,
uint8_t *  val 
)

X-axis tap recognition threshold.

[get]

Parameters:
ctxread / write interface definitions
valchange the values of tap_ths_x in reg TAP_CFG1

Definition at line 4564 of file lsm6dso_reg.c.

int32_t lsm6dso_tap_threshold_x_set ( lsm6dso_ctx_t *  ctx,
uint8_t  val 
)

X-axis tap recognition threshold.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of tap_ths_x in reg TAP_CFG1

Definition at line 4544 of file lsm6dso_reg.c.

int32_t lsm6dso_tap_threshold_y_get ( lsm6dso_ctx_t *  ctx,
uint8_t *  val 
)

Y-axis tap recognition threshold.

[get]

Parameters:
ctxread / write interface definitions
valchange the values of tap_ths_y in reg TAP_CFG2

Definition at line 4665 of file lsm6dso_reg.c.

int32_t lsm6dso_tap_threshold_y_set ( lsm6dso_ctx_t *  ctx,
uint8_t  val 
)

Y-axis tap recognition threshold.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of tap_ths_y in reg TAP_CFG2

Definition at line 4645 of file lsm6dso_reg.c.

int32_t lsm6dso_tap_threshold_z_get ( lsm6dso_ctx_t *  ctx,
uint8_t *  val 
)

Z-axis recognition threshold.

[get]

Parameters:
ctxread / write interface definitions
valchange the values of tap_ths_z in reg TAP_THS_6D

Definition at line 4703 of file lsm6dso_reg.c.

int32_t lsm6dso_tap_threshold_z_set ( lsm6dso_ctx_t *  ctx,
uint8_t  val 
)

Z-axis recognition threshold.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of tap_ths_z in reg TAP_THS_6D

Definition at line 4683 of file lsm6dso_reg.c.

int32_t lsm6dso_temp_flag_data_ready_get ( lsm6dso_ctx_t *  ctx,
uint8_t *  val 
)

Temperature new data available.

[get]

Parameters:
ctxread / write interface definitions
valchange the values of tda in reg STATUS_REG

Definition at line 751 of file lsm6dso_reg.c.

int32_t lsm6dso_temperature_raw_get ( lsm6dso_ctx_t *  ctx,
uint8_t *  buff 
)

Temperature data output register (r).

L and H registers together express a 16-bit word in two’s complement.[get]

Parameters:
ctxread / write interface definitions
buffbuffer that stores data read

Definition at line 1040 of file lsm6dso_reg.c.

int32_t lsm6dso_tilt_flag_data_ready_get ( lsm6dso_ctx_t *  ctx,
uint8_t *  val 
)

Interrupt status bit for tilt detection.

[get]

Parameters:
ctxread / write interface definitions
valchange the values of is_tilt in reg EMB_FUNC_STATUS

Definition at line 7098 of file lsm6dso_reg.c.

int32_t lsm6dso_tilt_sens_get ( lsm6dso_ctx_t *  ctx,
uint8_t *  val 
)

Enable tilt calculation.

[get]

Parameters:
ctxread / write interface definitions
valchange the values of tilt_en in reg EMB_FUNC_EN_A

Definition at line 7074 of file lsm6dso_reg.c.

int32_t lsm6dso_tilt_sens_set ( lsm6dso_ctx_t *  ctx,
uint8_t  val 
)

Enable tilt calculation.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of tilt_en in reg EMB_FUNC_EN_A

Definition at line 7048 of file lsm6dso_reg.c.

int32_t lsm6dso_timestamp_get ( lsm6dso_ctx_t *  ctx,
uint8_t *  val 
)

Enables timestamp counter.

[get]

Parameters:
ctxread / write interface definitions
valchange the values of timestamp_en in reg CTRL10_C

Definition at line 936 of file lsm6dso_reg.c.

int32_t lsm6dso_timestamp_raw_get ( lsm6dso_ctx_t *  ctx,
uint8_t *  buff 
)

Timestamp first data output register (r).

The value is expressed as a 32-bit word and the bit resolution is 25 μs.[get]

Parameters:
ctxread / write interface definitions
buffbuffer that stores data read

Definition at line 956 of file lsm6dso_reg.c.

int32_t lsm6dso_timestamp_set ( lsm6dso_ctx_t *  ctx,
uint8_t  val 
)

Enables timestamp counter.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of timestamp_en in reg CTRL10_C

Definition at line 916 of file lsm6dso_reg.c.

int32_t lsm6dso_wkup_dur_get ( lsm6dso_ctx_t *  ctx,
uint8_t *  val 
)

Wake up duration event.

[get] 1LSb = 1 / ODR

Parameters:
ctxread / write interface definitions
valchange the values of wake_dur in reg WAKE_UP_DUR

Definition at line 4200 of file lsm6dso_reg.c.

int32_t lsm6dso_wkup_dur_set ( lsm6dso_ctx_t *  ctx,
uint8_t  val 
)

Wake up duration event.

[set] 1LSb = 1 / ODR

Parameters:
ctxread / write interface definitions
valchange the values of wake_dur in reg WAKE_UP_DUR

Definition at line 4179 of file lsm6dso_reg.c.

int32_t lsm6dso_wkup_threshold_get ( lsm6dso_ctx_t *  ctx,
uint8_t *  val 
)

Threshold for wakeup: 1 LSB weight depends on WAKE_THS_W in WAKE_UP_DUR.

[get]

Parameters:
ctxread / write interface definitions
valchange the values of wk_ths in reg WAKE_UP_THS

Definition at line 4120 of file lsm6dso_reg.c.

int32_t lsm6dso_wkup_threshold_set ( lsm6dso_ctx_t *  ctx,
uint8_t  val 
)

Threshold for wakeup: 1 LSB weight depends on WAKE_THS_W in WAKE_UP_DUR.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of wk_ths in reg WAKE_UP_THS

Definition at line 4099 of file lsm6dso_reg.c.

int32_t lsm6dso_wkup_ths_weight_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_wake_ths_w_t *  val 
)

Weight of 1 LSB of wakeup threshold.

[get] 0: 1 LSB =FS_XL / 64 1: 1 LSB = FS_XL / 256

Parameters:
ctxread / write interface definitions
valGet the values of wake_ths_w in reg WAKE_UP_DUR

Definition at line 4069 of file lsm6dso_reg.c.

int32_t lsm6dso_wkup_ths_weight_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_wake_ths_w_t  val 
)

Weight of 1 LSB of wakeup threshold.

[set] 0: 1 LSB =FS_XL / 64 1: 1 LSB = FS_XL / 256

Parameters:
ctxread / write interface definitions
valchange the values of wake_ths_w in reg WAKE_UP_DUR

Definition at line 4045 of file lsm6dso_reg.c.

int32_t lsm6dso_write_reg ( lsm6dso_ctx_t *  ctx,
uint8_t  reg,
uint8_t *  data,
uint16_t  len 
)

Write generic device register.

Parameters:
ctxread / write interface definitions(ptr)
regregister to write
datapointer to data to write in register reg(ptr)
lennumber of consecutive register to write
Return values:
interfacestatus (MANDATORY: return 0 -> no Error)

Definition at line 84 of file lsm6dso_reg.c.

int32_t lsm6dso_xl_data_rate_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_odr_xl_t *  val 
)

Accelerometer UI data rate selection.

[get]

Parameters:
ctxread / write interface definitions
valGet the values of odr_xl in reg CTRL1_XL

Definition at line 252 of file lsm6dso_reg.c.

int32_t lsm6dso_xl_data_rate_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_odr_xl_t  val 
)

Accelerometer UI data rate selection.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of odr_xl in reg CTRL1_XL

Definition at line 232 of file lsm6dso_reg.c.

int32_t lsm6dso_xl_fast_settling_get ( lsm6dso_ctx_t *  ctx,
uint8_t *  val 
)

Enables accelerometer LPF2 and HPF fast-settling mode.

The filter sets the second samples after writing this bit. Active only during device exit from power-down mode.[get]

Parameters:
ctxread / write interface definitions
valchange the values of fastsettl_mode_xl in reg CTRL8_XL

Definition at line 2110 of file lsm6dso_reg.c.

int32_t lsm6dso_xl_fast_settling_set ( lsm6dso_ctx_t *  ctx,
uint8_t  val 
)

Enables accelerometer LPF2 and HPF fast-settling mode.

The filter sets the second samples after writing this bit. Active only during device exit from power-down mode.[set]

Parameters:
ctxread / write interface definitions
valchange the values of fastsettl_mode_xl in reg CTRL8_XL

Definition at line 2088 of file lsm6dso_reg.c.

int32_t lsm6dso_xl_filter_lp2_get ( lsm6dso_ctx_t *  ctx,
uint8_t *  val 
)

Accelerometer output from LPF2 filtering stage selection.

[get]

Parameters:
ctxread / write interface definitions
valchange the values of lpf2_xl_en in reg CTRL1_XL

Definition at line 1762 of file lsm6dso_reg.c.

int32_t lsm6dso_xl_filter_lp2_set ( lsm6dso_ctx_t *  ctx,
uint8_t  val 
)

Accelerometer output from LPF2 filtering stage selection.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of lpf2_xl_en in reg CTRL1_XL

Definition at line 1742 of file lsm6dso_reg.c.

int32_t lsm6dso_xl_flag_data_ready_get ( lsm6dso_ctx_t *  ctx,
uint8_t *  val 
)

Accelerometer new data available.

[get]

Parameters:
ctxread / write interface definitions
valchange the values of xlda in reg STATUS_REG

Definition at line 715 of file lsm6dso_reg.c.

int32_t lsm6dso_xl_full_scale_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_fs_xl_t *  val 
)

Accelerometer full-scale selection.

[get]

Parameters:
ctxread / write interface definitions
valGet the values of fs_xl in reg CTRL1_XL

Definition at line 198 of file lsm6dso_reg.c.

int32_t lsm6dso_xl_full_scale_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_fs_xl_t  val 
)

Accelerometer full-scale selection.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of fs_xl in reg CTRL1_XL

Definition at line 177 of file lsm6dso_reg.c.

int32_t lsm6dso_xl_hp_path_internal_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_slope_fds_t *  val 
)

HPF or SLOPE filter selection on wake-up and Activity/Inactivity functions.

[get]

Parameters:
ctxread / write interface definitions
valGet the values of slope_fds in reg TAP_CFG0

Definition at line 2151 of file lsm6dso_reg.c.

int32_t lsm6dso_xl_hp_path_internal_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_slope_fds_t  val 
)

HPF or SLOPE filter selection on wake-up and Activity/Inactivity functions.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of slope_fds in reg TAP_CFG0

Definition at line 2129 of file lsm6dso_reg.c.

int32_t lsm6dso_xl_hp_path_on_out_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_hp_slope_xl_en_t *  val 
)

Accelerometer slope filter / high-pass filter selection on output.

[get]

Parameters:
ctxread / write interface definitions
valGet the values of hp_slope_xl_en in reg CTRL8_XL

Definition at line 1992 of file lsm6dso_reg.c.

int32_t lsm6dso_xl_hp_path_on_out_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_hp_slope_xl_en_t  val 
)

Accelerometer slope filter / high-pass filter selection on output.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of hp_slope_xl_en in reg CTRL8_XL

Definition at line 1967 of file lsm6dso_reg.c.

int32_t lsm6dso_xl_lp2_on_6d_get ( lsm6dso_ctx_t *  ctx,
uint8_t *  val 
)

Low pass filter 2 on 6D function selection.

[get]

Parameters:
ctxread / write interface definitions
valchange the values of low_pass_on_6d in reg CTRL8_XL

Definition at line 1947 of file lsm6dso_reg.c.

int32_t lsm6dso_xl_lp2_on_6d_set ( lsm6dso_ctx_t *  ctx,
uint8_t  val 
)

Low pass filter 2 on 6D function selection.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of low_pass_on_6d in reg CTRL8_XL

Definition at line 1927 of file lsm6dso_reg.c.

int32_t lsm6dso_xl_offset_weight_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_usr_off_w_t *  val 
)

Weight of XL user offset bits of registers X_OFS_USR (73h), Y_OFS_USR (74h), Z_OFS_USR (75h).

[get]

Parameters:
ctxread / write interface definitions
valGet the values of usr_off_w in reg CTRL6_C

Definition at line 504 of file lsm6dso_reg.c.

int32_t lsm6dso_xl_offset_weight_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_usr_off_w_t  val 
)

Weight of XL user offset bits of registers X_OFS_USR (73h), Y_OFS_USR (74h), Z_OFS_USR (75h).

[set]

Parameters:
ctxread / write interface definitions
valchange the values of usr_off_w in reg CTRL6_C

Definition at line 482 of file lsm6dso_reg.c.

int32_t lsm6dso_xl_power_mode_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_xl_hm_mode_t *  val 
)

Accelerometer power mode.

[get]

Parameters:
ctxread / write interface definitions
valGet the values of xl_hm_mode in reg CTRL6_C

Definition at line 563 of file lsm6dso_reg.c.

int32_t lsm6dso_xl_power_mode_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_xl_hm_mode_t  val 
)

Accelerometer power mode.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of xl_hm_mode in reg CTRL6_C

Definition at line 534 of file lsm6dso_reg.c.

int32_t lsm6dso_xl_self_test_get ( lsm6dso_ctx_t *  ctx,
lsm6dso_st_xl_t *  val 
)

Linear acceleration sensor self-test enable.

[get]

Parameters:
ctxread / write interface definitions
valGet the values of st_xl in reg CTRL5_C

Definition at line 1649 of file lsm6dso_reg.c.

int32_t lsm6dso_xl_self_test_set ( lsm6dso_ctx_t *  ctx,
lsm6dso_st_xl_t  val 
)

Linear acceleration sensor self-test enable.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of st_xl in reg CTRL5_C

Definition at line 1629 of file lsm6dso_reg.c.

int32_t lsm6dso_xl_usr_offset_get ( lsm6dso_ctx_t *  ctx,
uint8_t *  val 
)

User offset on out flag.

[get]

Parameters:
ctxread / write interface definitions
valvalues of usr_off_on_out in reg CTRL7_G

Definition at line 885 of file lsm6dso_reg.c.

int32_t lsm6dso_xl_usr_offset_on_wkup_get ( lsm6dso_ctx_t *  ctx,
uint8_t *  val 
)

Wake up duration event.

[get] 1LSb = 1 / ODR

Parameters:
ctxread / write interface definitions
valchange the values of usr_off_on_wu in reg WAKE_UP_THS

Definition at line 4160 of file lsm6dso_reg.c.

int32_t lsm6dso_xl_usr_offset_on_wkup_set ( lsm6dso_ctx_t *  ctx,
uint8_t  val 
)

Wake up duration event.

[set] 1LSb = 1 / ODR

Parameters:
ctxread / write interface definitions
valchange the values of usr_off_on_wu in reg WAKE_UP_THS

Definition at line 4139 of file lsm6dso_reg.c.

int32_t lsm6dso_xl_usr_offset_set ( lsm6dso_ctx_t *  ctx,
uint8_t  val 
)

Enables user offset on out.

[set]

Parameters:
ctxread / write interface definitions
valchange the values of usr_off_on_out in reg CTRL7_G

Definition at line 865 of file lsm6dso_reg.c.

int32_t lsm6dso_xl_usr_offset_x_get ( lsm6dso_ctx_t *  ctx,
uint8_t *  buff 
)

Accelerometer X-axis user offset correction expressed in two’s complement, weight depends on USR_OFF_W in CTRL6_C (15h).

The value must be in the range [-127 127].[get]

Parameters:
ctxread / write interface definitions
buffbuffer that stores data read

Definition at line 787 of file lsm6dso_reg.c.

int32_t lsm6dso_xl_usr_offset_x_set ( lsm6dso_ctx_t *  ctx,
uint8_t *  buff 
)

Accelerometer X-axis user offset correction expressed in two’s complement, weight depends on USR_OFF_W in CTRL6_C (15h).

The value must be in the range [-127 127].[set]

Parameters:
ctxread / write interface definitions
buffbuffer that contains data to write

Definition at line 771 of file lsm6dso_reg.c.

int32_t lsm6dso_xl_usr_offset_y_get ( lsm6dso_ctx_t *  ctx,
uint8_t *  buff 
)

Accelerometer Y-axis user offset correction expressed in two’s complement, weight depends on USR_OFF_W in CTRL6_C (15h).

The value must be in the range [-127 127].[get]

Parameters:
ctxread / write interface definitions
buffbuffer that stores data read

Definition at line 819 of file lsm6dso_reg.c.

int32_t lsm6dso_xl_usr_offset_y_set ( lsm6dso_ctx_t *  ctx,
uint8_t *  buff 
)

Accelerometer Y-axis user offset correction expressed in two’s complement, weight depends on USR_OFF_W in CTRL6_C (15h).

The value must be in the range [-127 127].[set]

Parameters:
ctxread / write interface definitions
buffbuffer that contains data to write

Definition at line 803 of file lsm6dso_reg.c.

int32_t lsm6dso_xl_usr_offset_z_get ( lsm6dso_ctx_t *  ctx,
uint8_t *  buff 
)

Accelerometer Z-axis user offset correction expressed in two’s complement, weight depends on USR_OFF_W in CTRL6_C (15h).

The value must be in the range [-127 127].[get]

Parameters:
ctxread / write interface definitions
buffbuffer that stores data read

Definition at line 851 of file lsm6dso_reg.c.

int32_t lsm6dso_xl_usr_offset_z_set ( lsm6dso_ctx_t *  ctx,
uint8_t *  buff 
)

Accelerometer Z-axis user offset correction expressed in two’s complement, weight depends on USR_OFF_W in CTRL6_C (15h).

The value must be in the range [-127 127].[set]

Parameters:
ctxread / write interface definitions
buffbuffer that contains data to write

Definition at line 835 of file lsm6dso_reg.c.