Перенести улучшения прошивки в ветку 166

Добавить CAN heartbeat и передачу по изменению с повтором через 1,3 с,
компактный логгер v4, паспорт прошивки и блочное чтение EEPROM.
Подключить автоматическую версию и проверяемую сборку BIN.
Сохранить локальные исправления стробов и защиты Timer1.
Обновить тесты, документацию, UTF-8 и исключения временных файлов.

Проверки: CAN, R3, EEPROM, паспорт, TESTLAMP, логгер, START/STOP;
9 сценариев сборки, включая реальную конверсию TI.
Все 17 внутренних модулей скомпилированы TI C2000 без ошибок.
This commit is contained in:
2026-10-19 13:46:29 +03:00
parent 5c86ca3065
commit 52683164af
64 changed files with 2118 additions and 996 deletions
+16 -10
View File
@@ -1,10 +1,16 @@
/* Макросы обращаются к общей карте modbus, не к локальным данным.
* START/STOP читаются через volatile. Входящая запись слова 127
* должна пройти UMP_commands_write для фиксации фронта.
/* Макросы обращаются к общей карте modbus, не к локальным данным.
* START/STOP читаются через volatile. Входящая запись слова 127
* должна пройти UMP_commands_write для фиксации фронта.
*/
#ifndef PACKAGE
#define PACKAGE
/* Задаёт числовой код прямого порядка индикаторов, чтобы сравнение OBOROT в препроцессоре не заменяло неопределённое имя нулём. */
#define STRAIGHT 0
/* Отличающийся код обратного порядка выбирает ветку перестановки двух показаний в pulto.c. */
#define REVERSE 1
/* Сохраняет выбранное в обеих ветках исполнение 165 с прямым порядком индикаторов; перенос функций не меняет аппаратные калибровки. */
#define BALSAM 165
#if BALSAM == 166
@@ -84,13 +90,13 @@
#define bSecretBt Buttons.bit.bit1
#define bTermoCal Buttons.bit.bit2
#define Cancount (modbus+0x60) // пауза между I посылками CAN
#define Bright (modbus+0x62) // аркость сигнальных лампочек
#define Brightness modbus[0x62] // аркость сигнальных лампочек
#define Cancount (modbus+0x60) // пауза между I посылками CAN
#define Bright (modbus+0x62) // аркость сигнальных лампочек
#define Brightness modbus[0x62] // аркость сигнальных лампочек
/* Не врема!
#define DAC_go modbus[0x64] // начало зарада
#define DAC_stop modbus[0x65] // конец зарада
/* Не врема!
#define DAC_go modbus[0x64] // начало зарада
#define DAC_stop modbus[0x65] // конец зарада
*/
#define m_FAST 0
@@ -135,7 +141,7 @@
#define LastMode Modbus[126].all
/* Слово меняется из CAN/RS; чтение команды не должно кешироваться. */
/* Слово меняется из CAN/RS; чтение команды не должно кешироваться. */
#define Commands (((volatile WORDE *)modbus)[127].all)
#define cTestLamp Modbus[127].bit.bit0
#define cDefParam Modbus[127].bit.bit1