RTClib adafruit

Добрый день господа!
Подскажите, использую в проекте библиотеку RTClib от Adafruit
команда корректировки:
rtc.adjust(DateTime(2014, 1, 21, 3, 0, 0)); меняет всё сразу, но мне нужно например поменять только дату или только время… А так же только день недели!
Как это сделать?
Заранее спасибо за ответ.

То, что изменению не подлежит, подставлять текущее. Или использовать библиотеку, которая позволяет устанавливать по отдельности

1 лайк

текущее может быть по секундам не актуальное… А какую библиотеку с подобным функционалом можете посоветовать для ESP32 ?

А мне стало интересно - как поменять “день недели”? Это не параметр, а свойство, вычисляемое из даты. Как его поменять отдельно от даты? :wink:

ТС. Короче так: ты ипользуешь now(). Берешь текущую дату и меняешь то, что можно изменить (не день недели, конечно!), потомы используешь adjust().

Если в коде много таких вызовов, то нужно создать класс-наследник того, что ты используешь и прибавить к нему методы корректировки тех полей, которые тебе нужны.

1 лайк

Вы бы еще озвучили какая микросхема и умеет ли она менять что то не в комплексе !

Спасибо, буду признателен если на пальцах пару строк накидаете про “now”
я начинающий шкодер :slight_smile:

распространённый модуль DS3231

Оно на то и текущее, что берется здесь и сейчас, а не складируется про запас, вдруг через недельку пригодится

DateTime dt = rtc.now();

Может для начинающего стоит чем нибудь попроще заняться?

“Признательность” на этой площадке оговаривается в разделе “Ищу исполнителя”. Выражается в рублях… можно в крипте. :wink:

Что мешает читать/писать порты микросхемы через Wire ? Вообще без RTClib …

2 лайка

Как ни странно, можно - DS3231/Documentation/Time-Set.md at master · NorthernWidget/DS3231 · GitHub
И, думается мне, что RTC контролировать корректность не станет, будет просто прилежно инкрементировать каждую полночь

Так! Я не понял? - Это значит, что теперь, если мне надо, я могу в Шаббат назначить четверг? Как в старом анекдоте?
Головокружительные перспективы открываются! :wink:

Обломись, сам день недели не меняется, меняется только номер :slight_smile:
Цитата от автора библиотеки:

The Day of Week value is user-determined. For example, if one chooses Sunday to be the first day of the week, then the DoW values would be:

Sunday
Monday
Tuesday. and so forth.

Для такого модуля надо воспользоваться проектом и не страдать хернёй, за три месяца уход составил 100 миллисекунд

Часы без возможности ручной коррекции - фигня, а не часы. А сбиться они могут от любого чиха. Недавно у меня из пальца искра проскочила, часы (внезапно) обнулились. Настроил их быстрее, чем разбирал бы корпус да с прошивками и юстировками возился б :wink:

у меня таких проблем не было, так что пока не понадобилось )))

У меня тоже раньше не случалось, однако ж…

сразу потребуется добавить (или использовать существующий) энкодер (как минимум)

Категорически не согласен.
Часы, которые требуется корректировать вручную - фигня, а не часы.

проживём мы без энкодеров и прочего… на зарубежном сайте отнеслись добрее, пример привели, и биткоинов не потребовали…

а у нас как всегда… вот проект