Выложена версия 4.1.00 (см. в прикрепленных архивах)
Изменения:
Исходники переехали с моего компа на git (https://github.com/propell-ant/termostat-0.1-rework)
шаг изменения температуры вынесен в h файл (T_STEP) - по умолчанию 1=0.1С
добавлена возможность заходить в настройки нажатием только одной кнопки теперь это опция (ENTER_SETTINGS_BY_ONE_KEY) - по умолчанию опция выключена
Тестируется опция повышения точности измерений за счет более редкого опроса датчика (PREVENT_SENSOR_SELF_HEATING) - по умолчанию опция выключена
Для поддержания совместимости с версией для Mega8 (http://hardlock.org.ua/viewtopic.php?f=10&t=474) некоторые прямые обращения к регистрам заменены на дефайны:
DISPLAY_PORT, DISPLAY_PIN, DISPLAY_DDR,
OUTPIN_NO (нормально открытый порт),
OUTPIN_NC (нормально закрытый порт - в Mega8 пока не поддерживается)
Бинарники теперь собираются на CodevisionAVR v3 (у этой версии есть бесплатный ограниченный режим и термостат как раз нормально в этом режиме компилируется)
Для автоматизации сборки в проект добавлен файл version.txt
Изменения значительные, так что номер версии поднимается до 4.1
В железе проверял на прошивке для ОК, работает нормально.
проверено-работает 20 раз
проверено-глючит 0 раз
Если кто устанавливает исправление - пишите в эту ветку, типа "прошился tl_v4.1.00, работает (или не работает)"
доработка "tl_v3.2_mod_001" (ищите в архивах соотв. папку)
Исправлен глюк "не работает кнопка "+" при изменении дельты, значения меняются от 99 до 0 и снова перескакивают на 99
проверено-работает 1 раз
доработка "tl_v3.2_mod_003" (ищите в архивах соотв. папку)
При старте показывать не 0.0, а что-то непохожее на цифры, например "----"
включает в себя tl_v3.2_mod_001
проверено-работает 1 раз
доработка "tl_v3.2_mod_005" (ищите в архивах соотв. папку)
При старте не включать нагрузку до получения первого значения температуры
включает в себя tl_v3.2_mod_001, tl_v3.2_mod_003
проверено-работает 0 раз
доработка "tl_v3.2_mod_006" (ищите в архивах соотв. папку)
Правильное ограничение температуры при изменении дельты
включает в себя tl_v3.2_mod_001, tl_v3.2_mod_003, tl_v3.2_mod_005
проверено-работает 0 раз
версия tl_v4.0.3 Проверка данных с датчика, желательно определять обрыв и КЗ на землю, включает в себя все моды 001-006. Настолько много изменений, что приходится выделять в отдельную версию.
- нагрузка не включается до получения первых данных от датчика
- до получения первых данных от датчика на индикаторе отображается "---.-"
- контроль ошибок в линии датчика
- вход в настройки только по нажатию двух кнопок
- повторное нажатие на две кнопки сразу - настройка дельты
- третье нажатие на две кнопки сразу - просмотр последней обнаруженной ошибки
- переход в состояние ошибки после 2х любых ошибок подряд
- мигание индикатора в состоянии ошибки
- мигание можно прекратить нажатием на любую кнопку, можно на две кнопки сразу
- но состояние ошибки при этом не сбрасывается
- в состоянии ошибки отображается код ошибки:
"E 0.1" ошибка контрольной суммы
"E 0.2" обрыв
"E 0.3" после нескольких ошибок от датчика получено значение 85°C
"E 0.4" короткое замыкание на землю - в состоянии ошибки нагрузка отключается на всех портах
- как только данные с датчика удастся прочитать - снова отображается температура, включается или выключается нагрузка, но моргание остается - это позволяет увидеть спустя длительное время, что были ошибки, можно посмотреть код последней возникшей ошибки трехкратным нажатием на обе кнопки
- шаг времени таймера - ровно 1с, измерение температуры - каждые 2 секунды (особенность нашего алгоритма)
- включено подавление мерцания при опросе датчика
- введено понятие опций, опции включаются "раскомментированием дефайнов" в файле termostat_led.h
- прошивка может быть собрана на более новых версиях CVAVR (например v2, v3)
- в архив с бинарниками добавлены прошивки под шаг в 1 градус, папка tl_v4.1.02\hex_step_1deg