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

This section groups all the functions that manage the Wake Up event generation. More...

Collaboration diagram for LSM6DSO32_Wake_Up_event:

Functions

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.
 

Detailed Description

This section groups all the functions that manage the Wake Up event generation.

Function Documentation

◆ lsm6dso32_wkup_dur_get()

int32_t lsm6dso32_wkup_dur_get ( stmdev_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
Return values
interfacestatus (MANDATORY: return 0 -> no Error)

Definition at line 3979 of file lsm6dso32_reg.c.

3980{
3982 int32_t ret;
3983
3984 ret = lsm6dso32_read_reg(ctx, LSM6DSO32_WAKE_UP_DUR, (uint8_t *)&reg, 1);
3985 *val = reg.wake_dur;
3986
3987 return ret;
3988}
int32_t __weak lsm6dso32_read_reg(stmdev_ctx_t *ctx, uint8_t reg, uint8_t *data, uint16_t len)
Read generic device register.
#define LSM6DSO32_WAKE_UP_DUR

References lsm6dso32_read_reg(), LSM6DSO32_WAKE_UP_DUR, and lsm6dso32_wake_up_dur_t::wake_dur.

Here is the call graph for this function:

◆ lsm6dso32_wkup_dur_set()

int32_t lsm6dso32_wkup_dur_set ( stmdev_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
Return values
interfacestatus (MANDATORY: return 0 -> no Error)

Definition at line 3954 of file lsm6dso32_reg.c.

3955{
3957 int32_t ret;
3958
3959 ret = lsm6dso32_read_reg(ctx, LSM6DSO32_WAKE_UP_DUR, (uint8_t *)&reg, 1);
3960
3961 if (ret == 0)
3962 {
3963 reg.wake_dur = val;
3964 ret = lsm6dso32_write_reg(ctx, LSM6DSO32_WAKE_UP_DUR, (uint8_t *)&reg, 1);
3965 }
3966
3967 return ret;
3968}
int32_t __weak lsm6dso32_write_reg(stmdev_ctx_t *ctx, uint8_t reg, uint8_t *data, uint16_t len)
Write generic device register.

References lsm6dso32_read_reg(), LSM6DSO32_WAKE_UP_DUR, lsm6dso32_write_reg(), and lsm6dso32_wake_up_dur_t::wake_dur.

Here is the call graph for this function:

◆ lsm6dso32_wkup_threshold_get()

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].

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

Definition at line 3887 of file lsm6dso32_reg.c.

3888{
3890 int32_t ret;
3891
3892 ret = lsm6dso32_read_reg(ctx, LSM6DSO32_WAKE_UP_THS, (uint8_t *)&reg, 1);
3893 *val = reg.wk_ths;
3894
3895 return ret;
3896}
#define LSM6DSO32_WAKE_UP_THS

References lsm6dso32_read_reg(), LSM6DSO32_WAKE_UP_THS, and lsm6dso32_wake_up_ths_t::wk_ths.

Here is the call graph for this function:

◆ lsm6dso32_wkup_threshold_set()

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].

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

Definition at line 3862 of file lsm6dso32_reg.c.

3863{
3865 int32_t ret;
3866
3867 ret = lsm6dso32_read_reg(ctx, LSM6DSO32_WAKE_UP_THS, (uint8_t *)&reg, 1);
3868
3869 if (ret == 0)
3870 {
3871 reg.wk_ths = val;
3872 ret = lsm6dso32_write_reg(ctx, LSM6DSO32_WAKE_UP_THS, (uint8_t *)&reg, 1);
3873 }
3874
3875 return ret;
3876}

References lsm6dso32_read_reg(), LSM6DSO32_WAKE_UP_THS, lsm6dso32_write_reg(), and lsm6dso32_wake_up_ths_t::wk_ths.

Here is the call graph for this function:

◆ lsm6dso32_wkup_ths_weight_get()

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.

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

Definition at line 3827 of file lsm6dso32_reg.c.

3829{
3831 int32_t ret;
3832
3833 ret = lsm6dso32_read_reg(ctx, LSM6DSO32_WAKE_UP_DUR, (uint8_t *)&reg, 1);
3834
3835 switch (reg.wake_ths_w)
3836 {
3839 break;
3840
3843 break;
3844
3845 default:
3847 break;
3848 }
3849
3850 return ret;
3851}
@ LSM6DSO32_LSb_FS_DIV_64
@ LSM6DSO32_LSb_FS_DIV_256

References LSM6DSO32_LSb_FS_DIV_256, LSM6DSO32_LSb_FS_DIV_64, lsm6dso32_read_reg(), LSM6DSO32_WAKE_UP_DUR, and lsm6dso32_wake_up_dur_t::wake_ths_w.

Here is the call graph for this function:

◆ lsm6dso32_wkup_ths_weight_set()

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.

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

Definition at line 3799 of file lsm6dso32_reg.c.

3801{
3803 int32_t ret;
3804
3805 ret = lsm6dso32_read_reg(ctx, LSM6DSO32_WAKE_UP_DUR, (uint8_t *)&reg, 1);
3806
3807 if (ret == 0)
3808 {
3809 reg.wake_ths_w = (uint8_t)val;
3810 ret = lsm6dso32_write_reg(ctx, LSM6DSO32_WAKE_UP_DUR, (uint8_t *)&reg, 1);
3811 }
3812
3813 return ret;
3814}

References lsm6dso32_read_reg(), LSM6DSO32_WAKE_UP_DUR, lsm6dso32_write_reg(), and lsm6dso32_wake_up_dur_t::wake_ths_w.

Here is the call graph for this function:

◆ lsm6dso32_xl_usr_offset_on_wkup_get()

int32_t lsm6dso32_xl_usr_offset_on_wkup_get ( stmdev_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
Return values
interfacestatus (MANDATORY: return 0 -> no Error)

Definition at line 3933 of file lsm6dso32_reg.c.

3935{
3937 int32_t ret;
3938
3939 ret = lsm6dso32_read_reg(ctx, LSM6DSO32_WAKE_UP_THS, (uint8_t *)&reg, 1);
3940 *val = reg.usr_off_on_wu;
3941
3942 return ret;
3943}

References lsm6dso32_read_reg(), LSM6DSO32_WAKE_UP_THS, and lsm6dso32_wake_up_ths_t::usr_off_on_wu.

Here is the call graph for this function:

◆ lsm6dso32_xl_usr_offset_on_wkup_set()

int32_t lsm6dso32_xl_usr_offset_on_wkup_set ( stmdev_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
Return values
interfacestatus (MANDATORY: return 0 -> no Error)

Definition at line 3907 of file lsm6dso32_reg.c.

3909{
3911 int32_t ret;
3912
3913 ret = lsm6dso32_read_reg(ctx, LSM6DSO32_WAKE_UP_THS, (uint8_t *)&reg, 1);
3914
3915 if (ret == 0)
3916 {
3917 reg.usr_off_on_wu = val;
3918 ret = lsm6dso32_write_reg(ctx, LSM6DSO32_WAKE_UP_THS, (uint8_t *)&reg, 1);
3919 }
3920
3921 return ret;
3922}

References lsm6dso32_read_reg(), LSM6DSO32_WAKE_UP_THS, lsm6dso32_write_reg(), and lsm6dso32_wake_up_ths_t::usr_off_on_wu.

Here is the call graph for this function: