Бальзам-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 секунды сохраняются;
быстрых переключений между тестовыми и рабочими показаниями быть не должно.
