cal-hardware
This crate provides the hardware abstraction and synchronization logic for Computed Axial Lithography (CAL) systems.
Purpose
The success of CAL depends on the precise synchronization between the pre-optimized light projections and the physical rotation of the resin-filled carousel. This crate handles:
- Motor Control: Abstraction for rotation stages (e.g., Thorlabs APT stages).
- Reactive Synchronization: High-frequency polling of the motor's angular position to select the correct projection frame.
- Low-Latency Display: A
wgpu-based window for presenting optimized projections to the printer's projector.
Features
- Thorlabs Motor Support: Scaffolding for communication with APT-compatible stages via
serialport. - Mock Motor: A virtual motor implementation for testing the full software pipeline without physical hardware.
- GPU Projection Window: Frame-accurate display using textures and
wgputo ensure minimal jitter during printing.
Usage
use ;
let motor = new;
let mut controller = new;
// Start the sync loop (usually runs in a dedicated thread or winit event loop)
controller.run_sync_loop.unwrap;