|
|
|
|
239877 837 28 11 |
|
Опции темы | Поиск в этой теме |
27.01.2015, 00:04 | 541 | ||
Ветеран Фонарёвки
Регистрация: 25.01.2015 Последняя активность: 05.05.2023 10:41
Сообщений: 1595
Сказал(а) спасибо: 268
Поблагодарили: 508 раз(а) в 322 сообщениях
|
Re: Народный драйвер мод v2. Часть 2.
Теперь возврат в минимум будет работать корректно. Но запоминаться по-прежнему не будет, имхо.
Вместо термистора для термоконтроля поставил просто диод 1N4148. Поскольку Vf кремниевого диода уменьшается примерно на 2 мВ на градус, а цена младшего разряда АЦП составляет приблизительно 4 мВ, то естественно все работает нормально. Чувствительность в 2 градуса здесь вполне достаточна. При изменении напряжения от 3 до 4.2В при постоянной температуре Vf увеличивается примерно на 18 мВ. Для компенсации этого безобразия добавил в прерывание ADC вот такое: Цитата:
Цитата:
Огромное спасибо DooMmen и Tamagotchi за отличную прошивку. [Исправлено: vdavid, 27.01.2015 в 00:20] |
||
27.01.2015, 10:32 | 542 |
животное опасно
Регистрация: 18.11.2014 Последняя активность: 23.02.2022 10:39 Адрес: борисове поле
Сообщений: 961
Сказал(а) спасибо: 56
Поблагодарили: 153 раз(а) в 129 сообщениях
|
Re: Народный драйвер мод v2. Часть 2.
|
27.01.2015, 11:02 | 543 |
Ветеран Фонарёвки
Регистрация: 25.01.2015 Последняя активность: 05.05.2023 10:41
Сообщений: 1595
Сказал(а) спасибо: 268
Поблагодарили: 508 раз(а) в 322 сообщениях
|
Re: Народный драйвер мод v2. Часть 2.
Зачем? Чуть-чуть подправьте в конце процедуры main:
Код:
WriteEEPROMByte(CFG_MOONMODE, 0xFF); ClearNewMode(); // Эту строку уберите #ifdef ONECLICKMOON // Это лишнее, но никому не мешает #ifdef RST_LEV_MOON #ifdef REVERSE_SW // сброс яркости после мунлайта current_mode = 0; #else current_mode = MAX_MODES; #endif #else //добавьте это ClearNewMode(); // и это #endif #endif [Исправлено: vdavid, 27.01.2015 в 11:06] |
Поблагодарили: 3 раз(а) |
27.01.2015, 11:09 | 544 |
животное опасно
Регистрация: 18.11.2014 Последняя активность: 23.02.2022 10:39 Адрес: борисове поле
Сообщений: 961
Сказал(а) спасибо: 56
Поблагодарили: 153 раз(а) в 129 сообщениях
|
Re: Народный драйвер мод v2. Часть 2.
vdavid, будет сбрасывать в минимум после мунлайта и в случае снизу вверх и сверху вниз и помнить мунлайт?
|
27.01.2015, 11:22 | 545 |
Ветеран Фонарёвки
Регистрация: 25.01.2015 Последняя активность: 05.05.2023 10:41
Сообщений: 1595
Сказал(а) спасибо: 268
Поблагодарили: 508 раз(а) в 322 сообщениях
|
Re: Народный драйвер мод v2. Часть 2.
дядюшка_зуэ, Да должен сбросить в минимум при любых раскладах (в том числе при выходе по одиночному клику) и запомнить. Мунлайт он помнил и до этих правок.
|
Поблагодарили: 1 раз |
дядюшка_зуэ (27.01.2015)
|
27.01.2015, 12:42 | 546 |
животное опасно
Регистрация: 18.11.2014 Последняя активность: 23.02.2022 10:39 Адрес: борисове поле
Сообщений: 961
Сказал(а) спасибо: 56
Поблагодарили: 153 раз(а) в 129 сообщениях
|
Re: Народный драйвер мод v2. Часть 2.
vdavid, спасибо буду испытывать по вечерам
у меня здесь помнил здесь не помнил только в избранных отлаженных версиях работало |
27.01.2015, 15:33 | 547 |
Ветеран Фонарёвки
Регистрация: 08.10.2011 Последняя активность: 30.03.2024 21:54 Адрес: 哈尔滨
Сообщений: 8022
Сказал(а) спасибо: 934
Поблагодарили: 5193 раз(а) в 2784 сообщениях
|
Re: Народный драйвер мод v2. Часть 2.
Так и есть. Эта часть работает как надо.
Еще бы разобраться с выходом из индикации_заряда/стробов (в т.ч. и для их вызова из мунлайта), что-бы возвращалось в режим из которого они вызывались -- вообще замечательно бы стало. |
27.01.2015, 15:45 | 548 |
Ветеран Фонарёвки
Регистрация: 28.04.2013 Последняя активность: 08.01.2024 23:25 Адрес: Харьков
Сообщений: 3980
Сказал(а) спасибо: 529
Поблагодарили: 921 раз(а) в 628 сообщениях
|
Re: Народный драйвер мод v2. Часть 2.
Нужно после всего попросить Тамагочи закрепить какую-то окончательную версию прошивки в первом посте.
vdavid, вы уже разбирались полностью с этой прошивкой (вариант от DoomMen)? можно там добавить скрытую группу режимов, что б по термоконтролю был плавный сброс 2800-2450-2100-1750-1400-1050? Или добавить сброс максималки по времени (типа турбо режим - 30сек и сброс в средний) |
27.01.2015, 17:06 | 549 |
Ветеран Фонарёвки
Регистрация: 25.01.2015 Последняя активность: 05.05.2023 10:41
Сообщений: 1595
Сказал(а) спасибо: 268
Поблагодарили: 508 раз(а) в 322 сообщениях
|
Re: Народный драйвер мод v2. Часть 2.
MSS, Меня то что есть сейчас почти полностью устраивает. С плавным сбросом от термодатчика в любом случае будут проблемы, поскольку для того, что бы режимы не рухнули вниз при срабатывании термозащиты на каждом переключении порог понижается на единицу вот здесь:
Код:
#ifdef REVERSE_SW if(adch_val < (uint8_t)(MAX_THEMP + current_mode)) // режимы 0 - слабо 3 - сильно #else if(adch_val < (uint8_t)(MAX_THEMP - current_mode)) // режимы 0 - сильно 3 - слабо #endif ЗЫ. Из того что не нравится сейчас - это то, что при переключениях вверх (REVERSE_SW) при срабатывании токовой защиты или высасывателя батарей вниз уже никак не уйти. Разве что через мунлайт с последующим сбросом в минималку, который к счастью заработал как надо. Впрочем на всякий случай сделал сейчас переключение вниз. Не очень нравится мне так, но привыкнуть не проблема, я думаю. ЗЗЫ. Сброс по времени сделать можно элементарно в процедуре std_loop. Вот только надо пробовать сколько оно отъест памяти. [Исправлено: vdavid, 27.01.2015 в 17:14] |
27.01.2015, 17:32 | 550 |
Ветеран Фонарёвки
Регистрация: 28.04.2013 Последняя активность: 08.01.2024 23:25 Адрес: Харьков
Сообщений: 3980
Сказал(а) спасибо: 529
Поблагодарили: 921 раз(а) в 628 сообщениях
|
Re: Народный драйвер мод v2. Часть 2.
ПИД это круто
Я знаю, что он там понижается. Просто там режимы из линейки, доступной по нажатию кнопки. А я имел ввиду то, что в основной линейке мы выбираем три режима кнопкой (35/700/2800мА). Мы не можем выбрать промежуточных вариантов 1050/1400/1750/2100, но они доступны для сброса программно. Это нужно переделывать программу. Хотя ценность этого может оказаться низкой и весь сброс с 2800 до 700 осуществится за 10 секунд |
27.01.2015, 18:07 | 551 |
Ветеран Фонарёвки
Регистрация: 25.01.2015 Последняя активность: 05.05.2023 10:41
Сообщений: 1595
Сказал(а) спасибо: 268
Поблагодарили: 508 раз(а) в 322 сообщениях
|
Re: Народный драйвер мод v2. Часть 2.
MSS, Я это понял, но если продолжать действовать как сейчас, то придется понижать на 6 единиц, тогда как сейчас только на 3.
|
27.01.2015, 18:20 | 552 |
|
Re: Народный драйвер мод v2. Часть 2.
Давно пора, только описание напишите.
|
27.01.2015, 23:31 | 553 | |
Участник форума по OpenID
Регистрация: 08.01.2014 Последняя активность: 21.02.2021 00:07 Адрес: Украина, Харьков
Сообщений: 496
Записей в дневнике: 3 Сказал(а) спасибо: 329
Поблагодарили: 151 раз(а) в 89 сообщениях
|
Re: Народный драйвер мод v2. Часть 2.
Так запоминает или нет? И что именно не запоминает? Режим с памятью или без?
Кажется я понял. Вариант с памятью и сбросом при выходе из мунлайта? Теперь все срослось. vdavid, Спасибо! Цитата:
В основном в этой прошивке был сделан упор на память режимов, и если её включить - все прекрасно работает, а вот без памяти - возвращаться в предыдущий режим - сложно, но я пытался это сделать, надо код пересмотреть. Что-то мне подсказывает что со всеми хотелками окончательная версия - это нечто недостижимое. Как вариант - ссылка на доработанную мной прошивку постоянна. Немножко привел в порядок процедуру main (чисто визуально), и подправил сохранение (спасибо vdavidу). Прошивка как всегда здесь.
__________________
Скажем нет пиратству! - Качаем только лицензионные диски. |
|
28.01.2015, 00:17 | 554 |
Ветеран Фонарёвки
Регистрация: 25.01.2015 Последняя активность: 05.05.2023 10:41
Сообщений: 1595
Сказал(а) спасибо: 268
Поблагодарили: 508 раз(а) в 322 сообщениях
|
Re: Народный драйвер мод v2. Часть 2.
Я так понял, речь идет о том, что нет возврата в мунлайт в случае, когда он отключается одним кликом после индикации заряда. Понятно почему. Не очень понятно как бороться. Если не будет нервировать, что выход из мунлайта происходит не сразу, а через 250 мс, то можно сделать малой кровью. С другой стороны так можно дойти и до того, что прервав строб индикацией батарей нужно снова вернуться в строб. Как на мой вкус, то я бы ничего не менял, а оставил как есть.
[Исправлено: vdavid, 28.01.2015 в 00:19] |
28.01.2015, 10:18 | 555 |
животное опасно
Регистрация: 18.11.2014 Последняя активность: 23.02.2022 10:39 Адрес: борисове поле
Сообщений: 961
Сказал(а) спасибо: 56
Поблагодарили: 153 раз(а) в 129 сообщениях
|
Re: Народный драйвер мод v2. Часть 2.
после внесения поправок vdavid из #543 поста все запоминает и корректно работает вход в мунлайт выход из него без выключения фонаря в минимум выход из мунлайта с выключением и последующим включением тоже правильный в минимум
|
29.01.2015, 23:33 | 556 |
Ветеран Фонарёвки
Регистрация: 25.01.2015 Последняя активность: 05.05.2023 10:41
Сообщений: 1595
Сказал(а) спасибо: 268
Поблагодарили: 508 раз(а) в 322 сообщениях
|
Re: Народный драйвер мод v2. Часть 2.
MSS, Для отключения максимального режима по таймеру сделайте следующее.
Если это нужно кому-то еще, можем попросить DooMmenа включить это в его код. Переключение режима не запоминается. При следующем включении снова включимся на максимуме. Если нужно - можно сделать с запоминанием. |
29.01.2015, 23:39 | 557 |
Ветеран Фонарёвки
Регистрация: 28.04.2013 Последняя активность: 08.01.2024 23:25 Адрес: Харьков
Сообщений: 3980
Сказал(а) спасибо: 529
Поблагодарили: 921 раз(а) в 628 сообщениях
|
Re: Народный драйвер мод v2. Часть 2.
Круто!!!
Конечно нужно это добавить в конструктор прошивки!!! Это супер апгрейд тем более можно самому задать время. Уточнение - 30 в коде - это 30 реальных секунд будет или там коэффициент какой нужно учитывать? Вот даже не знаю. Я свои прошиваю вариантом без памяти. Старт режима всегда с минимального. Т.е. после выбора турбо режима он сбросит на предыдущий и при выключении - включится с минимального. Вполне логично, я так думаю. А вот когда вариант с памятью прошивается, то тут нужно подумать. Я бы наверно оставил в памяти средний на который произошел сброс из турбо. [Исправлено: MSS, 29.01.2015 в 23:54] |
29.01.2015, 23:43 | 558 |
|
Re: Народный драйвер мод v2. Часть 2.
MSS, Написано же - в секундах. С некоторыми оговорками, конечно.
|
30.01.2015, 07:59 | 559 |
сволочь фонарёвки
Регистрация: 27.05.2011 Последняя активность: Сегодня 10:55 Адрес: Россия, Пермский край
Сообщений: 38336
Сказал(а) спасибо: 5935
Поблагодарили: 32721 раз(а) в 15171 сообщениях
|
Re: Народный драйвер мод v2. Часть 2.
|
30.01.2015, 08:57 | 560 |
Ветеран Фонарёвки
Регистрация: 25.01.2015 Последняя активность: 05.05.2023 10:41
Сообщений: 1595
Сказал(а) спасибо: 268
Поблагодарили: 508 раз(а) в 322 сообщениях
|
Re: Народный драйвер мод v2. Часть 2.
galex, WDT настроен на прерывания 1 раз в 250мс. Если счетчик этих прерываний однобайтный, то больше, чем 255/4 не получится. Если нужно больше - можно сделать двухбайтный счетчик, тогда максимальное время будет 16383 с. Или в первом же прерывании перестроить WDT. У него максимальный период 8 с. В этом случае время до 2040 секунд.
Да, в предыдущем сообщении забыл добавить инициализацию prev_mode. Где-то в начале функции main: |