Skip to content

Repository files navigation

⚡ BenchForge Studio

Universal Bench Instrument & Gateway Emulator Suite
Zero-hardware test equipment simulation for PyVISA, SCPI, TestController, LabVIEW, and MATLAB test automation developers.

BenchForge Studio Live Snoop Debugger


📖 Overview

BenchForge Studio is a standalone, lightweight, multi-protocol bench instrument and hardware gateway emulator suite. It empowers lab automation engineers, driver developers, and test software authors to build, test, and validate instrument automation scripts without needing physical test equipment or hardware adapters on their desk.


✨ Key Capabilities

  • 🌐 Multi-Protocol Gateway Emulation:
    • Prologix Ethernet (TCP Port 1234 — Default): Enforces 100% strict physical hardware protocol parity (Prologix GPIB-ETHERNET Controller version 01.06.06.00\r\n, CRLF \r\n line endings, silent setting ACKs, single-connection displacement locking).
    • LXI SCPI Raw Socket (TCP Port 5025): Direct SCPI raw socket processing (*IDN?, :READ?, :FETC?, :CONF:VOLT:DC 10).
    • LXI mDNS Discovery (UDP Port 5353): Network discovery responder for instrument detection.
  • ⚙️ Gateway Emulation Modes:
    • One-click switching between hardware gateway personalities:
      • Prologix Ethernet Gateway (v01.06.06.00)
      • Keysight E5810A LAN/GPIB Gateway
      • AR488 / AR488Lan GPIB Gateway
  • ⚡ CI/CLI Revision Validation Harness (tests/run_validation_harness.py):
    • Automated CLI protocol assertion runner (python tests/run_validation_harness.py --benchmark) verifying bit-for-bit hardware compliance and QPS stress performance for build validation and CI pipelines.
  • 📄 TestController Tooling Integration:
    • Built-in parser for TestController Devices/*.txt definitions and generator for settingsGPIB.txt / settingsLoad.txt.
  • 🔍 Live Traffic Snoop & Debugger:
    • Real-time packet inspector showing incoming and outgoing SCPI traffic with millisecond timestamps and directional indicators.

🔬 Empirical Hardware Profiles Included

BenchForge includes detailed empirical hardware profile specifications probed directly against physical laboratory equipment:

Note

1:1 Emulation Parity: These hardware profiles document the exact command handshakes, socket line termination policies, default identity strings, and query response behaviors observed from physical devices. They served as the reference criteria to implement and assert exact, bit-for-bit 1:1 emulation compliance in BenchForge Studio.


🚀 Getting Started

Prerequisites

  • Python 3.9+
  • Windows 10 or 11 (the UI targets Segoe UI Variable and Cascadia Mono, with fallbacks)

Installation

git clone https://github.com/BenchForge/BenchForge.git
cd BenchForge
pip install -r requirements.txt

The emulator core is pure standard library. The only runtime dependency is PySide6, which provides the desktop UI.

Note

BenchForge uses PySide6 (Qt for Python), licensed LGPL v3 and compatible with this project's MIT licence. Do not substitute PyQt6 — it is offered only under GPL v3 or a paid commercial licence, and linking it would force GPL on the entire application.

Running Desktop GUI

python benchforge.py

Running Automated Test Suite

python -m unittest discover -s tests

The suite covers the emulator core and requires no GUI toolkit.

Compiling Standalone Executable (BenchForge.exe)

pip install -r requirements-dev.txt
python build_exe.py

(Produces executable binary under dist/BenchForge)

Tip

CI/CD Releases: Every official release published on GitHub automatically triggers a GitHub Actions workflow that builds, packages, and attaches a compiled Windows zip archive (BenchForge-Windows.zip) directly to the release assets.


📄 License

Distributed under the MIT License.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages