|
|
| ||||||||
|
|
|
|
403660
837
28
11
|
|
Опции темы | Поиск в этой теме |
|
|
741
|
|
Ветеран Фонарёвки
Регистрация: 26.11.2011 Последняя активность: 09.01.2022 00:32
Сообщений: 10294
Сказал(а) спасибо: 431
Поблагодарили: 1502 раз(а) в 1110 сообщениях
|
О! Пасиб. Блин, опять перешивать .
|
|
|
|
| Поблагодарили: 1 раз |
Satire (08.04.2015)
|
|
|
742
|
|
Увлеченный
Регистрация: 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)
|
|
|
743
|
|
Ветеран Фонарёвки
Регистрация: 28.04.2013 Последняя активность: 08.01.2024 23:25
Сообщений: 3969
Сказал(а) спасибо: 529
Поблагодарили: 921 раз(а) в 628 сообщениях
|
lonish, чем больше дефайнов, тем зачетней конструктор будет
|
|
|
|
|
744
|
![]() |
Что, описание в первый пост так никто и не родил?
|
|
|
|
|
|
745
|
|
Ветеран Фонарёвки
Регистрация: 28.04.2013 Последняя активность: 08.01.2024 23:25
Сообщений: 3969
Сказал(а) спасибо: 529
Поблагодарили: 921 раз(а) в 628 сообщениях
|
Переделывал прошивку, чтоб не резать дорожки. Но иметь скрытые стробы, термоконтроль и прочие плюшки. Выход только на 6 ногу (ШИМ все кроме максималки). Здесь не было такого, может кому еще понадобится. Но без последних дефайнов с реверсом. Ток на диод замерял мультиметром, написан в коментах к режимам.
|
|
|
|
|
746
|
![]() |
MSS, Круг замкнулся. Первоначально планировалась основная фишка - переключение группами, теперь эволюционировали, эволюционировали и к истока вернулись. Осталось только вообще полную копию родной китайской прошивки сделать и все
|
|
|
|
| Поблагодарили: 1 раз |
vdavid (21.04.2015)
|
|
|
747
|
|
Ветеран Фонарёвки
Регистрация: 28.04.2013 Последняя активность: 08.01.2024 23:25
Сообщений: 3969
Сказал(а) спасибо: 529
Поблагодарили: 921 раз(а) в 628 сообщениях
|
Tamagotchi, так есть Nlite
![]() То что отсутствие ШИМ - было изначальной идеей это понятно и так
|
|
|
|
|
|
748
|
|
Увлеченный
Регистрация: 21.10.2011 Последняя активность: 30.06.2017 22:59
Сообщений: 77
Сказал(а) спасибо: 11
Поблагодарили 1 раз в 1 сообщении
|
Глупый вопрос, а как/чем драйвер замеряет температуру?
|
|
|
|
|
|
750
|
|
Ветеран Фонарёвки
Регистрация: 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)
|
|
|
751
|
|
Новичок
Регистрация: 16.08.2014 Последняя активность: 27.05.2015 22:16
Сообщений: 12
Сказал(а) спасибо: 3
Поблагодарили 1 раз в 1 сообщении
|
Приветствую!
Пробежался по коду и осталось недопонимание назначения константы OFF_VOLTAGE. Логично предположить, что она отвечает за защиту от переразрядки аккумулятора, но то ли я недопонял, то ли выключение фонаря по напряжению из этой константы происходит только в мунлайте и рампинге. Собираюсь использовать в фонаре защищенные Panasonic NCR18650B, которые подразумевают штатный разряд до 2.5В. Нужно ли будет для использования их полной емкости в обычных режимах править OFF_VOLTAGE при сборке прошивки? Может стоит так же поправить уровни индикации U1-U4 под его кривую разряда? |
|
|
|
|
|
752
|
|
Ветеран Фонарёвки
Регистрация: 28.04.2013 Последняя активность: 08.01.2024 23:25
Сообщений: 3969
Сказал(а) спасибо: 529
Поблагодарили: 921 раз(а) в 628 сообщениях
|
Может стоит посмотреть даташит на диод и увидеть, что ниже трех вольт он не светит и панасы там не помогут?
|
|
|
|
|
|
753
|
|
Увлеченный
Регистрация: 08.05.2013 Последняя активность: 14.10.2021 15:48
Сообщений: 367
Сказал(а) спасибо: 207
Поблагодарили: 89 раз(а) в 80 сообщениях
|
Серёж, возьми два никелевых аккума и убедись, что светит он ещё весьма недурственно
Особенно первый хмель. (вот только что попробовал - несколько разных хп-г/хп-г2/хмель/хмель2 - ток от 40 до 80ма, ещё некислый такой светляк )А вот то что обычная тинька захочет работать до 2,3-2,5в - я уже не уверен. Если тактовую понижать, то ещё может и будет работать. [Исправлено: Volosaty, 14.05.2015 в 19:55] |
|
|
|
|
|
754
|
|
Ветеран Фонарёвки
Регистрация: 28.04.2013 Последняя активность: 08.01.2024 23:25
Сообщений: 3969
Сказал(а) спасибо: 529
Поблагодарили: 921 раз(а) в 628 сообщениях
|
нене, ну что это за ток 80мА?
![]() это 5% от максимума 5Вт диода... пшик. Человек должен понимать, зачем он купил панасы в однобаночный фонарь... лично я не понимаю этого ![]() XP-G2 конечно получше оказывается, но всеравно... панасы два последовательно нужно соединять или в повышайку ставить. Но не в однобаночный линейник
[Исправлено: MSS, 14.05.2015 в 20:09] |
|
|
|
|
|
755
|
|
Увлеченный
Регистрация: 08.05.2013 Последняя активность: 14.10.2021 15:48
Сообщений: 367
Сказал(а) спасибо: 207
Поблагодарили: 89 раз(а) в 80 сообщениях
|
Неа
самые большие токи выдали хмели XM-L T6 3C и XM-L2 U2 4C, близко к ним был холодный безымянный ХП-Г. Причём чем больше яркостный бин, тем больше был ток - теплые XR-E, XP-G2 5Б, ХМ-Л2 Т5 5А, какой-то древний ХМ-Л Т4 5Б (ЕМНИП) потребляли в полтора-два раза меньше.я тоже, но человек же хочет? ![]() А ещё есть литийфосфаты.... |
|
|
|
|
|
756
|
|
Ветеран Фонарёвки
Регистрация: 28.04.2013 Последняя активность: 08.01.2024 23:25
Сообщений: 3969
Сказал(а) спасибо: 529
Поблагодарили: 921 раз(а) в 628 сообщениях
|
|
|
|
|
|
|
757
|
|
|
Новичок
Регистрация: 16.08.2014 Последняя активность: 27.05.2015 22:16
Сообщений: 12
Сказал(а) спасибо: 3
Поблагодарили 1 раз в 1 сообщении
|
Цитата:
Но вопрос был, собственно, про понимание кода. Будет ли срабатывать в текущей редакции прошивки отключение фонаря при достижении напряжением порога OFF_VOLTAGE в обычных режимах или оно действует только для мунлайта и рампинга? |
|
|
|
|
|
758
|
![]() |
bigest, не знаю как в модах - не слежу, но в моем исходном варианте было порежимное снижение и потом отключение. Если, допустим, работаем в максимуме, то фонарь при разряде перейдет в средний, а не отключится.
|
|
|
|
| Поблагодарили: 1 раз |
bigest (15.05.2015)
|
|
|
759
|
|
Новичок
Регистрация: 16.08.2014 Последняя активность: 27.05.2015 22:16
Сообщений: 12
Сказал(а) спасибо: 3
Поблагодарили 1 раз в 1 сообщении
|
Скажите, а не рассматривали возможность выложить проект, скажем, на GitHub?
Можно было бы удобно систематизировать правки сообщества и оформить документацию... |
|
|
|
|
760
|
![]() |
bigest, Я с ним не разбирался. Лень
|
|
|
|