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

This section group all the functions that manage interrupts. More...

Collaboration diagram for "Interrupts":

Functions

int32_t lis2mdl_offset_int_conf_set (const stmdev_ctx_t *ctx, lis2mdl_int_on_dataoff_t val)
 The interrupt block recognition checks data after/before the hard-iron correction to discover the interrupt.[set].
 
int32_t lis2mdl_offset_int_conf_get (const stmdev_ctx_t *ctx, lis2mdl_int_on_dataoff_t *val)
 The interrupt block recognition checks data after/before the hard-iron correction to discover the interrupt.[get].
 
int32_t lis2mdl_drdy_on_pin_set (const stmdev_ctx_t *ctx, uint8_t val)
 Data-ready signal on INT_DRDY pin.[set].
 
int32_t lis2mdl_drdy_on_pin_get (const stmdev_ctx_t *ctx, uint8_t *val)
 Data-ready signal on INT_DRDY pin.[get].
 
int32_t lis2mdl_int_on_pin_set (const stmdev_ctx_t *ctx, uint8_t val)
 Interrupt signal on INT_DRDY pin.[set].
 
int32_t lis2mdl_int_on_pin_get (const stmdev_ctx_t *ctx, uint8_t *val)
 Interrupt signal on INT_DRDY pin.[get].
 
int32_t lis2mdl_int_gen_conf_set (const stmdev_ctx_t *ctx, lis2mdl_int_crtl_reg_t *val)
 Interrupt generator configuration register.[set].
 
int32_t lis2mdl_int_gen_conf_get (const stmdev_ctx_t *ctx, lis2mdl_int_crtl_reg_t *val)
 Interrupt generator configuration register.[get].
 
int32_t lis2mdl_int_gen_source_get (const stmdev_ctx_t *ctx, lis2mdl_int_source_reg_t *val)
 Interrupt generator source register.[get].
 
int32_t lis2mdl_int_gen_threshold_set (const stmdev_ctx_t *ctx, uint16_t val)
 User-defined threshold value for xl interrupt event on generator. Data format is the same of output data raw: two’s complement with 1LSb = 1.5mG.[set].
 
int32_t lis2mdl_int_gen_threshold_get (const stmdev_ctx_t *ctx, uint16_t *val)
 User-defined threshold value for xl interrupt event on generator. Data format is the same of output data raw: two’s complement with 1LSb = 1.5mG.[get].
 

Detailed Description

This section group all the functions that manage interrupts.

Function Documentation

◆ lis2mdl_drdy_on_pin_get()

int32_t lis2mdl_drdy_on_pin_get ( const stmdev_ctx_t ctx,
uint8_t *  val 
)

Data-ready signal on INT_DRDY pin.[get].

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

Definition at line 1077 of file lis2mdl_reg.c.

1078{
1080 int32_t ret;
1081
1082 ret = lis2mdl_read_reg(ctx, LIS2MDL_CFG_REG_C, (uint8_t *)&reg, 1);
1083 *val = reg.drdy_on_pin;
1084
1085 return ret;
1086}
int32_t __weak lis2mdl_read_reg(const stmdev_ctx_t *ctx, uint8_t reg, uint8_t *data, uint16_t len)
Read generic device register.
Definition lis2mdl_reg.c:66
#define LIS2MDL_CFG_REG_C

References lis2mdl_cfg_reg_c_t::drdy_on_pin, LIS2MDL_CFG_REG_C, and lis2mdl_read_reg().

Here is the call graph for this function:

◆ lis2mdl_drdy_on_pin_set()

int32_t lis2mdl_drdy_on_pin_set ( const stmdev_ctx_t ctx,
uint8_t  val 
)

Data-ready signal on INT_DRDY pin.[set].

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

Definition at line 1053 of file lis2mdl_reg.c.

1054{
1056 int32_t ret;
1057
1058 ret = lis2mdl_read_reg(ctx, LIS2MDL_CFG_REG_C, (uint8_t *)&reg, 1);
1059
1060 if (ret == 0)
1061 {
1062 reg.drdy_on_pin = val;
1063 ret = lis2mdl_write_reg(ctx, LIS2MDL_CFG_REG_C, (uint8_t *)&reg, 1);
1064 }
1065
1066 return ret;
1067}
int32_t __weak lis2mdl_write_reg(const stmdev_ctx_t *ctx, uint8_t reg, uint8_t *data, uint16_t len)
Write generic device register.
Definition lis2mdl_reg.c:92

References lis2mdl_cfg_reg_c_t::drdy_on_pin, LIS2MDL_CFG_REG_C, lis2mdl_read_reg(), and lis2mdl_write_reg().

Here is the call graph for this function:

◆ lis2mdl_int_gen_conf_get()

int32_t lis2mdl_int_gen_conf_get ( const stmdev_ctx_t ctx,
lis2mdl_int_crtl_reg_t val 
)

Interrupt generator configuration register.[get].

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

Definition at line 1157 of file lis2mdl_reg.c.

1159{
1160 int32_t ret;
1161
1162 ret = lis2mdl_read_reg(ctx, LIS2MDL_INT_CRTL_REG, (uint8_t *) val, 1);
1163
1164 return ret;
1165}
#define LIS2MDL_INT_CRTL_REG

References LIS2MDL_INT_CRTL_REG, and lis2mdl_read_reg().

Here is the call graph for this function:

◆ lis2mdl_int_gen_conf_set()

int32_t lis2mdl_int_gen_conf_set ( const stmdev_ctx_t ctx,
lis2mdl_int_crtl_reg_t val 
)

Interrupt generator configuration register.[set].

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

Definition at line 1139 of file lis2mdl_reg.c.

1141{
1142 int32_t ret;
1143
1144 ret = lis2mdl_write_reg(ctx, LIS2MDL_INT_CRTL_REG, (uint8_t *) val, 1);
1145
1146 return ret;
1147}

References LIS2MDL_INT_CRTL_REG, and lis2mdl_write_reg().

Here is the call graph for this function:

◆ lis2mdl_int_gen_source_get()

int32_t lis2mdl_int_gen_source_get ( const stmdev_ctx_t ctx,
lis2mdl_int_source_reg_t val 
)

Interrupt generator source register.[get].

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

Definition at line 1175 of file lis2mdl_reg.c.

1177{
1178 int32_t ret;
1179
1180 ret = lis2mdl_read_reg(ctx, LIS2MDL_INT_SOURCE_REG, (uint8_t *) val, 1);
1181
1182 return ret;
1183}
#define LIS2MDL_INT_SOURCE_REG

References LIS2MDL_INT_SOURCE_REG, and lis2mdl_read_reg().

Here is the call graph for this function:

◆ lis2mdl_int_gen_threshold_get()

int32_t lis2mdl_int_gen_threshold_get ( const stmdev_ctx_t ctx,
uint16_t *  val 
)

User-defined threshold value for xl interrupt event on generator. Data format is the same of output data raw: two’s complement with 1LSb = 1.5mG.[get].

Parameters
ctxread / write interface definitions.(ptr)
buffthat stores data read
Return values
interfacestatus.(MANDATORY: return 0 -> no Error)

Definition at line 1217 of file lis2mdl_reg.c.

1218{
1219 uint8_t buff[2];
1220 int32_t ret;
1221
1222 ret = lis2mdl_read_reg(ctx, LIS2MDL_INT_THS_L_REG, buff, 2);
1223 *val = buff[1];
1224 *val = (*val * 256U) + buff[0];
1225
1226 return ret;
1227}
#define LIS2MDL_INT_THS_L_REG

References LIS2MDL_INT_THS_L_REG, and lis2mdl_read_reg().

Here is the call graph for this function:

◆ lis2mdl_int_gen_threshold_set()

int32_t lis2mdl_int_gen_threshold_set ( const stmdev_ctx_t ctx,
uint16_t  val 
)

User-defined threshold value for xl interrupt event on generator. Data format is the same of output data raw: two’s complement with 1LSb = 1.5mG.[set].

Parameters
ctxread / write interface definitions.(ptr)
buffthat contains data to write
Return values
interfacestatus.(MANDATORY: return 0 -> no Error)

Definition at line 1195 of file lis2mdl_reg.c.

1196{
1197 uint8_t buff[2];
1198 int32_t ret;
1199
1200 buff[1] = (uint8_t)(val / 256U);
1201 buff[0] = (uint8_t)(val - (buff[1] * 256U));
1202 ret = lis2mdl_write_reg(ctx, LIS2MDL_INT_THS_L_REG, buff, 2);
1203
1204 return ret;
1205}

References LIS2MDL_INT_THS_L_REG, and lis2mdl_write_reg().

Here is the call graph for this function:

◆ lis2mdl_int_on_pin_get()

int32_t lis2mdl_int_on_pin_get ( const stmdev_ctx_t ctx,
uint8_t *  val 
)

Interrupt signal on INT_DRDY pin.[get].

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

Definition at line 1120 of file lis2mdl_reg.c.

1121{
1123 int32_t ret;
1124
1125 ret = lis2mdl_read_reg(ctx, LIS2MDL_CFG_REG_C, (uint8_t *)&reg, 1);
1126 *val = reg.int_on_pin;
1127
1128 return ret;
1129}

References lis2mdl_cfg_reg_c_t::int_on_pin, LIS2MDL_CFG_REG_C, and lis2mdl_read_reg().

Here is the call graph for this function:

◆ lis2mdl_int_on_pin_set()

int32_t lis2mdl_int_on_pin_set ( const stmdev_ctx_t ctx,
uint8_t  val 
)

Interrupt signal on INT_DRDY pin.[set].

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

Definition at line 1096 of file lis2mdl_reg.c.

1097{
1099 int32_t ret;
1100
1101 ret = lis2mdl_read_reg(ctx, LIS2MDL_CFG_REG_C, (uint8_t *)&reg, 1);
1102
1103 if (ret == 0)
1104 {
1105 reg.int_on_pin = val;
1106 ret = lis2mdl_write_reg(ctx, LIS2MDL_CFG_REG_C, (uint8_t *)&reg, 1);
1107 }
1108
1109 return ret;
1110}

References lis2mdl_cfg_reg_c_t::int_on_pin, LIS2MDL_CFG_REG_C, lis2mdl_read_reg(), and lis2mdl_write_reg().

Here is the call graph for this function:

◆ lis2mdl_offset_int_conf_get()

int32_t lis2mdl_offset_int_conf_get ( const stmdev_ctx_t ctx,
lis2mdl_int_on_dataoff_t val 
)

The interrupt block recognition checks data after/before the hard-iron correction to discover the interrupt.[get].

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

Definition at line 1019 of file lis2mdl_reg.c.

1021{
1023 int32_t ret;
1024
1025 ret = lis2mdl_read_reg(ctx, LIS2MDL_CFG_REG_B, (uint8_t *)&reg, 1);
1026
1027 switch (reg.int_on_dataoff)
1028 {
1030 *val = LIS2MDL_CHECK_BEFORE;
1031 break;
1032
1034 *val = LIS2MDL_CHECK_AFTER;
1035 break;
1036
1037 default:
1038 *val = LIS2MDL_CHECK_BEFORE;
1039 break;
1040 }
1041
1042 return ret;
1043}
#define LIS2MDL_CFG_REG_B
@ LIS2MDL_CHECK_AFTER
@ LIS2MDL_CHECK_BEFORE

References lis2mdl_cfg_reg_b_t::int_on_dataoff, LIS2MDL_CFG_REG_B, LIS2MDL_CHECK_AFTER, LIS2MDL_CHECK_BEFORE, and lis2mdl_read_reg().

Here is the call graph for this function:

◆ lis2mdl_offset_int_conf_set()

int32_t lis2mdl_offset_int_conf_set ( const stmdev_ctx_t ctx,
lis2mdl_int_on_dataoff_t  val 
)

The interrupt block recognition checks data after/before the hard-iron correction to discover the interrupt.[set].

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

Definition at line 993 of file lis2mdl_reg.c.

995{
997 int32_t ret;
998
999 ret = lis2mdl_read_reg(ctx, LIS2MDL_CFG_REG_B, (uint8_t *)&reg, 1);
1000
1001 if (ret == 0)
1002 {
1003 reg.int_on_dataoff = (uint8_t)val;
1004 ret = lis2mdl_write_reg(ctx, LIS2MDL_CFG_REG_B, (uint8_t *)&reg, 1);
1005 }
1006
1007 return ret;
1008}

References lis2mdl_cfg_reg_b_t::int_on_dataoff, LIS2MDL_CFG_REG_B, lis2mdl_read_reg(), and lis2mdl_write_reg().

Here is the call graph for this function: