Skip to content

Add Galvo/EzCad2 driver support#288

Open
knipknap wants to merge 1 commit into
mainfrom
feat/galvo-driver
Open

Add Galvo/EzCad2 driver support#288
knipknap wants to merge 1 commit into
mainfrom
feat/galvo-driver

Conversation

@knipknap

Copy link
Copy Markdown
Contributor

Implements support for EzCad2/LMC protocol used by galvo-based laser systems (e.g. AtomStack M4).

Includes:

  • Protocol layer: All EzCad2 command constants, packet structures, list/single command management
  • Controller: List building, initialization sequence, laser parameter management
  • Encoder: Converts Ops commands to EzCad2 binary protocol with coordinate/power/speed conversion
  • Driver: Full Driver ABC implementation with mm->galvo coordinate conversion
  • Mock: MockGalvoConnection for testing without hardware
  • USB: GalvoUSBConnection via pyusb (VID 0x9588/0x9899 and VID 0x1A86/0x5512)
  • 106 tests: Controller, encoder, driver, and mock connection tests

Closes #261.

Implements driver for EzCad2/LMC protocol used by galvo laser systems
(e.g. AtomStack M4). Includes:

- Full EzCad2 protocol constants and command structures
- GalvoController for list building, single commands, and init sequence
- GalvoEncoder to convert Ops to EzCad2 binary protocol
- GalvoDriver implementing the Driver ABC with coordinate conversion
- MockGalvoConnection for testing without hardware
- GalvoUSBConnection via pyusb (VID 0x9588/0x9899)
- 106 tests covering controller, encoder, driver, and mock

Closes #261
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Galvo support

1 participant