You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Update CLAUDE.md with additional development guidance
- Add command for running specific tests interactively
- List available test set names
- Document HDF5 data persistence (save_h5, export_state)
- Add MCL NanoDrive and LibSerialPort to C library bindings
- Document work-in-progress modules (Triggerscope, MCLMicroPositioner)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
-`export_state(device)` - returns `(attributes::Dict, data, children::Dict)` for HDF5 serialization
48
51
49
52
Interfaces define method signatures with `@error "not implemented"` stubs. Implementations provide concrete methods that dispatch on the device type.
50
53
54
+
### Data Persistence
55
+
56
+
`h5_file_saving.jl` provides `save_h5(filename, device)` and `save_attributes_and_data(group, device)` for saving device state to HDF5 files using the `export_state` tuple format.
57
+
51
58
### Adding New Hardware
52
59
53
60
1. Create directory under `hardware_implementations/your_device/`
@@ -77,3 +84,11 @@ Hardware implementations use `ccall` for vendor SDKs:
77
84
-`pi_n472/functions_GCS2.jl` - PI GCS2 protocol
78
85
-`tcube_laser/tcubeapi.jl` - Thorlabs TCube
79
86
-`ok_xem/functions_okFP.jl` - Opal Kelly FrontPanel
87
+
-`mcl_stage/*.jl` - Mad City Labs NanoDrive
88
+
- Serial devices (CrystaLaser, Vortran, Triggerscope) use `LibSerialPort`
89
+
90
+
### Work in Progress
91
+
92
+
Some hardware modules are commented out in `MicroscopeControl.jl` while under development:
0 commit comments