From bb141276d5cd18c5f63d8b856890c1b9fe4c8f62 Mon Sep 17 00:00:00 2001 From: "Hosam-Eldin.mostafa" Date: Fri, 24 Oct 2025 23:56:47 +0200 Subject: [PATCH] FIXUP! rname the tryout script to quick demo --- README.md | 12 ++++++------ TESTING_FRAMEWORK_GUIDE.md | 4 ++-- docs/01_run_sequence.md | 2 +- docs/02_configuration_resolution.md | 2 +- docs/05_architecture_overview.md | 6 +++--- docs/12_using_the_framework.md | 4 ++-- docs/14_power_supply.md | 12 ++++++------ docs/README.md | 4 ++-- ecu_framework/power/owon_psu.py | 2 +- vendor/Owon/{tryout.py => owon_psu_quick_demo.py} | 2 +- 10 files changed, 25 insertions(+), 25 deletions(-) rename vendor/Owon/{tryout.py => owon_psu_quick_demo.py} (99%) diff --git a/README.md b/README.md index 1732a25..ff62967 100644 --- a/README.md +++ b/README.md @@ -151,7 +151,7 @@ ecu_tests/ │ └── owon_psu.yaml # Optional machine-specific PSU config ├── vendor/ # Place SDK wrapper and platform libs here │ ├── Owon/ -│ │ └── tryout.py # Quick PSU demo using the library & YAML +│ │ └── owon_psu_quick_demo.py # Quick PSU demo using the library & YAML │ ├── BabyLIN_library.py # Official SDK Python wrapper │ └── BabyLIN library/ # Platform-specific binaries from SDK (DLL/.so) ├── reports/ # Generated reports @@ -221,16 +221,16 @@ The `ecu_framework/lin/babylin.py` implementation uses the official `BabyLIN_lib - Permission errors in PowerShell: run the venv's full Python path or adjust ExecutionPolicy for scripts. - Import errors: activate the venv and reinstall `requirements.txt`. -## Owon Power Supply (SCPI) — library, config, tests, and tryout +## Owon Power Supply (SCPI) — library, config, tests, and quick demo We provide a reusable pyserial-based library, a hardware test integrated with the central config, -and a minimal tryout script. +and a minimal quick demo script. - Library: `ecu_framework/power/owon_psu.py` (class `OwonPSU`, `SerialParams`, `scan_ports`) - Central config: `config/test_config.yaml` (`power_supply` section) - Optionally merge `config/owon_psu.yaml` or set `OWON_PSU_CONFIG` to a YAML path - Hardware test: `tests/hardware/test_owon_psu.py` (skips unless `power_supply.enabled` is true) -- Tryout: `vendor/Owon/tryout.py` (reads `OWON_PSU_CONFIG` or `config/owon_psu.yaml`) +- quick demo: `vendor/Owon/owon_psu_quick_demo.py` (reads `OWON_PSU_CONFIG` or `config/owon_psu.yaml`) Quick setup (Windows PowerShell): @@ -250,8 +250,8 @@ copy .\config\owon_psu.example.yaml .\config\owon_psu.yaml # Run the hardware PSU test (skips if disabled or missing port) pytest -k test_owon_psu_idn_and_optional_set -m hardware -q -# Run the tryout script -python .\vendor\Owon\tryout.py +# Run the quick demo script +python .\vendor\Owon\owon_psu_quick_demo.py ``` YAML keys supported by `power_supply`: diff --git a/TESTING_FRAMEWORK_GUIDE.md b/TESTING_FRAMEWORK_GUIDE.md index aa13ca8..85605d0 100644 --- a/TESTING_FRAMEWORK_GUIDE.md +++ b/TESTING_FRAMEWORK_GUIDE.md @@ -314,7 +314,7 @@ The framework includes a serial SCPI controller for Owon PSUs and a hardware tes - Config: `config/test_config.yaml` (`power_supply` section) - Optionally merge machine-specific settings from `config/owon_psu.yaml` or env `OWON_PSU_CONFIG` - Hardware test: `tests/hardware/test_owon_psu.py` (skips unless `power_supply.enabled` and `port` present) -- Tryout: `vendor/Owon/tryout.py` +- quick demo: `vendor/Owon/owon_psu_quickdemo.py` Quick run: @@ -323,7 +323,7 @@ pip install -r .\requirements.txt copy .\config\owon_psu.example.yaml .\config\owon_psu.yaml # edit COM port in .\config\owon_psu.yaml pytest -k test_owon_psu_idn_and_optional_set -m hardware -q -python .\vendor\Owon\tryout.py +python .\vendor\Owon\owon_psu_quick_demo.py ``` Common config keys: diff --git a/docs/01_run_sequence.md b/docs/01_run_sequence.md index 151997a..7b7dfd5 100644 --- a/docs/01_run_sequence.md +++ b/docs/01_run_sequence.md @@ -47,7 +47,7 @@ sequenceDiagram X-->>F: Flash result (ok/fail) end opt power_supply.enabled and port provided - Note over PS: Tests/tryouts may open PSU via ecu_framework.power.owon_psu + Note over PS: owon_psu_quick_demo may open PSU via ecu_framework.power.owon_psu end loop for each test P->>PL: runtest_makereport(item, call) diff --git a/docs/02_configuration_resolution.md b/docs/02_configuration_resolution.md index fd67cff..a73ca5f 100644 --- a/docs/02_configuration_resolution.md +++ b/docs/02_configuration_resolution.md @@ -112,7 +112,7 @@ central defaults in `config/test_config.yaml`. - PSU-related tests or utilities read `config.power_supply` for serial parameters and optional actions (IDN assertions, on/off toggle, set/measure). The reference implementation is `ecu_framework/power/owon_psu.py`, with a hardware test in - `tests/hardware/test_owon_psu.py` and a tryout script in `vendor/Owon/tryout.py`. + `tests/hardware/test_owon_psu.py` and a quick demo script in `vendor/Owon/owon_psu_quick_demo.py`. ## Tips diff --git a/docs/05_architecture_overview.md b/docs/05_architecture_overview.md index 10558c7..cbedd59 100644 --- a/docs/05_architecture_overview.md +++ b/docs/05_architecture_overview.md @@ -12,7 +12,7 @@ This document provides a high-level view of the framework’s components and how - BabyLIN Adapter — `ecu_framework/lin/babylin.py` (SDK wrapper → BabyLIN_library.py) - Flasher — `ecu_framework/flashing/hex_flasher.py` - Power Supply (PSU) control — `ecu_framework/power/owon_psu.py` (serial SCPI) -- PSU tryout script — `vendor/Owon/tryout.py` +- PSU quick demo script — `vendor/Owon/owon_psu_quick_demo.py` - Reporting Plugin — `conftest_plugin.py` (docstring → report metadata) - Reports — `reports/report.html`, `reports/junit.xml` @@ -40,7 +40,7 @@ flowchart TB YAML[config/*.yaml
babylin.example.yaml
test_config.yaml] PSU_YAML[config/owon_psu.yaml
OWON_PSU_CONFIG] SDK[vendor/BabyLIN_library.py
platform-specific libs] - OWON[vendor/Owon/tryout.py] + OWON[vendor/Owon/owon_psu_quick_demo.py] end T --> CF @@ -67,7 +67,7 @@ flowchart TB - Flasher (optional) uses the same interface to program the ECU - Power supply control (optional) uses `ecu_framework/power/owon_psu.py` and reads `config.power_supply` (merged with `config/owon_psu.yaml` or `OWON_PSU_CONFIG` when present); - the tryout script under `vendor/Owon/` provides a quick manual flow + the quick demo script under `vendor/Owon/` provides a quick manual flow - Reporting plugin parses docstrings and enriches the HTML report ## Extending the architecture diff --git a/docs/12_using_the_framework.md b/docs/12_using_the_framework.md index 18e5af6..0536042 100644 --- a/docs/12_using_the_framework.md +++ b/docs/12_using_the_framework.md @@ -175,14 +175,14 @@ Running tests headless via systemd typically involves: ## Power supply (Owon) hardware test -Enable `power_supply` in your config and set the serial port, then run the dedicated test or the tryout script. +Enable `power_supply` in your config and set the serial port, then run the dedicated test or the quick demo script. ```powershell copy .\config\owon_psu.example.yaml .\config\owon_psu.yaml # edit COM port in .\config\owon_psu.yaml or set values in config\test_config.yaml pytest -k test_owon_psu_idn_and_optional_set -m hardware -q -python .\vendor\Owon\tryout.py +python .\vendor\Owon\owon_psu_quick_demo.py ``` See also: `docs/14_power_supply.md` for details and troubleshooting. diff --git a/docs/14_power_supply.md b/docs/14_power_supply.md index 3e38e0c..b388d44 100644 --- a/docs/14_power_supply.md +++ b/docs/14_power_supply.md @@ -1,10 +1,10 @@ -# Power Supply (Owon) — control, configuration, tests, and tryout +# Power Supply (Owon) — control, configuration, tests, and quick demo This guide covers using the Owon bench power supply via SCPI over serial with the framework. - Library: `ecu_framework/power/owon_psu.py` - Hardware test: `tests/hardware/test_owon_psu.py` -- Tryout script: `vendor/Owon/tryout.py` +- quick demo script: `vendor/Owon/owon_psu_quick_demo.py` - Configuration: `config/test_config.yaml` (`power_supply`), optionally merged from `config/owon_psu.yaml` or env `OWON_PSU_CONFIG` ## Install dependencies @@ -74,12 +74,12 @@ Notes: - Commands use newline-terminated writes; reads use `readline()` - SCPI forms: `SOUR:VOLT`, `SOUR:CURR`, `MEAS:VOLT?`, `MEAS:CURR?`, `output 0/1`, `output?` -## Tryout script +## quick demo script -The tryout reads `OWON_PSU_CONFIG` or `config/owon_psu.yaml` and performs a small sequence. +The quick demo reads `OWON_PSU_CONFIG` or `config/owon_psu.yaml` and performs a small sequence. ```powershell -python .\vendor\Owon\tryout.py +python .\vendor\Owon\owon_psu_quick_demo.py ``` It also scans ports with `*IDN?` using `scan_ports()`. @@ -99,5 +99,5 @@ It also scans ports with `*IDN?` using `scan_ports()`. - `ecu_framework/power/owon_psu.py` — PSU controller (pyserial) - `tests/hardware/test_owon_psu.py` — Hardware test using central config -- `vendor/Owon/tryout.py` — Quick demo runner +- `vendor/Owon/owon_psu_quick_demo.py` — Quick demo runner - `config/owon_psu.example.yaml` — Example machine-specific YAML diff --git a/docs/README.md b/docs/README.md index bc6e356..9b68b6e 100644 --- a/docs/README.md +++ b/docs/README.md @@ -16,11 +16,11 @@ A guided tour of the ECU testing framework. Start here: 11. `10_build_custom_image.md` — Build a custom Raspberry Pi OS image with the framework baked in 12. `12_using_the_framework.md` — Practical usage: local, hardware, CI, and Pi 13. `13_unit_testing_guide.md` — Unit tests layout, markers, coverage, and tips -14. `14_power_supply.md` — Owon PSU control, configuration, tests, and tryout script +14. `14_power_supply.md` — Owon PSU control, configuration, tests, and quick demo script 15. `15_report_properties_cheatsheet.md` — Standardized keys for record_property/rp across suites Related references: - Root project guide: `../README.md` - Full framework guide: `../TESTING_FRAMEWORK_GUIDE.md` - BabyLIN placement and integration: `../vendor/README.md` - - PSU tryout and scripts: `../vendor/Owon/` + - PSU quick demo and scripts: `../vendor/Owon/` diff --git a/ecu_framework/power/owon_psu.py b/ecu_framework/power/owon_psu.py index c9e11c3..4d0c0dc 100644 --- a/ecu_framework/power/owon_psu.py +++ b/ecu_framework/power/owon_psu.py @@ -6,7 +6,7 @@ This module provides a small, programmatic API suitable for tests: - scan_ports(): find devices responding to *IDN? - auto_detect(): select the first matching device by IDN substring -Behavior follows the working tryout example (serial): +Behavior follows the working quick demo example (serial): - Both commands and queries are terminated with a newline ("\n" by default). - Queries use readline() to fetch a single-line response. - Command set uses: 'output 0/1', 'output?', 'SOUR:VOLT ', 'SOUR:CURR ', 'MEAS:VOLT?', 'MEAS:CURR?', '*IDN?' diff --git a/vendor/Owon/tryout.py b/vendor/Owon/owon_psu_quick_demo.py similarity index 99% rename from vendor/Owon/tryout.py rename to vendor/Owon/owon_psu_quick_demo.py index 29fa5c1..15ade43 100644 --- a/vendor/Owon/tryout.py +++ b/vendor/Owon/owon_psu_quick_demo.py @@ -83,7 +83,7 @@ def run_demo() -> int: time.sleep(0.5) psu.set_voltage(1, set_v) psu.set_current(1, set_i) - time.sleep(0.5) + time.sleep(1.0) print(f"Measured V: {psu.measure_voltage()} V") print(f"Measured I: {psu.measure_current()} A") time.sleep(0.5)