
Вопрос по блоку меню
Вопрос по блоку меню
Приветствую всех. Очередной вопрос, на этот раз по блоку "значение пункта меню". Если значение параметра меню задавать не входами +\- в основном блоке меню, а готовым значением в блоке "значение пункта меню", то оно индицируется на выходе блока меню лишь в момент установки на входе Set единицы. То есть на дисплее не видно изменение значения в реальном времени(когда крутишь энкодер), а только при установке в Set. Допустим, Set это кнопка энкодера, тогда можно нажать кнопку и крутить, но если пишешь в EEPROM то такой подход не очень, т.к. записывается каждое изменение значения. Если вообще убрать вывод Set (не ставить галочку) , то значение меняется как надо, но не устанавливается. Как быть?

- Dev1
- Майор
- Сообщения: 1045
- Зарегистрирован: 12 июл 2016, 18:04
- Откуда: Гондурас
- Поблагодарили: 3 раза
Вопрос по блоку меню
Естественно, вы справку юзаете вообще?Noname писал(а): 11 дек 2018, 19:41Если значение параметра меню задавать не входами +\- в основном блоке меню, а готовым значением в блоке "значение пункта меню", то оно индицируется на выходе блока меню лишь в момент установки на входе Set единицы.
[spoiler=Из справки]
Вход «Set» - при установке данного чек-бокса у блока появится вход «Set». Значение с входа 'Value' будет записываться в пункт меню только при наличии высокого уровня на этом входе. [/spoiler]
Если вам нужно изменение когда вы крутите енкодер то и делайте логику соответствующую. Есть блок детектор именения числа.
Win10-64 FLProg v8.2.3 Portable IDE 1.8.19, 2,x,x 

Вопрос по блоку меню
спасибо за ответ. да , справку читаю в первую очередь, возможно не всегда правда понимаю))
по второму пункту не пойму какую логику.. детектор то есть, только куда его? нужно в обход меню городить индикацию значения на экран? тогда отсчет пойдет от значения энкодера, а не от прошлого установленного в меню.
возможно я не так обьясняю... есть дисплей 1602, верхняя строка название параметра, нижняя- значение (цифры). энкодер крутишь - меняются цифры, нажимаешь на энкодер- контроллер запоминает цифру. и при следующем входе значение индицируется это.+ при потере питания последнее значение сохраняется. это как хотелось бы...
на деле выходит, что энкодер крутишь -цифра не меняется на дисплее, но внутри контроллера идет счет импульсов энкодера, нажимаешь на энкодер - цифра меняется на ту, которую внутри насчитал контроллер. если крутишь энкодер нажав, цифры меняются пока удерживаешь нажатие , но так каждая цифра отправляется в еепром, что не хорошо.
по второму пункту не пойму какую логику.. детектор то есть, только куда его? нужно в обход меню городить индикацию значения на экран? тогда отсчет пойдет от значения энкодера, а не от прошлого установленного в меню.
возможно я не так обьясняю... есть дисплей 1602, верхняя строка название параметра, нижняя- значение (цифры). энкодер крутишь - меняются цифры, нажимаешь на энкодер- контроллер запоминает цифру. и при следующем входе значение индицируется это.+ при потере питания последнее значение сохраняется. это как хотелось бы...
на деле выходит, что энкодер крутишь -цифра не меняется на дисплее, но внутри контроллера идет счет импульсов энкодера, нажимаешь на энкодер - цифра меняется на ту, которую внутри насчитал контроллер. если крутишь энкодер нажав, цифры меняются пока удерживаешь нажатие , но так каждая цифра отправляется в еепром, что не хорошо.
Вопрос по блоку меню
[ref]Noname[/ref], можно тут почитать viewtopic.php?t=1855
может найдете что-то
может найдете что-то
- Dev1
- Майор
- Сообщения: 1045
- Зарегистрирован: 12 июл 2016, 18:04
- Откуда: Гондурас
- Поблагодарили: 3 раза
Вопрос по блоку меню
тогда можно просто константу "true" на вход Set повесить, только вот EEPROM не резиновая... да и не правильно это как то.
- Dev1
- Майор
- Сообщения: 1045
- Зарегистрирован: 12 июл 2016, 18:04
- Откуда: Гондурас
- Поблагодарили: 3 раза
Вопрос по блоку меню
Тут нужно найти консенсус
, либо ваша переменная болтается в памяти пока работает мк, либо ваш мк отправится в помойку с убитой епром. Вы сами должны определить что вам важнее, постоянно крутить енкодер или переменная в епром... Обычно меню и делают чтоб там хранились настройки, подстроили и оставили. А если вы будете постоянно крутить то поставьте переменник на вход мк... 


Win10-64 FLProg v8.2.3 Portable IDE 1.8.19, 2,x,x 

Вопрос по блоку меню
Переделал проект, теперь делаю всё тоже самое, тем же энкодера, только через основной блок меню. Т.е. изменяю значение импульсами на входы "+" и "-" значения пункта меню, сохраняю в еепром нажатием на энкодер. Так вот из основного блока меняется все как надо, т.е. строка на дисплее со значение изменяется в реальном времени (не само значение) , а сохраняется только при нажатии. Решена проблема и индикация есть, и еепром целей.
Из добавленного сделал только определение направления счета энкодера, т.к. в основной блок нельзя сдать цифровое значение (интегер).
Отправлено спустя 9 минут 21 секунду:
Совсем не понял про переменник.
Отправлено спустя 1 минуту 40 секунд:
И главное с осн блоком меню никакого консенсуса не нужно, и ни какая переменная нигде не болтается)
Из добавленного сделал только определение направления счета энкодера, т.к. в основной блок нельзя сдать цифровое значение (интегер).
Отправлено спустя 9 минут 21 секунду:
Ну смотрите, через блок основного меню все работает нормально, по логике. Смысл энкодера в том, чтоб не городить кучу кнопок, да и для саморазвития. Даже если каждое значение заносить в еепром, то Ардуино в том режиме работы в котором я планирую хватит на очень долго, даже если меню крутить каждый день. Но согласитесь , сама идея записывать каждое значение как то не правильна что-ли)) . При том что блок основного меню работает иначе. Дело ещё в том, что по всему форуму лучший блок энкодера по стабильности работы (даже без физ подтяжки работает) это блок на прерываниях от автора. Но в этом блоке к сожалению, нет боолиновских выходов направления, а только выход отсчитанного значения. А со значением осн блок меню не работает.Dev1 писал(а): 12 дек 2018, 14:00Тут нужно найти консенсус, либо ваша переменная болтается в памяти пока работает мк, либо ваш мк отправится в помойку с убитой епром. Вы сами должны определить что вам важнее, постоянно крутить енкодер или переменная в епром... Обычно меню и делают чтоб там хранились настройки, подстроили и оставили. А если вы будете постоянно крутить то поставьте переменник на вход мк...
Совсем не понял про переменник.
Отправлено спустя 1 минуту 40 секунд:
И главное с осн блоком меню никакого консенсуса не нужно, и ни какая переменная нигде не болтается)
Вопрос по блоку меню
И смотрите что получается ещё при записи каждого значения в еепром.По сути запись в еепром при использовании блока "значение пункта меню" работает до следующего изменения переменной через меню при помощи энкодера если было отключение питания. Сейчас объясню почему. Если питание пропало, то счётчик значения энкодера станет равным "0" и при входе в меню мы заносим этот ноль в нашу переменную меню. То есть для пользователя это будет очень не догичо., Представьте он выставил определенное значение пункта меню, потом через время решил подкорректировать, (а за это время допустим пропадало питание или кто знает сколько крутили энкодер "в холостую", счёт то внутри энкодера идёт) то пользователь увидеть непредсказуемое значение. А теперь если значение было допустим, 5000, ему нужно крутить снова до этого значения, и при этом каждое изменение запишется в еепром. Кстати, так можно наверно проверить заявленную ёмкость последней))))
Вопрос по блоку меню
Поздавляю всех фоумчан С Новым годом и Рождиством Христовым!
Хочу задать вопрс:
В основном блоке меню есть галочка сохранить в EEPROM
как можно вытянуть с EEPROM эти данные чтобы они выводились на дисплей не переходя на данный пункт меню
То есть хочу на дисплее 1602 выводить данные сразу с нескольких пунктов меню (подменю) на одном экране
Пимерно так
Зал Вкл КухняВык
ГаражВык НасосВкл
где выделенные это значения из EEPROM ппунктов меню
Хочу задать вопрс:
В основном блоке меню есть галочка сохранить в EEPROM
как можно вытянуть с EEPROM эти данные чтобы они выводились на дисплей не переходя на данный пункт меню
То есть хочу на дисплее 1602 выводить данные сразу с нескольких пунктов меню (подменю) на одном экране
Пимерно так
Зал Вкл КухняВык
ГаражВык НасосВкл
где выделенные это значения из EEPROM ппунктов меню
Вопрос по блоку меню
а блок значения пунктов меню?Hijin писал(а): 08 янв 2019, 11:50Поздавляю всех фоумчан С Новым годом и Рождиством Христовым!
Хочу задать вопрс:
В основном блоке меню есть галочка сохранить в EEPROM
как можно вытянуть с EEPROM эти данные чтобы они выводились на дисплей не переходя на данный пункт меню
То есть хочу на дисплее 1602 выводить данные сразу с нескольких пунктов меню (подменю) на одном экране
Пимерно так
Зал Вкл КухняВык
ГаражВык НасосВкл
где выделенные это значения из EEPROM ппунктов меню
насколько понимаю запись в ЕЕПРМ только для того чтоб при смене и перезагрузке не вписывались стартовые значения ы
- Phazz
- Полковник
- Сообщения: 3147
- Зарегистрирован: 17 окт 2016, 15:38
- Откуда: Сургут
- Имя: Анатолий
- Благодарил (а): 236 раз
- Поблагодарили: 117 раз
Вопрос по блоку меню
[ref]Hijin[/ref], https://flprog.ru/bez-rubriki/helppage/ ... ValueBlock
Поможет
Поможет
- RedSky
- Лейтенант
- Сообщения: 576
- Зарегистрирован: 19 дек 2016, 20:07
- Откуда: Днепропетровск
- Имя: Алексей
- Поблагодарили: 1 раз
Вопрос по блоку меню
Так ли надо выводить значение именно EEPROM'a?
Почему бы просто не использовать блоки для получения значения из меню?
Насколько знаю EEPROM читают один раз при старте программы. Нигде не находил информации о допустимости чтения в каждом цикле и сколько времени занимает само чтение. Хотя в FlProg при использовании стандартных блоков как раз происходит чтение в каждом цикле.
Почему бы просто не использовать блоки для получения значения из меню?
Насколько знаю EEPROM читают один раз при старте программы. Нигде не находил информации о допустимости чтения в каждом цикле и сколько времени занимает само чтение. Хотя в FlProg при использовании стандартных блоков как раз происходит чтение в каждом цикле.
Вопрос по блоку меню
Hijin, https://flprog.ru/bez-rubriki/helppage/ ... ValueBlock
Поможет
Нет не поможет В Данном случае выводится значение активного пункта меню (только одного), а в моем случае надо выводить сразу несколько значений на одном экране
Сделал вот так в принципе получилось но это только с двумя значениями
[spoiler] [/spoiler]
Вэтом случае при переходе на основное меню этих подменю они начинают перемигиватся с частотой заданой генератором
Поможет
Нет не поможет В Данном случае выводится значение активного пункта меню (только одного), а в моем случае надо выводить сразу несколько значений на одном экране
Сделал вот так в принципе получилось но это только с двумя значениями
[spoiler] [/spoiler]
Вэтом случае при переходе на основное меню этих подменю они начинают перемигиватся с частотой заданой генератором
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- RedSky
- Лейтенант
- Сообщения: 576
- Зарегистрирован: 19 дек 2016, 20:07
- Откуда: Днепропетровск
- Имя: Алексей
- Поблагодарили: 1 раз
Вопрос по блоку меню
Не вижу никаких проблем в том чтобы одновременно вывести несколько значений. Ведь так или иначе вы будете использовать их в проекте, просто параллельно с использованием их в логике можно там же сделать вывод на экран.
Вопрос по блоку меню
имелось в виду так
[spoiler] [/spoiler] Отправлено спустя 6 минут 1 секунду:
а так как тип значений в меню boolean с выходов блока значений можно сразу и в логику
хотя можно и string и "вкл " и "вык" но тогда для логтки надо сравнение строк брать..
[spoiler] [/spoiler] Отправлено спустя 6 минут 1 секунду:
а так как тип значений в меню boolean с выходов блока значений можно сразу и в логику
хотя можно и string и "вкл " и "вык" но тогда для логтки надо сравнение строк брать..
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Вопрос по блоку меню
dizzyy Так не катит
вы тупо берете константы, а не значение переменной
У Вас всегда будет высвечиваться ВКЛ во всех значениях, а не реальное значение этих выключателей
Вот мой пример Все разяснения в файле
Эмулировал в Протеусе
вы тупо берете константы, а не значение переменной
У Вас всегда будет высвечиваться ВКЛ во всех значениях, а не реальное значение этих выключателей
Вот мой пример Все разяснения в файле
Эмулировал в Протеусе
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Вопрос по блоку меню
Вы не правы , вот попробуйте залить ..
https://www.youtube.com/watch?v=nkZ3QHgGj8g
https://www.youtube.com/watch?v=nkZ3QHgGj8g
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость