![]() |
Da Vinci Firmware 1
Firmware for the DaVinci-M rocket avionics board.
|
This section groups all the functions concerning activity/inactivity detection. More...

Functions | |
| 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_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_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]. | |
This section groups all the functions concerning activity/inactivity detection.
This section groups all the functions that manage additional magnetometer sensor.
This section groups all the functions concerning six position detection (6D).
| int32_t lsm6dso32_4d_mode_get | ( | stmdev_ctx_t * | ctx, |
| uint8_t * | val | ||
| ) |
4D orientation detection enable.[get]
| ctx | read / write interface definitions |
| val | change the values of d4d_en in reg TAP_THS_6D |
| interface | status (MANDATORY: return 0 -> no Error) |
Definition at line 4905 of file lsm6dso32_reg.c.
References lsm6dso32_tap_ths_6d_t::d4d_en, lsm6dso32_read_reg(), and LSM6DSO32_TAP_THS_6D.

| int32_t lsm6dso32_4d_mode_set | ( | stmdev_ctx_t * | ctx, |
| uint8_t | val | ||
| ) |
4D orientation detection enable.[set]
| ctx | read / write interface definitions |
| val | change the values of d4d_en in reg TAP_THS_6D |
| interface | status (MANDATORY: return 0 -> no Error) |
Definition at line 4881 of file lsm6dso32_reg.c.
References lsm6dso32_tap_ths_6d_t::d4d_en, lsm6dso32_read_reg(), LSM6DSO32_TAP_THS_6D, and lsm6dso32_write_reg().

| int32_t lsm6dso32_6d_threshold_get | ( | stmdev_ctx_t * | ctx, |
| lsm6dso32_sixd_ths_t * | val | ||
| ) |
Threshold for 4D/6D function.[get].
| ctx | read / write interface definitions |
| val | Get the values of sixd_ths in reg TAP_THS_6D |
| interface | status (MANDATORY: return 0 -> no Error) |
Definition at line 4847 of file lsm6dso32_reg.c.
References LSM6DSO32_DEG_47, LSM6DSO32_DEG_68, lsm6dso32_read_reg(), LSM6DSO32_TAP_THS_6D, and lsm6dso32_tap_ths_6d_t::sixd_ths.

| int32_t lsm6dso32_6d_threshold_set | ( | stmdev_ctx_t * | ctx, |
| lsm6dso32_sixd_ths_t | val | ||
| ) |
Threshold for 4D/6D function.[set].
| ctx | read / write interface definitions |
| val | change the values of sixd_ths in reg TAP_THS_6D |
| interface | status (MANDATORY: return 0 -> no Error) |
Definition at line 4822 of file lsm6dso32_reg.c.
References lsm6dso32_read_reg(), LSM6DSO32_TAP_THS_6D, lsm6dso32_write_reg(), and lsm6dso32_tap_ths_6d_t::sixd_ths.

| int32_t lsm6dso32_act_mode_get | ( | stmdev_ctx_t * | ctx, |
| lsm6dso32_inact_en_t * | val | ||
| ) |
Enable inactivity function.[get].
| ctx | read / write interface definitions |
| val | Get the values of inact_en in reg TAP_CFG2 |
| interface | status (MANDATORY: return 0 -> no Error) |
Definition at line 4145 of file lsm6dso32_reg.c.
References lsm6dso32_tap_cfg2_t::inact_en, lsm6dso32_read_reg(), LSM6DSO32_TAP_CFG2, LSM6DSO32_XL_12Hz5_GY_NOT_AFFECTED, LSM6DSO32_XL_12Hz5_GY_PD, LSM6DSO32_XL_12Hz5_GY_SLEEP, and LSM6DSO32_XL_AND_GY_NOT_AFFECTED.

| int32_t lsm6dso32_act_mode_set | ( | stmdev_ctx_t * | ctx, |
| lsm6dso32_inact_en_t | val | ||
| ) |
Enable inactivity function.[set].
| ctx | read / write interface definitions |
| val | change the values of inact_en in reg TAP_CFG2 |
| interface | status (MANDATORY: return 0 -> no Error) |
Definition at line 4120 of file lsm6dso32_reg.c.
References lsm6dso32_tap_cfg2_t::inact_en, lsm6dso32_read_reg(), LSM6DSO32_TAP_CFG2, and lsm6dso32_write_reg().

| 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].
| ctx | read / write interface definitions |
| val | Get the values of sleep_status_on_int in reg TAP_CFG0 |
| interface | status (MANDATORY: return 0 -> no Error) |
Definition at line 4086 of file lsm6dso32_reg.c.
References LSM6DSO32_DRIVE_SLEEP_CHG_EVENT, LSM6DSO32_DRIVE_SLEEP_STATUS, lsm6dso32_read_reg(), LSM6DSO32_TAP_CFG0, and lsm6dso32_tap_cfg0_t::sleep_status_on_int.

| 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].
| ctx | read / write interface definitions |
| val | change the values of sleep_status_on_int in reg TAP_CFG0 |
| interface | status (MANDATORY: return 0 -> no Error) |
Definition at line 4058 of file lsm6dso32_reg.c.
References lsm6dso32_read_reg(), LSM6DSO32_TAP_CFG0, lsm6dso32_write_reg(), and lsm6dso32_tap_cfg0_t::sleep_status_on_int.

| 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.
| ctx | read / write interface definitions |
| val | change the values of sleep_dur in reg WAKE_UP_DUR |
| interface | status (MANDATORY: return 0 -> no Error) |
Definition at line 4213 of file lsm6dso32_reg.c.
References lsm6dso32_read_reg(), LSM6DSO32_WAKE_UP_DUR, and lsm6dso32_wake_up_dur_t::sleep_dur.

| 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.
| ctx | read / write interface definitions |
| val | change the values of sleep_dur in reg WAKE_UP_DUR |
| interface | status (MANDATORY: return 0 -> no Error) |
Definition at line 4188 of file lsm6dso32_reg.c.
References lsm6dso32_read_reg(), LSM6DSO32_WAKE_UP_DUR, lsm6dso32_write_reg(), and lsm6dso32_wake_up_dur_t::sleep_dur.

| int32_t lsm6dso32_gy_sleep_mode_get | ( | stmdev_ctx_t * | ctx, |
| uint8_t * | val | ||
| ) |
Enables gyroscope Sleep mode.[get].
| ctx | read / write interface definitions |
| val | change the values of sleep_g in reg CTRL4_C |
| interface | status (MANDATORY: return 0 -> no Error) |
Definition at line 4036 of file lsm6dso32_reg.c.
References LSM6DSO32_CTRL4_C, lsm6dso32_read_reg(), and lsm6dso32_ctrl4_c_t::sleep_g.

| int32_t lsm6dso32_gy_sleep_mode_set | ( | stmdev_ctx_t * | ctx, |
| uint8_t | val | ||
| ) |
Enables gyroscope Sleep mode.[set].
| ctx | read / write interface definitions |
| val | change the values of sleep_g in reg CTRL4_C |
| interface | status (MANDATORY: return 0 -> no Error) |
Definition at line 4012 of file lsm6dso32_reg.c.
References LSM6DSO32_CTRL4_C, lsm6dso32_read_reg(), lsm6dso32_write_reg(), and lsm6dso32_ctrl4_c_t::sleep_g.

| int32_t lsm6dso32_mag_offset_get | ( | stmdev_ctx_t * | ctx, |
| int16_t * | val | ||
| ) |
Offset for hard-iron compensation register (r/w).[get].
| ctx | read / write interface definitions |
| buff | buffer that stores data read |
| interface | status (MANDATORY: return 0 -> no Error) |
Definition at line 7615 of file lsm6dso32_reg.c.
References lsm6dso32_ln_pg_read_byte(), LSM6DSO32_MAG_OFFX_H, LSM6DSO32_MAG_OFFX_L, LSM6DSO32_MAG_OFFY_H, LSM6DSO32_MAG_OFFY_L, LSM6DSO32_MAG_OFFZ_H, and LSM6DSO32_MAG_OFFZ_L.

| int32_t lsm6dso32_mag_offset_set | ( | stmdev_ctx_t * | ctx, |
| int16_t * | val | ||
| ) |
Offset for hard-iron compensation register (r/w).[set].
| ctx | read / write interface definitions |
| buff | buffer that contains data to write |
| interface | status (MANDATORY: return 0 -> no Error) |
Definition at line 7560 of file lsm6dso32_reg.c.
References lsm6dso32_ln_pg_write_byte(), LSM6DSO32_MAG_OFFX_H, LSM6DSO32_MAG_OFFX_L, LSM6DSO32_MAG_OFFY_H, LSM6DSO32_MAG_OFFY_L, LSM6DSO32_MAG_OFFZ_H, and LSM6DSO32_MAG_OFFZ_L.

| int32_t lsm6dso32_mag_sensitivity_get | ( | stmdev_ctx_t * | ctx, |
| uint16_t * | val | ||
| ) |
External magnetometer sensitivity value register.[get].
| ctx | read / write interface definitions |
| buff | buffer that stores data read |
| interface | status (MANDATORY: return 0 -> no Error) |
Definition at line 7532 of file lsm6dso32_reg.c.
References lsm6dso32_ln_pg_read_byte(), LSM6DSO32_MAG_SENSITIVITY_H, and LSM6DSO32_MAG_SENSITIVITY_L.

| int32_t lsm6dso32_mag_sensitivity_set | ( | stmdev_ctx_t * | ctx, |
| uint16_t | val | ||
| ) |
External magnetometer sensitivity value register.[set].
| ctx | read / write interface definitions |
| buff | buffer that contains data to write |
| interface | status (MANDATORY: return 0 -> no Error) |
Definition at line 7505 of file lsm6dso32_reg.c.
References lsm6dso32_ln_pg_write_byte(), LSM6DSO32_MAG_SENSITIVITY_H, and LSM6DSO32_MAG_SENSITIVITY_L.

| 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].
| ctx | read / write interface definitions |
| buff | buffer that stores data read |
| interface | status (MANDATORY: return 0 -> no Error) |
Definition at line 7793 of file lsm6dso32_reg.c.
References lsm6dso32_ln_pg_read_byte(), LSM6DSO32_MAG_SI_XX_H, LSM6DSO32_MAG_SI_XX_L, LSM6DSO32_MAG_SI_XY_H, LSM6DSO32_MAG_SI_XY_L, LSM6DSO32_MAG_SI_XZ_H, LSM6DSO32_MAG_SI_XZ_L, LSM6DSO32_MAG_SI_YY_H, LSM6DSO32_MAG_SI_YY_L, LSM6DSO32_MAG_SI_YZ_H, LSM6DSO32_MAG_SI_YZ_L, LSM6DSO32_MAG_SI_ZZ_H, and LSM6DSO32_MAG_SI_ZZ_L.

| 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].
| ctx | read / write interface definitions |
| buff | buffer that contains data to write |
| interface | status (MANDATORY: return 0 -> no Error) |
Definition at line 7676 of file lsm6dso32_reg.c.
References lsm6dso32_ln_pg_write_byte(), LSM6DSO32_MAG_SI_XX_H, LSM6DSO32_MAG_SI_XX_L, LSM6DSO32_MAG_SI_XY_H, LSM6DSO32_MAG_SI_XY_L, LSM6DSO32_MAG_SI_XZ_H, LSM6DSO32_MAG_SI_XZ_L, LSM6DSO32_MAG_SI_YY_H, LSM6DSO32_MAG_SI_YY_L, LSM6DSO32_MAG_SI_YZ_H, LSM6DSO32_MAG_SI_YZ_L, LSM6DSO32_MAG_SI_ZZ_H, and LSM6DSO32_MAG_SI_ZZ_L.

| 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].
| ctx | read / write interface definitions |
| val | Get the values of mag_x_axis in reg MAG_CFG_B |
| interface | status (MANDATORY: return 0 -> no Error) |
Definition at line 8105 of file lsm6dso32_reg.c.
References lsm6dso32_ln_pg_read_byte(), LSM6DSO32_MAG_CFG_B, LSM6DSO32_X_EQ_MIN_X, LSM6DSO32_X_EQ_MIN_Y, LSM6DSO32_X_EQ_MIN_Z, LSM6DSO32_X_EQ_X, LSM6DSO32_X_EQ_Y, LSM6DSO32_X_EQ_Z, and lsm6dso32_mag_cfg_b_t::mag_x_axis.

| 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].
| ctx | read / write interface definitions |
| val | change the values of mag_x_axis in reg MAG_CFG_B |
| interface | status (MANDATORY: return 0 -> no Error) |
Definition at line 8075 of file lsm6dso32_reg.c.
References lsm6dso32_ln_pg_read_byte(), lsm6dso32_ln_pg_write_byte(), LSM6DSO32_MAG_CFG_B, and lsm6dso32_mag_cfg_b_t::mag_x_axis.

| 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].
| ctx | read / write interface definitions |
| val | Get the values of mag_y_axis in reg MAG_CFG_A |
| interface | status (MANDATORY: return 0 -> no Error) |
Definition at line 8021 of file lsm6dso32_reg.c.
References lsm6dso32_ln_pg_read_byte(), LSM6DSO32_MAG_CFG_A, LSM6DSO32_Y_EQ_MIN_X, LSM6DSO32_Y_EQ_MIN_Y, LSM6DSO32_Y_EQ_MIN_Z, LSM6DSO32_Y_EQ_X, LSM6DSO32_Y_EQ_Y, LSM6DSO32_Y_EQ_Z, and lsm6dso32_mag_cfg_a_t::mag_y_axis.

| 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].
| ctx | read / write interface definitions |
| val | change the values of mag_y_axis in reg MAG_CFG_A |
| interface | status (MANDATORY: return 0 -> no Error) |
Definition at line 7991 of file lsm6dso32_reg.c.
References lsm6dso32_ln_pg_read_byte(), lsm6dso32_ln_pg_write_byte(), LSM6DSO32_MAG_CFG_A, and lsm6dso32_mag_cfg_a_t::mag_y_axis.

| 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].
| ctx | read / write interface definitions |
| val | Get the values of mag_z_axis in reg MAG_CFG_A |
| interface | status (MANDATORY: return 0 -> no Error) |
Definition at line 7937 of file lsm6dso32_reg.c.
References lsm6dso32_ln_pg_read_byte(), LSM6DSO32_MAG_CFG_A, LSM6DSO32_Z_EQ_MIN_X, LSM6DSO32_Z_EQ_MIN_Y, LSM6DSO32_Z_EQ_MIN_Z, LSM6DSO32_Z_EQ_X, LSM6DSO32_Z_EQ_Y, LSM6DSO32_Z_EQ_Z, and lsm6dso32_mag_cfg_a_t::mag_z_axis.

| 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].
| ctx | read / write interface definitions |
| val | change the values of mag_z_axis in reg MAG_CFG_A |
| interface | status (MANDATORY: return 0 -> no Error) |
Definition at line 7907 of file lsm6dso32_reg.c.
References lsm6dso32_ln_pg_read_byte(), lsm6dso32_ln_pg_write_byte(), LSM6DSO32_MAG_CFG_A, and lsm6dso32_mag_cfg_a_t::mag_z_axis.
