Skip to content

Как можно задать UNIX время без подключения? #77

Description

@LesnikEvg

В случае перезапуска в отсутствии интернета время задается нулём и далее не считается. Думаю взять последний сохраненный unix из памяти контроллера, но не понимаю как его задать... Функции ниже не дают ответа

    // получить текущее unix время
    uint32_t getUnix() {
        if (_unix) {
            // защита от переполнения разности через 50 суток
            uint32_t diff = millis() - _lastUpd;
            if (_unix && diff > 86400000ul) {
                _unix += diff / 1000ul;
                _lastUpd = millis() - diff % 1000ul;
            }
            return _unix + (millis() - _lastUpd) / 1000ul;
        }
        return 0;
    }

    // получить текущее время, указать часовой пояс в часах или минутах
    FB_Time getTime(int16_t gmt) {
        return FB_Time(getUnix(), gmt);
    }

    // проверка, синхронизировано ли время
    bool timeSynced() {
        return _unix;
    }

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions