Files
Balsam_167/Bin/TestLampFix/README.txt
Andrey 04a9d989fb Исправить TESTLAMP, запуск CAN и расчёт фазных токов
Сохранить состояние TESTLAMP при кратких провалах входа и исключить повторный вход Timer1 во время передачи индикации.
Явно сбрасывать служебный обмен CAN при запуске и выбирать соседнюю фазу по локальному индексу канала АЦП.
Сохранить текущую последовательность DATA/CLK и проверочные варианты таймингов, добавить поведенческие тесты и обновить образ прошивки с картой памяти.
2026-10-13 14:13:43 +03:00

49 lines
4.2 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Бальзам-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 секунды сохраняются;
быстрых переключений между тестовыми и рабочими показаниями быть не должно.