Hosam-Eldin Mostafa afd9da8206 docs: hardware test infrastructure, session-managed PSU, settle-then-validate
Documents the new layers introduced over the past several commits.

- docs/19_frame_io_and_alm_helpers.md (new): full reference for the
  FrameIO and AlmTester helpers — three access levels (high/mid/low),
  full API tables, fixture wiring, cookbook patterns, and §7
  describing the four-phase SETUP/PROCEDURE/ASSERT/TEARDOWN test
  pattern with the three template flavors plus a §7.4 link to the
  PSU+LIN template.

- docs/14_power_supply.md: rewritten and expanded.
    §3 cross-platform port resolution (Windows / WSL1 / WSL2 +
       usbipd-win / Linux native compatibility table)
    §4 auto-detection via idn_substr
    §5 session-managed power: contract for tests, must-not list,
       what changed in the existing tests
    §6 the settle-then-validate pattern: two-delays table (PSU
       bench-dependent vs ECU firmware-dependent), copy-paste
       example, tuning guidance for ECU_VALIDATION_TIME_S
    §6 PSU settling characterization (-m psu_settling)
    §7 library API reference table + safe_off_on_close
    §9 troubleshooting expanded with WSL2 usbipd-win + dialout

- docs/18_test_catalog.md: voltage-tolerance section refreshed for
  the settle-then-validate shape, new "Hardware – PSU settling
  (opt-in)" category, new §8 "Hardware-test infrastructure"
  documenting conftest.py, frame_io.py, alm_helpers.py,
  psu_helpers.py, and both templates.

- docs/05_architecture_overview.md: components list split into
  framework core / hardware test layer / artifacts. Mermaid diagram
  gained a Hardware-test helpers subgraph showing FrameIO,
  AlmTester, rgb_to_pwm, and the templates. Data/control flow
  summary describes the session-managed PSU and the helper layer.

- docs/15_report_properties_cheatsheet.md: PSU section split into
  per-test (function-scoped rp) and module-scoped (testsuite
  property) blocks; added psu_resolved_port, psu_resolved_idn,
  psu_settled_s, validation_time_s.

- docs/README.md: links to the new doc 19.

- README.md, TESTING_FRAMEWORK_GUIDE.md: project-structure trees
  expanded to show the full current layout — every file and
  directory under tests/hardware/ (conftest, helpers, templates,
  tests), tests/unit/, config/, docs/, scripts/, and vendor/.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-08 19:02:42 +02:00
..
2026-04-28 23:47:17 +02:00
2026-04-29 00:56:07 +02:00

Documentation Index

A guided tour of the ECU testing framework. Start here:

  1. 01_run_sequence.md — End-to-end run sequence and call flow
  2. 02_configuration_resolution.md — How configuration is loaded and merged
  3. 03_reporting_and_metadata.md — How test documentation becomes report metadata
  4. 11_conftest_plugin_overview.md — Custom pytest plugin: hooks, call sequence, and artifacts
  5. 04_lin_interface_call_flow.md — LIN abstraction and adapter behavior (Mock, MUM, and the deprecated BabyLIN)
  6. 05_architecture_overview.md — High-level architecture and components
  7. 06_requirement_traceability.md — Requirement markers and coverage visuals
  8. 07_flash_sequence.md — ECU flashing workflow and sequence diagram
  9. 08_babylin_internals.md — BabyLIN SDK wrapper internals and call flow (DEPRECATED)
  10. 16_mum_internals.md — MUM (Melexis Universal Master) adapter internals and call flow
  11. 17_ldf_parser.md — LDF parser, ldf fixture, and per-frame pack/unpack helpers
  12. 18_test_catalog.md — Per-test catalog: purpose, markers, hardware needs, expected result
  13. DEVELOPER_COMMIT_GUIDE.md — What to commit vs ignore, commands
  14. 09_raspberry_pi_deployment.md — Run on Raspberry Pi (venv, service, hardware notes)
  15. 10_build_custom_image.md — Build a custom Raspberry Pi OS image with the framework baked in
  16. 12_using_the_framework.md — Practical usage: local, hardware (MUM, or the deprecated BabyLIN), CI, and Pi
  17. 13_unit_testing_guide.md — Unit tests layout, markers, coverage, and tips
  18. 14_power_supply.md — Owon PSU control, configuration, tests, and quick demo script
  19. 15_report_properties_cheatsheet.md — Standardized keys for record_property/rp across suites
  20. 19_frame_io_and_alm_helpers.md — Hardware-test helpers: FrameIO (generic LDF I/O) and AlmTester (ALM_Node domain), plus the tests/hardware/_test_case_template.py starting point

Related references:

  • Root project guide: ../README.md
  • Full framework guide: ../TESTING_FRAMEWORK_GUIDE.md
  • BabyLIN placement and integration: ../vendor/README.md (deprecated; only relevant for legacy rigs)
  • MUM source scripts and protocol details: ../vendor/automated_lin_test/README.md
  • PSU quick demo and scripts: ../vendor/Owon/