| 
 | 
		
			
  | ||||||||
  
  
	 | 
	
  | 
| 
		 | 
  124181  
  380  
  21  
  5
 | 
            
 | 
Опции темы | Поиск в этой теме | 
			
			 
			
			
		 | 
		
			 
			
 
1
 
			
		 | 
	
|||||
| 
			 
			 Ветеран Фонарёвки 
			
 
			
			
				
			
  
			Регистрация: 25.08.2012 Последняя активность: 03.10.2025 01:00 
					Сообщений: 3954
 Записей в дневнике: 4 Сказал(а) спасибо: 1560 
		
			
				Поблагодарили: 3890 раз(а) в 1902 сообщениях
			
		
	  | 
	
	
	
		
              
			 Цитата: 
	
 Автор, 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]  | 
|||||
| 
  
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		  
		
	 | 
| Поблагодарили: 61 раз(а) | 
			
			 
			
			
		 | 
		
			 
			
 
101
 
			
		 | 
	
|
| 
			 
			 Ветеран Фонарёвки 
			
 
			
			
				
			
  
			Регистрация: 25.08.2012 Последняя активность: 03.10.2025 01:00 
					Сообщений: 3954
 Записей в дневнике: 4 Сказал(а) спасибо: 1560 
		
			
				Поблагодарили: 3890 раз(а) в 1902 сообщениях
			
		
	  | 
	
	
	
		
              
			 
			
			Точно есть, проверено. 
		
		
		
		
		
		
		
	Цитата: 
	И это вы очень сильно упрощаете. Каждый сэмпл по многим причинам внутри несёт пачку дополнительной технической информации. Например, реализация паузы потребует добавления двух флажков: IsPauseStarted и IsPauseStopped. В каждом сэмпле, естественно, ибо мы не знаем, какой сэмпл окажется началом или концом паузы. Причём для подавляющего большинства точек эти флажки окажутся не нужны, однако два байта отдай. Так и набегает, поверьте. В любом случае, отрисовщику графика начинает уже плохеть на 50-70K сэмплов. Не, оно живёт, не падает, но появляются заметные лаги интерфейса, ~100-300 мс, реакция кнопок запаздывает, всё такое. Недаром в ceilingbounce после 100 минут графика точки вообще начинают отбираться раз в 10 сек (что уже совсем зашквар имхо). Да. Благосклонный админ назначил меня сатрапом этой провинции, и я теперь стартовый пост могу править. Буду править стартовый и в ленте уведомлять.  | 
|
| 
  
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		  
		
	 | 
| Поблагодарили: 1 раз | 
			 Drex (24.01.2023) 
			
		 | 
		
| 
			
			 | 
		
			 
			
 
102
 
			
		 | 
	
||
| 
			 
			 👀 
			
 
			
			
  
			Регистрация: 23.07.2020 Последняя активность: Сегодня 11:49 
					Сообщений: 10631
 Записей в дневнике: 4 Сказал(а) спасибо: 67 
		
			
				Поблагодарили: 7121 раз(а) в 3926 сообщениях
			
		
	  | 
	
	
	
		
              
			 
			
			Можно усреднять посекундно, тогда строк будет в пять раз меньше. 
		
		
		
		
		
		
		
	Что касается "кому оно надо" — может и не надо, но зато при необходимости всегда можно будет масштабировать какой-то участок графика и рассмотреть его в подробностях. Никогда ведь заранее не угадаешь, когда нужна будет детализация — вдруг на пятом часу начнет термоконтроль резонировать. Цитата: 
	Я представлял себе все проще. Есть набор данных. Каждая строка набора соответствует секунде графика. Если, к примеру, на 10 секунде была нажата пауза на 20 секунд — значит в 11 строке графика будут данные на 21 секунду реального времени. В каждой строке фиксируется показание люксметра. Если для каждой строки дополнительно фиксировать системное время — тогда в 11 строке это значение будет на 20 секунд больше, чем в 10 строке, по этой разнице и можно будет определить паузу. Цитата: 
	Но на декстопах списки или таблицы с большим числом строк (более тысячи) обычно бывают виртуальными. То есть они не держат в памяти всю выборку данных, а только ту часть, которую нужно отобразить на экране. В случае графиков — нужно просто усреднять на период времени, который соответствует одному экранному пикселу. Если разрешение телефона 1080x1920 точек и график занимает всю ширину экрана (1080 пикселов), значит в графике не более 1080 точек. Если на экране отрисовывается измерения за 10 часов (36000 сэмплов), значит эти данные нужно усреднить по полуминутным интервалам и получится 1200 точек, которые на графике отрисуются быстро и ресурсы потреблять не будут.  | 
||
| 
  
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		  
		
	 | 
			
			 
			
			
		 | 
		
			 
			
 
103
 
			
		 | 
	
|
| 
			 
			 Ветеран Фонарёвки 
			
 
			
			
				
			
  
			Регистрация: 25.08.2012 Последняя активность: 03.10.2025 01:00 
					Сообщений: 3954
 Записей в дневнике: 4 Сказал(а) спасибо: 1560 
		
			
				Поблагодарили: 3890 раз(а) в 1902 сообщениях
			
		
	  | 
	
	
	
		
              
			 
			
			Там и так все усредняется достаточно интеллектуально, отбрасываются точки, лежащие не далее 1.5 попугайского люкса от локального среднего (на самом деле немного сложнее, но принцип такой). Т.е. точность остаётся высокой (выше чем у ceilingbounce, резонанс термоконтроля всяко увидите), а разрежённость становится достаточной для довольно длительных графиков. И памяти хватает. Я до 35 часов гонял, дальше поленился. 
		
		
		
		
		
		
		
		
			Не хочу показаться невежливым, но людям свойственно считать достаточно простым, то, в чём они не имеют печального опыта. Особенно бесит это в начальстве... Цитата: 
	То есть держать в памяти уже два набора данных: исходный реальный и пересчитанный для отображения. А так как "период времени, который соответствует одному экранному пикселу" постоянно изменяется, второй набор надо пересчитывать из первого на каждый чих. Не, пусть кто-нибудь другой так напишет, а я уважение выражу. [Исправлено: kaa.mobil, 24.01.2023 в 12:10]  | 
|
| 
  
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		  
		
	 | 
| Поблагодарили: 1 раз | 
			 Drex (24.01.2023) 
			
		 | 
		
| 
			
			 | 
		
			 
			
 
106
 
			
		 | 
	
| 
			 
			 Ветеран Фонарёвки 
			
 
			
			
  
			Регистрация: 04.06.2013 Последняя активность: 02.11.2025 02:26 
					Сообщений: 5645
 Сказал(а) спасибо: 538 
		
			
				Поблагодарили: 5227 раз(а) в 1859 сообщениях
			
		
	  | 
	
	
	
		
              
			 
			
			kaa.mobil, Redmi 6a - работает, рисует рантайм, при нажатии стоп сохраняет в папку Lumenoid. Просило при запуске доступ только к "фото и мультимедиа и файлам" - выдал. CCT не показывает. По кнопкам сохраняет csv и png. После увеличения/сдвига графика png сохраняется тот же максимальный. 
		
		
		
		
		
		
		
		
			Иконка на столе прозрачная. MIUI 11, android 9. [Исправлено: zazara, 23.01.2023 в 17:25]  | 
| 
  
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		  
		
	 | 
| 
			
			 | 
		
			 
			
 
108
 
			
		 | 
	
|
| 
			 
			 Ветеран Фонарёвки 
			
 
			
			
				
			
  
			Регистрация: 11.08.2011 Последняя активность: Вчера 07:31 
					Сообщений: 10976
 Записей в дневнике: 1 Сказал(а) спасибо: 2708 
		
			
				Поблагодарили: 12570 раз(а) в 4561 сообщениях
			
		
	  | 
	
	
	
		
              
			 Цитата: 
	![]() А и кстати из данных по углам можно интегральный поток посчитать , для фонарей наверное не подойдет, а вот для лампочек или голых диодов вполне. 
				__________________ 
		
		
		
		
		
			* [Исправлено: AEDe, 23.01.2023 в 17:44]  | 
|
| 
  
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		  
		
	 | 
			
			 
			
			
		 | 
		
			 
			
 
109
 
			
		 | 
	
| 
			 
			 Ветеран Фонарёвки 
			
 
			
			
				
			
  
			Регистрация: 25.08.2012 Последняя активность: 03.10.2025 01:00 
					Сообщений: 3954
 Записей в дневнике: 4 Сказал(а) спасибо: 1560 
		
			
				Поблагодарили: 3890 раз(а) в 1902 сообщениях
			
		
	  | 
	
	
	
		
              
			 | 
| 
  
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		  
		
	 | 
| Поблагодарили: 1 раз | 
			 AEDe (23.01.2023) 
			
		 | 
		
| 
			
			 | 
		
			 
			
 
110
 
			
		 | 
	
|
| 
			 
			 👀 
			
 
			
			
  
			Регистрация: 23.07.2020 Последняя активность: Сегодня 11:49 
					Сообщений: 10631
 Записей в дневнике: 4 Сказал(а) спасибо: 67 
		
			
				Поблагодарили: 7121 раз(а) в 3926 сообщениях
			
		
	  | 
	
	
	
		
              
			 Цитата: 
	Держать в памяти один "сырой" набор данных — это менее 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]  | 
|
| 
  
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		  
		
	 | 
| 
			
			 | 
		
			 
			
 
111
 
			
		 | 
	
| 
			 
			 сволочь фонарёвки 
			
 
			
			
  
			Регистрация: 27.05.2011 Последняя активность: Сегодня 14:25 
					Сообщений: 40363
 Сказал(а) спасибо: 6672 
		
			
				Поблагодарили: 36054 раз(а) в 16655 сообщениях
			
		
	  | 
	
	
	
		
              
			 | 
| 
  
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		  
		
	 | 
			
			 
			
			
		 | 
		
			 
			
 
112
 
			
		 | 
	
| 
			 
			 Ветеран Фонарёвки 
			
 
			
			
				
			
  
			Регистрация: 25.08.2012 Последняя активность: 03.10.2025 01:00 
					Сообщений: 3954
 Записей в дневнике: 4 Сказал(а) спасибо: 1560 
		
			
				Поблагодарили: 3890 раз(а) в 1902 сообщениях
			
		
	  | 
	
	
	
		
              
			 
			
			Здесь в полный рост встаёт вопрос адекватности усилий. Согласно принципу Парето "20% усилий дают 80% результата", и эти 20% усилий я уже совершил, причём достигнуый результат меня вполне устраивает. Вот не хочу я дальше в это упираться, вылавливая какие-то крохи, которых всё равно никто не заметит и не оценит. Лучше я и правда поворотную штангу на штативе построю и диаграмму направленности снимать научусь, гораздо интереснее задача. 
		
		
		
		
		
		
		
		
			Конечно. Никто компас и не собирался. [Исправлено: kaa.mobil, 23.01.2023 в 17:44]  | 
| 
  
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		  
		
	 | 
			
			 
			
			
		 | 
		
			 
			
 
114
 
			
		 | 
	
| 
			 
			 Ветеран Фонарёвки 
			
 
			
			
				
			
  
			Регистрация: 25.08.2012 Последняя активность: 03.10.2025 01:00 
					Сообщений: 3954
 Записей в дневнике: 4 Сказал(а) спасибо: 1560 
		
			
				Поблагодарили: 3890 раз(а) в 1902 сообщениях
			
		
	  | 
	
	
	
		
              
			 
			
			Кстати, по каким? Нас нетипическая интересует, в плоскости экрана через середины его длинных сторон. 
		
		
		
		
		
		
		
		
			А, по ней он же определяет, как его положили, вверх экраном или вниз. Ок, должно норм быть. Да это ж бомба будет. Прикиньте, у Берёзового в обзорах внезапно появляется диаграмма направленности, расчёт реальной ширины оптики и, мамочки, расчётный поток (ну если по поверенному люксметру откалибруется).  
		[Исправлено: kaa.mobil, 23.01.2023 в 17:52]  | 
| 
  
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		  
		
	 | 
| 
			
			 | 
		
			 
			
 
115
 
			
		 | 
	
| 
			 
			 Ветеран Фонарёвки 
			
 
			
			
  
			Регистрация: 04.06.2013 Последняя активность: 02.11.2025 02:26 
					Сообщений: 5645
 Сказал(а) спасибо: 538 
		
			
				Поблагодарили: 5227 раз(а) в 1859 сообщениях
			
		
	  | 
	
	
	
		
              
			 | 
| 
  
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		  
		
	 | 
			
			 
			
			
		 | 
		
			 
			
 
116
 
			
		 | 
	
| 
			 
			 Ветеран Фонарёвки 
			
 
			
			
				
			
  
			Регистрация: 25.08.2012 Последняя активность: 03.10.2025 01:00 
					Сообщений: 3954
 Записей в дневнике: 4 Сказал(а) спасибо: 1560 
		
			
				Поблагодарили: 3890 раз(а) в 1902 сообщениях
			
		
	  | 
	
	
	
		
              
			 
			
			Ничего подобного.  
		
		
		
		
		
		
		
	  На кнопке нарисована картинка, значит подразумевается сохранение какой-то картинки. На самом деле, сделал без заморочек, получилось, как в ceilingbounce, ну и забил. Скажет общество, что сильно нужно по другому - переделаю, делов-то.
		 | 
| 
  
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		  
		
	 | 
			
			 
			
			
		 | 
		
			 
			
 
117
 
			
		 | 
	
| 
			 
			 Ветеран Фонарёвки 
			
 
			
			
				
			
  
			Регистрация: 25.08.2012 Последняя активность: 03.10.2025 01:00 
					Сообщений: 3954
 Записей в дневнике: 4 Сказал(а) спасибо: 1560 
		
			
				Поблагодарили: 3890 раз(а) в 1902 сообщениях
			
		
	  | 
	
	
	
		
              
			 | 
| 
  
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		  
		
	 | 
| Поблагодарили: 1 раз | 
			 Просто Джон (23.01.2023) 
			
		 | 
		
			
			 
			
			
		 | 
		
			 
			
 
118
 
			
		 | 
	
| 
			 
			 Ветеран Фонарёвки 
			
 
			
			
				
			
  
			Регистрация: 25.08.2012 Последняя активность: 03.10.2025 01:00 
					Сообщений: 3954
 Записей в дневнике: 4 Сказал(а) спасибо: 1560 
		
			
				Поблагодарили: 3890 раз(а) в 1902 сообщениях
			
		
	  | 
	
	
	
		
              
			 
			
			Заехала 0.2-бета. Описание изменений и ссылка на скачивание в конце стартового поста.
		 
		
		
		
		
		
		
		
	 | 
| 
  
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		  
		
	 |