Страница 1 из 4

настройка времени в блоке меню не изменяет значение в часах

Добавлено: 16 ноя 2019, 10:09
Di123
собрал из кусочков финальный скеч
но как обычно нельзя что бы всё сразу заработало
в общем работает всё кроме настроек часов и пока сброс не опробован из за часов
захожу в меню там часы/минуты/секунды по умолчанию всё по нулям
меняю их значения и после выхода из меню ничего не меняется на часах
захожу снова вменю а там выставленные значения остались на месте
1.flp
Отправлено спустя 46 минут 44 секунды:
и время оказывается работает не адекватно
каждую минуту оно сбрасывается на минуту :smile37:

настройка времени в блоке меню не изменяет значение в часах

Добавлено: 16 ноя 2019, 11:16
Ivan_Kornege
[ref]Di123[/ref], Запись в часы происходит только по импульсу на EN блока RTC SET.

настройка времени в блоке меню не изменяет значение в часах

Добавлено: 16 ноя 2019, 11:19
Di123
[ref]Ivan_Kornege[/ref], так я и подаю единицу которая завязана на меню

настройка времени в блоке меню не изменяет значение в часах

Добавлено: 16 ноя 2019, 12:13
edyapd
[ref]Di123[/ref], вы включите логику. Каждый раз, когда вы нажимаете на "+","-" или заходите в меню у вас переменная "меню+" становится "1". И идёт разрешение на установку часов. Соответственно устанавливаться будут те значения, которые у вас выставлены в меню. При этом даже в том случаи, если они не менялись.

настройка времени в блоке меню не изменяет значение в часах

Добавлено: 16 ноя 2019, 14:01
Di123
[ref]edyapd[/ref], нет вы не правы
в данном случае из меню в них ничего не устанавливается в этом то и проблема
я пока ищю проблему почему часы через минуту сбрасываются на минуту назад и посути время стоит на месте

Отправлено спустя 46 секунд:
притом не зависимо включена ардуина или нет

Отправлено спустя 54 минуты 56 секунд:
всё разобрался
оказалось товарищи которые помогали доработать скеч с часами видоизменили выводы скл и дат на другие пины
походу из за этого часы отрабатывали только минутный цикл
тока появился баг в меню с настройкой часов который при выходе из меню не выставляет значения сразу на часах а для этого надо в меню зайти снова и выйти тогда значения применятся
в общем ладно пока работает

настройка времени в блоке меню не изменяет значение в часах

Добавлено: 16 ноя 2019, 14:04
edyapd
Di123 писал(а): 16 ноя 2019, 14:01нет вы не правы
Я вам вот про это говорю

Изображение

Кода у вас 1 на menu+ тогда и идёт установка часов. А теперь посмотрите, в каких случаях у вас там 1.

настройка времени в блоке меню не изменяет значение в часах

Добавлено: 16 ноя 2019, 14:14
vovka1973
edyapd писал(а): 16 ноя 2019, 14:04
Di123 писал(а): 16 ноя 2019, 14:01нет вы не правы
Я вам вот про это говорю

Изображение

Кода у вас 1 на menu+ тогда и идёт установка часов. А теперь посмотрите, в каких случаях у вас там 1.
прикольная логика , там постоянно будет запись идти при каждом нажатии :D надо менять логику срочно.
может лучше делать запись при изменении числа ?

настройка времени в блоке меню не изменяет значение в часах

Добавлено: 16 ноя 2019, 14:17
Di123
1 появляется там после нажатия кнопки меню !!!
и эта же 1 появляется на блоке меню и на дисплеи меню
другими словами пока я нахожусь в меню запись в часы находится постоянно
и когда происходит выход из меню в часах должны оставаться те значения что там выставлены
но они там остаются после повторного входа в меню
я уже спёкся за стока дней целыми днями подбирать разные варианты для реализации проекта
думаю пусть будет так
хотя есть мысль потом сделать так сказать контрольный выстрел после выхода из меню он на мгновение забегал в меню и выбегал для применения значений для часов

Отправлено спустя 2 минуты 12 секунд:
[ref]vovka1973[/ref], кстати да ведь изменяя влажность он изменит время автоматом :smile37:

настройка времени в блоке меню не изменяет значение в часах

Добавлено: 16 ноя 2019, 14:41
vovka1973
Di123 писал(а): 16 ноя 2019, 14:17 кстати да ведь изменяя влажность он изменит время автоматом
сколько я делал ничего не менялось

настройка времени в блоке меню не изменяет значение в часах

Добавлено: 16 ноя 2019, 14:44
Di123
[ref]vovka1973[/ref],
задумка с активностью пункта меню не прокатывает
2019-11-16_183440.png
я даже не изменяю число в нём а он думает что если я оказался на строчке времени якобы что то там произошло
а как внутри меню можно увидеть изменение числа
еслиб был такой выход
даже ввёл подменю для времени но туда оказывается нельзя зайти с моих трёх кнопок что бы считывать активность подменю

Отправлено спустя 1 минуту 12 секунд:
vovka1973 писал(а): 16 ноя 2019, 14:41
Di123 писал(а): 16 ноя 2019, 14:17 кстати да ведь изменяя влажность он изменит время автоматом
сколько я делал ничего не менялось
а у меня меняется
я изменяю влажность и при выходе время выставляется то что было раньше в меню

настройка времени в блоке меню не изменяет значение в часах

Добавлено: 16 ноя 2019, 14:52
vovka1973
Di123 писал(а): 16 ноя 2019, 14:44 а у меня меняется
я имел ввиду типа такого [spoiler]
3.JPG
[/spoiler]

настройка времени в блоке меню не изменяет значение в часах

Добавлено: 16 ноя 2019, 15:22
Di123
круто
даже повторно меню теперь не надо передёргивать что бы значения применились

настройка времени в блоке меню не изменяет значение в часах

Добавлено: 18 ноя 2019, 13:33
Di123
я добавил ИК датчик на включение дисплея
в меню я ввёл параметр на его длительность вплоть до 120 сек
и блок настройки меню начинает чудить от 5 до 30 сек всё нормально
но стоит сделать выше 35 - 120 сек как дисплей отключается сам
тоесть я подношу руку к датчику он загорается но стоит убрать руку тут же гаснет без всякой задержки
возвращаю значение допустим любое из 5 - 30 сек то задержка работает как задумано
почему он отказывается работать во всём диапазоне
ИК датчик в виде модуля на базе тригера шмита
увлажнитель 1604 + часы.flp

настройка времени в блоке меню не изменяет значение в часах

Добавлено: 18 ноя 2019, 14:09
Dryundel
Di123 писал(а): 18 ноя 2019, 13:33 возвращаю значение допустим любое из 5 - 30 сек то задержка работает как задумано
почему он отказывается работать во всём диапазоне
Потому что int только до 32767 (32,7 сек)

настройка времени в блоке меню не изменяет значение в часах

Добавлено: 19 ноя 2019, 11:36
Di123
добавил подщёт процентов работы
но он не работает как нужно
допустим во время работы сделать сброс то он показывает 100 % что есть правильно ибо время работы и общее время после сброса равно
но когда он отключается то показывает 0% и больше не меняется
увлажнитель 1604 + часы _ нов.flp
третья плата внизу строчка блоков
я поделил общее время на время работы и умножил на 100

настройка времени в блоке меню не изменяет значение в часах

Добавлено: 19 ноя 2019, 12:17
edyapd
А надо всё наоборот. Время работы умножить на 100 и поделить на общее время.
Только учтите, что если у вас переменные Int, то больше чем 327 часов, времени работы вы таким образом не посчитаете.

настройка времени в блоке меню не изменяет значение в часах

Добавлено: 19 ноя 2019, 13:00
Di123
странно а так работает
но это же без разницы
(A1/B1)*100=A1*100/B1
видимо блок багованый

да и щитает он криво
1 мин работы и 4 мин общее время говорит якобы это 39% вместо 25%

настройка времени в блоке меню не изменяет значение в часах

Добавлено: 19 ноя 2019, 14:12
edyapd
А может вы всё-таки криво воткнули? Проверьте, что у вас именно 1 умножается на 100.
Di123 писал(а): 19 ноя 2019, 13:00 (A1/B1)*100=A1*100/B1
Если бы у вас было float, то было бы без разницы, а у вас int. Соответственно дробная часть, при делении, отбрасывается. А так как результат деления у вас меньше ноля, то потом вы и умножали 0 на 100.

настройка времени в блоке меню не изменяет значение в часах

Добавлено: 19 ноя 2019, 17:09
Di123
да нет всё как вы предложили мне
2019-11-19_204355.png
повторно перезапустил тест и почему то всё совпало
4 мин работы и 28 мин общего действительно 14%
2019-11-19 20-54-47.JPG
попробую обнулить и на ночь оставить

настройка времени в блоке меню не изменяет значение в часах

Добавлено: 19 ноя 2019, 17:20
edyapd
Di123 писал(а): 19 ноя 2019, 17:09 и на ночь оставить
Не получится. Почитайте, что такое переменная integer в C+. Потом посчитайте, сколько таким образом секунд вы сможете посчитать. Для времени работы ещё учтите, что вам надо умножить на 100 и при этом чтобы результат влез в ту же integer.