FIXUP! rname the tryout script to quick demo
This commit is contained in:
parent
0a18d03d4f
commit
bb141276d5
12
README.md
12
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`:
|
||||
|
||||
@ -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:
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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<br/>babylin.example.yaml<br/>test_config.yaml]
|
||||
PSU_YAML[config/owon_psu.yaml<br/>OWON_PSU_CONFIG]
|
||||
SDK[vendor/BabyLIN_library.py<br/>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
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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/`
|
||||
|
||||
@ -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 <V>', 'SOUR:CURR <A>', 'MEAS:VOLT?', 'MEAS:CURR?', '*IDN?'
|
||||
|
||||
@ -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)
|
||||
Loading…
x
Reference in New Issue
Block a user