Светодиодные фонари и световые приборы. Всё о светотехнике.
Вернуться   Форум FONAREVKA.RU Лаборатория Разработка и модификация фонарей Разработка и модификация электроники фонарей
Расширенный поиск
Забыли пароль? Регистрация

  • О нашем проекте
  • Светотехника и световые приборы
  • Правила форума
Проект FONAREVKA.RU специализируется на предоставлении всей необходимой информации по светотехнике:

— светодиодные фонари;
— различные источники питания;
— разнообразные зарядные устройства;
— освещение помещений и наружное освещение;
— световые приборы для личного, пассажирского и грузового транспорта;
— специальные световые приборы для медицины, для растений, для аквариумов, для террариумов, а также аварийно-сигнальные световые приборы;
— альтернативные источники света;
— лазеры и лазерная техника.

Если у вас есть вопросы по выбору фонарей, аккумуляторов и зарядных устройств ознакомьтесь с FAQ от наших экспертов:

F.A.Q. по выбору фонарей различных типов;
F.A.Q. по выбору аккумуляторов;
F.A.Q. по выбору зарядных устройств.
Ответ  Создать новую тему
Просмотров в теме 11694   Ответов в теме 14   Подписчиков на тему 3   Добавили в закладки 0
Опции темы Поиск в этой теме
Старый 30.10.2012, 10:55 Автор темы   1
Можно спрашивать
 
Аватар для 027
 
Регистрация: 31.08.2011
Последняя активность: 10.07.2022 15:34
Адрес: Волгоград
Сообщений: 7594
Сказал(а) спасибо: 1793
Поблагодарили: 2512 раз(а) в 1343 сообщениях

По умолчанию Модифицируем модифицированный народный драйвер:)

Выделено из темы "Модифицируем народный линейный драйвер 8х7135" по моей просьбе.

Преамбула.

Как известно, спасение утопающих - личное горе самих утопающих. Поскольку для меня фонарь не способ пальцегнутиясамовыражения, а необходимый инструмент, пришлось погружаться в предмет.

Инструмент для чего.
Я довольно много езжу на велосипеде. И много по темноте. И по городу, и по загороду. Я снова сел на лисапед в прошлом году, после десятилетнего перерыва. Не со времен детства перерыв, со времен активного увлечения спортивным велотуризмом. За два сезона проехал изрядно километров по темноте. Пришло понимание, чего и сколько мне от фонаря нужно. Не путать с рассуждениями "от фонаря". )))

Задача стоит такая.
Сваять драйвер на базе народного, с минимальными аппаратными доработками, создав расширенный функционал программными средствами.

Идеологические предпосылки (личные):
- люменов много бывает (ослепление избыточным светом) (мне не шашечки, мне ехать),
- четыре режима постоянного свечения (три для разных условий между сумерками и ночью, четвертый - ночной габаритный огонь на освещенной дороге),
- пара мигалок, до которых добраться не так просто, но можно при нужде (тоже тема, кому интересно, отпишу),
- тема камрада lux-rc, где он показывает разительную разницу в кпд и рантайме между оптимальным током и максимальным,
- тема камрада Tamagotchi, где он сваял примерно то же самое, но заточенное под другие потребности.

Конкретно:

1. Нужен алгоритм "без памяти последнего режима" - раз. Со стартом с минимального режима - два. Два аргумента "за":

- бывает, нужно включить свет для обозначения себя в сложной дорожной обстановке. На стремном перекрестке. Днем ли, в сумерках ли, луч света я не вижу. Если в фонаре присутствует память последнего режима, я должен помнить, какой использовал последним. Либо прикладывать ладошку к морде, чтобы выяснить.
Это отвлекает от сложной дорожной обстановки, что чревато повреждением организма.
В случае "беспамятного" драйвера такой проблемы нет. Я всегда знаю, с какого режима он включится, и сколько полунажатий мне сделать для выхода на желаемый. Ночью подними, от зубов отскочит.

- когда я включаю фонарь спросонок, я совершенно уверен, что он не ослепит меня на все свои стопицот люменов. Мощный фонарь жалкие десять ватт способны разбудить мирно спящего соседа по палатке сквозь смеженные веки. Проверено на сыне. Нехорошо.

2. Режимов постоянного свечения нужно четыре, со ступенями по току в три раза. Так уж по личной практике осознано. Не настаиваю, для другого человека может и не так. Знаю одного велосипедиста, очень опытного, мощного, умелого, для которого существуют лишь два режима - "освещать дорогу" и "габарит". У него Brinyte C2, XM-L, 1,4 А, он считает средний режим ненужным излишеством.

3. Стартовать нужно с минимального, чтобы не получить внезапно выхлоп сцукобластера в морду среди ночи. (Ага, забыл, что выключил неделю назад в максималке.) Мало - переключим повыше без проблем. Пара секунд. Вот когда много - переключение становится судорожным ("да заткнись же ты, епт!")

4. Рантайм важен. Особенно знание остатка рантайма. В прошивке Tamagotchi есть оценочная индикация остатка заряда средствами фонаря.

5. Термоконтроль не нужен. У меня тушка С2, с хорошим теплоотводом, в движении (при обдуве) легко переваривает запредельный ток 4 А (проверено). Такой ток через одиночный XM-L не нужен, бестолковый нагрев окружающего четверга. Достаточно двух ампер, и то иногда. Подчеркиваю, это мне столько не нужно, давайте не будем спорить. Кому нужно больше - решения есть. Как по мне, разница в свете между 2 и 3 амперами практически неощутима, зато рантайм резко падает.

6. Литий-фосфат не нужен. Дешевый Sanyo 2600 легко отдает 5 А при большей емкости, что перекрывает потребности с запасом. В прошивке Тамагочи на это задействована отдельная нога микросхемы, а ноги в нашем случае жесткий дефицит.

7. "Высасыватель заряда" нужен. То есть - последовательная блокировка старших режимов по мере разряда аккумулятора с целью иметь хоть какой-то свет достаточно долго.

8. Принудительное полное отключение по заданному порогу не нужно. Даже вредно. Чтобы не остаться внезапно на скорости вообще без света. Не человек для аккмулятора, аккумулятор для человека. Собственно, это миф - убить аккумулятор белым диодом. Это неделями нужно светить в режиме электробычка.

В этом плане мне нравится решение в кайдоменовском драйвере, он не бьет тебя по башке, а тихо жалуется, просит батарейку.
Брат Митька помирает... ухи просит..
Отключает свет на секунду раз в минуту. Однако, секунда - это много, за секунду можно в колдобину влететь. В идеале нужно что-то более заметное, но очень непродолжительное, например два-три четких быстрых моргания за полсекунды.
Тык-тык-тык! Пауза. Тык-тык-тык!
Практика показала, что мне мерещится плохой контакт, когда драйвер гасит светодиод на секунду. Особенно на расколбасе, когда луч прыгает вверх-вниз и нет четного восприятия импульса тьмы. Когда за эту секунду ты совершаешь два-три виража, обруливая неровности высокой колеи, выдергиваешь передок вверх, перепрыгиваешь через межколейную канаву, поддергиваешь заднее колесо, норовящее сползти в эту самую канавку.
Лучше всего, наверное, скоростная серия импульсов, с частотой доли герца. Тр-р-р! Минутная пауза. Тр-р-р! Брат Митька ухи просит...

Отсюда и буду плясать.


=====

Содержимое исходного поста, зачавшего тему (уже не актуально, пожалуй).

***
Уважаемые знатоки программирования AVR! Возьмется ли кто-нибудь помочь мне с модификацией последней версии прошивки? Слишком много непонятного для моих старческих мозгов.

1. Мне нужен режим 0 = 2,1А. Тут вроде понятно, как делать:
Код:
#define POW2100VER    // Версия с максом 2100mA
//#define POW2450VER    // Версия с максом 2450mA
//#define POW2800VER    // Версия с максом 2800mA
2. В каких местах настраивать ШИМ, тоже как бы понятно. Для режима 2 тут:
Код:
	else if (mode == 2)
	{
		OCR0A  = 0x80;			// 175mA		(* 60 = 125mA *)
А для режима 3 тут:
Код:
static inline void set_moon_mode()
{
	if(get_batt() < OFF_VOLTAGE_300)
	{
		delay_ms(200);	// пауза для батареи
		OCR0A  = 0x06;	// повышаем ШИМ если напруга меньше 3-х вольт		
	}		
	else
		OCR0A  = 0x05;			
}
Я правильно понимаю?

Теперь непонятки.

3.
Цитата:
Посмотреть сообщение Сообщение от Tamagotchi :
А если нет желания прошивать RSTDISBL лучше всего прошивку немного поправить. Благо она с исходниками.

Еще можно проверять MCUSR на предмет бита перезагрузки по кнопке reset. Тогда можно сохранить возможность калибровки и не шить RSTDISBL.
Кто-нибудь может расшифровать, что конкретно делать? Мне термоконтроль не нужен, и очень не хотелось бы трогать RSTDISBL с перспективой ваять спецдивайс для восстановления неудачно прошитого МК. Ну или закупать и скальпировать сразу десяток драйверов.

4. И самый сложный для меня момент. Как сделать включение всегда в режиме 3 ("без памяти")? Посмотрел на функцию initialize(), но ничего не понял. Я в программировании разбираюсь на зачаточном уровне, максимум простенькие скрипты на php и jawascript.
__________________
Никогда ничего не трогай на моей лодке!

[Исправлено: 027, 01.11.2012 в 01:01]
027 вне форума   Ответить с цитированием Вверх
Старый 30.10.2012, 23:39   2
VladislavS
Завсегдатай Фонарёвки
 
Регистрация: 16.02.2011
Последняя активность: 22.05.2017 13:07
Сообщений: 731
Сказал(а) спасибо: 4
Поблагодарили: 177 раз(а) в 92 сообщениях

По умолчанию Re: Модифицируем народный линейный драйвер 8х7135

Цитата:
Посмотреть сообщение Сообщение от 027 :
Как сделать включение всегда в режиме 3 ("без памяти")?
Без памяти этот драйвер не может быть многорежимным.
VladislavS вне форума   Ответить с цитированием Вверх
Старый 31.10.2012, 00:24   3
kruvas
Ветеран Фонарёвки
 
Аватар для kruvas
 
Регистрация: 12.09.2012
Последняя активность: 13.05.2014 18:58
Сообщений: 1876
Сказал(а) спасибо: 324
Поблагодарили: 383 раз(а) в 257 сообщениях

По умолчанию Re: Модифицируем народный линейный драйвер 8х7135

Цитата:
Посмотреть сообщение Сообщение от 027 :
Как сделать включение всегда в режиме 3 ("без памяти")?
попробуйте так,
Код:
static inline void decode_mode(void)
{
	
	unsigned char last_tape = 0;
	unsigned char current_mode_loc = 0;

	ReadCfgByte(CFG_CURRENTMODE, &current_mode_loc);
	
	ReadCfgByte(CFG_LASTTAPE, &last_tape);
	UpdateCfgByte(CFG_LASTTAPE, TAP_EMPTY);
		
	unsigned char short_counter = 0;
	
	if(last_tape == TAP_LONG)				// меняем режим, если  last_tape = TAP_LONG
	{
		current_mode_loc++;
		UpdateCfgByte(CFG_TABSHORT_COU, 0);
	}															
	else if(last_tape == TAP_SHORT)
	{
		if(ReadCfgByte(CFG_TABSHORT_COU, &short_counter) != 0) // считываем счетчик коротких нажатий
			short_counter++;
		
		if (short_counter >= 2)				// нужно 3 коротких нажатия для отмаргиваний батареи
		{
			short_counter = 0;
			display_voltage();
		}
		UpdateCfgByte(CFG_TABSHORT_COU, short_counter);
	}
	else if(last_tape == TAP_EMPTY)
	{
		current_mode_loc = 0;// нужный режим при включении
	}
	current_mode = current_mode_loc;	
	
	if (current_mode > MAX_MODES)			// проверяем на выход за границу
		current_mode = 0;
		
	UpdateCfgByte(CFG_CURRENTMODE, current_mode);	// пишем режим в EEPROM
}
добавлено это
Код:
	else if(last_tape == TAP_EMPTY)
	{
		current_mode_loc = 0;// нужный режим при включении
	}
правда я ничего не проверял ни на работоспособность, ни на есть ли место на это, не вникал полностью в работу прошивки, в си не рублю, и вообще кобыла не моя )))
да и судя по сообщениям выше, что то выкидывать придется, чтобы этот код добавить. места он займет байт 5-10 скорее всего, но все же.

[Исправлено: kruvas, 31.10.2012 в 00:26]
kruvas вне форума   Ответить с цитированием Вверх
Старый 31.10.2012, 01:30 Автор темы   4
027
Можно спрашивать
 
Аватар для 027
 
Регистрация: 31.08.2011
Последняя активность: 10.07.2022 15:34
Адрес: Волгоград
Сообщений: 7594
Сказал(а) спасибо: 1793
Поблагодарили: 2512 раз(а) в 1343 сообщениях

По умолчанию Re: Модифицируем народный линейный драйвер 8х7135

Цитата:
Посмотреть сообщение Сообщение от VladislavS :
Без памяти этот драйвер не может быть многорежимным.
Имеется в виду старт с одного предопределенного режима. А не с последнего "долго работающего", как это принято для драйверов "с памятью". В отличие от драйверов "no memory", которые всегда включают следующий по циклу режим. Без памяти, но предыдущий помнит. Терминология идиотская, конечно.

Цитата:
Посмотреть сообщение Сообщение от kruvas :
да и судя по сообщениям выше, что то выкидывать придется, чтобы этот код добавить. места он займет байт 5-10 скорее всего, но все же.
Термоконтроль. Мне он не нужен. Тушка С2 в движении на велосипеде легко переварит 2А. Тем более, как у меня, эпизодически. Говорят, люменов много не бывает, я с этим не согласен. Напрочь отшибает сумеречное зрение, а мне это важно.
027 вне форума   Ответить с цитированием Вверх
Старый 31.10.2012, 02:02 Автор темы   5
027
Можно спрашивать
 
Аватар для 027
 
Регистрация: 31.08.2011
Последняя активность: 10.07.2022 15:34
Адрес: Волгоград
Сообщений: 7594
Сказал(а) спасибо: 1793
Поблагодарили: 2512 раз(а) в 1343 сообщениях

По умолчанию Re: Модифицируем народный линейный драйвер 8х7135

Цитата:
Посмотреть сообщение Сообщение от kruvas :
добавлено это
kruvas, простите меня за неумение читать код. Я и раньше где-то читал, что для "беспамятного" алгоритма требуется добавить в код строки. В отличие от "памяти последнего режима".

Чисто по алгоритму. Ну, как понимаю.

МК не может измерить время в отключке, только время работы. Это козе понятно. МК после определенного периода записывает в память флаг "юзер не дергал кнопку". По-человечески это означает, что юзверь выбрал таки нужный режим и успокоился. Это понятно даже козе.

Если не успел записать, значит, юзверь продолжает дрочить нажимать кнопку, разрывая питание. Что-то его не устраивает, гада такого.

Новый цикл работы. Питание пропало, питание появилось. Стартуем.

Смотрим: таймер в прежней жизни отработал? "Долго светил в том, последнем режиме"? Флаг есть?

Да - этот старт означает, что хозяин был в прежней жизни доволен.
Нет - этот старт означает, что надо включить следующий режим по кругу. Сволочь, неймется ему.

Если "да", два нормальных варианта:
"С памятью" - включить тот режим, который был сохранен в памяти сразу после перехода в него.
"Без памяти" - включить предопределенный режим. Например, минимальный.

Идиотский вариант - включить следующий, без разницы, сколько времени прожили в предыдущей жизни. То есть, не засекать время непрерывной работы, а тупо и сразу переписать прежний режим на текущий. (Или текущий на следующий, без разницы. Тупой инкремент. Не рассматриваем.)

Вопрос в рассуждении экономии строк кода: какая разница, откуда читать, по адресу, где записан текущий режим или по адресу, где записана константа?

Не могу понять, мне кажется проще читать значение (предопределенная константа), чем читать значение (переменная) плюс выполнять инкремент. Откуда лишняя строка?
027 вне форума   Ответить с цитированием Вверх
Старый 31.10.2012, 03:41   6
kruvas
Ветеран Фонарёвки
 
Аватар для kruvas
 
Регистрация: 12.09.2012
Последняя активность: 13.05.2014 18:58
Сообщений: 1876
Сказал(а) спасибо: 324
Поблагодарили: 383 раз(а) в 257 сообщениях

По умолчанию Re: Модифицируем народный линейный драйвер 8х7135

это не ко мне ) последний раз когда я программировал для микроконтроллера, это было 10 лет назад и на ассемблере, и контроллер был отечественным аналогом pic16f84.
тутошний алгоритм я не разбирал до косточек, силы воли не хватило, при случае для самообразования поизучаю.
в общем я кажется ерунду предложил. вы правильно расписали процесс. если последнее время работы было больше макс интервала, то фонарь включится на дефолтном режиме. если начать управлять - будет переключаться. если перестать и снова попробовать кликать - снова сбросится в исходный режим и от него начнет менять режимы.
то есть при любом перключении режимов после долгой паузы или включении фонаря, режимы начинают перебираться от исходного по кольцу
то что вы хотите сделать, надо делать по другому. как именно - надо думать. нужно как то знать, что фонарь долго был выключен. а как это узнать - я пока не знаю. ибо он может измерять время включенного состояния. и с его стороны выключение на 0.1 секунды и на пару недель - одно и тоже. вот такие пироги.

[Исправлено: kruvas, 31.10.2012 в 03:44]
kruvas вне форума   Ответить с цитированием Вверх
Старый 31.10.2012, 15:57 Автор темы   7
027
Можно спрашивать
 
Аватар для 027
 
Регистрация: 31.08.2011
Последняя активность: 10.07.2022 15:34
Адрес: Волгоград
Сообщений: 7594
Сказал(а) спасибо: 1793
Поблагодарили: 2512 раз(а) в 1343 сообщениях

По умолчанию Re: Модифицируем народный линейный драйвер 8х7135

Цитата:
Посмотреть сообщение Сообщение от 027 :
Откуда лишняя строка?
Разобрался. Алгоритм переключения "с памятью" такой:
- после включения записываем номер следующего режима и запускаем таймер;
- когда таймер отработает, записываем туда же номер текущего режима.
Таким образом, если во время работы таймера кнопка не нажималась, при следующем включении будет считан номер последнего использованного режима. Если кнопка нажималась - таймер не успел отработать - номер следующего по кольцу.

Цитата:
Посмотреть сообщение Сообщение от kruvas :
то что вы хотите сделать, надо делать по другому. как именно - надо думать. нужно как то знать, что фонарь долго был выключен. а как это узнать - я пока не знаю.
Откуда вы это взяли? О_о
Ничего подобного я делать не собираюсь. Это невозможно в народном драйвере без радикальной переделки схемы. Я же писал выше:
Цитата:
Посмотреть сообщение Сообщение от 027 :
МК не может измерить время в отключке, только время работы.

[Исправлено: 027, 31.10.2012 в 16:05]
027 вне форума   Ответить с цитированием Вверх
Старый 31.10.2012, 16:16   8
kruvas
Ветеран Фонарёвки
 
Аватар для kruvas
 
Регистрация: 12.09.2012
Последняя активность: 13.05.2014 18:58
Сообщений: 1876
Сказал(а) спасибо: 324
Поблагодарили: 383 раз(а) в 257 сообщениях

По умолчанию Re: Модифицируем народный линейный драйвер 8х7135

Цитата:
Посмотреть сообщение Сообщение от 027 :
Откуда вы это взяли? О_о
отсюда
Цитата:
Посмотреть сообщение Сообщение от 027 :
Как сделать включение всегда в режиме 3 ("без памяти")?
чтобы сделать включение всегда без памяти, нужно знать что это именно включение, а не перебор режимов.

Цитата:
Посмотреть сообщение Сообщение от 027 :
Это невозможно в народном драйвере без радикальной переделки схемы. Я же писал выше:
а я чуть ниже тоже писал )))
Цитата:
Посмотреть сообщение Сообщение от kruvas :
вы правильно расписали процесс.
так что никто с вами не спорил, читайте внимательнее
kruvas вне форума   Ответить с цитированием Вверх
Старый 31.10.2012, 16:57   9
kruvas
Ветеран Фонарёвки
 
Аватар для kruvas
 
Регистрация: 12.09.2012
Последняя активность: 13.05.2014 18:58
Сообщений: 1876
Сказал(а) спасибо: 324
Поблагодарили: 383 раз(а) в 257 сообщениях

По умолчанию Re: Модифицируем народный линейный драйвер 8х7135

Цитата:
Посмотреть сообщение Сообщение от 027 :
Разобрался. Алгоритм переключения "с памятью" такой:
- после включения записываем номер следующего режима и запускаем таймер;
- когда таймер отработает, записываем туда же номер текущего режима.
Таким образом, если во время работы таймера кнопка не нажималась, при следующем включении будет считан номер последнего использованного режима. Если кнопка нажималась - таймер не успел отработать - номер следующего по кольцу.
вы как то запутанно описываете. ("при включении записываем след режим, и после таймера записываем номер текущего режима") насколько я вижу там не так.
есть во флэшпамяти ячейка, в которую после подачи питания спустя некоторое время пишется время работы во включенном состоянии (кодами интервалов времени).
есть также ячейка во флэшпамяти, со счетчиком последовательных коротких включений-кликов
и есть третья ячейка, с номером текущего режима.
вот:
Цитата:
#define CFG_CURRENTMODE 0 // текущий режим работы фонаря
#define CFG_LASTTAPE 3 // продолжительность предыдущего включения
#define CFG_TABSHORT_COU 6 // счетчик коротких нажатий
при включении
1) проверяется сколько фонарь проработал в предыдущем режиме -
2.1) если мало в определенных рамках, то в ячейку коротких нажатий прибавляется энное число, но ничего не происходит, пока таких кликов не наберется 3, после число счетчик кликов сбрасывается и показывается заряд батареи.
2.2) если предыдущий клик был долгий, но не больше определенного времени, то переключаем режим на следующий по кольцу
2.3) во всех остальных случаях (долгая работа во включенном состоянии, дребезг кнопки или контактов акка просто включаемся на последнем рабочем режиме

номер режима записывается в память сразу же после его смены,
таймеры нужны только для понимания какой тип клика был, и был ли он вообще
4 типа "клика"
1) меньше 10 циклов - игнорируется, переменная таймера не трогается, принимается за дребезг или помеху
2) 10-35 циклов - короткий клик, для индикации питания
3) 36-174 цикла - длинный клик, переключение режимов
4) больше 175 циклов - длительная работа после включения

примерно вот так.
так что то что я предложил напрямую использовать нельзя сразу по двум причинам
1) переключение режима при включенном долго фонаре сбросит режим на дефолтный и пойдет переключение по кругу с начального (хотя в принципе терпимо, но неприятно)
2) дребезг кнопки в аналогичной ситуации будет делать тоже самое, а это уже серьезная проблема.

[Исправлено: kruvas, 31.10.2012 в 17:01]
kruvas вне форума   Ответить с цитированием Вверх
Старый 31.10.2012, 19:06 Автор темы   10
027
Можно спрашивать
 
Аватар для 027
 
Регистрация: 31.08.2011
Последняя активность: 10.07.2022 15:34
Адрес: Волгоград
Сообщений: 7594
Сказал(а) спасибо: 1793
Поблагодарили: 2512 раз(а) в 1343 сообщениях

По умолчанию Re: Модифицируем народный линейный драйвер 8х7135

Цитата:
Посмотреть сообщение Сообщение от kruvas :
вы как то запутанно описываете
Извиняюсь. Это все оттого, что в голове пока что каша.
Цитата:
Посмотреть сообщение Сообщение от kruvas :
переключение режима при включенном долго фонаре сбросит режим на дефолтный и пойдет переключение по кругу с начального (хотя в принципе терпимо, но неприятно)
Да ведь это именно то, что мне нужно! Только направление кольца другое, от меньшего режима к большему, начиная с самого младшего.
027 вне форума   Ответить с цитированием Вверх
Старый 31.10.2012, 20:39 Автор темы   11
027
Можно спрашивать
 
Аватар для 027
 
Регистрация: 31.08.2011
Последняя активность: 10.07.2022 15:34
Адрес: Волгоград
Сообщений: 7594
Сказал(а) спасибо: 1793
Поблагодарили: 2512 раз(а) в 1343 сообщениях

По умолчанию Re: Модифицируем народный линейный драйвер 8х7135

Все, я попал))) Скачал Atmel Studio, даташит на тиньку, самомучитель по AVR... Пишу, пока комп шуршит блинами, устанавливая это монструозное поделие атмела.
027 вне форума   Ответить с цитированием Вверх
Старый 01.11.2012, 01:11 Автор темы   12
027
Можно спрашивать
 
Аватар для 027
 
Регистрация: 31.08.2011
Последняя активность: 10.07.2022 15:34
Адрес: Волгоград
Сообщений: 7594
Сказал(а) спасибо: 1793
Поблагодарили: 2512 раз(а) в 1343 сообщениях

По умолчанию Re: Модифицируем модифицированный народный драйвер:)

В первом посте сейчас изложена идеология будущей прошивки. Просьба заинтересованным перечитать первый пост, важно. Критика категорически приветствуется.
027 вне форума   Ответить с цитированием Вверх
Старый 01.11.2012, 10:39   13
MOHAPX

 
Аватар для MOHAPX
 
Регистрация: 08.06.2011
Последняя активность: 02.11.2023 21:50
Адрес: Украина
Сообщений: 7396
Сказал(а) спасибо: 1935
Поблагодарили: 2291 раз(а) в 1027 сообщениях

По умолчанию Re: Модифицируем модифицированный народный драйвер:)

Незнаю можно ли прикрутить тактовую копку в тот драйвер, но если да, то управление организовать так (и вне зависимости включен фонарь или нет, окромя если включен, то одиночное нажатие его выключает):
одно нажатие- максимальный режим, два клика-средний, удержание 2 секунды- минимум. Моргалки- удержание кнопки 5 секунд, а там дальше сами придумывайте. Индикация заряда тройным кликом или вообще отдельным индикатором типа этого https://forum.fonarevka.ru/...
MOHAPX вне форума   Ответить с цитированием Вверх
Старый 01.11.2012, 17:45 Автор темы   14
027
Можно спрашивать
 
Аватар для 027
 
Регистрация: 31.08.2011
Последняя активность: 10.07.2022 15:34
Адрес: Волгоград
Сообщений: 7594
Сказал(а) спасибо: 1793
Поблагодарили: 2512 раз(а) в 1343 сообщениях

По умолчанию Re: Модифицируем модифицированный народный драйвер:)

Нет, тактовой не будет. Обратный клик вполне устраивает. И пилить тушку нет никакого желания.
А теоретически прикрутить можно, у меня одна нога свободная будет. В прошивке Тамагочи задействована нога на термоконтроль и нога на выбор химии. Ни то, ни другое мне не нужно.
027 вне форума   Ответить с цитированием Вверх
Старый 01.11.2012, 21:34 Автор темы   15
027
Можно спрашивать
 
Аватар для 027
 
Регистрация: 31.08.2011
Последняя активность: 10.07.2022 15:34
Адрес: Волгоград
Сообщений: 7594
Сказал(а) спасибо: 1793
Поблагодарили: 2512 раз(а) в 1343 сообщениях

По умолчанию Re: Модифицируем модифицированный народный драйвер:)

Камрад AVSel предложил идею оценивать время выключенного состояния, подвесив достаточно толстый кондер на ногу RESET.

Интересная идея, но, по здравому размышлению, я от нее отказался. Дело в том, что я использую фичу типового алгоритма переключения - выключаю фонарь не дожидаясь фиксации текущего режима. При следующем включении (через неопределенное время) я получу нужный мне следующий режим по кольцу. Не текущий (драйвер "с памятью"), не единственный предопределенный (драйвер "без памяти"), а произвольно заданный мною.
027 вне форума   Ответить с цитированием Вверх
Ответ  Создать новую тему
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск





Copyright ©2007 - 2024, FONAREVKA.RU

Powered by vBulletin®
Copyright ©2000 - 2022, Jelsoft Enterprises Ltd. Перевод: zCarot

Правила форума | Отказ от ответственности

Время генерации страницы 0.15067 секунды с 16 запросами