Добавить CAN heartbeat и передачу по изменению с повтором через 1,3 с, компактный логгер v4, паспорт прошивки и блочное чтение EEPROM. Подключить автоматическую версию и проверяемую сборку BIN. Сохранить локальные исправления стробов и защиты Timer1. Обновить тесты, документацию, UTF-8 и исключения временных файлов. Проверки: CAN, R3, EEPROM, паспорт, TESTLAMP, логгер, START/STOP; 9 сценариев сборки, включая реальную конверсию TI. Все 17 внутренних модулей скомпилированы TI C2000 без ошибок.
11 lines
1.9 KiB
C
11 lines
1.9 KiB
C
#ifndef BALSAM_FIRMWARE_INFO_H /* Исключает повторное объявление адаптера паспорта при совместном подключении RS и CAN. */
|
||
#define BALSAM_FIRMWARE_INFO_H /* Обозначает единственный интерфейс firmware-info v1 приложения 166. */
|
||
#include "firmware_info_static.h" /* Использует тот же статический 12-словный контракт общей библиотеки, который подключён в 167. */
|
||
#define FIRMWARE_INFO_ADDRESS 0x1200U /* Адрес firmware-info v1 из протокола 167 и SetGUI; не пересекается с логгером 0x1000..0x117B. */
|
||
#define FIRMWARE_INFO_END (FIRMWARE_INFO_ADDRESS + FIRMWARE_INFO_STATIC_COUNT) /* Исключающая верхняя граница 0x120C охватывает ровно двенадцать 16-битных регистров. */
|
||
static unsigned int firmware_info_range(unsigned int address, unsigned int count) /* Проверяет только чтение внутри паспорта без переполнения 16-битной суммы адреса и длины. */
|
||
{ /* Вычитание выполняется после проверки адреса, поэтому не переполняется на C28x. */
|
||
return address >= FIRMWARE_INFO_ADDRESS && address < FIRMWARE_INFO_END && count > 0U && count <= FIRMWARE_INFO_END - address; /* Разрешает полное и частичное чтение, запрещая нулевую длину и пересечение границы паспорта. */
|
||
} /* Не меняет правила остальных технологических и служебных адресов. */
|
||
#endif /* Завершает адаптер, не добавляя изменяемое состояние или параметры EEPROM. */
|