diff --git a/src/content/docs/filter-wheels/wanderer-astro/rasa-filtercube/rasa-filtercube.md b/src/content/docs/filter-wheels/wanderer-astro/rasa-filtercube/rasa-filtercube.md new file mode 100644 index 0000000..f455aa5 --- /dev/null +++ b/src/content/docs/filter-wheels/wanderer-astro/rasa-filtercube/rasa-filtercube.md @@ -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. diff --git a/src/content/docs/filter-wheels/wanderer-astro/rasa-filtercube/rasa-filtercube.webp b/src/content/docs/filter-wheels/wanderer-astro/rasa-filtercube/rasa-filtercube.webp new file mode 100644 index 0000000..f813c2a Binary files /dev/null and b/src/content/docs/filter-wheels/wanderer-astro/rasa-filtercube/rasa-filtercube.webp differ diff --git a/src/content/docs/filter-wheels/wanderer-astro/rasa-filtercube/rasa-filtercube.yaml b/src/content/docs/filter-wheels/wanderer-astro/rasa-filtercube/rasa-filtercube.yaml new file mode 100644 index 0000000..16858af --- /dev/null +++ b/src/content/docs/filter-wheels/wanderer-astro/rasa-filtercube/rasa-filtercube.yaml @@ -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 diff --git a/src/content/docs/filter-wheels/wanderer-astro/wanderer-snowflake/wanderer-snowflake.md b/src/content/docs/filter-wheels/wanderer-astro/wanderer-snowflake/wanderer-snowflake.md index 71559ef..f5be815 100644 --- a/src/content/docs/filter-wheels/wanderer-astro/wanderer-snowflake/wanderer-snowflake.md +++ b/src/content/docs/filter-wheels/wanderer-astro/wanderer-snowflake/wanderer-snowflake.md @@ -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 @@ -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 @@ -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 @@ -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. diff --git a/src/content/docs/filter-wheels/wanderer-astro/wanderer-snowflake/wanderer-snowflake.yaml b/src/content/docs/filter-wheels/wanderer-astro/wanderer-snowflake/wanderer-snowflake.yaml index 61be312..dbab0d1 100644 --- a/src/content/docs/filter-wheels/wanderer-astro/wanderer-snowflake/wanderer-snowflake.yaml +++ b/src/content/docs/filter-wheels/wanderer-astro/wanderer-snowflake/wanderer-snowflake.yaml @@ -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