dontsovcmc / waterius

Передача показаний воды по Wi-Fi. Watermeter Wi-Fi transmitter.
https://waterius.ru
GNU Lesser General Public License v3.0
553 stars 108 forks source link

Продлевать таймер настройки на 10мин при каждом переходе вебстраниц настроек #305

Open dontsovcmc opened 7 months ago

dontsovcmc commented 7 months ago

Т.к. таймер нужен для "подстраховке", что ватериус не оставили включенным, то во время настройки корректно "сбрасывать" его в 10мин каждый раз когда пользователь проявляет активность. К примеру, переходит со страницы на страницу, настраивая Ватериус.

  1. Добавить команду в attiny

    #define PING_ACK 0xAA
    
    case 'P': // ESP продолжается настройка
        esp.wake_up_timestamp = millis();
        txBuffer[0] = PING_ACK;
        break;
  2. Добавить в ESP команду

#define PING_ACK 0xAA
void MasterI2C::ping()
{
    uint8_t crc = init_crc;
    uint8_t ack;  # для проверки
    if (!sendCmd('P') || !getByte(ack, crc) || ack != PING_ACK)
    {
        LOG_ERROR(F("Ping failed. Check i2c line."));
    } else 
    {
        LOG_ERROR(F("Ping Attiny OK"));
    }
}
  1. Добавить вызов ping() в onPostApiSetup, onPostApiSetupConnect