Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
title: Wanderer FilterCube
categories: ["filter-wheels"]
description: INDI driver for the Wanderer Astro FilterCube (RASA), a 5-position filter wheel for Celestron RASA11, RASA36 and other similar prime focus telescopes, with zero optical obstruction.
thumbnail: ./rasa-filtercube.webp
---

## Overview

The Wanderer FilterCube is a compact **5-position** electronic filter wheel designed for Celestron RASA11, RASA36 and other similar prime focus telescopes. Mounted at the prime focus, it introduces **zero optical obstruction** — light passes straight through with no vanes or secondary obstruction in the optical path, so it does not compromise the fast, wide-field performance these telescopes are built for. The device identifies itself on the bus as model **WFC50** and communicates via a USB-to-serial interface (CDC, CH340) using a simple numeric command protocol at **19200 baud, 8N1**.

Like other Wanderer Astro wheels, the device continuously streams its status over the serial port, with fields separated by the `A` character. The driver parses this stream to track the current position and to verify the model at connection time.

## Features

- **5 filter positions**
- **Zero optical obstruction** at the prime focus — no vanes or secondary in the optical path
- **Model & firmware display** — the model (`WFC50`) and firmware version are read at handshake and shown in the read-only *Device Info* property
- **Device ID read/write** (0–10, command `1900000` + id) — useful when running several wheels from the same host
- **Per-filter name read/write** — each position stores a **single letter** (B–Z = 2–26; command `(161 + slot) * 10000 + letter`)
- Continuous status stream parsed in real time — current position is always known
- **Strict model validation** — the driver only connects to a `WFC50`; any other device on the selected port is rejected
- **Firmware requirement** — firmware **≥ 20260312** is required; older firmware is rejected with an upgrade prompt

> [!NOTE]
> Unlike the Wanderer Snowflake, the FilterCube exposes **no** automatic-calibration and **no** zero-detection commands. It relies on its own mechanical reference and requires no calibration pass.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Display Names (Human-Friendly)
driver_name: Wanderer FilterCube
categories: ["filter-wheels"]
manufacturer_name: Wanderer Astro

# Additional Metadata
executable: indi_rasa_filtercube_wheel
platforms: Linux, mac
author: WandererAstro
version: 1.0
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,14 @@ The wheel communicates via a USB-to-serial interface (CDC) using a simple numeri

- Supports both WSFW368 (36 mm) and WSFW508 (50 mm) variants
- Up to **8 filter positions** per wheel
- **Strict model validation** — only a WSFW368 or WSFW508 is accepted; a different Wanderer Astro device on the selected port is rejected
- **Model & firmware display** — the model (WSFW368/WSFW508) and firmware version are read at handshake and shown in the read-only *Device Info* property
- **Automatic calibration** sent at every connection (mirrors the official Wanderer ASCOM driver behaviour)
- **Zero-position detection** (mechanical home to filter 1) accessible from the INDI control panel
- Per-filter **name** and **focus offset** storage on the device (configurable via the protocol)
- **Device ID read/write** (0–10) to distinguish several wheels on the same host
- Continuous status stream parsed in real time — current filter position is known at all times
- **Firmware requirement** — firmware ≥ **20260124** is required
- Full **simulation mode** for testing without physical hardware

## Requirements
Expand All @@ -41,12 +45,16 @@ The wheel communicates via a USB-to-serial interface (CDC) using a simple numeri
4. Click **Connect**.

On successful connection the driver will:
- Read the current filter position from the status stream and display it immediately.
- Verify the model is WSFW368 or WSFW508 and that the firmware is ≥ 20260124.
- Read the current filter position, per-filter names, focus offsets and device ID from the status stream.
- Populate the *Device Info* property with the model and firmware version.
- Send the **automatic calibration** command (`1500002`) so the next filter movement performs a self-calibration pass.

> **Note:** If the 12 V power supply is not connected the wheel will accept commands but will not move. The status stream will still be available.
> [!NOTE]
> If the 12 V power supply is not connected the wheel will accept commands but will not move. The status stream will still be available.

![INDI control panel – Main Control tab]
> [!IMPORTANT]
> If the wrong serial port is selected and the attached device is not a Snowflake (for example a Wanderer FilterCube or another Wanderer Astro device), the driver refuses to connect and reports a model mismatch instead of silently taking over the wrong device.

## Operation

Expand All @@ -56,9 +64,7 @@ Select the target filter in the **Filter Slot** field (1–8) or use the **Filte

### Filter names and offsets

Filter names and focus offsets can be set in the **Filter** tab of the Ekos equipment manager. Names are stored on the device (up to 26 characters, letters B–Z per position). Offsets are stored on the device as integer values (0–255).

![Ekos Filter Manager]
Filter names and focus offsets can be set in the **Filter** tab of the Ekos equipment manager. Each name is stored on the device as a **single letter** in the range **B–Z** (letter `A` is reserved by the protocol as the field delimiter). Invalid entries are rejected and the previous value is restored. Offsets are stored on the device as integer values (0–255).

### Calibration

Expand All @@ -76,12 +82,12 @@ Auto calibrate is also sent automatically at every connection, matching the beha

| Symptom | Likely cause | Fix |
|---------|-------------|-----|
| *Failed to read status* at connect | Wrong port or 12 V not connected | Check the port in the Connection tab; verify power |
| *Failed to read status* / model mismatch at connect | Wrong port, or a different Wanderer Astro device is attached | Select the correct serial port for the Snowflake |
| *Firmware is outdated* | Firmware < 20260124 | Update the firmware to the latest version |
| Wheel does not move | 12 V not connected | Connect the power supply |
| Filter position shown as wrong number after startup | Partial status frame received during resync | Disconnect and reconnect; the driver re-reads the status stream |
| *Timed out waiting for filter wheel to reach target* | Very slow move (calibration pass) or mechanical obstruction | Wait and retry; run **Zero detection** to home the wheel |

## Issues

- Filter name encoding uses letters B–Z only (letter A is reserved by the protocol). Names entered as "A" will be silently ignored by the device.
- The `pacman -Syu libindi` upgrade may overwrite `/usr/share/indi/drivers.xml`; re-run `deploy-wanderer-snowflake-system.sh` after any libindi upgrade.
- Filter names use a single letter (B–Z) per position. Letter `A` is reserved by the protocol as the field delimiter and is rejected; the previous value is restored.
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,6 @@ manufacturer_name: Wanderer Astro

# Additional Metadata
executable: indi_wanderer_snowflake_wheel
platforms: Linux, mac
Author: Jérémie Klein (https://github.com/grm)
version: 1.0
Loading