Filter wheel
A filter wheel selects which optical filter sits in front of the camera for an exposure. SkyNode treats filter wheels as independently-controlled devices that the optical imaging task executor commands between exposures.
Config shape
{
"device_type": "filter_wheel",
"driver": "ascom" | "maxim" | "simulator",
"driver_configs": {
"ascom": { /* see below */ },
"maxim": { /* see below */ },
"simulator": { /* see below */ }
}
}
The slot-to-filter mapping is not in the device config — it's
managed centrally on the hub (FilterWheelPosition records linking
filter wheel slots to Filter records). The task executor uses that
mapping to pick the correct slot for a request's selected filter.
Drivers
ascom — production
For any ASCOM-conformant filter wheel on Windows.
"ascom": {
"prog_id": "ASCOM.FLI.FilterWheel"
}
| Key | Meaning |
|---|---|
prog_id |
ASCOM ProgID of the filter wheel driver. Examples: ASCOM.FLI.FilterWheel, ASCOM.QHYCFW.FilterWheel, ASCOM.Simulator.FilterWheel |
maxim — production
For MaxIm DL-driven cameras that include the filter wheel as a sibling device. SkyNode commands the filter wheel through MaxIm's COM API.
"maxim": {
"move_timeout_sec": 60.0,
"poll_interval_sec": 0.5
}
| Key | Meaning |
|---|---|
move_timeout_sec |
How long SkyNode waits for a filter-wheel move to complete before marking it stalled. Default 60 seconds; raise for big filter wheels with long mechanical settles |
poll_interval_sec |
How often SkyNode checks MaxIm for move completion. Default 0.5 seconds |
Notes:
- The MaxIm filter wheel driver is paired with the MaxIm camera driver. Both bind to the same MaxIm process.
simulator — testing only
Paper filter wheel. Moves to any slot instantly and reports success.
"simulator": {}
Troubleshooting
- "Filter changes don't happen between exposures." The task executor only commands filter changes when an exposure specifies a different filter. Verify with the camera dashboard control panel — manually select filters and confirm the wheel responds.
- "Wheel reports the wrong filter." The slot-to-filter mapping
on the hub (
FilterWheelPositionrecords) is out of sync with the physical wheel. Update through the telescope settings page in the web app. - "Wheel takes forever to settle." Some wheels report
"complete" before mechanical settling. If you see image
vignetting or filter-misalignment artifacts, the
move_timeout_secisn't the issue — you need a filter-driver setting (in the ASCOM or MaxIm app) that holds the move- complete signal longer.