Files
scanengine-3/HELIOS_TEST_README.md
T
2026-07-28 09:20:58 -05:00

4.6 KiB
Executable File

Helios Laser Test Application

A simple PyQt6 GUI application for testing and controlling the Helios pulsed laser system.

Features

  • Connection Management: Connect/disconnect to the laser via RS-232 serial port
  • Frequency Control: Set and query laser pulse frequency (16,700 - 125,000 Hz)
  • Current Control: Set and query pump diode current (0 - 7,000 mA)
  • Pulse Mode: Select from three pulse modes:
    • Single Pulse
    • Continuous Gating
    • Continuous Pulsing
  • Laser Enable/Disable: Control laser emission with dedicated buttons
  • System Information: Query and display controller and head serial numbers
  • Power Monitoring: Query and display output power in mW
  • Message Log: Real-time log of operations and responses

Usage

Starting the Application

/opt/scanengine-3/run_helios_test.sh

Or directly:

source /opt/srasenv/bin/activate
cd /opt/scanengine-3
python3 helios_test_app.py

Connection

  1. Select Serial Port: Choose the appropriate serial port from the dropdown (e.g., /dev/ttyUSB0)
  2. Refresh Ports: Click "Refresh Ports" to update the list of available ports
  3. Connect: Click "Connect" to establish connection with the laser
  4. Once connected, the status will show "Connected to [port]" in green

Control Tab

Frequency Control

  • Enter desired frequency (16,700 - 125,000 Hz)
  • Click Set Frequency to apply the setting
  • Click Query to read the current frequency from the laser

Current Control

  • Enter desired pump diode current (0 - 7,000 mA)
  • Click Set Current to apply the setting
  • Click Query to read the current from the laser

Pulse Mode Control

  • Select desired pulse mode from dropdown
  • Click Set Mode to apply the setting

Laser Control

  • Enable Laser: Starts laser emission
  • Disable Laser: Stops laser emission
  • Query Status: Checks if laser is currently enabled/disabled

Monitor Tab

System Information

  • Query All: Queries all available parameters from the laser
  • Controller SN: Displays controller serial number
  • Head SN: Displays laser head serial number

Power Monitoring

  • Query Power: Reads output power in mW

Messages

  • Real-time log of all operations and responses
  • Useful for debugging and verifying commands

RS-232 Communication Settings

The driver uses the following settings (automatic, no configuration needed):

  • Baud Rate: 9600
  • Data Bits: 8
  • Parity: None
  • Stop Bits: 1
  • Flow Control: None
  • Timeout: 1 second

Command Reference

The application uses the following Helios commands:

Command Function Range
FP=value Set frequency period (ns) 8,000 - 60,000
FP? Query frequency period -
PC=value Set pump current (mA) 0 - 7,000
PC? Query pump current -
PM=value Set pulse mode (0-2) 0=Single, 1=Gate, 2=Continuous
LE=value Set laser enable (0/1) 0=Off, 1=On
LE? Query laser enable status -
PO? Query output power (mW) -
SN? Query controller serial -
HSN? Query head serial -

Safety Notes

⚠️ IMPORTANT: Please follow these safety precautions when using the laser:

  1. Door Switch: Ensure the laser enclosure door switch is closed during operation
  2. Laser Disable Pin: The laser disable pin (pin 3) must be properly connected
  3. Residual Emission: The laser may emit when the door switch is open - always treat it as potentially dangerous
  4. Start Low: When setting current, start at lower values and increase gradually
  5. Monitor Power: Use the "Query Power" function to verify safe output levels

Troubleshooting

Cannot Connect

  • Verify the correct serial port is selected
  • Check that the USB-to-RS-232 adapter is properly connected
  • Ensure no other application is using the same port
  • Try clicking "Refresh Ports" to update the list

Commands Not Working

  • Verify the laser is connected (status shows green)
  • Check that the laser is not in error state
  • Review the message log for error details

Serial Numbers Not Showing

  • The laser may not respond if not properly powered
  • Check the serial connection
  • Try the "Query All" button to get diagnostic information

Files

  • helios_test_app.py - Main application
  • run_helios_test.sh - Launcher script
  • hardware/helios_laser.py - Helios driver
  • docs/protocols/helios_comms_protocol.pdf - Official Helios documentation

Requirements

  • Python 3.8+
  • PyQt6
  • pyserial
  • Helios laser with RS-232 interface
  • USB-to-RS-232 adapter (if using modern computer)