diff --git a/firmware/hw_layer/drivers/gpio/tle8888.c b/firmware/hw_layer/drivers/gpio/tle8888.c index baccfe4c0a..e645b84724 100644 --- a/firmware/hw_layer/drivers/gpio/tle8888.c +++ b/firmware/hw_layer/drivers/gpio/tle8888.c @@ -413,7 +413,8 @@ void watchdogLogic(struct tle8888_priv *chip) { * next SPI transmission (for not existing addresses or wrong access mode * the data is always '0' */ tle8888_spi_rw(chip, CMD_FWDStat1, &maybeFirstResponse); - tle8888_spi_rw(chip, CMD_FWDStat1, &functionWDrx); + // here we get response of the 'FWDStat1' above + tle8888_spi_rw(chip, CMD_WdDiag, &functionWDrx); handleFWDStat1(chip, (functionWDrx & 0xff) >> 1, (functionWDrx >> 8) & 0xff); lastFunctionWatchdogTimeNt = nowNt; } diff --git a/firmware/hw_layer/drivers/gpio/tle8888.h b/firmware/hw_layer/drivers/gpio/tle8888.h index 0a319c6863..4c06013b54 100644 --- a/firmware/hw_layer/drivers/gpio/tle8888.h +++ b/firmware/hw_layer/drivers/gpio/tle8888.h @@ -20,7 +20,7 @@ #define TLE8888_DIRECT_OUTPUTS (4 + 4 + TLE8888_DIRECT_MISC) // Looks like reset value is 113.6ms? 1.6ms * 0x47 -#define Functional_Watchdog_PERIOD_MS 90 +#define Functional_Watchdog_PERIOD_MS 20 // we can change this value on TLE8888QK but we probably do not have a reason to change #define Window_watchdog_close_window_time_ms 100.8