Бальзам-167: проверочная прошивка с исправлением TESTLAMP Сборка: 13.10.2026, 11:00:35 (Москва, UTC+3). Готовый образ: UKSSTMS320F28335_testlamp_fix_fa20ed0+.bin Размер: 32272 байта. Запас до параметров AT25256B: 236 байт. SHA-256: bfe4c3c9b55bb5022f38f254929f893e5eaab57ef3d3fa31771a6b6f97f877a4 Паспорт: UKSSTMS320F28335_testlamp_fix_fa20ed0+.bin.manifest.json Архив этой сборки: fa20ed08+_2026-10-13_11-00-35_UTC+3. Исправления: 1. В get_Buttons для dsk_EPLT накопительный фильтр получает предыдущее значение bTestLamp вместо постоянного нуля. Раньше даже один низкий отсчёт GPIO26 при удержании кнопки сразу отключал тест, а следующий высокий отсчёт мог снова его включить. Это переключало пакеты ламп и семисегментных индикаторов между рабочим и тестовым режимами. Порог 1000 по-прежнему измеряется опросами главного цикла. 2. cpu_timer1_isr_PULT ограничивает IER маской MINT13 и исключает собственный Timer1 (INT13). Прежнее IER |= MINT13 включало дополнительные источники вместо ограничения приоритетов и могло разрешить повторный вход Timer1. Вложенная передача больше не может перемешать DATA/CLK, счётчик каналов и фазу яркости. В машинном коде перед EINT проверено AND IER, #0x0139. Штатная тестовая последовательность what_is сохранена: цифры меняются и тестовая маска ламп переключается каждые 500 тактов Timer1 (0,5 секунды). Это исправление относится к частому нерегулярному мерцанию поверх теста. Порядок уровней и задержек SENDBIT/RESET взят из текущего kanal.c проекта; для этой сборки он не изменялся. В образ вошли уже имевшиеся правки ecan.c, measure.c и kanal.c. Проверено: - настоящие get_Buttons, er_anal, what_is и обработчик пульта в хостовой модели при O3; короткие провалы входа при удержании TESTLAMP; - тестовые пакеты ламп и цифр при уже включённой рабочей лампе; - отсутствие повторного входа ISR, отпускание и удалённая команда теста; - сохранение обычного PWM: шесть включённых тактов из десяти; - возвращение каждой старой ошибки отдельно вызывает провал теста; - полная компиляция и линковка TI C2000 22.6.0.LTS, O3, COFF, FPU32; - SCI8, четыре RAM-блока, границы AT25256B и совпадение BIN с кандидатом; - UTF-8 и русские пояснения к изменённому и добавленному коду. Повторная проверка: python tests/testlamp/run_test.py Повторная сборка: python Bin/TestLampFix/rebuild.py На физической плате эта прошивка пока не проверена. Для проверки повторить сценарий пользователя: включённые рабочие лампы, нажатие и удержание TESTLAMP, затем отпускание. Штатные изменения теста раз в 0,5 секунды сохраняются; быстрых переключений между тестовыми и рабочими показаниями быть не должно.