#define TYPE_MEASUR_SLEEP желательно по умолчанию в 1
Мои параметры делителя из скетча можно выкинуть, экземпляр единственный и нигде не выкладывался.
#define TYPE_CHAR_FILL 43 не работает на времени обратного отсчёта в бета замере. Да и зачем заполнять незначащие разряды чем-то, кроме пробелов? Убрать бы этот дефайн вовсе, поставив пробел по умолчанию.
Если в режиме бета-замера нажать ^ появляется пустой экран с кнопками "нет" "да" и буквой "е" между ними. подозреваю, что
LCD_print("Jcnfyjdbnm", CENTER, 32); //Остановить
LCD_print("pfvth&", CENTER, 32); //замер?
Нелогично запускать замер кнопкой "\/", просится "ОК". А вход в меню из бета-замера не нужен. В старом скетче я закрыл вход в меню со всех режимов, кроме основного.
Для дозы, как самого часто изменяемого значения в ЕЕПРОМ стоит сделать подсчёт, сохранение и проверку контрольной суммы. Была даже мысль сделать несколько четырёхбайтных блоков под запись дозы: читаем все блоки, находим наибольшее значение, считываем, используем в подсчёте, при сохранении пишем в следующий блок. И так по кругу. Каждому блоку по одной ячейке контрольной суммы. При четырёх блоках, думаю, о ресурсе перезаписи можно особо не беспокоиться. При несовпадении контрольки сообщение: "Ахтунг, чип кирдык".
tekagi - Нули не убираются, потому что я туда пока не добавлял дефайн. Убрать нули минут или все что-ли? Мне кажется в секундах надо бы оставить... Я думаю дефайн не стоит убирать, тк он не мешает, а некоторым пользователям поможет быстрее подстроить под себя, если человеку захочется нули или же другие символы))
Возможно не логично, если посмотреть со стороны назначения стрелок, но вполне логично если на остальных режимах эта клавиша выполняет какое-либо доп действие, то и тут должна бы также делать, имхо))
Остальное все поправил.
Можно сделать и так, но вот зачем, это будет занимать лишнюю память..и если верить независимым тестам, при такой частоте перезаписи, должно хватить минимум на 5 лет непрерывной работы))
Опять же, все к сожалению упирается в объем памяти...есть много разных идей алгоритмов, более элегантных, функциональных и сложных...но приходится выбирать количество или качество...
ИМХО функционал и логичность/интуитивность в ущерб красивостям. Наша цель - выжать из имеющегося максимум)) По дозе то так, мысли вслух (хотя проверку еепром по контрольке я всё же добавил бы, хотя бы общую, всех ячеек, при старте). Мне попадались девайсы с битой еепром, причём по логике работы туда запись должна вестись раз в недели/месяцы/годы. А наш девайс ещё и работать будет в условиях ионизирующего излучения. Небольшого (надеюсь), но всё же.
У нас же функция есть только на удержании ^? Может сделать по стрелкам переключение режимов в обе стороны, по удержанию "ОК" меню, по нажатию дополнительное действие? Ещё останется удержание "\/". Или там под дефайнами на эти действия дополнительный функционал висит?
Кстати, библиотека кнопок одновременные нажатия (комбинации) поддерживает?
tekagi - Кнопки раньше до 1.7.0 так и были, сейчас только свободно удерж.ок, но только когда не выбрана статистика или отладка, в остальных же случаях все кнопки заняты, поэтому пришлось отказаться от одного переключения в угоду доп действию... На удерж.вниз сейчас сброс показателей на текущем экране.
Нуу...как сказать поддерживает, таких функций в ней нет, но через кучу костылей можно заставить через раз работать...или можно допилить саму библиотеку))
Да это все хорошо, но как правило контрольные суммы больше нужны для передачи данных, а не для хранения. Те контрольную сумму нужно будет перезаписывать с той-же частотой, что и основные данные...и соответственно мы получаем тот-же эффект, что из без нее))
Ну, костыли точно лепить не стоит. Хотя так, как есть мне не шибко нравится именно в плане юзабилити. Может что-нибудь разумное в голову позже придет...
Что мне точно не нравится (хоть и смотрится красиво) - так это быстрое меню (фонарик/выкл/подсветка). Негоже в условиях недостатка памяти картинки лепить.
Кстати, на удержание кнопок в быстром меню можно сделать экран со списком ныне отключённых функций (дебаг и прочее). Функция включена - пункт есть. А вызывать подобный функционал из основных режимов имхо расточительно. Может на место картинок в память поместится.
Контролька не для продления срока жизни ЕЕПРОМ, а для того, чтобы увидеть момент выхода из строя. Если выпадет пара-тройка бит из настроек - девайс может работать как попало, если из дозы - это уже опасно. А вечного ничего не существует.
tekagi - Да это понятно дело, костыли дело такое, это я так к слову)) А что именно не нравится с кнопками??
Дак парадокс в том, что отображение картинок занимает меньше всего памяти, тк на вывод битмап-карт кода минимум)) Да можно перевести весь статичный текст в картинки... но это геморно, да и придется библиотеку переделывать чтоб можно было инвертировать битмап-карты.
Ну если только именно для контроля памяти, то да можно. Надо пробовать сколько будет занимать места это все дело...
tekagi - Я тоже не про оперативку. Эта библиотека по максимуму порезана и что что а оперативку она забивает по минимуму. Если удалить эти 3 картинки то освободится всего 380 байт.
По поводу доп действий в быстром меню хорошая мысль, нужно будет попробовать))
tekagi - Таке да, если вот полностью быстрое меню выпилить, то уже под 1кб свободнее становится))
Да кст, подумал вот. А если вместо оповещения о готовности замера сделать 2 картинки подобных(как выше были) и как раз там по нажатию "ок" можно реализовать продолжение замера. В общем есть над чем подумать))
Ну, фонарик/подсветка всё же полезный функционал, за которым в десять кликов в меню лезть неудобно. Хотя бы фонарику хоткей нужен, из всех основных режимов.
Кстати, о птичках. Подсветка у сейчас включается-выключается только в быстром меню, в обычном стоит РУЧН. и не меняется. Есть какие-то особенности переключения? Режим с таймаутом и автовключением по нажатию произвольной кнопки есть?
По програмному включению-выключению. На выходных погоняю на предмет энергопотребления в shutdown, но вряд ли там нулевое. Всё идет к усложнению схемы, добавлению пары ключей на полевиках для полного отключения и программного включения. А не хочется, готовых приборов на руках у пользователей уже немало. И так с оптибутом у многих проблемы, а тут ещё и железо допиливать.
Дык на голой меге загрузчик и не нужен. Нужно поискать, как заставить ИДЕ компилить код на весь объём памяти. Либо установить оптибут в иде, выбрать в качестве основной платы в настройках, собрать прошивку и взять бинарник без загрузчика.
Dark-Dante - Загрузчик не нужен, качаете облегченное ядро и там можно выбрать "без загрузчика", https://alexgyver.ru/gyvercore/ - вот тут описано как это сделать)
tekagi - Ручное управление подсветкой только из быстрого меню, в настройках устанавливаются только тайм-ауты подсветки и сна. Если нужен только тайм-аут подсветки то нужно установить в настройках СОН: ПОДСВЕТКА - ПОДСВЕТКА: 5-250, после отключения подсветки, по нажатию на любую клавишу подсветка загорится.
В теории, если с дуинки спаяны все светодиоды и дс-дс преобразователь, то камень в режиме сна должен кушать +-1мкА(по даташиту), остальное же без управления мк не работает.
tekagi - Как именно тупят? Если в последние 2 дня не делали сброс, возможно записан неверный период вдт в память из за прошлой не правильной калибровки. Сейчас все исправлено, сделай сброс настроек и должно стать все ок. Библиотека не глючная, она чувствительна ко времени, и тк она работает не от миллис, а от вдт, то от его верной калибровки зависит и опрос кнопок.
Да я тоже уже подумал, надо бы перенести управление и в подсветку.
Нет, фъюзы трогать не нужно, БОД и перефирия прекрасно отключаются программно.
Навеяло. Сохранять в еепром текущую версию прошивки, если обнаруживаем старую версию, настройки которой несовместимы с только что залитой и первый раз стартовавшей - делаем автосброс и перекалибровку. Иначе подобные вопросы будут всплывать регулярно. Естественно версию не трёхзначную, хотя бы пару байт, чтобы видеть все мелкие изменения.
Если нужны массивы картинок с текстом бета-замеров - есть в 1.8.2. Либо простейший проект в протеусе с экраном, скетч вывода нужного текста, скриншот, и скормить его image generate.
Э не, подтягивайся в бета-тестеры. Больше народу - меньше багов)
mambavamba14, сделал сброс, ситуация не изменилась. Кнопки срабатывают с третьего-седьмого нажатия.
Кстати, где-нибудь в меню или на стартовом экране также стоит отображать полный номер версии залитой прошивки, поможет при определении проблем.
25.06.20 #ArDos_with_RADON_1.7.1 - Полностью удалены библиотеки обработки кнопок и WDT, код из библиотеки WDT перенесен в скетч, обработка кнопок написана с нуля, настроить кнопки можно в "config" - "BTN_GIST_TICK" и "BTN_HOLD_TICK", управление тайм-аутом подсветки передано пункту "ПОДСВЕТКА".
tekagi - Да ну и фиг с ними)) Я уже написал свою обработку кнопок, она кстати помогла сэкономить целых 1.5кБ памяти)) Да я думал в статистике отображать версию текущую, но подумал это слишком расточительно по отношению к занимаемому месту... Версию кст да, можно сохранять в память, и при прошивке на другую автоматически делать сброс и калибровку.
Wik - да вижу, что-то не так с вдт без "#include <GyverWDT.h>", добавьте это в начало скетча к остальным библиотекам, пока так, а я буду искать решение...
Как всегда все дело в мелочах...забыл вектор прерывания "WDT_vect"... Исправил и перезалил!
mambavamba14 - Запустился, но с меню настроек проблема. Если не трогать пункты "Сон" и "Подсветка" то настройки сохранить можно, если изменить что либо в этих пунктах, то долгое зажатие кнопки "Ок" не выводит сообщение о сохранении настроек.
опоздал с сообщением, но проблема есть
и в этих пунктах кнопки как то медленнее срабатывают
Wik - Те даже если например изменить "сон" и любой другой пункт, оповещения о сохранение не будет? Кнопки работают нормально? Попробуй сброс настроек, мб из за проблем с вдт неверные данные записались...
mambavamba14 - Нет, в остальных пунктах и кнопки чаще нажимаются, допустим та же контрастность или порог тревоги там значения можно менять более частым нажатием кнопок, а в пунктах сон и подсветка, дабы изменить значения приходится делать паузы между нажатиями, так как частые нажатия не срабатывают. И при изменениях этих пунктов (сон и подсветка) сохранить настройки не выходит. Сброс делаю сразу после прошивки на всякий случай, сбросился повторно, ничего не поменялось. Первое, куда приходится лезть после прошивки - это настройки, остальное пока сильно не клацал. Фон считает, график рисует, дозу пока сказать сложно, но часы идут, разностный замер пока не трогал.
Если сон и подсветку не трогать, то сохраниться можно
Wik - Как то это очень странно, что именно на этих пунктах..неушто 3-й свитч лишний.. А сами то показания меняются в этих пунктах? При выходе из меню и повторном заходе показания те что вводили или сбрасываются??
mambavamba14 - значения менять можно, но эти значения сохранить не получается. Нет сообщения о сохранении, и если не трогать какое то время кнопки, меню автоматически закрывается без сохранения этих значений.
Wik - Быстро накликивать не получается только в одну сторону или в обе? Выходить автоматически без сохранений и должно, в "config" это можно отключить.
mambavamba14 - как только изменяешь значение в любом из этих 2х пунктов, появляется тормоз всех трех кнопках. Даже если изменить значение в пункте сон или подсветка и пойти перемещаться по пунктам меню, то этот тормоз сохранится при любом движении по меню на всех кнопках.
mambavamba14 - О! Так хорошо! пока явного ничего не видно, буду играться)))
Нашел немного: Настройка отключающая звук клавиш, попутно отключает сигнал при завершении разностных замеров. При совершении разностного замера при попытке его отменить клавишей (вверх) и выборе "нет" - выбрасывает на окно фон, но цифры в этом окне статичны, последующее нажатие (вверх) вызывает снова окно отмены разностного замера и при выборе "нет" ситуация повторяется. При выборе "да" разностный замер завершается.
И при завершении циклов разностного замера, наверное, стоит надпись "завершен!" сделать по центру.
"Замер фона" - процесс - "Завершен" - опять экран замера фона, но уже статичный. Форумчане то уже знают, что надо ткнуть \/ для второго этапа, но новый пользователь будет тупить. Лучше уж вместо "Завершен!" битмап с инструкцией к второму шагу, до нажатия. Да и перед первым тоже.
Есть еще такая небольшая идейка, сделать подключаемый модуль блютуз и передавать данные в приложение на смартфон. Подключать его в принципи можно "болт-он" в разъем для программирования мк.
И ещё, мб убрать тогда замер из основных экранов и добавить его в быстрое меню вместо кнопки питания??
Блютузка идея хорошая, но чем мы его на стороне смарта смотреть будем? Либо делать пакет под формат приложухи атома, там вроде открытый протокол, или писать свою, с преферансом и поэтессами. Вот только где программера такого найти?
Можно и убрать. Вообще кнопки стоит детально продумать, думаю ещё не раз поменяем. Пока вижу так: основные переключаемые режимы ФОН-ДОЗА-ПОИСК. По нажатию "Ок" меню выбора ДЕЛЬТА-ЗАМЕР - НАСТРОЙКИ - СТАТИСТИКА. На удержание ^ в обычном режиме фонарик, на удержание "Ок" предложение выключения.
Вай, это ж вообще шикарно! Если будем цепляться к аппаратному юарт - то так можно данные куда угодно слать. Хоть в еспшку и далее на народмон, хоть в локальный логгер. Вот только поместится? В принципе, нам достаточно отдавать массив с данными имп/с, crc и время, а обрабатывать можно на стороне смарта вообще независимо от выбранного в приборе режима.
Если отключено - #ifdef и просто не показывать пункт меню. Так можно с любым из пунктов, только со сдвигом строк заморочиться.
Кстати, на заре создания была мысль прицепить модуль RTC с флешкой, для детального логирования. У меня и первый экземпляр с ними уже давно распаян. Но не сложилось.
tekagi - Про еспшку давно думал, хорошая штука, можно как мост юарт-вайфай использовать. Как то раньше думал на ее основе программатор сделать для "онлайн" прошивки)) Вот поместится или нет сложно сказать, но с оптибут думаю можно будет вопхнуть))
Да это то понятно, дефайны решают, просто меня смущает что место будет пустовать, как-то мб не очень красиво будет...Мб тогда подсветку вместо статистики? А статистику и дебаг также в меню оставить...
RTC думал до собаки использовать как таймер для уменьшения энергопотребления, но как показала практика 100 тактов для выхода из сна очень много и работа счета получается тормознутой и много потерь прерываний со счетчика в добавок...
Чтобы место не пустовало можно выводить по одному пункту на экран, по центру иконка и подпись, снизу и сверху стрелочки смены пункта. И закольцевать. Хоть два пункта, хоть два десятка.
Онлайн заливка прошивки весьма интересный функционал, попадались несколько разработок, но ни одной завершённой не видел. Как и 100% рабочего девайса для заливки прошивок с флешки, в полевых условиях. А есть девайсы, к которым приходится только с ноутом подбираться.
tekagi,alexadresat - Можно как вариант, я как ранее предлагал подобное, вот только боюсь с анимацией не влезет все это дело...а вот статичные думаю можно.
#define TYPE_MEASUR_SLEEP желательно по умолчанию в 1
Мои параметры делителя из скетча можно выкинуть, экземпляр единственный и нигде не выкладывался.
#define TYPE_CHAR_FILL 43 не работает на времени обратного отсчёта в бета замере. Да и зачем заполнять незначащие разряды чем-то, кроме пробелов? Убрать бы этот дефайн вовсе, поставив пробел по умолчанию.
Если в режиме бета-замера нажать ^ появляется пустой экран с кнопками "нет" "да" и буквой "е" между ними. подозреваю, что
не вяжется с
Нелогично запускать замер кнопкой "\/", просится "ОК". А вход в меню из бета-замера не нужен. В старом скетче я закрыл вход в меню со всех режимов, кроме основного.
Для дозы, как самого часто изменяемого значения в ЕЕПРОМ стоит сделать подсчёт, сохранение и проверку контрольной суммы. Была даже мысль сделать несколько четырёхбайтных блоков под запись дозы: читаем все блоки, находим наибольшее значение, считываем, используем в подсчёте, при сохранении пишем в следующий блок. И так по кругу. Каждому блоку по одной ячейке контрольной суммы. При четырёх блоках, думаю, о ресурсе перезаписи можно особо не беспокоиться. При несовпадении контрольки сообщение: "Ахтунг, чип кирдык".
tekagi - Нули не убираются, потому что я туда пока не добавлял дефайн. Убрать нули минут или все что-ли? Мне кажется в секундах надо бы оставить... Я думаю дефайн не стоит убирать, тк он не мешает, а некоторым пользователям поможет быстрее подстроить под себя, если человеку захочется нули или же другие символы))
Возможно не логично, если посмотреть со стороны назначения стрелок, но вполне логично если на остальных режимах эта клавиша выполняет какое-либо доп действие, то и тут должна бы также делать, имхо))
Остальное все поправил.
Можно сделать и так, но вот зачем, это будет занимать лишнюю память..и если верить независимым тестам, при такой частоте перезаписи, должно хватить минимум на 5 лет непрерывной работы))
Минут, десятки секунд стоит оставить.
tekagi - Все поправил и перезалил.
Опять же, все к сожалению упирается в объем памяти...есть много разных идей алгоритмов, более элегантных, функциональных и сложных...но приходится выбирать количество или качество...
ИМХО функционал и логичность/интуитивность в ущерб красивостям. Наша цель - выжать из имеющегося максимум)) По дозе то так, мысли вслух (хотя проверку еепром по контрольке я всё же добавил бы, хотя бы общую, всех ячеек, при старте). Мне попадались девайсы с битой еепром, причём по логике работы туда запись должна вестись раз в недели/месяцы/годы. А наш девайс ещё и работать будет в условиях ионизирующего излучения. Небольшого (надеюсь), но всё же.
У нас же функция есть только на удержании ^? Может сделать по стрелкам переключение режимов в обе стороны, по удержанию "ОК" меню, по нажатию дополнительное действие? Ещё останется удержание "\/". Или там под дефайнами на эти действия дополнительный функционал висит?
Кстати, библиотека кнопок одновременные нажатия (комбинации) поддерживает?
tekagi - Кнопки раньше до 1.7.0 так и были, сейчас только свободно удерж.ок, но только когда не выбрана статистика или отладка, в остальных же случаях все кнопки заняты, поэтому пришлось отказаться от одного переключения в угоду доп действию... На удерж.вниз сейчас сброс показателей на текущем экране.
Нуу...как сказать поддерживает, таких функций в ней нет, но через кучу костылей можно заставить через раз работать...или можно допилить саму библиотеку))
Да это все хорошо, но как правило контрольные суммы больше нужны для передачи данных, а не для хранения. Те контрольную сумму нужно будет перезаписывать с той-же частотой, что и основные данные...и соответственно мы получаем тот-же эффект, что из без нее))
Ну, костыли точно лепить не стоит. Хотя так, как есть мне не шибко нравится именно в плане юзабилити. Может что-нибудь разумное в голову позже придет...
Что мне точно не нравится (хоть и смотрится красиво) - так это быстрое меню (фонарик/выкл/подсветка). Негоже в условиях недостатка памяти картинки лепить.
Кстати, на удержание кнопок в быстром меню можно сделать экран со списком ныне отключённых функций (дебаг и прочее). Функция включена - пункт есть. А вызывать подобный функционал из основных режимов имхо расточительно. Может на место картинок в память поместится.
Контролька не для продления срока жизни ЕЕПРОМ, а для того, чтобы увидеть момент выхода из строя. Если выпадет пара-тройка бит из настроек - девайс может работать как попало, если из дозы - это уже опасно. А вечного ничего не существует.
tekagi - Да это понятно дело, костыли дело такое, это я так к слову)) А что именно не нравится с кнопками??
Дак парадокс в том, что отображение картинок занимает меньше всего памяти, тк на вывод битмап-карт кода минимум)) Да можно перевести весь статичный текст в картинки... но это геморно, да и придется библиотеку переделывать чтоб можно было инвертировать битмап-карты.
Ну если только именно для контроля памяти, то да можно. Надо пробовать сколько будет занимать места это все дело...
Я не про оперативку. У пользователей без оптибута код уже не помещается, приходится часть полезного функционала рубить...
Про текст и картинки знаю, отаке совал в предварительные экраны бета-замера:
tekagi - Я тоже не про оперативку. Эта библиотека по максимуму порезана и что что а оперативку она забивает по минимуму. Если удалить эти 3 картинки то освободится всего 380 байт.
По поводу доп действий в быстром меню хорошая мысль, нужно будет попробовать))
Мда, не густо. Ладно, буду тестить и думу думать)
tekagi - Таке да, если вот полностью быстрое меню выпилить, то уже под 1кб свободнее становится))
Да кст, подумал вот. А если вместо оповещения о готовности замера сделать 2 картинки подобных(как выше были) и как раз там по нажатию "ок" можно реализовать продолжение замера. В общем есть над чем подумать))
Ну, фонарик/подсветка всё же полезный функционал, за которым в десять кликов в меню лезть неудобно. Хотя бы фонарику хоткей нужен, из всех основных режимов.
Кстати, о птичках. Подсветка у сейчас включается-выключается только в быстром меню, в обычном стоит РУЧН. и не меняется. Есть какие-то особенности переключения? Режим с таймаутом и автовключением по нажатию произвольной кнопки есть?
По програмному включению-выключению. На выходных погоняю на предмет энергопотребления в shutdown, но вряд ли там нулевое. Всё идет к усложнению схемы, добавлению пары ключей на полевиках для полного отключения и программного включения. А не хочется, готовых приборов на руках у пользователей уже немало. И так с оптибутом у многих проблемы, а тут ещё и железо допиливать.
Железо не нужно трогать, сна с головой хватает, прибор может работать более месяца автономно от аккумулятора в 720 мА/ч, куда ещё больше.
Кроме оптибута, как то можно ужать код? Не хочу загрузчик на голой меге держать, незачем он мне, всеравно программатором шьётся всегда.
Дык на голой меге загрузчик и не нужен. Нужно поискать, как заставить ИДЕ компилить код на весь объём памяти. Либо установить оптибут в иде, выбрать в качестве основной платы в настройках, собрать прошивку и взять бинарник без загрузчика.
Вроде как если шить юсбаспом непосредственно из под ИДЕ - оно должно собираться без лодыря на весь объём памяти. https://www.arduino.cc/en/Hacking/Programmer
Альтернативное ядро miniCore поддерживает вариант "без загрузчика", позволяя использовать всю память.
Dark-Dante - Загрузчик не нужен, качаете облегченное ядро и там можно выбрать "без загрузчика", https://alexgyver.ru/gyvercore/ - вот тут описано как это сделать)
tekagi - Ручное управление подсветкой только из быстрого меню, в настройках устанавливаются только тайм-ауты подсветки и сна. Если нужен только тайм-аут подсветки то нужно установить в настройках СОН: ПОДСВЕТКА - ПОДСВЕТКА: 5-250, после отключения подсветки, по нажатию на любую клавишу подсветка загорится.
В теории, если с дуинки спаяны все светодиоды и дс-дс преобразователь, то камень в режиме сна должен кушать +-1мкА(по даташиту), остальное же без управления мк не работает.
Тоже неинтуитивно. Почему управление подсветкой упрятано в "СОН"? Нельзя в пункте "подсветка" сделать "ручн" - "5...250"?
З.Ы. Кнопки опять тупят, что-то библиотека шибко глючная. Нельзя использовать что-либо вроде функции из старой прошивки?
ЕМНИП чтобы получить микроамперы надо ещё фьюзы поковырять, в частности контроль питания. Хотя могу и ошибаться, давно смотрел.
tekagi - Как именно тупят? Если в последние 2 дня не делали сброс, возможно записан неверный период вдт в память из за прошлой не правильной калибровки. Сейчас все исправлено, сделай сброс настроек и должно стать все ок. Библиотека не глючная, она чувствительна ко времени, и тк она работает не от миллис, а от вдт, то от его верной калибровки зависит и опрос кнопок.
Да я тоже уже подумал, надо бы перенести управление и в подсветку.
Нет, фъюзы трогать не нужно, БОД и перефирия прекрасно отключаются программно.
Ок, буду тестить, но уже завтра.
Навеяло. Сохранять в еепром текущую версию прошивки, если обнаруживаем старую версию, настройки которой несовместимы с только что залитой и первый раз стартовавшей - делаем автосброс и перекалибровку. Иначе подобные вопросы будут всплывать регулярно. Естественно версию не трёхзначную, хотя бы пару байт, чтобы видеть все мелкие изменения.
Если нужны массивы картинок с текстом бета-замеров - есть в 1.8.2. Либо простейший проект в протеусе с экраном, скетч вывода нужного текста, скриншот, и скормить его image generate.
Понял, всё никак руки не дойдут попробовать прошивку Сергея, полностью прибор разбирать нужно, жду когда допилите до конца)
Э не, подтягивайся в бета-тестеры. Больше народу - меньше багов)
mambavamba14, сделал сброс, ситуация не изменилась. Кнопки срабатывают с третьего-седьмого нажатия.
Кстати, где-нибудь в меню или на стартовом экране также стоит отображать полный номер версии залитой прошивки, поможет при определении проблем.
25.06.20 #ArDos_with_RADON_1.7.1 - Полностью удалены библиотеки обработки кнопок и WDT, код из библиотеки WDT перенесен в скетч, обработка кнопок написана с нуля, настроить кнопки можно в "config" - "BTN_GIST_TICK" и "BTN_HOLD_TICK", управление тайм-аутом подсветки передано пункту "ПОДСВЕТКА".
tekagi - Да ну и фиг с ними)) Я уже написал свою обработку кнопок, она кстати помогла сэкономить целых 1.5кБ памяти)) Да я думал в статистике отображать версию текущую, но подумал это слишком расточительно по отношению к занимаемому месту... Версию кст да, можно сохранять в память, и при прошивке на другую автоматически делать сброс и калибровку.
mambavamba14 - что то не пошла 1.7.1. После прошивки Экран кратко моргает при включении и все. Сброс не помогает.
Ой, там библиотеки, наверно, нужно обновить...
Библиотеки обновил, ничего не изменилось. При сбросе кратковременно появляется сообщение о сбросе и экран тухнет.
Wik - да вижу, что-то не так с вдт без "#include <GyverWDT.h>", добавьте это в начало скетча к остальным библиотекам, пока так, а я буду искать решение...
Как всегда все дело в мелочах...забыл вектор прерывания "WDT_vect"... Исправил и перезалил!
mambavamba14 - Запустился, но с меню настроек проблема. Если не трогать пункты "Сон" и "Подсветка" то настройки сохранить можно, если изменить что либо в этих пунктах, то долгое зажатие кнопки "Ок" не выводит сообщение о сохранении настроек.
опоздал с сообщением, но проблема есть
и в этих пунктах кнопки как то медленнее срабатывают
Wik - Те даже если например изменить "сон" и любой другой пункт, оповещения о сохранение не будет? Кнопки работают нормально? Попробуй сброс настроек, мб из за проблем с вдт неверные данные записались...
mambavamba14 - Нет, в остальных пунктах и кнопки чаще нажимаются, допустим та же контрастность или порог тревоги там значения можно менять более частым нажатием кнопок, а в пунктах сон и подсветка, дабы изменить значения приходится делать паузы между нажатиями, так как частые нажатия не срабатывают. И при изменениях этих пунктов (сон и подсветка) сохранить настройки не выходит. Сброс делаю сразу после прошивки на всякий случай, сбросился повторно, ничего не поменялось. Первое, куда приходится лезть после прошивки - это настройки, остальное пока сильно не клацал. Фон считает, график рисует, дозу пока сказать сложно, но часы идут, разностный замер пока не трогал.
Если сон и подсветку не трогать, то сохраниться можно
Wik - Как то это очень странно, что именно на этих пунктах..неушто 3-й свитч лишний.. А сами то показания меняются в этих пунктах? При выходе из меню и повторном заходе показания те что вводили или сбрасываются??
mambavamba14 - значения менять можно, но эти значения сохранить не получается. Нет сообщения о сохранении, и если не трогать какое то время кнопки, меню автоматически закрывается без сохранения этих значений.
Wik - Быстро накликивать не получается только в одну сторону или в обе? Выходить автоматически без сохранений и должно, в "config" это можно отключить.
mambavamba14 - как только изменяешь значение в любом из этих 2х пунктов, появляется тормоз всех трех кнопках. Даже если изменить значение в пункте сон или подсветка и пойти перемещаться по пунктам меню, то этот тормоз сохранится при любом движении по меню на всех кнопках.
пока не вернешь сон - выкл, подсветка - ручн
Кстати, из быстрого меню подсветка отключается
Wik - Бред какой-то...Перезалил архив, попробуй сейчас поменятся ли что?
Все то же самое. Смотрю, статистика появилась, но на против скорости - значение опорного, накачка и скорость -значений нет
Wik - Все исправил и перезалил.
UPD. Еще кое что подправил и перезалил.
mambavamba14 - что то совсем на кнопки не реагирует.
Wik - Ой! Забыл про локальную переменную...Исправил!
mambavamba14 - О! Так хорошо! пока явного ничего не видно, буду играться)))
Нашел немного: Настройка отключающая звук клавиш, попутно отключает сигнал при завершении разностных замеров. При совершении разностного замера при попытке его отменить клавишей (вверх) и выборе "нет" - выбрасывает на окно фон, но цифры в этом окне статичны, последующее нажатие (вверх) вызывает снова окно отмены разностного замера и при выборе "нет" ситуация повторяется. При выборе "да" разностный замер завершается.
И при завершении циклов разностного замера, наверное, стоит надпись "завершен!" сделать по центру.
А лучше нормально написать сравнительный замер завершен.
"Замер фона" - процесс - "Завершен" - опять экран замера фона, но уже статичный. Форумчане то уже знают, что надо ткнуть \/ для второго этапа, но новый пользователь будет тупить. Лучше уж вместо "Завершен!" битмап с инструкцией к второму шагу, до нажатия. Да и перед первым тоже.
tekagi - Да я помню, сегодня просто с кнопками занимался, завтра буду замер допиливать)
Просто удивился экрану "Завершён". Статистика, кстати, нужная функция. А в меню у нас два свободных хоткея на удержание /\ и \/.
26.06.20 #ArDos_with_RADON_1.7.1 - Мелкие исправления, изменены действия клавиш на главных экранах.
Есть еще такая небольшая идейка, сделать подключаемый модуль блютуз и передавать данные в приложение на смартфон. Подключать его в принципи можно "болт-он" в разъем для программирования мк.
И ещё, мб убрать тогда замер из основных экранов и добавить его в быстрое меню вместо кнопки питания??
Блютузка идея хорошая, но чем мы его на стороне смарта смотреть будем? Либо делать пакет под формат приложухи атома, там вроде открытый протокол, или писать свою, с преферансом и поэтессами. Вот только где программера такого найти?
Можно и убрать. Вообще кнопки стоит детально продумать, думаю ещё не раз поменяем. Пока вижу так: основные переключаемые режимы ФОН-ДОЗА-ПОИСК. По нажатию "Ок" меню выбора ДЕЛЬТА-ЗАМЕР - НАСТРОЙКИ - СТАТИСТИКА. На удержание ^ в обычном режиме фонарик, на удержание "Ок" предложение выключения.
tekagi - В написании простых приложений под андроид и взаимодействием по блютуз или вайфай уже имел опыт, так что проблем не будет))
Хорошо, тогда делаю картинки с инструкциями и переношу его в быстрое меню.
А как же быть если статистика будет отключена в прошивке?
Вай, это ж вообще шикарно! Если будем цепляться к аппаратному юарт - то так можно данные куда угодно слать. Хоть в еспшку и далее на народмон, хоть в локальный логгер. Вот только поместится? В принципе, нам достаточно отдавать массив с данными имп/с, crc и время, а обрабатывать можно на стороне смарта вообще независимо от выбранного в приборе режима.
Если отключено - #ifdef и просто не показывать пункт меню. Так можно с любым из пунктов, только со сдвигом строк заморочиться.
Кстати, на заре создания была мысль прицепить модуль RTC с флешкой, для детального логирования. У меня и первый экземпляр с ними уже давно распаян. Но не сложилось.
tekagi - Про еспшку давно думал, хорошая штука, можно как мост юарт-вайфай использовать. Как то раньше думал на ее основе программатор сделать для "онлайн" прошивки)) Вот поместится или нет сложно сказать, но с оптибут думаю можно будет вопхнуть))
Да это то понятно, дефайны решают, просто меня смущает что место будет пустовать, как-то мб не очень красиво будет...Мб тогда подсветку вместо статистики? А статистику и дебаг также в меню оставить...
RTC думал до собаки использовать как таймер для уменьшения энергопотребления, но как показала практика 100 тактов для выхода из сна очень много и работа счета получается тормознутой и много потерь прерываний со счетчика в добавок...
Чтобы место не пустовало можно выводить по одному пункту на экран, по центру иконка и подпись, снизу и сверху стрелочки смены пункта. И закольцевать. Хоть два пункта, хоть два десятка.
Онлайн заливка прошивки весьма интересный функционал, попадались несколько разработок, но ни одной завершённой не видел. Как и 100% рабочего девайса для заливки прошивок с флешки, в полевых условиях. А есть девайсы, к которым приходится только с ноутом подбираться.
mambavamba14, tekagi - Надо как в меню телефона
mambavamba14 - в статистику как теперь зайти? в скетче включена, но ни с какого экрана не получается зайти.
tekagi,alexadresat - Можно как вариант, я как ранее предлагал подобное, вот только боюсь с анимацией не влезет все это дело...а вот статичные думаю можно.