|
|
![]() ![]() |
|
|
![]() ![]() ![]() ![]() |
|
Опции темы | Поиск в этой теме |
![]() |
![]() ![]() |
Ветеран Фонарёвки
Регистрация: 26.11.2011 Последняя активность: 09.01.2022 00:32
Сообщений: 10294
Сказал(а) спасибо: 431
Поблагодарили: 1502 раз(а) в 1110 сообщениях
|
![]() ![]() ![]() |
![]() |
![]() |
Поблагодарили: 1 раз |
Satire (08.04.2015)
|
![]() |
![]() ![]() |
Увлеченный
Регистрация: 29.12.2012 Последняя активность: 04.02.2020 10:21
Сообщений: 122
Записей в дневнике: 14 Сказал(а) спасибо: 253
Поблагодарили: 71 раз(а) в 26 сообщениях
|
![]()
Задумался о создании EDC фонаря с народной прошивкой. Последняя версия прошивки собралась и работала отлично.
Долго тестил и метался - какой же режим переключения выбрать: от слабого к сильному или наоборот. Каждый вариант имеет свои преимущества в определенных ситуациях. Так и не смог определится и решил попробовать реализовать оба. Вроде работает так как мне нужно - одиночный клик переключает режимы в зависимости от дефайна #define REVERSE_SW, быстрый двойной клик - в обратном порядке. Файл: 7135x8v2.h: Код:
#define REVERSE_MODE #define REVERSE_MODE_CLICKS 2 // //#define REVERSE_MODE_DEBUG // отмаргивать режим при переключении в по двойному клику Код:
Сама функция: #ifdef REVERSE_MODE static INLINE void reverse_mode(void) { uint8_t clicks; clicks = 2; while (clicks--) { if (current_mode <= 0) { current_mode = MAX_MODES; } else { current_mode = current_mode - 1; } } set_mode(current_mode); #ifdef REVERSE_MODE_DEBUG uint8_t i; i = current_mode; while (i--) { set_mode(current_mode); delay_ms(50); all_off(); delay_ms(50); } #endif } #endif Вызов функции в void decode_mode(void): #ifdef REVERSE_MODE else if (short_off_counter == REVERSE_MODE_CLICKS) reverse_mode(); #endif Код:
//#define POLICE_MODE //#define POLICE_MODE_CLICKS 5 // [Исправлено: lonish, 19.04.2015 в 20:07] |
![]() |
![]() |
Поблагодарили: 7 раз(а) |
ceramic (19.04.2015), DooMmen (19.04.2015), MSS (19.04.2015), Tamagotchi (19.04.2015), vdavid (21.04.2015), Volosaty (20.04.2015), дядюшка_зуэ (20.04.2015)
|
![]() |
![]() ![]() |
Ветеран Фонарёвки
Регистрация: 28.04.2013 Последняя активность: 08.01.2024 23:25
Сообщений: 3969
Сказал(а) спасибо: 529
Поблагодарили: 921 раз(а) в 628 сообщениях
|
![]()
lonish, чем больше дефайнов, тем зачетней конструктор будет
![]() |
![]() |
![]() |
![]() ![]() |
![]() ![]() |
![]() |
![]()
Что, описание в первый пост так никто и не родил?
|
![]() |
![]() |
![]() |
![]() ![]() |
Ветеран Фонарёвки
Регистрация: 28.04.2013 Последняя активность: 08.01.2024 23:25
Сообщений: 3969
Сказал(а) спасибо: 529
Поблагодарили: 921 раз(а) в 628 сообщениях
|
![]()
Переделывал прошивку, чтоб не резать дорожки. Но иметь скрытые стробы, термоконтроль и прочие плюшки. Выход только на 6 ногу (ШИМ все кроме максималки). Здесь не было такого, может кому еще понадобится. Но без последних дефайнов с реверсом. Ток на диод замерял мультиметром, написан в коментах к режимам.
|
![]() |
![]() |
![]() ![]() |
![]() ![]() |
![]() |
![]()
MSS, Круг замкнулся. Первоначально планировалась основная фишка - переключение группами, теперь эволюционировали, эволюционировали и к истока вернулись. Осталось только вообще полную копию родной китайской прошивки сделать и все
![]() |
![]() |
![]() |
Поблагодарили: 1 раз |
vdavid (21.04.2015)
|
![]() |
![]() ![]() |
Ветеран Фонарёвки
Регистрация: 28.04.2013 Последняя активность: 08.01.2024 23:25
Сообщений: 3969
Сказал(а) спасибо: 529
Поблагодарили: 921 раз(а) в 628 сообщениях
|
![]()
Tamagotchi, так есть Nlite
![]() То что отсутствие ШИМ - было изначальной идеей это понятно и так ![]() |
![]() |
![]() |
![]() |
![]() ![]() |
Увлеченный
Регистрация: 21.10.2011 Последняя активность: 30.06.2017 22:59
Сообщений: 77
Сказал(а) спасибо: 11
Поблагодарили 1 раз в 1 сообщении
|
![]()
Глупый вопрос, а как/чем драйвер замеряет температуру?
|
![]() |
![]() |
![]() |
![]() ![]() |
Ветеран Фонарёвки
Регистрация: 25.01.2015 Последняя активность: 16.02.2025 22:50
Сообщений: 1584
Сказал(а) спасибо: 268
Поблагодарили: 509 раз(а) в 322 сообщениях
|
![]()
lonish, Вот это:
Код:
uint8_t clicks; clicks = 2; while (clicks--) { if (current_mode <= 0) { current_mode = MAX_MODES; } else { current_mode = current_mode - 1; } } Код:
current_mode -= 2; if (current_mode & 0x80) current_mode += MAX_MODES; Код:
if ((current_mode -= 2) & 0x80) current_mode += MAX_MODES; Немного резануло глаз if (current_mode <= 0). Беззнаковое не может быть меньше нуля. Но это я уже придираюсь ![]() |
![]() |
![]() |
Поблагодарили: 1 раз |
lonish (22.04.2015)
|
![]() |
![]() ![]() |
Новичок
Регистрация: 16.08.2014 Последняя активность: 27.05.2015 22:16
Сообщений: 12
Сказал(а) спасибо: 3
Поблагодарили 1 раз в 1 сообщении
|
![]()
Приветствую!
Пробежался по коду и осталось недопонимание назначения константы OFF_VOLTAGE. Логично предположить, что она отвечает за защиту от переразрядки аккумулятора, но то ли я недопонял, то ли выключение фонаря по напряжению из этой константы происходит только в мунлайте и рампинге. Собираюсь использовать в фонаре защищенные Panasonic NCR18650B, которые подразумевают штатный разряд до 2.5В. Нужно ли будет для использования их полной емкости в обычных режимах править OFF_VOLTAGE при сборке прошивки? Может стоит так же поправить уровни индикации U1-U4 под его кривую разряда? |
![]() |
![]() |
![]() |
![]() ![]() |
Ветеран Фонарёвки
Регистрация: 28.04.2013 Последняя активность: 08.01.2024 23:25
Сообщений: 3969
Сказал(а) спасибо: 529
Поблагодарили: 921 раз(а) в 628 сообщениях
|
![]()
Может стоит посмотреть даташит на диод и увидеть, что ниже трех вольт он не светит и панасы там не помогут?
|
![]() |
![]() |
![]() |
![]() ![]() |
Увлеченный
Регистрация: 08.05.2013 Последняя активность: 14.10.2021 15:48
Сообщений: 367
Сказал(а) спасибо: 207
Поблагодарили: 89 раз(а) в 80 сообщениях
|
![]()
Серёж, возьми два никелевых аккума и убедись, что светит он ещё весьма недурственно
![]() ![]() А вот то что обычная тинька захочет работать до 2,3-2,5в - я уже не уверен. Если тактовую понижать, то ещё может и будет работать. [Исправлено: Volosaty, 14.05.2015 в 19:55] |
![]() |
![]() |
![]() |
![]() ![]() |
Ветеран Фонарёвки
Регистрация: 28.04.2013 Последняя активность: 08.01.2024 23:25
Сообщений: 3969
Сказал(а) спасибо: 529
Поблагодарили: 921 раз(а) в 628 сообщениях
|
![]()
нене, ну что это за ток 80мА?
![]() это 5% от максимума 5Вт диода... пшик. Человек должен понимать, зачем он купил панасы в однобаночный фонарь... лично я не понимаю этого ![]() XP-G2 конечно получше оказывается, но всеравно... панасы два последовательно нужно соединять или в повышайку ставить. Но не в однобаночный линейник ![]() [Исправлено: MSS, 14.05.2015 в 20:09] |
![]() |
![]() |
![]() |
![]() ![]() |
Увлеченный
Регистрация: 08.05.2013 Последняя активность: 14.10.2021 15:48
Сообщений: 367
Сказал(а) спасибо: 207
Поблагодарили: 89 раз(а) в 80 сообщениях
|
![]()
Неа
![]() я тоже, но человек же хочет? ![]() А ещё есть литийфосфаты.... |
![]() |
![]() |
![]() |
![]() ![]() |
Ветеран Фонарёвки
Регистрация: 28.04.2013 Последняя активность: 08.01.2024 23:25
Сообщений: 3969
Сказал(а) спасибо: 529
Поблагодарили: 921 раз(а) в 628 сообщениях
|
![]() |
![]() |
![]() |
![]() |
![]() ![]() |
|
Новичок
Регистрация: 16.08.2014 Последняя активность: 27.05.2015 22:16
Сообщений: 12
Сказал(а) спасибо: 3
Поблагодарили 1 раз в 1 сообщении
|
![]() Цитата:
Но вопрос был, собственно, про понимание кода. Будет ли срабатывать в текущей редакции прошивки отключение фонаря при достижении напряжением порога OFF_VOLTAGE в обычных режимах или оно действует только для мунлайта и рампинга? |
|
![]() |
![]() |
![]() ![]() |
![]() ![]() |
![]() |
![]()
bigest, не знаю как в модах - не слежу, но в моем исходном варианте было порежимное снижение и потом отключение. Если, допустим, работаем в максимуме, то фонарь при разряде перейдет в средний, а не отключится.
|
![]() |
![]() |
Поблагодарили: 1 раз |
bigest (15.05.2015)
|
![]() |
![]() ![]() |
Новичок
Регистрация: 16.08.2014 Последняя активность: 27.05.2015 22:16
Сообщений: 12
Сказал(а) спасибо: 3
Поблагодарили 1 раз в 1 сообщении
|
![]()
Скажите, а не рассматривали возможность выложить проект, скажем, на GitHub?
Можно было бы удобно систематизировать правки сообщества и оформить документацию... |
![]() |
![]() |
![]() ![]() |
![]() ![]() |
![]() |
![]()
bigest, Я с ним не разбирался. Лень
![]() |
![]() |
![]() |