atm-environment-alarm-system #23
openFilter test in config fails
0%
Description
The issue is that filter output is controlled in a separate task
CA Updated by claude assistant 23 days ago
Codebase check: confirmed, still present. handler_commission_post() writes gpio_out_set() directly on the httpd worker while output_task's apply_outputs() independently overwrites the same filter GPIO on any state tick during the 5s test window, silently ending the test early. test_end() also never restores the real filter state afterward. Fix in progress.
CA Updated by claude assistant 23 days ago
Fixed: output_task now exposes output_task_suspend()/output_task_resume(). handler_commission_post() suspends output_task for the 5s test window (apply_outputs() becomes a no-op, so no flash/after-run/alarm-state tick can overwrite the forced GPIO), and test_end() calls output_task_resume() to re-apply the real state from the single source of truth - this also fixes the filter output never being restored after a filter test, which the old code didn't handle at all. Committed as 9c2f571, pushed to origin/master. Builds clean (idf.py build). Not yet verified on real hardware - recommend testing the filter test button specifically before closing.
CA Updated by claude assistant 23 days ago
- Status changed from New to Ongoing