fc43fbe4b0c33bcdb3f88a7d1d2c8229a6caeb39
- Merged four separate hardware control projects into unified platform - Created unified requirements.txt with all dependencies - Added comprehensive .gitignore - Added project overview README Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
scanengine-3
A unified scanning and instrumentation control platform combining multiple hardware control modules.
Overview
scanengine-3 merges four previously separate projects into a single, cohesive platform:
- nuescan: SRAS scan planning and control software with PyQt6 GUI
- pymso: Tektronix oscilloscope control and data acquisition
- pybbd202: Thorlabs BBD203/MLS203 motor controller driver
- pypewpewhops: Coherent HOPS laser control via I2C
Project Structure
scanengine-3/
├── nuescan/ # Main scan control application with GUI
├── pymso/ # Oscilloscope control module
├── pybbd202/ # Stage controller driver
├── pypewpewhops/ # Laser control module
├── requirements.txt # Unified dependencies
└── README.md # This file
Installation
-
Create a virtual environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate -
Install dependencies:
pip install -r requirements.txt
Dependencies
- PyQt6: GUI framework for nuescan
- pyserial: Serial communication for hardware interfaces
- pyvisa/pyvisa-py: VISA instrument control for oscilloscopes
- pyftdi: FTDI device support for laser and stage controllers
Usage
Refer to the README files in each subdirectory for specific usage instructions:
nuescan/README.md- Main application usagepymso/- Oscilloscope control examplespybbd202/README.md- Stage controller documentationpypewpewhops/README.md- Laser control documentation
License
Each module retains its original license. See individual subdirectories for license information.
Languages
Python
100%