summaryrefslogtreecommitdiff
path: root/zephyr/emul/emul_lis2dw12.c
diff options
context:
space:
mode:
Diffstat (limited to 'zephyr/emul/emul_lis2dw12.c')
-rw-r--r--zephyr/emul/emul_lis2dw12.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/zephyr/emul/emul_lis2dw12.c b/zephyr/emul/emul_lis2dw12.c
index a4e6b46413..e14c184504 100644
--- a/zephyr/emul/emul_lis2dw12.c
+++ b/zephyr/emul/emul_lis2dw12.c
@@ -33,6 +33,8 @@ struct lis2dw12_emul_data {
uint8_t ctrl1_reg;
/** Emulated ctrl2 register */
uint8_t ctrl2_reg;
+ /** Emulated ctrl3 register */
+ uint8_t ctrl3_reg;
/** Emulated ctrl6 register */
uint8_t ctrl6_reg;
/** Emulated status register */
@@ -69,6 +71,7 @@ void lis2dw12_emul_reset(const struct emul *emul)
data->who_am_i_reg = LIS2DW12_WHO_AM_I;
data->ctrl1_reg = 0;
data->ctrl2_reg = 0;
+ data->ctrl3_reg = 0;
data->ctrl6_reg = 0;
data->status_reg = 0;
data->soft_reset_count = 0;
@@ -108,6 +111,10 @@ static int lis2dw12_emul_read_byte(struct i2c_emul *emul, int reg, uint8_t *val,
__ASSERT_NO_MSG(bytes == 0);
*val = data->ctrl2_reg;
break;
+ case LIS2DW12_CTRL3_ADDR:
+ __ASSERT_NO_MSG(bytes == 0);
+ *val = data->ctrl3_reg;
+ break;
case LIS2DW12_CTRL6_ADDR:
__ASSERT_NO_MSG(bytes == 0);
*val = data->ctrl6_reg;
@@ -213,6 +220,9 @@ static int lis2dw12_emul_write_byte(struct i2c_emul *emul, int reg, uint8_t val,
}
data->ctrl2_reg = val & ~LIS2DW12_SOFT_RESET_MASK;
break;
+ case LIS2DW12_CTRL3_ADDR:
+ data->ctrl3_reg = val;
+ break;
case LIS2DW12_CTRL6_ADDR:
data->ctrl6_reg = val;
break;