Easyelectronics.ru

Электроника для всех
Текущее время: 11 июл 2020, 04:55

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/5шт. два слоя. $5/5шт. четыре слоя
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 19 ] 
Автор Сообщение
 Заголовок сообщения: Переход на зимнее/летнее время в часах с отключением питания
СообщениеДобавлено: 27 ноя 2018, 02:09 
Заглядывает иногда

Зарегистрирован: 16 авг 2016, 02:24
Сообщения: 31
Откуда: Киев, UA
Всем добра!

Есть связка ATMEGA32А и RTC DS3231.
Возникла странная хотелка... Автопереход на летнее/зимнее время.

Но есть маааааленький нюанс.
Основное устройство имеет сетевое питание и в подавляющем большинстве случаев будет использоваться только в дневное время.
Соответственно, отловить "онлайн" 2/3 часа ночи в последнее воскресенье марта/октября - с высокой вероятностью не получится.

Пока вижу вариант каждый час складывать дату/время во флеш и при последующем включении смотреть - а не перепрыгнули ли мы через время "Ч"... если перепрыгнули - переводить часы.... Но мне кажется, что это не самый оптимальный алгоритм...

Есть идеи, как можно решить данный вопрос ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Переход на зимнее/летнее время в часах с отключением питания
СообщениеДобавлено: 27 ноя 2018, 02:14 
Старожил
Аватара пользователя

Зарегистрирован: 14 апр 2014, 11:06
Сообщения: 1631
Откуда: Курск
Пусть часы идут по UTC. Ничего переводить не надо. Местное время рассчитывайте как хотите


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Переход на зимнее/летнее время в часах с отключением питания
СообщениеДобавлено: 27 ноя 2018, 09:19 
Старожил

Зарегистрирован: 08 авг 2013, 09:43
Сообщения: 2778
+1. Часы должны быть в UTC. Это отображаемое время надо приводить к нужному часовому поясу. Это правильно и все проблемы отпадают.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Переход на зимнее/летнее время в часах с отключением питания
СообщениеДобавлено: 27 ноя 2018, 11:13 
Супермодератор
Аватара пользователя

Зарегистрирован: 27 янв 2010, 07:40
Сообщения: 5451
Откуда: Новосибирск
Часы же не переводятся уже, нет?

_________________
Ищу работу.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Переход на зимнее/летнее время в часах с отключением питания
СообщениеДобавлено: 27 ноя 2018, 11:34 
Старожил

Зарегистрирован: 26 ноя 2012, 10:28
Сообщения: 4684
Откуда: КЧР, поселок Нижний Архыз
так человек, наверное, из какой-нибудь унылой страны, где еще переводятся.
Хотя, у нас тоже уныло: ну кому нафиг нужно, чтобы светало в полпятого утра? надо часовые пояса сдвигать + делать их не по меридианам, а наклонными — еще и в зависимости от широты.
Если бы летом светало в полдевятого утра (т.е. сдвинуть пояса к востоку на 4), было бы намного приятней! Тогда зимой светало бы в 12, что очень хорошо: вечером было бы еще время, чтобы с детьми погулять или просто насладиться солнечной погодой (а не просирать все на работе)!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Переход на зимнее/летнее время в часах с отключением питания
СообщениеДобавлено: 27 ноя 2018, 11:43 
Супермодератор
Аватара пользователя

Зарегистрирован: 27 янв 2010, 07:40
Сообщения: 5451
Откуда: Новосибирск
Просто надо указывать, откуда ты.

Да, летом светает, не успев до конца стемнеть, на даче например, в 3 часа "ночи", можно в сортир ходить аки днем. На зиму пожаловаться не могу, светает в 9 утра, заход в 17, в самом запущенном случае, т.е. речь про пики длительности световых дня и ночи.

_________________
Ищу работу.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Переход на зимнее/летнее время в часах с отключением питания
СообщениеДобавлено: 27 ноя 2018, 22:34 
Заглядывает иногда

Зарегистрирован: 16 авг 2016, 02:24
Сообщения: 31
Откуда: Киев, UA
Про UTC - спасибо. Мысль была где то рядом, но без ваших подсказок на поверхность не всплыла....

Eddy_Em писал(а):
из какой-нибудь унылой страны, где еще переводятся.

А это имеет значение ?
Речь идет о том, что изделие должно помогать юзеру и создавать минимум проблем.
И если там, где юзер живет, есть декретное время - нужно уметь на него переходить. Не создавая проблем юзеру.

Melted Metal писал(а):
Просто надо указывать, откуда ты.

Исправился. (обычно профиль стараюсь настроить сразу после регистрации, но тут как то провтыкал).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Переход на зимнее/летнее время в часах с отключением питания
СообщениеДобавлено: 27 ноя 2018, 22:48 
Старожил
Аватара пользователя

Зарегистрирован: 14 апр 2014, 11:06
Сообщения: 1631
Откуда: Курск
Посмотрите как в Linux сделано, про файлы временны́х зон


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Переход на зимнее/летнее время в часах с отключением питания
СообщениеДобавлено: 27 ноя 2018, 22:56 
Старожил

Зарегистрирован: 22 июл 2017, 11:48
Сообщения: 4198
Откуда: Чобля - долбаный кетайец
Eddy_Em писал(а):
из какой-нибудь унылой страны, где еще переводятся.

Фигасе "унылой". Летнее время есть в США и Канаде - очень унылые страны, с ними еще больше полусотни таких стран, таких как Монако, Швеция, Бельгия :)))) Уныло у них как-то, особенно в Брюсселе


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Переход на зимнее/летнее время в часах с отключением питания
СообщениеДобавлено: 28 ноя 2018, 02:48 
Старожил

Зарегистрирован: 22 июн 2010, 21:53
Сообщения: 1130
Откуда: Brussels
Норм у нас всё в Брюсселе ;)

Вот только tzdata штука такая немаленькая - не так уж подходит для эмбеда.
Хватит места то? Понятно, что там можно вырезать все данные о зонах в прошлом (если не нужно пересчитывать время в прошлом или сравнивать даты) - это существенно уменьшит объем, но придется поддерживать самому любые обновления. Да, и обновлять эту хрень у пользователя придется регулярно - этим людишкам же всё неймется - то отменят переход, то вернут - то перенесут местность в другую зону.


Может просто позволить пользователю часы переводить самому?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Переход на зимнее/летнее время в часах с отключением питания
СообщениеДобавлено: 28 ноя 2018, 03:32 
Старожил

Зарегистрирован: 20 мар 2013, 11:27
Сообщения: 5355
что мешает сохранять дату последнего перехода?
в каждый момент времени можно посчитать нужно переводить часы или нет
если переводим, сохраняем новую дату перехода

п.с. на то почему у нас не переводят часы целый анекдот есть)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Переход на зимнее/летнее время в часах с отключением питания
СообщениеДобавлено: 28 ноя 2018, 03:46 
Заглядывает иногда

Зарегистрирован: 16 авг 2016, 02:24
Сообщения: 31
Откуда: Киев, UA
//Mt писал(а):
Может просто позволить пользователю часы переводить самому?

Может и позволить.
но сколько я себя помню, в странах экс-СССР летнее время включалось и выключалось в последнее воскресенье марта/октября.
И не уверен, что поменяется что то....


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Переход на зимнее/летнее время в часах с отключением питания
СообщениеДобавлено: 28 ноя 2018, 03:50 
Старожил

Зарегистрирован: 20 мар 2013, 11:27
Сообщения: 5355
GoldenAndy писал(а):
И не уверен, что поменяется что то....

замените атмегу на esp8266 и запрашивайте время с настроенного со смартфона ntp сервера в нужной временной зоне
ссср, оффлайн часы и атмеги все это уже прошлое


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Переход на зимнее/летнее время в часах с отключением питания
СообщениеДобавлено: 28 ноя 2018, 10:47 
Старожил

Зарегистрирован: 08 авг 2013, 09:43
Сообщения: 2778
А еще временные зоны в мире порой меняются. Поэтому жестко хардкодить это треш. Полно говно железок и так выпускается, где время нормально не настроить. Либо нормальную работу с обновляемыми таймзонами, либо как минимум дать возможность пользователю настроить пояс относительно UTC и отключаемые возможности DST с указанием дат переходов.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Переход на зимнее/летнее время в часах с отключением питания
СообщениеДобавлено: 28 ноя 2018, 12:25 
Старожил
Аватара пользователя

Зарегистрирован: 14 июн 2015, 17:41
Сообщения: 2718
Откуда: Русь, Новороссийск
GoldenAndy писал(а):
но сколько я себя помню, в странах экс-СССР летнее время включалось и выключалось в последнее воскресенье марта/октября.
И не уверен, что поменяется что то....
Так уже поменялось - почти нигде не используется "в странах экс-СССР". Помойму, только на Украине осталось. Можно уточнить.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Переход на зимнее/летнее время в часах с отключением питания
СообщениеДобавлено: 28 ноя 2018, 16:03 
Заглядывает иногда

Зарегистрирован: 16 авг 2016, 02:24
Сообщения: 31
Откуда: Киев, UA
VladyMile писал(а):
Так уже поменялось - почти нигде не используется "в странах экс-СССР". Помойму, только на Украине осталось. Можно уточнить.


Изделие не настолько глобальное, что бы учить его уметь всё.
У нас в Украине - переход на летнее время еще остался, да. И пока правила перехода неизменны уже Сила знает сколько времени. Соответственно, хотелось малой кровью облегчить использование сервисной функции - часов....
Алгоритм будет простой - если время в RTC попадает под период летнего - отдается время + 1, иначе отдается время из RTC без изменений.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Переход на зимнее/летнее время в часах с отключением питания
СообщениеДобавлено: 28 ноя 2018, 16:16 
Старожил

Зарегистрирован: 08 авг 2013, 09:43
Сообщения: 2778
А если как-нибудь решать отменить переход? Или сменят дату перехода. Придется железку перепрошивать. Если есть интерфейс, лучше сделать это настраиваемой опцией сразу.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Переход на зимнее/летнее время в часах с отключением питания
СообщениеДобавлено: 28 ноя 2018, 17:12 
Заглядывает иногда

Зарегистрирован: 16 авг 2016, 02:24
Сообщения: 31
Откуда: Киев, UA
NStorm писал(а):
А если как-нибудь решать отменить переход? Или сменят дату перехода. Придется железку перепрошивать. Если есть интерфейс, лучше сделать это настраиваемой опцией сразу.

Естественно, функционал перехода на летнее время будет в настройках прибора.

Ну а если сменят алгоритм?
В этом случае придется таки поправить прошивку.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Переход на зимнее/летнее время в часах с отключением питания
СообщениеДобавлено: 28 ноя 2018, 18:23 
Старожил

Зарегистрирован: 08 авг 2013, 09:43
Сообщения: 2778
Десятилетиями в мире "алгоритмы" не меняются. А вот дата перехода, сам факт перехода и часовые пояса - чуть ли не каждый год где-то в мире меняется.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 19 ] 


Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB