[zb] Debugging changes:
- Disables double reset - Fully reset with zb_reset() on reset watchdog instead of user_input_indicate() - Debug counters before/after sensors read
This commit is contained in:
parent
a4a02257f9
commit
5882312a77
6 changed files with 10 additions and 3 deletions
|
|
@ -34,6 +34,9 @@ config PRST_ZB_FACTORY_RESET_VIA_RESET_PIN
|
||||||
config PRST_ZB_FACTORY_RESET_VIA_SW1
|
config PRST_ZB_FACTORY_RESET_VIA_SW1
|
||||||
bool "Resetting while pressing and holding SW1 for 5 seconds will factory reset the device. Only available on v2.0.0+ hardware revisions."
|
bool "Resetting while pressing and holding SW1 for 5 seconds will factory reset the device. Only available on v2.0.0+ hardware revisions."
|
||||||
|
|
||||||
|
config PRST_ZB_FACTORY_RESET_DISABLED
|
||||||
|
bool "No factory reset procedure."
|
||||||
|
|
||||||
endchoice # PRST_ZB_FACTORY_RESET_METHOD
|
endchoice # PRST_ZB_FACTORY_RESET_METHOD
|
||||||
|
|
||||||
config PRST_ZB_RESTART_WATCHDOG_TIMEOUT_SEC
|
config PRST_ZB_RESTART_WATCHDOG_TIMEOUT_SEC
|
||||||
|
|
|
||||||
|
|
@ -60,3 +60,4 @@ CONFIG_FILE_SYSTEM_LITTLEFS=y
|
||||||
# Factory reset method selection. Only hardware revision 2.0.0+ has button SW1. Earlier
|
# Factory reset method selection. Only hardware revision 2.0.0+ has button SW1. Earlier
|
||||||
# revisions must select a different method. See Kconfig for options.
|
# revisions must select a different method. See Kconfig for options.
|
||||||
# CONFIG_PRST_ZB_FACTORY_RESET_VIA_SW1=y
|
# CONFIG_PRST_ZB_FACTORY_RESET_VIA_SW1=y
|
||||||
|
CONFIG_PRST_ZB_FACTORY_RESET_DISABLED=y
|
||||||
|
|
@ -65,6 +65,7 @@ int prst_debug_counters_increment(const char* counter_name) {
|
||||||
if (written != sizeof(value)) {
|
if (written != sizeof(value)) {
|
||||||
LOG_ERR("fs_write returned %d, expected %d", written, sizeof(value));
|
LOG_ERR("fs_write returned %d, expected %d", written, sizeof(value));
|
||||||
}
|
}
|
||||||
|
RET_IF_ERR(fs_sync(&file));
|
||||||
return fs_close(&file);
|
return fs_close(&file);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -66,6 +66,7 @@ int prst_zb_factory_reset_check() {
|
||||||
LOG_DBG("SW1 pressed. Scheduling timer");
|
LOG_DBG("SW1 pressed. Scheduling timer");
|
||||||
k_timer_start(&sw1_factory_reset_check_timer, K_SECONDS(5), K_NO_WAIT);
|
k_timer_start(&sw1_factory_reset_check_timer, K_SECONDS(5), K_NO_WAIT);
|
||||||
}
|
}
|
||||||
#endif
|
#elif CONFIG_PRST_ZB_FACTORY_RESET_DISABLED
|
||||||
return 0;
|
return 0;
|
||||||
|
#endif // CONFIG_PRST_ZB_FACTORY_RESET_VIA_RESET_PIN
|
||||||
}
|
}
|
||||||
|
|
@ -198,11 +198,13 @@ void update_sensors_cb(zb_uint8_t arg) {
|
||||||
/*param=*/0,
|
/*param=*/0,
|
||||||
ZB_TIME_ONE_SECOND * CONFIG_PRST_ZB_SLEEP_DURATION_SEC);
|
ZB_TIME_ONE_SECOND * CONFIG_PRST_ZB_SLEEP_DURATION_SEC);
|
||||||
|
|
||||||
|
prst_debug_counters_increment("sensors_read_before");
|
||||||
if (prst_sensors_read_all(&sensors)) {
|
if (prst_sensors_read_all(&sensors)) {
|
||||||
prst_debug_counters_increment("sensors_read_error");
|
prst_debug_counters_increment("sensors_read_error");
|
||||||
LOG_ERR("Unable to read sensors");
|
LOG_ERR("Unable to read sensors");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
prst_debug_counters_increment("sensors_read_after");
|
||||||
|
|
||||||
// Battery voltage in units of 100 mV.
|
// Battery voltage in units of 100 mV.
|
||||||
uint8_t batt_voltage = sensors.batt.adc_read.millivolts / 100;
|
uint8_t batt_voltage = sensors.batt.adc_read.millivolts / 100;
|
||||||
|
|
|
||||||
|
|
@ -11,8 +11,7 @@ LOG_MODULE_REGISTER(restart_handler, CONFIG_LOG_DEFAULT_LEVEL);
|
||||||
void callback_work_handler(struct k_work *work) {
|
void callback_work_handler(struct k_work *work) {
|
||||||
LOG_INF("Running restart callback_work_handler.");
|
LOG_INF("Running restart callback_work_handler.");
|
||||||
prst_debug_counters_increment("steering_watchdog_restart");
|
prst_debug_counters_increment("steering_watchdog_restart");
|
||||||
// If the device is not commissioned, the rejoin procedure is started.
|
zb_reset(0);
|
||||||
user_input_indicate();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
K_WORK_DEFINE(callback_work, callback_work_handler);
|
K_WORK_DEFINE(callback_work, callback_work_handler);
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue