42949670 в значениях
dontsovcmc opened this issue · 2 comments
https://github.com/dontsovcmc/waterius/blob/master/ESP8266/src/setup_ap.cpp#L395
вот запоминаем имульсы и выше запомнили показания счетчиков.
соответственно
waterius/ESP8266/src/config.cpp
Line 248 in 8a181bc
вот тут получаем
cdata.delta0 = (data.impulses0 - sett.impulses0_previous) * sett.factor0;
cdata.delta0 = (0 - 2000) * sett.factor0;
получаем гигантское значение.
Проблема:
нужно перенастраивать ватериус в случае такой ерунды.
Решение:
я думаю нужно сделать защиту от "data.impulses0 < sett.impulses0_previous" и если это так, То impulses0 = impulses0_previous
Проверить:
Что будет при смене батареек когда всё ок?
В версиях 0.11.3 улучшили работу с памятью у attiny и возможно ошибка пропадёт.
В 1.0.0 надо добавить эту защиту, т.к. цена ошибки высока.
сделано в 1.0.0