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

LSM6DSO32 driver file. More...

#include "lsm6dso32_reg.h"
#include "main.h"
Include dependency graph for lsm6dso32_reg.c:

Go to the source code of this file.

Functions

int32_t __weak lsm6dso32_read_reg (stmdev_ctx_t *ctx, uint8_t reg, uint8_t *data, uint16_t len)
 Read generic device register.
 
int32_t __weak lsm6dso32_write_reg (stmdev_ctx_t *ctx, uint8_t reg, uint8_t *data, uint16_t len)
 Write generic device register.
 
float_t lsm6dso32_from_fs4_to_mg (int16_t lsb)
 
float_t lsm6dso32_from_fs8_to_mg (int16_t lsb)
 
float_t lsm6dso32_from_fs16_to_mg (int16_t lsb)
 
float_t lsm6dso32_from_fs32_to_mg (int16_t lsb)
 
float_t lsm6dso32_from_fs125_to_mdps (int16_t lsb)
 
float_t lsm6dso32_from_fs250_to_mdps (int16_t lsb)
 
float_t lsm6dso32_from_fs500_to_mdps (int16_t lsb)
 
float_t lsm6dso32_from_fs1000_to_mdps (int16_t lsb)
 
float_t lsm6dso32_from_fs2000_to_mdps (int16_t lsb)
 
float_t lsm6dso32_from_lsb_to_celsius (int16_t lsb)
 
float_t lsm6dso32_from_lsb_to_nsec (int16_t lsb)
 
int32_t lsm6dso32_xl_full_scale_set (stmdev_ctx_t *ctx, lsm6dso32_fs_xl_t val)
 Accelerometer full-scale selection.[set].
 
int32_t lsm6dso32_xl_full_scale_get (stmdev_ctx_t *ctx, lsm6dso32_fs_xl_t *val)
 Accelerometer full-scale selection.[get].
 
int32_t lsm6dso32_xl_data_rate_set (stmdev_ctx_t *ctx, lsm6dso32_odr_xl_t val)
 Accelerometer UI data rate and power mode selection.[set].
 
int32_t lsm6dso32_xl_data_rate_get (stmdev_ctx_t *ctx, lsm6dso32_odr_xl_t *val)
 Accelerometer UI data rate selection.[get].
 
int32_t lsm6dso32_gy_full_scale_set (stmdev_ctx_t *ctx, lsm6dso32_fs_g_t val)
 Gyroscope UI chain full-scale selection.[set].
 
int32_t lsm6dso32_gy_full_scale_get (stmdev_ctx_t *ctx, lsm6dso32_fs_g_t *val)
 Gyroscope UI chain full-scale selection.[get].
 
int32_t lsm6dso32_gy_data_rate_set (stmdev_ctx_t *ctx, lsm6dso32_odr_g_t val)
 Gyroscope UI data rate selection.[set].
 
int32_t lsm6dso32_gy_data_rate_get (stmdev_ctx_t *ctx, lsm6dso32_odr_g_t *val)
 Gyroscope UI data rate selection.[get].
 
int32_t lsm6dso32_block_data_update_set (stmdev_ctx_t *ctx, uint8_t val)
 Block data update.[set].
 
int32_t lsm6dso32_block_data_update_get (stmdev_ctx_t *ctx, uint8_t *val)
 Block data update.[get].
 
int32_t lsm6dso32_xl_offset_weight_set (stmdev_ctx_t *ctx, lsm6dso32_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].
 
int32_t lsm6dso32_xl_offset_weight_get (stmdev_ctx_t *ctx, lsm6dso32_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].
 
int32_t lsm6dso32_all_sources_get (stmdev_ctx_t *ctx, lsm6dso32_all_sources_t *val)
 Read all the interrupt flag of the device.[get].
 
int32_t lsm6dso32_status_reg_get (stmdev_ctx_t *ctx, lsm6dso32_status_reg_t *val)
 The STATUS_REG register is read by the primary interface.[get].
 
int32_t lsm6dso32_xl_flag_data_ready_get (stmdev_ctx_t *ctx, uint8_t *val)
 Accelerometer new data available.[get].
 
int32_t lsm6dso32_gy_flag_data_ready_get (stmdev_ctx_t *ctx, uint8_t *val)
 Gyroscope new data available.[get].
 
int32_t lsm6dso32_temp_flag_data_ready_get (stmdev_ctx_t *ctx, uint8_t *val)
 Temperature new data available.[get].
 
int32_t lsm6dso32_xl_usr_offset_x_set (stmdev_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].
 
int32_t lsm6dso32_xl_usr_offset_x_get (stmdev_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].
 
int32_t lsm6dso32_xl_usr_offset_y_set (stmdev_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].
 
int32_t lsm6dso32_xl_usr_offset_y_get (stmdev_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].
 
int32_t lsm6dso32_xl_usr_offset_z_set (stmdev_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].
 
int32_t lsm6dso32_xl_usr_offset_z_get (stmdev_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].
 
int32_t lsm6dso32_xl_usr_offset_set (stmdev_ctx_t *ctx, uint8_t val)
 Enables user offset on out.[set].
 
int32_t lsm6dso32_xl_usr_offset_get (stmdev_ctx_t *ctx, uint8_t *val)
 User offset on out flag.[get].
 
int32_t lsm6dso32_timestamp_set (stmdev_ctx_t *ctx, uint8_t val)
 Enables timestamp counter.[set].
 
int32_t lsm6dso32_timestamp_get (stmdev_ctx_t *ctx, uint8_t *val)
 Enables timestamp counter.[get].
 
int32_t lsm6dso32_timestamp_raw_get (stmdev_ctx_t *ctx, uint32_t *val)
 Timestamp first data output register (r). The value is expressed as a 32-bit word and the bit resolution is 25 μs.[get].
 
int32_t lsm6dso32_rounding_mode_set (stmdev_ctx_t *ctx, lsm6dso32_rounding_t val)
 Circular burst-mode (rounding) read of the output registers.[set].
 
int32_t lsm6dso32_rounding_mode_get (stmdev_ctx_t *ctx, lsm6dso32_rounding_t *val)
 Gyroscope UI chain full-scale selection.[get].
 
int32_t lsm6dso32_temperature_raw_get (stmdev_ctx_t *ctx, int16_t *val)
 Temperature data output register (r). L and H registers together express a 16-bit word in two’s complement.[get].
 
int32_t lsm6dso32_angular_rate_raw_get (stmdev_ctx_t *ctx, int16_t *val)
 Angular rate sensor. The value is expressed as a 16-bit word in two’s complement.[get].
 
int32_t lsm6dso32_acceleration_raw_get (stmdev_ctx_t *ctx, int16_t *val)
 Linear acceleration output register. The value is expressed as a 16-bit word in two’s complement.[get].
 
int32_t lsm6dso32_fifo_out_raw_get (stmdev_ctx_t *ctx, uint8_t *buff)
 FIFO data output [get].
 
int32_t lsm6dso32_number_of_steps_get (stmdev_ctx_t *ctx, uint16_t *val)
 Step counter output register.[get].
 
int32_t lsm6dso32_steps_reset (stmdev_ctx_t *ctx)
 Reset step counter register.[get].
 
int32_t lsm6dso32_odr_cal_reg_set (stmdev_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].
 
int32_t lsm6dso32_odr_cal_reg_get (stmdev_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].
 
int32_t lsm6dso32_mem_bank_set (stmdev_ctx_t *ctx, lsm6dso32_reg_access_t val)
 Enable access to the embedded functions/sensor hub configuration registers.[set].
 
int32_t lsm6dso32_mem_bank_get (stmdev_ctx_t *ctx, lsm6dso32_reg_access_t *val)
 Enable access to the embedded functions/sensor hub configuration registers.[get].
 
int32_t lsm6dso32_ln_pg_write_byte (stmdev_ctx_t *ctx, uint16_t address, uint8_t *val)
 Write a line(byte) in a page.[set].
 
int32_t lsm6dso32_ln_pg_write (stmdev_ctx_t *ctx, uint16_t address, uint8_t *buf, uint8_t len)
 Write buffer in a page.[set].
 
int32_t lsm6dso32_ln_pg_read_byte (stmdev_ctx_t *ctx, uint16_t address, uint8_t *val)
 Read a line(byte) in a page.[get].
 
int32_t lsm6dso32_data_ready_mode_set (stmdev_ctx_t *ctx, lsm6dso32_dataready_pulsed_t val)
 Data-ready pulsed / letched mode.[set].
 
int32_t lsm6dso32_data_ready_mode_get (stmdev_ctx_t *ctx, lsm6dso32_dataready_pulsed_t *val)
 Data-ready pulsed / letched mode.[get].
 
int32_t lsm6dso32_device_id_get (stmdev_ctx_t *ctx, uint8_t *buff)
 Device "Who am I".[get].
 
int32_t lsm6dso32_reset_set (stmdev_ctx_t *ctx, uint8_t val)
 Software reset. Restore the default values in user registers[set].
 
int32_t lsm6dso32_reset_get (stmdev_ctx_t *ctx, uint8_t *val)
 Software reset. Restore the default values in user registers.[get].
 
int32_t lsm6dso32_auto_increment_set (stmdev_ctx_t *ctx, uint8_t val)
 Register address automatically incremented during a multiple byte access with a serial interface.[set].
 
int32_t lsm6dso32_auto_increment_get (stmdev_ctx_t *ctx, uint8_t *val)
 Register address automatically incremented during a multiple byte access with a serial interface.[get].
 
int32_t lsm6dso32_boot_set (stmdev_ctx_t *ctx, uint8_t val)
 Reboot memory content. Reload the calibration parameters.[set].
 
int32_t lsm6dso32_boot_get (stmdev_ctx_t *ctx, uint8_t *val)
 Reboot memory content. Reload the calibration parameters.[get].
 
int32_t lsm6dso32_xl_self_test_set (stmdev_ctx_t *ctx, lsm6dso32_st_xl_t val)
 Linear acceleration sensor self-test enable.[set].
 
int32_t lsm6dso32_xl_self_test_get (stmdev_ctx_t *ctx, lsm6dso32_st_xl_t *val)
 Linear acceleration sensor self-test enable.[get].
 
int32_t lsm6dso32_gy_self_test_set (stmdev_ctx_t *ctx, lsm6dso32_st_g_t val)
 Angular rate sensor self-test enable.[set].
 
int32_t lsm6dso32_gy_self_test_get (stmdev_ctx_t *ctx, lsm6dso32_st_g_t *val)
 Angular rate sensor self-test enable.[get].
 
int32_t lsm6dso32_xl_filter_lp2_set (stmdev_ctx_t *ctx, uint8_t val)
 Accelerometer output from LPF2 filtering stage selection.[set].
 
int32_t lsm6dso32_xl_filter_lp2_get (stmdev_ctx_t *ctx, uint8_t *val)
 Accelerometer output from LPF2 filtering stage selection.[get].
 
int32_t lsm6dso32_gy_filter_lp1_set (stmdev_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].
 
int32_t lsm6dso32_gy_filter_lp1_get (stmdev_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].
 
int32_t lsm6dso32_filter_settling_mask_set (stmdev_ctx_t *ctx, uint8_t val)
 Mask DRDY on pin (both XL & Gyro) until filter settling ends (XL and Gyro independently masked).[set].
 
int32_t lsm6dso32_filter_settling_mask_get (stmdev_ctx_t *ctx, uint8_t *val)
 Mask DRDY on pin (both XL & Gyro) until filter settling ends (XL and Gyro independently masked).[get].
 
int32_t lsm6dso32_gy_lp1_bandwidth_set (stmdev_ctx_t *ctx, lsm6dso32_ftype_t val)
 Gyroscope lp1 bandwidth.[set].
 
int32_t lsm6dso32_gy_lp1_bandwidth_get (stmdev_ctx_t *ctx, lsm6dso32_ftype_t *val)
 Gyroscope lp1 bandwidth.[get].
 
int32_t lsm6dso32_xl_lp2_on_6d_set (stmdev_ctx_t *ctx, uint8_t val)
 Low pass filter 2 on 6D function selection.[set].
 
int32_t lsm6dso32_xl_lp2_on_6d_get (stmdev_ctx_t *ctx, uint8_t *val)
 Low pass filter 2 on 6D function selection.[get].
 
int32_t lsm6dso32_xl_hp_path_on_out_set (stmdev_ctx_t *ctx, lsm6dso32_hp_slope_xl_en_t val)
 Accelerometer slope filter / high-pass filter selection on output.[set].
 
int32_t lsm6dso32_xl_hp_path_on_out_get (stmdev_ctx_t *ctx, lsm6dso32_hp_slope_xl_en_t *val)
 Accelerometer slope filter / high-pass filter selection on output.[get].
 
int32_t lsm6dso32_xl_fast_settling_set (stmdev_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].
 
int32_t lsm6dso32_xl_fast_settling_get (stmdev_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].
 
int32_t lsm6dso32_xl_hp_path_internal_set (stmdev_ctx_t *ctx, lsm6dso32_slope_fds_t val)
 HPF or SLOPE filter selection on wake-up and Activity/Inactivity functions.[set].
 
int32_t lsm6dso32_xl_hp_path_internal_get (stmdev_ctx_t *ctx, lsm6dso32_slope_fds_t *val)
 HPF or SLOPE filter selection on wake-up and Activity/Inactivity functions.[get].
 
int32_t lsm6dso32_gy_hp_path_internal_set (stmdev_ctx_t *ctx, lsm6dso32_hpm_g_t val)
 Enables gyroscope digital high-pass filter. The filter is enabled only if the gyro is in HP mode.[set].
 
int32_t lsm6dso32_gy_hp_path_internal_get (stmdev_ctx_t *ctx, lsm6dso32_hpm_g_t *val)
 Enables gyroscope digital high-pass filter. The filter is enabled only if the gyro is in HP mode.[get].
 
int32_t lsm6dso32_sdo_sa0_mode_set (stmdev_ctx_t *ctx, lsm6dso32_sdo_pu_en_t val)
 Connect/Disconnect SDO/SA0 internal pull-up.[set].
 
int32_t lsm6dso32_sdo_sa0_mode_get (stmdev_ctx_t *ctx, lsm6dso32_sdo_pu_en_t *val)
 Connect/Disconnect SDO/SA0 internal pull-up.[get].
 
int32_t lsm6dso32_spi_mode_set (stmdev_ctx_t *ctx, lsm6dso32_sim_t val)
 SPI Serial Interface Mode selection.[set].
 
int32_t lsm6dso32_spi_mode_get (stmdev_ctx_t *ctx, lsm6dso32_sim_t *val)
 SPI Serial Interface Mode selection.[get].
 
int32_t lsm6dso32_i2c_interface_set (stmdev_ctx_t *ctx, lsm6dso32_i2c_disable_t val)
 Disable / Enable I2C interface.[set].
 
int32_t lsm6dso32_i2c_interface_get (stmdev_ctx_t *ctx, lsm6dso32_i2c_disable_t *val)
 Disable / Enable I2C interface.[get].
 
int32_t lsm6dso32_i3c_disable_set (stmdev_ctx_t *ctx, lsm6dso32_i3c_disable_t val)
 I3C Enable/Disable communication protocol[.set].
 
int32_t lsm6dso32_i3c_disable_get (stmdev_ctx_t *ctx, lsm6dso32_i3c_disable_t *val)
 I3C Enable/Disable communication protocol.[get].
 
int32_t lsm6dso32_int1_mode_set (stmdev_ctx_t *ctx, lsm6dso32_int1_pd_en_t val)
 Connect/Disconnect INT1 internal pull-down.[set].
 
int32_t lsm6dso32_int1_mode_get (stmdev_ctx_t *ctx, lsm6dso32_int1_pd_en_t *val)
 Connect/Disconnect INT1 internal pull-down.[get].
 
int32_t lsm6dso32_pin_int1_route_set (stmdev_ctx_t *ctx, lsm6dso32_pin_int1_route_t *val)
 Select the signal that need to route on int1 pad.[set].
 
int32_t lsm6dso32_pin_int1_route_get (stmdev_ctx_t *ctx, lsm6dso32_pin_int1_route_t *val)
 Select the signal that need to route on int1 pad.[get].
 
int32_t lsm6dso32_pin_int2_route_set (stmdev_ctx_t *ctx, lsm6dso32_pin_int2_route_t *val)
 Select the signal that need to route on int2 pad.[set].
 
int32_t lsm6dso32_pin_int2_route_get (stmdev_ctx_t *ctx, lsm6dso32_pin_int2_route_t *val)
 Select the signal that need to route on int2 pad.[get].
 
int32_t lsm6dso32_pin_mode_set (stmdev_ctx_t *ctx, lsm6dso32_pp_od_t val)
 Push-pull/open drain selection on interrupt pads.[set].
 
int32_t lsm6dso32_pin_mode_get (stmdev_ctx_t *ctx, lsm6dso32_pp_od_t *val)
 Push-pull/open drain selection on interrupt pads.[get].
 
int32_t lsm6dso32_pin_polarity_set (stmdev_ctx_t *ctx, lsm6dso32_h_lactive_t val)
 Interrupt active-high/low.[set].
 
int32_t lsm6dso32_pin_polarity_get (stmdev_ctx_t *ctx, lsm6dso32_h_lactive_t *val)
 Interrupt active-high/low.[get].
 
int32_t lsm6dso32_all_on_int1_set (stmdev_ctx_t *ctx, uint8_t val)
 All interrupt signals become available on INT1 pin.[set].
 
int32_t lsm6dso32_all_on_int1_get (stmdev_ctx_t *ctx, uint8_t *val)
 All interrupt signals become available on INT1 pin.[get].
 
int32_t lsm6dso32_int_notification_set (stmdev_ctx_t *ctx, lsm6dso32_lir_t val)
 Interrupt notification mode.[set].
 
int32_t lsm6dso32_int_notification_get (stmdev_ctx_t *ctx, lsm6dso32_lir_t *val)
 Interrupt notification mode.[get].
 
int32_t lsm6dso32_wkup_ths_weight_set (stmdev_ctx_t *ctx, lsm6dso32_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.
 
int32_t lsm6dso32_wkup_ths_weight_get (stmdev_ctx_t *ctx, lsm6dso32_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.
 
int32_t lsm6dso32_wkup_threshold_set (stmdev_ctx_t *ctx, uint8_t val)
 Threshold for wakeup: 1 LSB weight depends on WAKE_THS_W in WAKE_UP_DUR.[set].
 
int32_t lsm6dso32_wkup_threshold_get (stmdev_ctx_t *ctx, uint8_t *val)
 Threshold for wakeup: 1 LSB weight depends on WAKE_THS_W in WAKE_UP_DUR.[get].
 
int32_t lsm6dso32_xl_usr_offset_on_wkup_set (stmdev_ctx_t *ctx, uint8_t val)
 Wake up duration event.[set] 1LSb = 1 / ODR.
 
int32_t lsm6dso32_xl_usr_offset_on_wkup_get (stmdev_ctx_t *ctx, uint8_t *val)
 Wake up duration event.[get] 1LSb = 1 / ODR.
 
int32_t lsm6dso32_wkup_dur_set (stmdev_ctx_t *ctx, uint8_t val)
 Wake up duration event.[set] 1LSb = 1 / ODR.
 
int32_t lsm6dso32_wkup_dur_get (stmdev_ctx_t *ctx, uint8_t *val)
 Wake up duration event.[get] 1LSb = 1 / ODR.
 
int32_t lsm6dso32_gy_sleep_mode_set (stmdev_ctx_t *ctx, uint8_t val)
 Enables gyroscope Sleep mode.[set].
 
int32_t lsm6dso32_gy_sleep_mode_get (stmdev_ctx_t *ctx, uint8_t *val)
 Enables gyroscope Sleep mode.[get].
 
int32_t lsm6dso32_act_pin_notification_set (stmdev_ctx_t *ctx, lsm6dso32_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].
 
int32_t lsm6dso32_act_pin_notification_get (stmdev_ctx_t *ctx, lsm6dso32_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].
 
int32_t lsm6dso32_act_mode_set (stmdev_ctx_t *ctx, lsm6dso32_inact_en_t val)
 Enable inactivity function.[set].
 
int32_t lsm6dso32_act_mode_get (stmdev_ctx_t *ctx, lsm6dso32_inact_en_t *val)
 Enable inactivity function.[get].
 
int32_t lsm6dso32_act_sleep_dur_set (stmdev_ctx_t *ctx, uint8_t val)
 Duration to go in sleep mode.[set] 1 LSb = 512 / ODR.
 
int32_t lsm6dso32_act_sleep_dur_get (stmdev_ctx_t *ctx, uint8_t *val)
 Duration to go in sleep mode.[get] 1 LSb = 512 / ODR.
 
int32_t lsm6dso32_tap_detection_on_z_set (stmdev_ctx_t *ctx, uint8_t val)
 Enable Z direction in tap recognition.[set].
 
int32_t lsm6dso32_tap_detection_on_z_get (stmdev_ctx_t *ctx, uint8_t *val)
 Enable Z direction in tap recognition.[get].
 
int32_t lsm6dso32_tap_detection_on_y_set (stmdev_ctx_t *ctx, uint8_t val)
 Enable Y direction in tap recognition.[set].
 
int32_t lsm6dso32_tap_detection_on_y_get (stmdev_ctx_t *ctx, uint8_t *val)
 Enable Y direction in tap recognition.[get].
 
int32_t lsm6dso32_tap_detection_on_x_set (stmdev_ctx_t *ctx, uint8_t val)
 Enable X direction in tap recognition.[set].
 
int32_t lsm6dso32_tap_detection_on_x_get (stmdev_ctx_t *ctx, uint8_t *val)
 Enable X direction in tap recognition.[get].
 
int32_t lsm6dso32_tap_threshold_x_set (stmdev_ctx_t *ctx, uint8_t val)
 X-axis tap recognition threshold.[set].
 
int32_t lsm6dso32_tap_threshold_x_get (stmdev_ctx_t *ctx, uint8_t *val)
 X-axis tap recognition threshold.[get].
 
int32_t lsm6dso32_tap_axis_priority_set (stmdev_ctx_t *ctx, lsm6dso32_tap_priority_t val)
 Selection of axis priority for TAP detection.[set].
 
int32_t lsm6dso32_tap_axis_priority_get (stmdev_ctx_t *ctx, lsm6dso32_tap_priority_t *val)
 Selection of axis priority for TAP detection.[get].
 
int32_t lsm6dso32_tap_threshold_y_set (stmdev_ctx_t *ctx, uint8_t val)
 Y-axis tap recognition threshold.[set].
 
int32_t lsm6dso32_tap_threshold_y_get (stmdev_ctx_t *ctx, uint8_t *val)
 Y-axis tap recognition threshold.[get].
 
int32_t lsm6dso32_tap_threshold_z_set (stmdev_ctx_t *ctx, uint8_t val)
 Z-axis recognition threshold.[set].
 
int32_t lsm6dso32_tap_threshold_z_get (stmdev_ctx_t *ctx, uint8_t *val)
 Z-axis recognition threshold.[get].
 
int32_t lsm6dso32_tap_shock_set (stmdev_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].
 
int32_t lsm6dso32_tap_shock_get (stmdev_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].
 
int32_t lsm6dso32_tap_quiet_set (stmdev_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].
 
int32_t lsm6dso32_tap_quiet_get (stmdev_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].
 
int32_t lsm6dso32_tap_dur_set (stmdev_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].
 
int32_t lsm6dso32_tap_dur_get (stmdev_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].
 
int32_t lsm6dso32_tap_mode_set (stmdev_ctx_t *ctx, lsm6dso32_single_double_tap_t val)
 Single/double-tap event enable.[set].
 
int32_t lsm6dso32_tap_mode_get (stmdev_ctx_t *ctx, lsm6dso32_single_double_tap_t *val)
 Single/double-tap event enable.[get].
 
int32_t lsm6dso32_6d_threshold_set (stmdev_ctx_t *ctx, lsm6dso32_sixd_ths_t val)
 Threshold for 4D/6D function.[set].
 
int32_t lsm6dso32_6d_threshold_get (stmdev_ctx_t *ctx, lsm6dso32_sixd_ths_t *val)
 Threshold for 4D/6D function.[get].
 
int32_t lsm6dso32_4d_mode_set (stmdev_ctx_t *ctx, uint8_t val)
 4D orientation detection enable.[set]
 
int32_t lsm6dso32_4d_mode_get (stmdev_ctx_t *ctx, uint8_t *val)
 4D orientation detection enable.[get]
 
int32_t lsm6dso32_ff_threshold_set (stmdev_ctx_t *ctx, lsm6dso32_ff_ths_t val)
 Free fall threshold setting.[set].
 
int32_t lsm6dso32_ff_threshold_get (stmdev_ctx_t *ctx, lsm6dso32_ff_ths_t *val)
 Free fall threshold setting.[get].
 
int32_t lsm6dso32_ff_dur_set (stmdev_ctx_t *ctx, uint8_t val)
 Free-fall duration event.[set] 1LSb = 1 / ODR.
 
int32_t lsm6dso32_ff_dur_get (stmdev_ctx_t *ctx, uint8_t *val)
 Free-fall duration event.[get] 1LSb = 1 / ODR.
 
int32_t lsm6dso32_fifo_watermark_set (stmdev_ctx_t *ctx, uint16_t val)
 FIFO watermark level selection.[set].
 
int32_t lsm6dso32_fifo_watermark_get (stmdev_ctx_t *ctx, uint16_t *val)
 FIFO watermark level selection.[get].
 
int32_t lsm6dso32_compression_algo_init_set (stmdev_ctx_t *ctx, uint8_t val)
 FIFO compression feature initialization request [set].
 
int32_t lsm6dso32_compression_algo_init_get (stmdev_ctx_t *ctx, uint8_t *val)
 FIFO compression feature initialization request [get].
 
int32_t lsm6dso32_compression_algo_set (stmdev_ctx_t *ctx, lsm6dso32_uncoptr_rate_t val)
 Enable and configure compression algo.[set].
 
int32_t lsm6dso32_compression_algo_get (stmdev_ctx_t *ctx, lsm6dso32_uncoptr_rate_t *val)
 Enable and configure compression algo.[get].
 
int32_t lsm6dso32_fifo_virtual_sens_odr_chg_set (stmdev_ctx_t *ctx, uint8_t val)
 Enables ODR CHANGE virtual sensor to be batched in FIFO.[set].
 
int32_t lsm6dso32_fifo_virtual_sens_odr_chg_get (stmdev_ctx_t *ctx, uint8_t *val)
 Enables ODR CHANGE virtual sensor to be batched in FIFO.[get].
 
int32_t lsm6dso32_compression_algo_real_time_set (stmdev_ctx_t *ctx, uint8_t val)
 Enables/Disables compression algorithm runtime.[set].
 
int32_t lsm6dso32_compression_algo_real_time_get (stmdev_ctx_t *ctx, uint8_t *val)
 Enables/Disables compression algorithm runtime.[get].
 
int32_t lsm6dso32_fifo_stop_on_wtm_set (stmdev_ctx_t *ctx, uint8_t val)
 Sensing chain FIFO stop values memorization at threshold level.[set].
 
int32_t lsm6dso32_fifo_stop_on_wtm_get (stmdev_ctx_t *ctx, uint8_t *val)
 Sensing chain FIFO stop values memorization at threshold level.[get].
 
int32_t lsm6dso32_fifo_xl_batch_set (stmdev_ctx_t *ctx, lsm6dso32_bdr_xl_t val)
 Selects Batching Data Rate (writing frequency in FIFO) for accelerometer data.[set].
 
int32_t lsm6dso32_fifo_xl_batch_get (stmdev_ctx_t *ctx, lsm6dso32_bdr_xl_t *val)
 Selects Batching Data Rate (writing frequency in FIFO) for accelerometer data.[get].
 
int32_t lsm6dso32_fifo_gy_batch_set (stmdev_ctx_t *ctx, lsm6dso32_bdr_gy_t val)
 Selects Batching Data Rate (writing frequency in FIFO) for gyroscope data.[set].
 
int32_t lsm6dso32_fifo_gy_batch_get (stmdev_ctx_t *ctx, lsm6dso32_bdr_gy_t *val)
 Selects Batching Data Rate (writing frequency in FIFO) for gyroscope data.[get].
 
int32_t lsm6dso32_fifo_mode_set (stmdev_ctx_t *ctx, lsm6dso32_fifo_mode_t val)
 FIFO mode selection.[set].
 
int32_t lsm6dso32_fifo_mode_get (stmdev_ctx_t *ctx, lsm6dso32_fifo_mode_t *val)
 FIFO mode selection.[get].
 
int32_t lsm6dso32_fifo_temp_batch_set (stmdev_ctx_t *ctx, lsm6dso32_odr_t_batch_t val)
 Selects Batching Data Rate (writing frequency in FIFO) for temperature data.[set].
 
int32_t lsm6dso32_fifo_temp_batch_get (stmdev_ctx_t *ctx, lsm6dso32_odr_t_batch_t *val)
 Selects Batching Data Rate (writing frequency in FIFO) for temperature data.[get].
 
int32_t lsm6dso32_fifo_timestamp_decimation_set (stmdev_ctx_t *ctx, lsm6dso32_odr_ts_batch_t val)
 Selects decimation for timestamp batching in FIFO. Writing rate will be the maximum rate between XL and GYRO BDR divided by decimation decoder.[set].
 
int32_t lsm6dso32_fifo_timestamp_decimation_get (stmdev_ctx_t *ctx, lsm6dso32_odr_ts_batch_t *val)
 Selects decimation for timestamp batching in FIFO. Writing rate will be the maximum rate between XL and GYRO BDR divided by decimation decoder.[get].
 
int32_t lsm6dso32_fifo_cnt_event_batch_set (stmdev_ctx_t *ctx, lsm6dso32_trig_counter_bdr_t val)
 Selects the trigger for the internal counter of batching events between XL and gyro.[set].
 
int32_t lsm6dso32_fifo_cnt_event_batch_get (stmdev_ctx_t *ctx, lsm6dso32_trig_counter_bdr_t *val)
 Selects the trigger for the internal counter of batching events between XL and gyro.[get].
 
int32_t lsm6dso32_rst_batch_counter_set (stmdev_ctx_t *ctx, uint8_t val)
 Resets the internal counter of batching vents for a single sensor. This bit is automatically reset to zero if it was set to ‘1’.[set].
 
int32_t lsm6dso32_rst_batch_counter_get (stmdev_ctx_t *ctx, uint8_t *val)
 Resets the internal counter of batching events for a single sensor. This bit is automatically reset to zero if it was set to ‘1’.[get].
 
int32_t lsm6dso32_batch_counter_threshold_set (stmdev_ctx_t *ctx, uint16_t val)
 Batch data rate counter.[set].
 
int32_t lsm6dso32_batch_counter_threshold_get (stmdev_ctx_t *ctx, uint16_t *val)
 Batch data rate counter.[get].
 
int32_t lsm6dso32_fifo_data_level_get (stmdev_ctx_t *ctx, uint16_t *val)
 Number of unread sensor data(TAG + 6 bytes) stored in FIFO.[get].
 
int32_t lsm6dso32_fifo_status_get (stmdev_ctx_t *ctx, lsm6dso32_fifo_status2_t *val)
 FIFO status.[get].
 
int32_t lsm6dso32_fifo_full_flag_get (stmdev_ctx_t *ctx, uint8_t *val)
 Smart FIFO full status.[get].
 
int32_t lsm6dso32_fifo_ovr_flag_get (stmdev_ctx_t *ctx, uint8_t *val)
 FIFO overrun status.[get].
 
int32_t lsm6dso32_fifo_wtm_flag_get (stmdev_ctx_t *ctx, uint8_t *val)
 FIFO watermark status.[get].
 
int32_t lsm6dso32_fifo_sensor_tag_get (stmdev_ctx_t *ctx, lsm6dso32_fifo_tag_t *val)
 Identifies the sensor in FIFO_DATA_OUT.[get].
 
int32_t lsm6dso32_fifo_pedo_batch_set (stmdev_ctx_t *ctx, uint8_t val)
 : Enable FIFO batching of pedometer embedded function values.[set]
 
int32_t lsm6dso32_fifo_pedo_batch_get (stmdev_ctx_t *ctx, uint8_t *val)
 Enable FIFO batching of pedometer embedded function values.[get].
 
int32_t lsm6dso32_sh_batch_slave_0_set (stmdev_ctx_t *ctx, uint8_t val)
 Enable FIFO batching data of first slave.[set].
 
int32_t lsm6dso32_sh_batch_slave_0_get (stmdev_ctx_t *ctx, uint8_t *val)
 Enable FIFO batching data of first slave.[get].
 
int32_t lsm6dso32_sh_batch_slave_1_set (stmdev_ctx_t *ctx, uint8_t val)
 Enable FIFO batching data of second slave.[set].
 
int32_t lsm6dso32_sh_batch_slave_1_get (stmdev_ctx_t *ctx, uint8_t *val)
 Enable FIFO batching data of second slave.[get].
 
int32_t lsm6dso32_sh_batch_slave_2_set (stmdev_ctx_t *ctx, uint8_t val)
 Enable FIFO batching data of third slave.[set].
 
int32_t lsm6dso32_sh_batch_slave_2_get (stmdev_ctx_t *ctx, uint8_t *val)
 Enable FIFO batching data of third slave.[get].
 
int32_t lsm6dso32_sh_batch_slave_3_set (stmdev_ctx_t *ctx, uint8_t val)
 Enable FIFO batching data of fourth slave.[set].
 
int32_t lsm6dso32_sh_batch_slave_3_get (stmdev_ctx_t *ctx, uint8_t *val)
 Enable FIFO batching data of fourth slave.[get].
 
int32_t lsm6dso32_den_mode_set (stmdev_ctx_t *ctx, lsm6dso32_den_mode_t val)
 DEN functionality marking mode.[set].
 
int32_t lsm6dso32_den_mode_get (stmdev_ctx_t *ctx, lsm6dso32_den_mode_t *val)
 DEN functionality marking mode.[get].
 
int32_t lsm6dso32_den_polarity_set (stmdev_ctx_t *ctx, lsm6dso32_den_lh_t val)
 DEN active level configuration.[set].
 
int32_t lsm6dso32_den_polarity_get (stmdev_ctx_t *ctx, lsm6dso32_den_lh_t *val)
 DEN active level configuration.[get].
 
int32_t lsm6dso32_den_enable_set (stmdev_ctx_t *ctx, lsm6dso32_den_xl_g_t val)
 DEN enable.[set].
 
int32_t lsm6dso32_den_enable_get (stmdev_ctx_t *ctx, lsm6dso32_den_xl_g_t *val)
 DEN enable.[get].
 
int32_t lsm6dso32_den_mark_axis_x_set (stmdev_ctx_t *ctx, uint8_t val)
 DEN value stored in LSB of X-axis.[set].
 
int32_t lsm6dso32_den_mark_axis_x_get (stmdev_ctx_t *ctx, uint8_t *val)
 DEN value stored in LSB of X-axis.[get].
 
int32_t lsm6dso32_den_mark_axis_y_set (stmdev_ctx_t *ctx, uint8_t val)
 DEN value stored in LSB of Y-axis.[set].
 
int32_t lsm6dso32_den_mark_axis_y_get (stmdev_ctx_t *ctx, uint8_t *val)
 DEN value stored in LSB of Y-axis.[get].
 
int32_t lsm6dso32_den_mark_axis_z_set (stmdev_ctx_t *ctx, uint8_t val)
 DEN value stored in LSB of Z-axis.[set].
 
int32_t lsm6dso32_den_mark_axis_z_get (stmdev_ctx_t *ctx, uint8_t *val)
 DEN value stored in LSB of Z-axis.[get].
 
int32_t lsm6dso32_pedo_sens_set (stmdev_ctx_t *ctx, lsm6dso32_pedo_md_t val)
 Enable pedometer algorithm.[set].
 
int32_t lsm6dso32_pedo_sens_get (stmdev_ctx_t *ctx, lsm6dso32_pedo_md_t *val)
 Enable pedometer algorithm.[get].
 
int32_t lsm6dso32_pedo_step_detect_get (stmdev_ctx_t *ctx, uint8_t *val)
 Interrupt status bit for step detection.[get].
 
int32_t lsm6dso32_pedo_debounce_steps_set (stmdev_ctx_t *ctx, uint8_t *buff)
 Pedometer debounce configuration register (r/w).[set].
 
int32_t lsm6dso32_pedo_debounce_steps_get (stmdev_ctx_t *ctx, uint8_t *buff)
 Pedometer debounce configuration register (r/w).[get].
 
int32_t lsm6dso32_pedo_steps_period_set (stmdev_ctx_t *ctx, uint16_t val)
 Time period register for step detection on delta time (r/w).[set].
 
int32_t lsm6dso32_pedo_steps_period_get (stmdev_ctx_t *ctx, uint16_t *val)
 Time period register for step detection on delta time (r/w).[get].
 
int32_t lsm6dso32_pedo_int_mode_set (stmdev_ctx_t *ctx, lsm6dso32_carry_count_en_t val)
 Set when user wants to generate interrupt on count overflow event/every step.[set].
 
int32_t lsm6dso32_pedo_int_mode_get (stmdev_ctx_t *ctx, lsm6dso32_carry_count_en_t *val)
 Set when user wants to generate interrupt on count overflow event/every step.[get].
 
int32_t lsm6dso32_motion_sens_set (stmdev_ctx_t *ctx, uint8_t val)
 Enable significant motion detection function.[set].
 
int32_t lsm6dso32_motion_sens_get (stmdev_ctx_t *ctx, uint8_t *val)
 Enable significant motion detection function.[get].
 
int32_t lsm6dso32_motion_flag_data_ready_get (stmdev_ctx_t *ctx, uint8_t *val)
 Interrupt status bit for significant motion detection.[get].
 
int32_t lsm6dso32_tilt_sens_set (stmdev_ctx_t *ctx, uint8_t val)
 Enable tilt calculation.[set].
 
int32_t lsm6dso32_tilt_sens_get (stmdev_ctx_t *ctx, uint8_t *val)
 Enable tilt calculation.[get].
 
int32_t lsm6dso32_tilt_flag_data_ready_get (stmdev_ctx_t *ctx, uint8_t *val)
 Interrupt status bit for tilt detection.[get].
 
int32_t lsm6dso32_mag_sensitivity_set (stmdev_ctx_t *ctx, uint16_t val)
 External magnetometer sensitivity value register.[set].
 
int32_t lsm6dso32_mag_sensitivity_get (stmdev_ctx_t *ctx, uint16_t *val)
 External magnetometer sensitivity value register.[get].
 
int32_t lsm6dso32_mag_offset_set (stmdev_ctx_t *ctx, int16_t *val)
 Offset for hard-iron compensation register (r/w).[set].
 
int32_t lsm6dso32_mag_offset_get (stmdev_ctx_t *ctx, int16_t *val)
 Offset for hard-iron compensation register (r/w).[get].
 
int32_t lsm6dso32_mag_soft_iron_set (stmdev_ctx_t *ctx, int16_t *val)
 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].
 
int32_t lsm6dso32_mag_soft_iron_get (stmdev_ctx_t *ctx, int16_t *val)
 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].
 
int32_t lsm6dso32_mag_z_orient_set (stmdev_ctx_t *ctx, lsm6dso32_mag_z_axis_t val)
 Magnetometer Z-axis coordinates rotation (to be aligned to accelerometer/gyroscope axes orientation).[set].
 
int32_t lsm6dso32_mag_z_orient_get (stmdev_ctx_t *ctx, lsm6dso32_mag_z_axis_t *val)
 Magnetometer Z-axis coordinates rotation (to be aligned to accelerometer/gyroscope axes orientation).[get].
 
int32_t lsm6dso32_mag_y_orient_set (stmdev_ctx_t *ctx, lsm6dso32_mag_y_axis_t val)
 Magnetometer Y-axis coordinates rotation (to be aligned to accelerometer/gyroscope axes orientation).[set].
 
int32_t lsm6dso32_mag_y_orient_get (stmdev_ctx_t *ctx, lsm6dso32_mag_y_axis_t *val)
 Magnetometer Y-axis coordinates rotation (to be aligned to accelerometer/gyroscope axes orientation).[get].
 
int32_t lsm6dso32_mag_x_orient_set (stmdev_ctx_t *ctx, lsm6dso32_mag_x_axis_t val)
 Magnetometer X-axis coordinates rotation (to be aligned to accelerometer/gyroscope axes orientation).[set].
 
int32_t lsm6dso32_mag_x_orient_get (stmdev_ctx_t *ctx, lsm6dso32_mag_x_axis_t *val)
 Magnetometer X-axis coordinates rotation (to be aligned to accelerometer/gyroscope axes orientation).[get].
 
int32_t lsm6dso32_long_cnt_flag_data_ready_get (stmdev_ctx_t *ctx, uint8_t *val)
 Interrupt status bit for FSM long counter timeout interrupt event.[get].
 
int32_t lsm6dso32_emb_fsm_en_set (stmdev_ctx_t *ctx, uint8_t val)
 Final State Machine global enable.[set].
 
int32_t lsm6dso32_emb_fsm_en_get (stmdev_ctx_t *ctx, uint8_t *val)
 Final State Machine global enable.[get].
 
int32_t lsm6dso32_fsm_enable_set (stmdev_ctx_t *ctx, lsm6dso32_emb_fsm_enable_t *val)
 Final State Machine enable.[set].
 
int32_t lsm6dso32_fsm_enable_get (stmdev_ctx_t *ctx, lsm6dso32_emb_fsm_enable_t *val)
 Final State Machine enable.[get].
 
int32_t lsm6dso32_long_cnt_set (stmdev_ctx_t *ctx, uint16_t val)
 FSM long counter status register. Long counter value is an unsigned integer value (16-bit format).[set].
 
int32_t lsm6dso32_long_cnt_get (stmdev_ctx_t *ctx, uint16_t *val)
 FSM long counter status register. Long counter value is an unsigned integer value (16-bit format).[get].
 
int32_t lsm6dso32_long_clr_set (stmdev_ctx_t *ctx, lsm6dso32_fsm_lc_clr_t val)
 Clear FSM long counter value.[set].
 
int32_t lsm6dso32_long_clr_get (stmdev_ctx_t *ctx, lsm6dso32_fsm_lc_clr_t *val)
 Clear FSM long counter value.[get].
 
int32_t lsm6dso32_fsm_out_get (stmdev_ctx_t *ctx, lsm6dso32_fsm_out_t *val)
 FSM output registers[get].
 
int32_t lsm6dso32_fsm_data_rate_set (stmdev_ctx_t *ctx, lsm6dso32_fsm_odr_t val)
 Finite State Machine ODR configuration.[set].
 
int32_t lsm6dso32_fsm_data_rate_get (stmdev_ctx_t *ctx, lsm6dso32_fsm_odr_t *val)
 Finite State Machine ODR configuration.[get].
 
int32_t lsm6dso32_fsm_init_set (stmdev_ctx_t *ctx, uint8_t val)
 FSM initialization request.[set].
 
int32_t lsm6dso32_fsm_init_get (stmdev_ctx_t *ctx, uint8_t *val)
 FSM initialization request.[get].
 
int32_t lsm6dso32_long_cnt_int_value_set (stmdev_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].
 
int32_t lsm6dso32_long_cnt_int_value_get (stmdev_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].
 
int32_t lsm6dso32_fsm_number_of_programs_set (stmdev_ctx_t *ctx, uint8_t *buff)
 FSM number of programs register.[set].
 
int32_t lsm6dso32_fsm_number_of_programs_get (stmdev_ctx_t *ctx, uint8_t *buff)
 FSM number of programs register.[get].
 
int32_t lsm6dso32_fsm_start_address_set (stmdev_ctx_t *ctx, uint16_t val)
 FSM start address register (r/w). First available address is 0x033C.[set].
 
int32_t lsm6dso32_fsm_start_address_get (stmdev_ctx_t *ctx, uint16_t *val)
 FSM start address register (r/w). First available address is 0x033C.[get].
 
int32_t lsm6dso32_sh_read_data_raw_get (stmdev_ctx_t *ctx, lsm6dso32_emb_sh_read_t *val)
 Sensor hub output registers.[get].
 
int32_t lsm6dso32_sh_slave_connected_set (stmdev_ctx_t *ctx, lsm6dso32_aux_sens_on_t val)
 Number of external sensors to be read by the sensor hub.[set].
 
int32_t lsm6dso32_sh_slave_connected_get (stmdev_ctx_t *ctx, lsm6dso32_aux_sens_on_t *val)
 Number of external sensors to be read by the sensor hub.[get].
 
int32_t lsm6dso32_sh_master_set (stmdev_ctx_t *ctx, uint8_t val)
 Sensor hub I2C master enable.[set].
 
int32_t lsm6dso32_sh_master_get (stmdev_ctx_t *ctx, uint8_t *val)
 Sensor hub I2C master enable.[get].
 
int32_t lsm6dso32_sh_pin_mode_set (stmdev_ctx_t *ctx, lsm6dso32_shub_pu_en_t val)
 Master I2C pull-up enable.[set].
 
int32_t lsm6dso32_sh_pin_mode_get (stmdev_ctx_t *ctx, lsm6dso32_shub_pu_en_t *val)
 Master I2C pull-up enable.[get].
 
int32_t lsm6dso32_sh_pass_through_set (stmdev_ctx_t *ctx, uint8_t val)
 I2C interface pass-through.[set].
 
int32_t lsm6dso32_sh_pass_through_get (stmdev_ctx_t *ctx, uint8_t *val)
 I2C interface pass-through.[get].
 
int32_t lsm6dso32_sh_syncro_mode_set (stmdev_ctx_t *ctx, lsm6dso32_start_config_t val)
 Sensor hub trigger signal selection.[set].
 
int32_t lsm6dso32_sh_syncro_mode_get (stmdev_ctx_t *ctx, lsm6dso32_start_config_t *val)
 Sensor hub trigger signal selection.[get].
 
int32_t lsm6dso32_sh_write_mode_set (stmdev_ctx_t *ctx, lsm6dso32_write_once_t val)
 Slave 0 write operation is performed only at the first sensor hub cycle.[set].
 
int32_t lsm6dso32_sh_write_mode_get (stmdev_ctx_t *ctx, lsm6dso32_write_once_t *val)
 Slave 0 write operation is performed only at the first sensor hub cycle.[get].
 
int32_t lsm6dso32_sh_reset_set (stmdev_ctx_t *ctx)
 Reset Master logic and output registers.[set].
 
int32_t lsm6dso32_sh_reset_get (stmdev_ctx_t *ctx, uint8_t *val)
 Reset Master logic and output registers.[get].
 
int32_t lsm6dso32_sh_data_rate_set (stmdev_ctx_t *ctx, lsm6dso32_shub_odr_t val)
 Rate at which the master communicates.[set].
 
int32_t lsm6dso32_sh_data_rate_get (stmdev_ctx_t *ctx, lsm6dso32_shub_odr_t *val)
 Rate at which the master communicates.[get].
 
int32_t lsm6dso32_sh_cfg_write (stmdev_ctx_t *ctx, lsm6dso32_sh_cfg_write_t *val)
 Configure slave 0 for perform a write.[set].
 
int32_t lsm6dso32_sh_slv0_cfg_read (stmdev_ctx_t *ctx, lsm6dso32_sh_cfg_read_t *val)
 Configure slave 0 for perform a read.[set].
 
int32_t lsm6dso32_sh_slv1_cfg_read (stmdev_ctx_t *ctx, lsm6dso32_sh_cfg_read_t *val)
 Configure slave 0 for perform a write/read.[set].
 
int32_t lsm6dso32_sh_slv2_cfg_read (stmdev_ctx_t *ctx, lsm6dso32_sh_cfg_read_t *val)
 Configure slave 0 for perform a write/read.[set].
 
int32_t lsm6dso32_sh_slv3_cfg_read (stmdev_ctx_t *ctx, lsm6dso32_sh_cfg_read_t *val)
 Configure slave 0 for perform a write/read.[set].
 
int32_t lsm6dso32_sh_status_get (stmdev_ctx_t *ctx, lsm6dso32_status_master_t *val)
 Sensor hub source register.[get].
 

Detailed Description

LSM6DSO32 driver file.

Author
Sensors Software Solution Team
Attention

© Copyright (c) 2021 STMicroelectronics. All rights reserved.

This software component is licensed by ST under BSD 3-Clause license, the "License"; You may not use this file except in compliance with the License. You may obtain a copy of the License at: opensource.org/licenses/BSD-3-Clause

Definition in file lsm6dso32_reg.c.