This is an automated email from the ASF dual-hosted git repository. jerzy pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/mynewt-core.git
commit dd00abc21614708e4e9fbaab6390a660326a3b65 Author: JustineKH <just...@juul.com> AuthorDate: Fri Jun 10 12:44:09 2022 -0700 lsm6dsl_shell: Add dump of some bankA and bankB registers --- hw/drivers/sensors/lsm6dsl/src/lsm6dsl_shell.c | 53 ++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/hw/drivers/sensors/lsm6dsl/src/lsm6dsl_shell.c b/hw/drivers/sensors/lsm6dsl/src/lsm6dsl_shell.c index 2047564b3..d34123cd6 100644 --- a/hw/drivers/sensors/lsm6dsl/src/lsm6dsl_shell.c +++ b/hw/drivers/sensors/lsm6dsl/src/lsm6dsl_shell.c @@ -80,6 +80,21 @@ static const reg_name_t reg_name[] = { { .addr = 0x5f, .regname = "MD2_CFG" }, }; +/* Human readable register map for bankA */ +static const reg_name_t reg_name_banka[] = { + { .addr = 0x0f, .regname = "CONFIG_PEDO_THS_MIN" }, + { .addr = 0x13, .regname = "SM_THS" }, + { .addr = 0x14, .regname = "PEDO_DEB_REG" }, + { .addr = 0x15, .regname = "STEP_COUNT_DELTA" }, +}; + +/* Human readable register map for bankB */ +static const reg_name_t reg_name_bankb[] = { + { .addr = 0x50, .regname = "A_WRIST_TILT_LAT" }, + { .addr = 0x54, .regname = "A_WRIST_TILT_THS" }, + { .addr = 0x59, .regname = "A_WRIST_TILT_Mask" }, +}; + static struct shell_cmd lsm6dsl_shell_cmd_struct = { .sc_cmd = "lsm6dsl", .sc_cmd_func = lsm6dsl_shell_cmd @@ -172,6 +187,44 @@ lsm6dsl_shell_cmd_dump(int argc, char **argv) reg_name[i].regname, reg_name[i].addr, value); } } + + /* Bank A */ + rc = lsm6dsl_write_reg(g_lsm6dsl, LSM6DSL_FUNC_CFG_ACCESS_REG, LSM6DSL_FUNC_CFG_ACCESS_MASK); + if (rc) { + return rc; + } + for (i = 0; i < ARRAY_SIZE(reg_name_banka); i++) { + rc = lsm6dsl_read(g_lsm6dsl, reg_name_banka[i].addr, &value, 1); + if (rc) { + console_printf("dump failed %d\n", rc); + } else if (all || value != 0){ + console_printf("%-22s(0x%02X) = 0x%02X\n", + reg_name_banka[i].regname, reg_name_banka[i].addr, value); + } + } + rc = lsm6dsl_write_reg(g_lsm6dsl, LSM6DSL_FUNC_CFG_ACCESS_REG, 0); + if (rc) { + return rc; + } + + /* Bank B */ + rc = lsm6dsl_write_reg(g_lsm6dsl, LSM6DSL_FUNC_CFG_ACCESS_REG, LSM6DSL_FUNC_CFG_ACCESS_MASK | LSM6DSL_SHUB_REG_ACCESS_MASK); + if (rc) { + return rc; + } + for (i = 0; i < ARRAY_SIZE(reg_name_bankb); i++) { + rc = lsm6dsl_read(g_lsm6dsl, reg_name_bankb[i].addr, &value, 1); + if (rc) { + console_printf("dump failed %d\n", rc); + } else if (all || value != 0){ + console_printf("%-22s(0x%02X) = 0x%02X\n", + reg_name_bankb[i].regname, reg_name_bankb[i].addr, value); + } + } + rc = lsm6dsl_write_reg(g_lsm6dsl, LSM6DSL_FUNC_CFG_ACCESS_REG, 0); + if (rc) { + return rc; + } } else { sreg = parse_ll_bounds(argv[2], 0x02, 0x7F, &rc); if (rc != 0) {