Данная тема создана для того, чтобы написать другие прошивки контроллера вампирчика.
Ниже прицеплены последние варианты прошивок для Вампирчиков 5, 6 и 7 версий.
Более ранние можно глянуть под спойлером.
История изменений прошивки:показать
Цитата:
18 ноября:
1. Uin заменено на Ich
2. Разрешение во всех каналах сделано динамическим, т.е. с плавающей точкой:
0-999 (подразумеваемая точка перед первым разрядом, как mA, mV, mW...)
1.00-9.99
10.0-99.9
100.-999.
Не значащие нули в начале не отображаются.
http://alien.jabbercity.ru/v6/fw/20161118/vamp.hex
Цитата:
версия 001:
0. Разрешение во всех каналах теперь динамическое, с плавающей точкой. Подразумеваемая точка перед 1м разрядом не отображается.
1. входное напряжение USL -> Uin
2. ток понижайки (заряда) Uin -> Ich
3. выходная мощность Pou
3а. Добавлено и удалено отображение мощности заряда Pch = Ich*UAc
4. При включении после процентов отображается номер версии
5. Если примерно 2 минуты не трогать кнопки, дисплей переходит в сниженную яркость (экономия энергии)
6. "ночной" режим дисплея. Включается/выключается нажатием кнопки "вниз" при нажатой "вверх"
7. По нажатию верхней кнопки при нажатой нижней пока отображается версия прошивки. Потом, возможно, там будет подменю настроек.
8. исправлен баг с зацикливающимся переключением дисплея при частых нажатиях обеих кнопок.
http://alien.jabbercity.ru/v6/fw/20161122/vamp.hex
Цитата:
версия 002:
1. Переписана логика работы с кнопками, теперь есть (пока не используется) возможность анализировать долгие нажатия;
2. Пофикшен созданный в прошлой ревизии баг с некорректным отображением устанавливаемого напряжения в режиме ЗАР;
3. Пофикшено блымающее 2 раза за период отображения значение Pou.
http://alien.jabbercity.ru/v6/fw/20161123/vamp.hex
Цитата:
версия 003:
1. уменьшено время выключенного входа при измерении напряжения на заряжаемом аккумуляторе со 130 до 29 циклов измерения АЦП. При этом первые 13 циклов напряжение не измеряется.
2. изменён нижний порог установки напряжения заряда внешних аккумуляторов с 4000 до 1000 мВ.
http://alien.jabbercity.ru/v6/fw/20161125/vamp.hex
Цитата:
версия 004:
1. отображение версии перенесено в самое начало работы, уменьшено время показа. Новый стиль отображения.
2. Шаг изменения напряжения ЗАР 0.05В;
3. Изменён верхний порог зарядки аккумуляторов. Для никеля теперь 1.40В вместо 1.39В, для свинца 2.33 вместо 2.32;
4. Исправлен алгоритм округления при отображении значений;
5. Первая реализация ускоренной установки. (ВНИМАНИЕ!!! Требуется тестирование!)
Писал без тестов на железе. Если кому не лень -- прошейте-погоняйте. Стабильной пока считаем версию №3.
Нижний порог установки напряжения пока оставлен как 1В.
Цитата:
версия 005:
1. Исправлена ускоренная установка. Теперь работает.
2. Добавлен ВКлючаемый таймер для режима зарядки. Откалиброван по моему экземпляру. После выбора напряжения зарядки после буквы t устанавливаем количество минут (0=отключен).
3. Добавлены программные калибровки всех каналов измерения. Отличия от среднего более 10% игнорируются. Для записи калибровок будет отдельная прошивка.
4. Код прошивки перепахан в плане оптимизации по размеру. В результате на флешке занято 4094 байта из 4096 доступных.
http://alien.jabbercity.ru/v6/fw/20161208/vamp.hex
Цитата:
Порядок калибровки:
1. При переключении каналов после имени канала выводится Cbr-calibration
2. Кнопка "вверх" включает калибровку данного канала (отображается AdJ-adjust, потом имя канала, который будем калибровать, далее измеряемая величина)
3. вверх -- увеличить значение, вниз -- уменьшить.
4. Если не трогаем кнопки, через несколько секунд видим вопрос, нужно ли сохранить St?-Set? и подсказку Y_^. Если ничего не нажали - продолжение настройки п.3
5. Пока светится Y_^ (читать, как для ответа Yes нажать ^вверх), Кнопка "^"вверх сохраняет значение (отображается SEt, данные сохраняются), кнопка "v"вниз отменяет настройки, и ничего не пишет (Abr-Abort)
6. Если в п.5 выбран вариант ответа (нажата кнопка) Возвращаемся из режима калибровки - п.1.
Сброс калибровки канала на значение по умолчанию:
2а. когда отображается Cbr при нажатии в п.2 кнопки "вниз" -- сохраняется калибровка по умолчанию dEf-default.
3a. Возвращаемся из режима калибровки - п.1.
RomaST писал(а):
1) Ставим калибровальную прошивку
2) Калибруем каналы
3) Записываем на комп содержание eeprom
4) Ставим рабочую версию
5) Записываем сохраненный в пункте 3) eeprom на ВЦ
И получаем 5ую версию, с необходимыми калибровками.
Lex писал(а):
версия 006:
0. Педантичная оптимизация кода с частичной потерей производительности и читабельности
1. Добавлено меню настроек и калибровок. Для входа включать с зажатой верхней кнопкой.
2. Для сброса всех настроек и калибровок -- включать с нажатыми двумя кнопками.
3. По умолчанию в каналах измерения тока разрешение загрублено до 20 мА. В остальных не трогается, т.к. не ответили на вопрос.
4. Увеличена задержка перед измерением напряжения в режиме зарядки
5. Более честная индикация процентов в конце процесса зарядки
6. Выкинуты измерения АЦП в виртуальных каналах P, Pou, 3AP -- уменьшился период обновления значений
7. После вывода FUL через 3.5 минуты индикация переходит в "ночной режим" до нажатия любой кнопки.
8. Режим пониженной яркости индикатора теперь включается и выключается в настройках. Лично меня полная яркость слепит.
9. Шаг установки напряжения зарядки можно задать, но только вручную в файле .eep
10. Меню настроек, калибровок, сброса параметров можно теперь каждое по отдельности включать/выключать при сборке прошивки.
Меню настроек и меню калибровок:показать
Меню настроек и меню калибровок:
Включаем МК при зажатой верхней кнопке.
1) После номера версии видим SEt-settings, кнопку отпускаем.
Меню настроек:
2) Далее настройка 2х параметров с вариантом "да/нет". Наличие точек означает, что параметр ВКлючён.
- rES-resolution -- режим повышенного разрешения измерений. Для несогласных с п.3.
- LGH-light -- режим пониженной яркости из п.8.
Если нужно изменить параметр -- когда светится его имя зажимаем верхнюю кнопку, и держим, пока 3 точки индикатора не потухнут/загорятся. После этого отобразится Sud-saved -- новое значение параметра сохранено.
Меню калибровок:
3) Настройка калибровок каналов измерения: Отображается имя канала, потом значение калибровки.
- если не трогать кнопки -- после короткой задержки переход к следующему каналу
- если кнопка нажата -- значение увеличивается/уменьшается. Также увеличивается время задержки, чтобы дать возможность спокойно настроить параметр.
По умолчанию значение калибровочного коэффициента отобразится как 100. Следует читать как 1100. Этот коэффициент уже достаточно описан на форуме.
После установки параметра ждём перехода к калибровке следующего канала. Если значение изменено -- оно сохранится с отображением Svd. Далее переход к следующему каналу.
Работу настроечного меню в любой момент можно прервать, выключив питание (допустим, если изменили разрешение, и не хотим калибровать каналы). НЕ ВЫКЛЮЧАТЬ питание, если предстоит сохранение изменённого параметра.
Сброс к заводским настройкам:
1) Включаем МК с зажатыми двумя кнопками.
- в случае упрощённого-облегчённого варианта настройки затираются без предупреждения и индикации, после чего появляется меню настроек. До его появления питание НЕ ОТКЛЮЧАТЬ.
- в расширенном варианте есть защита от случайного сброса, т.н. Безопасный режим.
Начинается обратный отсчёт 999, 888, ... 000. Если во время отсчёта отпустить какую-либо из кнопок -- отсчёт прервётся и сброс не произойдёт.
Если продолжаем держать обе кнопки, отобразится ---, потом выполнится очистка EEPROM (питание НЕ ВЫКЛЮЧАТЬ), после очистки отобразится rSt-reset.
Если и после этого не отпустили верхнюю кнопку -- попадаем в меню настроек.
Безопасный сброс и меню калибровок одновременно в прошивку не помещаются. Потому две на выбор. Отличить можно по наличию меню калибровок.
Самый простой способ, чтобы не вычислять смещения:
1. включаем свежепрошитую (или со сброшенными настройками) 6ку.
2. в меню настроек устанавливаем режим повышенного разрешения. Больше никаких настроек и калибровок не меняем.
3. сохраняем EEPROM в файл.
4. Там должны быть все 0xFF, кроме одного 0x00. Этот байт отвечает за флаг повышенного разрешения. Байт перед ним отвечает за шаг. Точнее содержит его значение в милливольтах. Записываем его туда в 16-ричном формате. Для 10мВ будет 0x0A.
5. исправляем контрольную сумму в конце строки, и пишем всё обратно в ВЦ.
Примечание: шаг=0 и шаг>200 считается некорректным, и принимается за 50 мВ.
4а. Величина смещения искомого байта = 22 = 0x16.
Цитата:
версия 007:
1. Работа с индикатором переведена на прерывания по таймеру. Теперь разряды не подмигивают.
Реализованные, но отключённые в данной сборке функции:
2. Отображение данных из встроенного в МК термодатчика;
3. усыпление МК через некоторое время при неактивности пользователя (если не трогает кнопки);
4. временно выкинул из настроек включение режима пониженной яркости;
Да, заметил у себя ещё один косячок. При работе индикатора на границе 9.99 и 10.0 иногда проскакивает показание A.00 .
Наверняка где-то с гранчными условиями относительно десятичной точки напутал, но разбираться пока лениво. И меня почти не напрягает. К тому же, в 16-ричной сичтеме 0хA = 10 в десятичной.
Да, действительно)) Так просто его поймать не много шансов))
Ну если будет время/желание конечно не плохо всякое лечить))
А планируются еще какие либо изменения в прошивке на ВЦ6?
Вряд ли уже что-то будет добавляться. Все более интересные фишечки уже не помещаются, а выкинуть нечего. Так что, скорее всего, в вц7 всё новое будет реализовываться. Благо, там заложили расширенную версию с контроллером не 32к флешки, против текущих 4к.
Зарегистрирован: Mar 23, 2008 Сообщения: 2823 Откуда: Москва
Добавлено: Пт 25 Май, 2018 9:28 Заголовок сообщения:
Lex писал(а):
Можно эту самую 7 и оставить. Остальные выкинуть, либо спрятать под спойлер.
Перенес последние варианты в первое сообщение.
Цитата:
Если нужно, могу список доработок 7 относительно базовой собрать по своим постам.
Инструкция для 7 версии прошивки для ВЦ6, может и нужна, но пользователей этой версии единицы. Так что, можно либо кратко, либо когда спросят.
Нужнее инструкция на прошивку 7го ВЦ (v3), т.к. она сейчас идет в серии. Сейчас для МК Мега48.
Спасибо.
Последний раз редактировалось: nik34 (Пт 25 Май, 2018 9:30), всего редактировалось 1 раз
Добавлено: Вс 27 Май, 2018 13:40 Заголовок сообщения:
А в V7 прошивка первая версия, процент зарядки смотрится только принудительно? Может быть сделать чтобы при побудке контроллера показал, а потом уже показывал то, на каком режиме уснул?
Зарегистрирован: Mar 23, 2008 Сообщения: 2823 Откуда: Москва
Добавлено: Вт 29 Май, 2018 13:36 Заголовок сообщения:
Dmitriy_avia писал(а):
А в V7 прошивка первая версия, процент зарядки смотрится только принудительно?
Да.
Цитата:
Может быть сделать чтобы при побудке контроллера показал, а потом уже показывал то, на каком режиме уснул?
Интересная идея. Тем более, что не потребует много ресурсов МК. Может Алексей при следующей переборке прошивки добавит, если влезет в память.
Спасибо, Дмитрий.
Вы можете начинать темы Вы можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете прилагать файлы к сообщениям Вы можете скачивать файлы
Форум Mobipower.ru - о солнечных батареях, аккумуляторах, зарядных устройствах, самоделках