Обновить логгер УМП и исправить запуск UART и EEPROM
Перейти на компактные 12-словные записи v4 и сохранять 10 процентов банка после отключения. Добавить трёхсекундное ожидание роста ЗПТ и настраиваемый лимит пусков. Явно инициализировать состояние UART и гарантировать публикацию параметров EEPROM перед запуском Timer2. Сохранить воспроизводимые сборки, регрессионные проверки, документацию и обновлённые результаты сборки; исключить временные артефакты.
This commit is contained in:
@@ -63,6 +63,21 @@ routes = can_globals + "\n" + "".join(function(message, name) for name in
|
||||
("modbus_exception", "receive_ump", "ReceiveCommandModbus3", "ReceiveCommandModbus6"))
|
||||
# Задаёт routes + по выражению справа; значение используется последующими операциями.
|
||||
routes += function(ecan, "UMP_CAN_service")
|
||||
# Берёт три записи штатного CAN из рабочего обработчика, чтобы проверки не копировали его условия.
|
||||
slots_start = ecan.index("\tfor (slot = 0; slot < 3; slot++, adr++, mask <<= 1)")
|
||||
# Завершает фрагмент перед журналированием; оно не влияет на доступность технологических регистров.
|
||||
slots_end = ecan.index("/* Фиксируем применённую команду", slots_start)
|
||||
# Обёртка задаёт только поля кадра; проверки доступа остаются извлечённым рабочим кодом.
|
||||
routes += """/* Проверяет рабочие записи CAN без аппаратных mailbox и обработки остальных событий ISR. */
|
||||
static void native_can_slots(unsigned int adr, unsigned int mask, int a, int b, int c) {
|
||||
/* Индекс выбирает одно из трёх слов; маска достоверности передана вызывающим тестом в аргументе mask. */
|
||||
unsigned int slot;
|
||||
/* Передаёт исходные слова рабочим условиям записи регистра. */
|
||||
int Data[3] = {a, b, c};
|
||||
"""
|
||||
# Добавляет неизменённый фрагмент Handlai и закрывает обёртку с пояснением назначения блока.
|
||||
routes += ecan[slots_start:slots_end] + "/* Завершает записи трёх слов штатного CAN-кадра. */\n}\n"
|
||||
|
||||
# Открывает управляемый ресурс tempfile.TemporaryDirectory(prefix="gas167-test-") as tmp с автоматическим освобождением.
|
||||
with tempfile.TemporaryDirectory(prefix="gas167-test-") as tmp:
|
||||
# Задаёт directory по выражению справа; значение используется последующими операциями.
|
||||
|
||||
Reference in New Issue
Block a user