Skip to content

feat(dm): implement DM safety clamping and park fallback (Fixes #95) - #100

Open
SriRamkunamsetty wants to merge 1 commit into
PxA-Labs:mainfrom
SriRamkunamsetty:feat/dm-safety-clamping-and-park
Open

SriRamkunamsetty wants to merge 1 commit into
PxA-Labs:mainfrom
SriRamkunamsetty:feat/dm-safety-clamping-and-park

Conversation

@SriRamkunamsetty

Copy link
Copy Markdown

Summary

Fixes #95

This PR introduces a hardware safety layer for the Deformable Mirror (DM) command path to protect mirror hardware from out-of-range commands during degraded seeing, scintillation, or centroiding instability:

  1. Stroke Clamping: Clamps actuator command strokes to ±v_max (\dm_max_stroke) across all command generation paths (stream processing, closed-loop accumulator, and direct API). Disabled by default (\

…abs#95)

- Clamping of actuator stroke commands to ±dm_max_stroke
- Automatic mirror park (rippra_dm_park) when saturation exceeds dm_park_threshold
- Integration across stream path, closed loop accumulator, and public API
- Configuration plumbing in system.conf, default.yaml, io.h, and rippra_api.h
- Unit test suite test_dm_safety.c registered in CMakeLists.txt
- PyTorch dependency isolation in train_sequence.py and test_split_leakage.py
- Documentation in algorithms.md and CHANGELOG.md
Copilot AI lite review requested due to automatic review settings September 4, 2026 09:17

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: DM safety clamping + park (protect mirror hardware from out-of-range commands)

2 participants