|
|
![]() ![]() |
|
|
![]() ![]() ![]() ![]() |
|
Опции темы | Поиск в этой теме |
![]() ![]() |
![]() ![]() |
![]() Регистрация: 07.04.2013 Последняя активность: 13.06.2023 02:24
Сообщений: 5759
Сказал(а) спасибо: 340
Поблагодарили: 8159 раз(а) в 2385 сообщениях
|
![]()
У меня задача допилить интерфейс Юникорна, но я хочу продолжить саму концепцию его настраиваемого интерфейса. Вот думаю, как туда впихнуть все хотелки. У Юника недостаточно гибкий интерфейс, при этом количество опций уже шкалит. Сейчас интерфейс представляет из себя набор макросов (опций), которые можно распихать по произвольным комбинациям кликов, но сами макросы (опции) - имеют ограниченные возможности по настройке (рампинг/дискрет, память там отключить и т.п.). Я думаю добавить 4-й уровень вхождения - настройку самих опций (создание макросов), которые теперь тоже будут представлять из себя настраиваемый набор действий. Например:
1. fnksb жалуется, что в дискрете Юникорна нельзя индивидуально настроить количество режимов и исключить турбо и мунлайт из перебора. Сейчас этот макрос позволяет только переключить вариант настройки (рампинг/дискрет) и отключить память (его даже по комбинациям кликов двигать нельзя). При чём для этого требуется загружать спец. макросы (опции) в слоты. Докопавшись до 4-го уровня вхождения наш условный fnksb обнаруживает, что перебор режимов - это цепочка конечных автоматов (просто автоматов), переходящих друг в друга на действии "удержание" и выполняющих установку яркости на заданном в них уровне, и что макросы создавать он может сам. Автоматы - это логические единицы интерфейса. Они состоят из полезной нагрузки (выполняемая операция - тип автомата, например, установить яркость X), действий "нажатие" "клик" "удержание", и на каждое действие можно повесить функцию "без изменений", "ничего", "переход в...", или "упреждение" (особая функция, см. ниже). Ему, допустим, хочется 4 режима - он влазит в 4-й автомат, правит там "переход в автомат 5" на удержании на "переход в автомат 1", и яркости в полезной нагрузке автоматов, чтоб исключить мунлайт из автомата 1 (турбо было в автомате 5). И... он ломает перебор в обратную сторону, т.к. на действии "клик" у каждого автомата имеется ещё один вспомогательный, с функциями "перейти в..." (нажатие - переходит в цепочку автоматов с обратным направлением яркостей), "перейти в..." (клик - это уже будет дабл, там может быть, к примеру, турбо), "ничего" (удержание - оно тут невозможно), и полезной нагрузкой "перейти в... через таймаут" (выключение). Правит и это - всё заработало. 2. fnksb жалуется, что имеется провал яркости при попытке мотнуть яркость на режим ниже - фонарь пытается выключиться между кликами. Внимательное курение 42-й страницы инструкции мелким шрифтом подсказывает, что нужно убрать "упреждение" во вспомогательных автоматах цепочки, наращивающей яркость (сидящие под нажатием). "Упреждение" заглядывает в ближайший переход и заранее выполняет действие оттуда, откатывая всё назад как только пользователь изменил условия (например, отпустил кнопку раньше времени, или нажал на неё снова до таймаута). Оно делает интерфейс отзывчивее, но иногда мешает. Организовано на таких же автоматах, но из-за частоты использования реализовано более "аппаратно" и скрыто от пользователя. 3. Условный "Любитель Феникса" хочет выключение удержанием и перебор кликами, а Юник в стоке ему такого не даёт. Ну, придётся основательно перепиливать все цепочки связей в макросах, но это тоже возможно. Самостоятельный набор автоматов по прежнему называется опцией и является более высоким уровнем абстрагирования. А ещё более высоким являются пресеты - уже организованные в целый UI опции... При этом весь этот конфиг не является программированием в том смысле, что тут не идёт речь о компиляции программы и прошивке МК, а это всего-лишь трассировка конечных автоматов, хранящаяся в EEPROM. Под капотом интерфейс и сейчас устроен практически так же, разве что он гораздо интегрированнее и занимает меньше места, но лишен такой гибкости настройки через отдельную область памяти, в которую можно просто лить конфиги. С таким движком остаётся только приделать нормальный интерфейс для обмена этими конфигами и народ сможет гонять по форумам свои варианты UI для фонарей на таком драйвере. Ну и писать их на компе, а не дрочкой одной кнопки (если запилят для этого софт, я такое делать вряд ли стану - мне в блокноте проще всё прописать и залить как .eep файл). Зачем это всё написал? Да чтоб не забыть. Тут ещё много вопросов к реализации. Как сделать стек возвратов на шаг назад (хочется автомат, умеющий это, тем более он пригодится для упреждения), как программировать автоматы, работающие с яркостями (их нужно ткнуть носом в область памяти, и как-то в эту область значение записать), как организовать удобный доступ к дереву автоматов с одной кнопки (а их там ооочень много, но спасает логическая изоляция в пределах опций), как выбирать действие "нажате" для его программирования... |
![]() |
![]() ![]() |
Поблагодарили: 19 раз(а) |
Drex (10.03.2020), fnksb (10.03.2020), Gek (11.03.2020), grasl (10.03.2020), indy (11.03.2020), Kelevratony (10.03.2020), LEV-UA (10.03.2020), Linx (11.03.2020), MAX-MX (10.03.2020), mister046 (11.03.2020), murashkin (14.12.2020), Reyden (02.04.2020), sk911 (03.01.2021), Svetogor (13.03.2020), Tarans (10.03.2020), Timofej 000 (10.03.2020), Xeen (10.03.2020), мвн (11.03.2020), РШ (10.03.2020)
|
![]() |
![]() ![]() |
Ветеран Фонарёвки
Регистрация: 27.04.2011 Последняя активность: Сегодня 08:22
Сообщений: 10759
Сказал(а) спасибо: 23607
Поблагодарили: 9659 раз(а) в 4836 сообщениях
|
![]()
Больше половины не понял, но интересно, без шуток.
Вечером на свежую голову с юником в руках перечитаю ещё раз |
![]() |
![]() ![]() |
Поблагодарили: 5 раз(а) |
Kelevratony (10.03.2020), LEV-UA (10.03.2020), MAX-MX (10.03.2020), Svetogor (13.03.2020), РШ (10.03.2020)
|
![]() |
![]() ![]() |
|
Ветеран Фонарёвки
Регистрация: 08.03.2011 Последняя активность: Сегодня 07:46
Сообщений: 33349
Записей в дневнике: 4 Сказал(а) спасибо: 16844
Поблагодарили: 37549 раз(а) в 13859 сообщениях
|
![]() Цитата:
![]() Выдавать доступ к такой настройке только тем, кто сдал экзамен на чтение инструкции, и под роспись "я сам себе буратино"? Или все-таки на пользовательском уровне вводить какие-то дополнительные связи под наиболее популярные хотелки, с защитой от дурака? Вот как в этом примере, если уж у нас много желающих получить турбо и мунлайт вне линейки промотки (а их вроде много), то хорошо бы чтобы эта опция одной командой включалась. Ну или, скажем, была предусмотрена в одном из пресетов. Т.е. условному fnksb, конечно, удобнее было бы прочитать "сделайте 8 кликов для входа в настройку типа UI, потом еще пять, и получите трунайт-интерфейс с вынесенными турбо и мунлайтом". Или "сделайте 8 кликов, потом 6, и получите интерфейс а-ля-зебра". ...................... Другими словами - идея шикарная, но скорее всего на практическом уровне (и уж тем более в массовой серийке) ее все равно придется сводить к пресетам или их аналогу, т.е. к каким-то заведомо работающим связкам. А полное конфигурирование скорее всего или почти не будет использоваться по причине сложности, или даже вообще придеться его блочить от юзера ![]() Но, конечно, само наличие такой структуры UI существенно увеличит шансы на появление компьютерного софта, позволяющего выполнять всю эту настройку намного проще и быстрее. ![]() |
|
![]() |
![]() ![]() |
![]() |
![]() ![]() |
сволочь фонарёвки
Регистрация: 27.05.2011 Последняя активность: Сегодня 07:21
Сообщений: 39616
Сказал(а) спасибо: 6478
Поблагодарили: 35034 раз(а) в 16182 сообщениях
|
![]() |
![]() |
![]() ![]() |
Поблагодарили: 9 раз(а) |
Drex (10.03.2020), fnksb (10.03.2020), Kelevratony (10.03.2020), murashkin (22.07.2020), skorp777 (31.03.2020), Timofej 000 (10.03.2020), vorsmann (21.07.2020), РШ (10.03.2020), ФанКол (11.03.2020)
|
![]() |
![]() ![]() |
Ветеран Фонарёвки
Регистрация: 11.08.2011 Последняя активность: Сегодня 07:59
Сообщений: 10917
Записей в дневнике: 1 Сказал(а) спасибо: 2683
Поблагодарили: 12467 раз(а) в 4524 сообщениях
|
![]()
fnksb, вот это хорошая идея. Сделать десяток пресетов , в каждом из которых какой то популярный интерфейс. Хотябы как начальная точка для настройки для особо страждующих.
__________________
* |
![]() |
![]() ![]() |
Поблагодарили: 2 раз(а) |
fnksb (10.03.2020), Kelevratony (10.03.2020)
|
![]() |
![]() ![]() |
Ветеран Фонарёвки
Регистрация: 02.06.2018 Последняя активность: 22.02.2025 01:14
Сообщений: 1138
Сказал(а) спасибо: 1493
Поблагодарили: 548 раз(а) в 361 сообщениях
|
![]() |
![]() |
![]() ![]() |
Поблагодарили: 2 раз(а) |
murashkin (14.12.2020), Timofej 000 (10.03.2020)
|
![]() ![]() |
![]() ![]() |
|||
![]() Регистрация: 07.04.2013 Последняя активность: 13.06.2023 02:24
Сообщений: 5759
Сказал(а) спасибо: 340
Поблагодарили: 8159 раз(а) в 2385 сообщениях
|
![]()
Хотели же программировать? Будто через это всё разработчик не проходит, пока клеит эти автоматы у себя в коде...
Цитата:
Цитата:
Цитата:
А условному Инфериону удобнее чтоб вообще из коробки было всё сразу под него, и что теперь?.. |
|||
![]() |
![]() ![]() |
![]() |
![]() ![]() |
Ветеран Фонарёвки
Регистрация: 04.02.2011 Последняя активность: 26.01.2022 12:36
Сообщений: 7789
Записей в дневнике: 1 Сказал(а) спасибо: 14443
Поблагодарили: 4537 раз(а) в 2377 сообщениях
|
![]()
До чего фонари дошли.... ФОНАРИКИ!!
Прочитал первый пост, в программирование Юника не вникал, но офигеть!) Будет версия Юника на 21700, квадрипл/трипл и Тип-Ц?
__________________
Фонари "Яркий Луч" в Украине. +380688579442 (Viber, Telegram). Цены для форумчан - http://forum.fonarevka.ru/s... -Мои: фонарики, связь со мной, темы.(ссылка) http://forum.fonarevka.ru/b... |
![]() |
![]() ![]() |
Поблагодарили: 2 раз(а) |
sk911 (03.01.2021), Timofej 000 (10.03.2020)
|
![]() |
![]() ![]() |
|
Ветеран Фонарёвки
Регистрация: 08.03.2011 Последняя активность: Сегодня 07:46
Сообщений: 33349
Записей в дневнике: 4 Сказал(а) спасибо: 16844
Поблагодарили: 37549 раз(а) в 13859 сообщениях
|
![]() Цитата:
Дальше не буду спорить, интереснее послушать что другие люди говорят =) |
|
![]() |
![]() ![]() |
![]() ![]() |
![]() ![]() |
![]() Регистрация: 07.04.2013 Последняя активность: 13.06.2023 02:24
Сообщений: 5759
Сказал(а) спасибо: 340
Поблагодарили: 8159 раз(а) в 2385 сообщениях
|
![]()
И поэтому нужно всё кастрировать и ограничивать, посылая тех людей, которые не попали в 95-й процентиль, тогда как остальным вообще пофигу, что там зарыто в недрах UI... Л - Логика!
Хочешь удобнее? Откажись, для начала, от одной кнопки... [Исправлено: INFERION, 10.03.2020 в 22:42] |
![]() |
![]() ![]() |
![]() |
![]() ![]() |
хомяк-лайтфайтер
Регистрация: 05.06.2016 Последняя активность: 07.09.2022 15:43
Сообщений: 356
Сказал(а) спасибо: 1
Поблагодарили: 95 раз(а) в 63 сообщениях
|
![]() |
![]() |
![]() ![]() |
![]() |
![]() ![]() |
Частый посетитель
Регистрация: 25.01.2013 Последняя активность: Вчера 14:29
Сообщений: 4075
Сказал(а) спасибо: 4003
Поблагодарили: 3290 раз(а) в 1730 сообщениях
|
![]()
В старой бородатой шутке говорится,что основная задача программиста - объяснить заказчику, что ему (заказчику) на самом деле нужно. Но если "условная Фонаревка" хочет - то почему нет.
Но! Надо на коробке/в инструкции крупно писать, что фонарь имеет возможность глубокой перенастройки, будьте осторожны, а про то, как войти в такой режим писать мелко-мелко, и какой то способ блокировать это дело по умолчанию применять, чтобы юзеры, хаотично тискающие кнопку не получили неудобоваримый brick и не возбуждались по этому поводу. По моему имху, оно конечно впечатляет, но, извините, практическая ценность... Фонарик превратится в средство измерения сами знаете чего у пользователей, а для этого ножыки есть |
![]() |
![]() ![]() |
Поблагодарили: 1 раз |
Barabas (11.03.2020)
|
![]() ![]() |
![]() ![]() |
||
![]() Регистрация: 07.04.2013 Последняя активность: 13.06.2023 02:24
Сообщений: 5759
Сказал(а) спасибо: 340
Поблагодарили: 8159 раз(а) в 2385 сообщениях
|
![]()
ksan, хаотичного нажимания и Юникорну же маловато будет? А у него зарыто не так уж и глубоко.
Цитата:
Цитата:
В примитиве на тиньках - UART (программный) через пины программирования с тыльной стороны платы. В фонарях с фотодатчиками - оптический канал. Ну да, без неё же неудобно будет. Разве я в первом сообщении об этом не написал? [Исправлено: INFERION, 11.03.2020 в 17:42] |
||
![]() |
![]() ![]() |
Поблагодарили: 1 раз |
Kelevratony (11.03.2020)
|
![]() |
![]() ![]() |
||
Частый посетитель
Регистрация: 25.01.2013 Последняя активность: Вчера 14:29
Сообщений: 4075
Сказал(а) спасибо: 4003
Поблагодарили: 3290 раз(а) в 1730 сообщениях
|
![]() Цитата:
Цитата:
Тут выше был вроде призыв делиться мнениями, вот я и делюсь, проект просто вырывается за рамки ожидаемого. [Исправлено: ksan, 11.03.2020 в 21:15] |
||
![]() |
![]() ![]() |
![]() ![]() |
![]() ![]() |
|
![]() Регистрация: 07.04.2013 Последняя активность: 13.06.2023 02:24
Сообщений: 5759
Сказал(а) спасибо: 340
Поблагодарили: 8159 раз(а) в 2385 сообщениях
|
![]() Цитата:
Почему? Допустим, это уже реализовано в Юникорне, но никто об этом просто не знает, т.к. я в инструкции не писал. И вот я выкладываю дополнение - что-то меняется для тех, кому на этот доп. функционал всё равно? Тут давно напирают на всякие USB-C, и дисплеи в фонарях появляются, кнопки даже больше одной встречаются (неслыханная щедрость!), а интерфейсы всё так же "жри что дают". Тут бы пора уже фонарям свой язык программирования UI изобретать... ) Написал безопасный скрипт, загрузил в изолированную область памяти, и стреляй себе там хоть в ногу, хоть в колено - основной код изолирован и фонарь не пострадает. |
|
![]() |
![]() ![]() |
Поблагодарили: 5 раз(а) |
indy (15.03.2020), Kelevratony (11.03.2020), ksan (11.03.2020), LEV-UA (12.03.2020), Svetogor (14.03.2020)
|
![]() |
![]() ![]() |
фонарных дел любитель
Регистрация: 27.05.2012 Последняя активность: Сегодня 07:57
Сообщений: 3800
Записей в дневнике: 4 Сказал(а) спасибо: 2867
Поблагодарили: 2627 раз(а) в 1459 сообщениях
|
![]() |
![]() |
![]() ![]() |
Поблагодарили: 1 раз |
Timofej 000 (12.03.2020)
|
![]() |
![]() ![]() |
|
Частый посетитель
Регистрация: 25.01.2013 Последняя активность: Вчера 14:29
Сообщений: 4075
Сказал(а) спасибо: 4003
Поблагодарили: 3290 раз(а) в 1730 сообщениях
|
![]()
Это залог успеха массового продукта. потребитель думать не должен., он же деньги заплатил.
Цитата:
[Исправлено: ksan, 11.03.2020 в 23:46] |
|
![]() |
![]() ![]() |
Поблагодарили: 3 раз(а) |
![]() |
![]() ![]() |
Ветеран Фонарёвки
Регистрация: 05.08.2012 Последняя активность: Вчера 20:06
Сообщений: 24088
Сказал(а) спасибо: 26834
Поблагодарили: 14946 раз(а) в 7638 сообщениях
|
![]()
А лучше ответить - да, есть, но эту тайну я унесу в могилу
![]() Вот это будет знатная пасхалочка. |
![]() |
![]() ![]() |
Поблагодарили: 2 раз(а) |
LEV-UA (12.03.2020), Timofej 000 (12.03.2020)
|
![]() |
![]() ![]() |
|
хомяк-лайтфайтер
Регистрация: 05.06.2016 Последняя активность: 07.09.2022 15:43
Сообщений: 356
Сказал(а) спасибо: 1
Поблагодарили: 95 раз(а) в 63 сообщениях
|
![]() Цитата:
Проект только обдумывается, или над ним уже идёт работа? Проект с 4-м уровнем вхождения видится более дорогим. Он действительно будет интересен изготовителю? В чём тогда был сокральный смысл использовать более дорогой контроллер с меньшей памятью, которой остро не хватало? |
|
![]() |
![]() ![]() |
![]() ![]() |
![]() ![]() |
|
![]() Регистрация: 07.04.2013 Последняя активность: 13.06.2023 02:24
Сообщений: 5759
Сказал(а) спасибо: 340
Поблагодарили: 8159 раз(а) в 2385 сообщениях
|
![]() Цитата:
Почему? Я всё жду ответ на вопрос "чем это плохо?". И чего-то не понимаю... Я же перечислил все варианты. Они зависят от имеющихся возможностей в конкретном фонаре. Все фонари - разные же. У кого-то на борту целый ARM с USB, у кого-то имеется фотодатчик (а светить он и так умеет), а у кого-то максимум - отладочный интерфейс в виде пятаков на плате... Обдумывается. Нужно придумать API между описанием UI и программой - набор регистров, которых "хватит всем". Затем придумать удобную "макроячейку" - кирпичик UI, который обеспечит достаточную гибкость, и который легко запрограммировать. Почему? Разница только в коде. Если производители суют чипы на 8 и 16 килобайт с кодом на Си в дешман, то можно и пожертвовать место для гибкого UI, который они даже сами могут своими силами под свои хотелки адаптировать. Да и аппаратно - один МК, с одной прошивкой, может поддерживать разную схемотехнику, самостоятельно разбираясь во что его впаяли. Поддерживать одну универсальную прошивку проще, чем зоопарк. В том, что перед нами не отчитываются о ценообразованиях, и мы ничего не знаем - так работает Китай. Предположительно, 25-я тинька в закупке дешевле 45-й, её и взяли. Что там на самом деле - нам не известно, но если судить по ценам в открытых источниках - 44-я дешевле, а 84-я выходит на один с 25-й уровень. Почему? Не знаю. X4 серия по всем пунктам лучше X5-й, особенно по части встроенного диф. усилителя. Короче, в следующие проекты нужно пихать 44-ю тиньку. [Исправлено: INFERION, 12.03.2020 в 01:29] |
|
![]() |
![]() ![]() |