|
|
|
|
53568 379 18 4 |
|
Опции темы | Поиск в этой теме |
22.01.2023, 02:21 | 1 | |||||
Ветеран Фонарёвки
Регистрация: 25.08.2012 Последняя активность: 30.11.2024 23:29 Адрес: Менделеево, Московская область
Сообщений: 3955
Записей в дневнике: 4 Сказал(а) спасибо: 1558
Поблагодарили: 3883 раз(а) в 1902 сообщениях
|
Лаба на кармане: Lumenoid - альтернатива ceilingbounce
Цитата:
Автор, Zak Wilson - товарищ, без сомнения, крутой. Не столько из-за самого приложения (там, в принципе, не бином Ньютона), сколько из-за языка, на котором оно написано. На Clojure! Под Андроид! Я просто охренел, когда первый раз пошёл на код посмотреть. Clojure сам по себе язык достаточно экзотический, а уж под Андроид - запредельно. Я вообще не знал, что это возможно. Но сам ceilingbounce - ужасен . Интерфейс - это просто п.здец какой-то, его просто нет. Совершенно неудобный, неинтуитивный и выглядит отвратительно. Может на Clojure трудно делать нормальные интерфейсы, может автор не придаёт особого значения UI, отдавая предпочтение функциональности, может отложил причёсывание на будущее, а потом потерял интерес, не знаю. Когда впервые попользовался, после первой мысли "чего ж так коряво-то?" сразу возникла вторая "надо своё написать, я ж вроде умею немножко". И я даже набросал какой-то прототип, чего-то ковырял, но потом, как всегда, возникли более приоритетные задачи, и я забросил. Однако не так давно снова пришлось обратиться к ceilingbounce для снятия графика и снова испытать нешуточный дискомфорт. "Гештальты надо закрывать" - подумалось мне, и я сел реанимировать и добивать до минимальной кондиции полупротухший прототип. Мне не то, что не дают покоя лавры ceilingbounce - они не такие уж и пышные. Больше хотелось после долгого перерыва вернуться к разработке под Андроид, восстановить навыки, посмотреть что новенького, снова вдоволь на ровном месте нахлебаться андроидных странностей и непотебств, коих там предостаточно, ну, всё такое. Задача-то шибко интересная. И все мои хотения, в конечном итоге, были удовлетворены. Итак, собственно сабж, Lumenoid. Делать умеет то же самое, что и ceilingbounce, но, смею надеяться, более красиво, хорошо и удобно. Из основных улучшений:
Но самое основное преимущество: Lumenoid поддерживаемый (ну, пока мне не надоест ). Посему всячески приветствую багрепорты, конструктивную критику и предложения по доработкам и новой функциональности. Как минимум, все найденные баги исправлю, ну и разумные предложения внедрю. Интерфейс я старался сделать максимально понятным, поэтому расписывать, как и что делать, не буду, пробуйте сами. Спрашивайте, если непонятно, это поможет мне понять, что я сделал плохо. Просто накидаю тут скриншотиков. А вот так выглядит сохранённая картинка графика. Кстати, её размеры можно настраивать. Пока никуда в открытый доступ не выкладывал, взять можно с моего яндекс.диска (версия 0.1-beta). Я в любом случае совсем не зря повозился, новый опыт и что-то даже получилось, гештальт закрылся. Но я надеюсь, что это будет интересно не только мне. ВНИМАНИЕ: Замечание 1. Задержка отрисовки графика и странные эффекты. Некоторые камрады жалуются на неожиданное поведение графика при отрисовке: Цитата:
Цитата:
Есть обоснованное предположение, что все эти эффекты - ничто иное, как особенности реализации датчика освещённости в конкретном устройстве. Если вы наблюдаете нечто, подобное описанному, или иное неожиданное поведение, сравните это с тем, что происходит в ceilingbounce и других приложениях люксметра, которые умеют показывать график. Мне писать имеет смысл только в случае значительного отличия в поведении Lumenoid от поведения других подобных приложений. ВНИМАНИЕ: Замечание 2. Навигация кнопкой Back. Также есть жалобы на неожиданное поведение навигации: Цитата:
Цитата:
Цитата:
ВНИМАНИЕ: Замечание 3. Взаимодействие с графиком посредством жестов. Кроме управления кнопками на тулбаре и меню, в график можно ещё тыкать пальцами.
Обновление 23.01.2023 Версия 0.2-beta Изменения:
Продолжение следует. Обновление 25.01.2023 Версия 0.3-beta Изменения:
Обновление 26.01.2023 Версия 0.3.1-beta Изменения:
Обновление 27.01.2023 Версия 0.3.2-beta Изменения:
Обновление 02.02.2023 Версия 0.4-beta Изменения:
Обновление 02.02.2023 (2) Версия 0.4.1-beta Изменения, две мелочи всплыли:
Обновление 04.02.2023 Версия 0.5-beta Изменения:
Обновление 06.02.2023 Версия 0.5.1-beta Изменения:
Обновление 30.03.2023 Версия 0.6-beta Изменения:
Обновление 05.07.2023 Версия 1.0 Изменения:
Актуальная версия: 1.0 Все версии (мало ли, вдруг сломаю, чтобы откатиться можно было)
__________________
YLP Panda 4, кастомные D10 (Samsung LH351D 5000К, TIR 30°, 45°, драйвера Квантов, DDE), YLP Unicorn 1.0, ЯЛ Scorpion Х8, Convoy S8 (прошивка dandan2000, ver. 3.5СК) Всякие фонарные крепления Ссылки на TIR-линзы для Unicorn/Gekko Определитель светодиода по фотографии [Исправлено: kaa.mobil, 05.07.2023 в 08:53] |
|||||
Поблагодарили: 58 раз(а) |
23.01.2023, 16:17 | 101 | |
Ветеран Фонарёвки
Регистрация: 25.08.2012 Последняя активность: 30.11.2024 23:29 Адрес: Менделеево, Московская область
Сообщений: 3955
Записей в дневнике: 4 Сказал(а) спасибо: 1558
Поблагодарили: 3883 раз(а) в 1902 сообщениях
|
Re: Лаба на кармане: Lumenoid - альтернатива ceilingbounce
Точно есть, проверено.
Цитата:
И это вы очень сильно упрощаете. Каждый сэмпл по многим причинам внутри несёт пачку дополнительной технической информации. Например, реализация паузы потребует добавления двух флажков: IsPauseStarted и IsPauseStopped. В каждом сэмпле, естественно, ибо мы не знаем, какой сэмпл окажется началом или концом паузы. Причём для подавляющего большинства точек эти флажки окажутся не нужны, однако два байта отдай. Так и набегает, поверьте. В любом случае, отрисовщику графика начинает уже плохеть на 50-70K сэмплов. Не, оно живёт, не падает, но появляются заметные лаги интерфейса, ~100-300 мс, реакция кнопок запаздывает, всё такое. Недаром в ceilingbounce после 100 минут графика точки вообще начинают отбираться раз в 10 сек (что уже совсем зашквар имхо). Да. Благосклонный админ назначил меня сатрапом этой провинции, и я теперь стартовый пост могу править. Буду править стартовый и в ленте уведомлять. |
|
Поблагодарили: 1 раз |
Drex (24.01.2023)
|
23.01.2023, 16:49 | 102 | ||
👀
Регистрация: 23.07.2020 Последняя активность: Вчера 23:40
Сообщений: 9509
Записей в дневнике: 4 Сказал(а) спасибо: 63
Поблагодарили: 6392 раз(а) в 3512 сообщениях
|
Re: Лаба на кармане: Lumenoid - альтернатива ceilingbounce
Можно усреднять посекундно, тогда строк будет в пять раз меньше.
Что касается "кому оно надо" — может и не надо, но зато при необходимости всегда можно будет масштабировать какой-то участок графика и рассмотреть его в подробностях. Никогда ведь заранее не угадаешь, когда нужна будет детализация — вдруг на пятом часу начнет термоконтроль резонировать. Цитата:
Я представлял себе все проще. Есть набор данных. Каждая строка набора соответствует секунде графика. Если, к примеру, на 10 секунде была нажата пауза на 20 секунд — значит в 11 строке графика будут данные на 21 секунду реального времени. В каждой строке фиксируется показание люксметра. Если для каждой строки дополнительно фиксировать системное время — тогда в 11 строке это значение будет на 20 секунд больше, чем в 10 строке, по этой разнице и можно будет определить паузу. Цитата:
Но на декстопах списки или таблицы с большим числом строк (более тысячи) обычно бывают виртуальными. То есть они не держат в памяти всю выборку данных, а только ту часть, которую нужно отобразить на экране. В случае графиков — нужно просто усреднять на период времени, который соответствует одному экранному пикселу. Если разрешение телефона 1080x1920 точек и график занимает всю ширину экрана (1080 пикселов), значит в графике не более 1080 точек. Если на экране отрисовывается измерения за 10 часов (36000 сэмплов), значит эти данные нужно усреднить по полуминутным интервалам и получится 1200 точек, которые на графике отрисуются быстро и ресурсы потреблять не будут. |
||
23.01.2023, 17:14 | 103 | |
Ветеран Фонарёвки
Регистрация: 25.08.2012 Последняя активность: 30.11.2024 23:29 Адрес: Менделеево, Московская область
Сообщений: 3955
Записей в дневнике: 4 Сказал(а) спасибо: 1558
Поблагодарили: 3883 раз(а) в 1902 сообщениях
|
Re: Лаба на кармане: Lumenoid - альтернатива ceilingbounce
Там и так все усредняется достаточно интеллектуально, отбрасываются точки, лежащие не далее 1.5 попугайского люкса от локального среднего (на самом деле немного сложнее, но принцип такой). Т.е. точность остаётся высокой (выше чем у ceilingbounce, резонанс термоконтроля всяко увидите), а разрежённость становится достаточной для довольно длительных графиков. И памяти хватает. Я до 35 часов гонял, дальше поленился.
Не хочу показаться невежливым, но людям свойственно считать достаточно простым, то, в чём они не имеют печального опыта. Особенно бесит это в начальстве... Цитата:
То есть держать в памяти уже два набора данных: исходный реальный и пересчитанный для отображения. А так как "период времени, который соответствует одному экранному пикселу" постоянно изменяется, второй набор надо пересчитывать из первого на каждый чих. Не, пусть кто-нибудь другой так напишет, а я уважение выражу. [Исправлено: kaa.mobil, 24.01.2023 в 12:10] |
|
Поблагодарили: 1 раз |
Drex (24.01.2023)
|
23.01.2023, 17:20 | 105 |
Ветеран Фонарёвки
Регистрация: 25.08.2012 Последняя активность: 30.11.2024 23:29 Адрес: Менделеево, Московская область
Сообщений: 3955
Записей в дневнике: 4 Сказал(а) спасибо: 1558
Поблагодарили: 3883 раз(а) в 1902 сообщениях
|
Re: Лаба на кармане: Lumenoid - альтернатива ceilingbounce
|
23.01.2023, 17:21 | 106 |
Ветеран Фонарёвки
Регистрация: 04.06.2013 Последняя активность: Вчера 23:56 Адрес: СПб
Сообщений: 5345
Сказал(а) спасибо: 508
Поблагодарили: 4884 раз(а) в 1721 сообщениях
|
Re: Лаба на кармане: Lumenoid - альтернатива ceilingbounce
kaa.mobil, Redmi 6a - работает, рисует рантайм, при нажатии стоп сохраняет в папку Lumenoid. Просило при запуске доступ только к "фото и мультимедиа и файлам" - выдал. CCT не показывает. По кнопкам сохраняет csv и png. После увеличения/сдвига графика png сохраняется тот же максимальный.
Иконка на столе прозрачная. MIUI 11, android 9. [Исправлено: zazara, 23.01.2023 в 17:25] |
23.01.2023, 17:24 | 107 |
Ветеран Фонарёвки
Регистрация: 25.08.2012 Последняя активность: 30.11.2024 23:29 Адрес: Менделеево, Московская область
Сообщений: 3955
Записей в дневнике: 4 Сказал(а) спасибо: 1558
Поблагодарили: 3883 раз(а) в 1902 сообщениях
|
Re: Лаба на кармане: Lumenoid - альтернатива ceilingbounce
|
23.01.2023, 17:24 | 108 | |
Ветеран Фонарёвки
Регистрация: 11.08.2011 Последняя активность: Вчера 21:52 Адрес: Дубна
Сообщений: 10697
Записей в дневнике: 1 Сказал(а) спасибо: 2635
Поблагодарили: 12043 раз(а) в 4383 сообщениях
|
Re: Лаба на кармане: Lumenoid - альтернатива ceilingbounce
Цитата:
А и кстати из данных по углам можно интегральный поток посчитать , для фонарей наверное не подойдет, а вот для лампочек или голых диодов вполне. .
__________________
* [Исправлено: AEDe, 23.01.2023 в 17:44] |
|
23.01.2023, 17:31 | 109 |
Ветеран Фонарёвки
Регистрация: 25.08.2012 Последняя активность: 30.11.2024 23:29 Адрес: Менделеево, Московская область
Сообщений: 3955
Записей в дневнике: 4 Сказал(а) спасибо: 1558
Поблагодарили: 3883 раз(а) в 1902 сообщениях
|
Re: Лаба на кармане: Lumenoid - альтернатива ceilingbounce
|
Поблагодарили: 1 раз |
AEDe (23.01.2023)
|
23.01.2023, 17:34 | 110 | |
👀
Регистрация: 23.07.2020 Последняя активность: Вчера 23:40
Сообщений: 9509
Записей в дневнике: 4 Сказал(а) спасибо: 63
Поблагодарили: 6392 раз(а) в 3512 сообщениях
|
Re: Лаба на кармане: Lumenoid - альтернатива ceilingbounce
Цитата:
Держать в памяти один "сырой" набор данных — это менее 10 МБ и по идее для современного смартфона вообще не должно быть проблемой. У меня страница браузера в смартфоне раз в 20 больше памяти потребляет. Второй набор данных — не пересчитанный, а промежуточный, оптимизированный для быстрого пересчета. Тут проблема не в собственно занимаемом объеме данных, а в избыточном количестве точек для отображения графика — на графике с разрешением 1920x1080 точек нет никакого смысла отрисовывать несколько десятков тысяч точек, они все равно будут накладываться друг на друга (в пределах экранных пикселов). Я не знаю, какие особенности и ограничения действуют в андроиде. Но я бы думал примерно в такую сторону: 1) При любом изменении масштаба или скроллинге графика брать из "сырого" набора данных нужный участок и пересчитывать его с требуемым усреднением (исходя из временного интервала и разрешения графика). 2) Если график будет масштабироваться автоматически, то чтобы не пересчитывать постоянно усредненную выборку, немного схитрить. Например для отображения N точек использовать буфер на 2N сэмплов. Когда в буфер будет выведено N данных, то первую половину буфера можно будет усреднить через одну точку — N1=(N1+N2)/2, N2=(N3+N4)/2, N3=(N5+N6)/2, ... Таким образом будет некое скользящее окно, внутри которого количество пересчетов будет предсказуемым и не очень большим (например на 20-часовой записи пересчитывать нужно будет не все несколько сотен тысяч семплов, а только одну-две тысячи записей в буфере). В общем, тут наверное есть место для оптимизации, но это думать надо и я все-равно на андроиде не умею. Или попробую другими словами свою мысль сформулировать. Среднее считается как: V = (V1+V2+...+Vn)/n Если выборка данных изменяется, то среднее нужно пересчитывать заново. Но если выборка всегда только пополняется (то есть в нее добавляются новые данные), то можно отдельно хранить сумму выборки и количество данных в выборке. И тогда при добавлении новых данных новое значение просто прибавляется к текущей сумме Vsum, количество данных n увеличивается на 1, а среднее значение будет Vsum/n, и не потребуется повторно суммировать всю выборку. [Исправлено: alibek, 23.01.2023 в 17:42] |
|
23.01.2023, 17:41 | 111 |
сволочь фонарёвки
Регистрация: 27.05.2011 Последняя активность: Вчера 21:07 Адрес: Россия, Пермский край
Сообщений: 39021
Сказал(а) спасибо: 6275
Поблагодарили: 34183 раз(а) в 15820 сообщениях
|
Re: Лаба на кармане: Lumenoid - альтернатива ceilingbounce
|
23.01.2023, 17:42 | 112 |
Ветеран Фонарёвки
Регистрация: 25.08.2012 Последняя активность: 30.11.2024 23:29 Адрес: Менделеево, Московская область
Сообщений: 3955
Записей в дневнике: 4 Сказал(а) спасибо: 1558
Поблагодарили: 3883 раз(а) в 1902 сообщениях
|
Re: Лаба на кармане: Lumenoid - альтернатива ceilingbounce
Здесь в полный рост встаёт вопрос адекватности усилий. Согласно принципу Парето "20% усилий дают 80% результата", и эти 20% усилий я уже совершил, причём достигнуый результат меня вполне устраивает. Вот не хочу я дальше в это упираться, вылавливая какие-то крохи, которых всё равно никто не заметит и не оценит. Лучше я и правда поворотную штангу на штативе построю и диаграмму направленности снимать научусь, гораздо интереснее задача.
Конечно. Никто компас и не собирался. [Исправлено: kaa.mobil, 23.01.2023 в 17:44] |
23.01.2023, 17:48 | 114 |
Ветеран Фонарёвки
Регистрация: 25.08.2012 Последняя активность: 30.11.2024 23:29 Адрес: Менделеево, Московская область
Сообщений: 3955
Записей в дневнике: 4 Сказал(а) спасибо: 1558
Поблагодарили: 3883 раз(а) в 1902 сообщениях
|
Re: Лаба на кармане: Lumenoid - альтернатива ceilingbounce
Кстати, по каким? Нас нетипическая интересует, в плоскости экрана через середины его длинных сторон.
А, по ней он же определяет, как его положили, вверх экраном или вниз. Ок, должно норм быть. Да это ж бомба будет. Прикиньте, у Берёзового в обзорах внезапно появляется диаграмма направленности, расчёт реальной ширины оптики и, мамочки, расчётный поток (ну если по поверенному люксметру откалибруется). [Исправлено: kaa.mobil, 23.01.2023 в 17:52] |
23.01.2023, 18:17 | 115 |
Ветеран Фонарёвки
Регистрация: 04.06.2013 Последняя активность: Вчера 23:56 Адрес: СПб
Сообщений: 5345
Сказал(а) спасибо: 508
Поблагодарили: 4884 раз(а) в 1721 сообщениях
|
Re: Лаба на кармане: Lumenoid - альтернатива ceilingbounce
|
23.01.2023, 18:29 | 116 |
Ветеран Фонарёвки
Регистрация: 25.08.2012 Последняя активность: 30.11.2024 23:29 Адрес: Менделеево, Московская область
Сообщений: 3955
Записей в дневнике: 4 Сказал(а) спасибо: 1558
Поблагодарили: 3883 раз(а) в 1902 сообщениях
|
Re: Лаба на кармане: Lumenoid - альтернатива ceilingbounce
Ничего подобного. На кнопке нарисована картинка, значит подразумевается сохранение какой-то картинки. На самом деле, сделал без заморочек, получилось, как в ceilingbounce, ну и забил. Скажет общество, что сильно нужно по другому - переделаю, делов-то.
|
23.01.2023, 21:28 | 117 |
Ветеран Фонарёвки
Регистрация: 25.08.2012 Последняя активность: 30.11.2024 23:29 Адрес: Менделеево, Московская область
Сообщений: 3955
Записей в дневнике: 4 Сказал(а) спасибо: 1558
Поблагодарили: 3883 раз(а) в 1902 сообщениях
|
Re: Лаба на кармане: Lumenoid - альтернатива ceilingbounce
|
Поблагодарили: 1 раз |
Просто Джон (23.01.2023)
|
23.01.2023, 23:55 | 118 |
Ветеран Фонарёвки
Регистрация: 25.08.2012 Последняя активность: 30.11.2024 23:29 Адрес: Менделеево, Московская область
Сообщений: 3955
Записей в дневнике: 4 Сказал(а) спасибо: 1558
Поблагодарили: 3883 раз(а) в 1902 сообщениях
|
Re: Лаба на кармане: Lumenoid - альтернатива ceilingbounce
Заехала 0.2-бета. Описание изменений и ссылка на скачивание в конце стартового поста.
|
24.01.2023, 06:20 | 120 |
Ветеран Фонарёвки
Регистрация: 11.08.2011 Последняя активность: Вчера 21:52 Адрес: Дубна
Сообщений: 10697
Записей в дневнике: 1 Сказал(а) спасибо: 2635
Поблагодарили: 12043 раз(а) в 4383 сообщениях
|
Re: Лаба на кармане: Lumenoid - альтернатива ceilingbounce
kaa.mobil, темноту не победил)
|