A reusable Agent Skill and executable validation suite for two-channel PCAN and PCANBasic-compatible CAN/CAN-FD interfaces.
- Bidirectional Classic CAN and CAN-FD canaries
- Classic bitrate and CAN-FD timing matrices
- Standard/Extended IDs, RTR, BRS, and valid DLCs
- Filters and status/error record handling
- Concurrent bursts and FIFO boundaries
- Arbitration and starvation checks
- Timestamp monotonicity and latency
- Reopen/mode-transition stress
- Controlled mismatch recovery
- Checkpointed multi-hour soak testing
Use only on an isolated, correctly terminated two-channel bench. Do not run active traffic, bitrate mismatch, or fault injection on a vehicle or production CAN network.
git clone https://github.com/InitusNovus/pcan-validation-skill.git ~/.hermes/skills/embedded-hardware/pcan-validationStart a new session after installation.
py -m pip install -r requirements.txtPCANBasic and the Windows PCAN driver must be installed separately from the hardware vendor. This repository does not redistribute vendor binaries.
| Script | Purpose |
|---|---|
scripts/pcan_loopback.py |
Fast Classic or FD bidirectional canary |
scripts/pcan_matrix.py |
Broad Classic/FD functional matrix |
scripts/pcan_soak.py |
Checkpointed multi-hour concurrent soak |
scripts/pcan_deep.py |
FIFO boundaries, native API, arbitration, timestamps, and reopen stress |
Examples:
py scripts\pcan_loopback.py --mode classic --count 1000
py scripts\pcan_loopback.py --mode fd --count 1000
py scripts\pcan_matrix.py
py scripts\pcan_soak.py --hours 8 --burst-count 5000
py scripts\pcan_deep.pyDefault channels are PCAN_USBBUS1 and PCAN_USBBUS2. Review channel discovery and configuration before use.
pcan_soak.py is a high-coverage isolated-bench profile. It includes a tightly bounded bitrate-mismatch recovery phase and timing combinations up to 12 Mbit/s. Remove unsupported timing combinations and do not run the fault phase on a shared or production bus.
- pcan-operations-skill — PCANBasic/python-can operating procedures and timing references
MIT. See LICENSE.
PCAN is a trademark of PEAK-System Technik GmbH. This project is independent and is not affiliated with or endorsed by PEAK-System. Vendor drivers and SDK components remain subject to their respective licenses.