Skip to content

Add Wanderer ETA M54 Electronic Tilt Adjuster driver#2386

Merged
knro merged 1 commit intoindilib:masterfrom
cfuture81:wanderer-eta-driver
May 7, 2026
Merged

Add Wanderer ETA M54 Electronic Tilt Adjuster driver#2386
knro merged 1 commit intoindilib:masterfrom
cfuture81:wanderer-eta-driver

Conversation

@cfuture81
Copy link
Copy Markdown
Contributor

@cfuture81 cfuture81 commented May 6, 2026

Summary

New INDI driver for the WandererAstro ETA M54 Electronic Tilt Adjuster — a 3-point motorized tilt adjustment device for optical train collimation.

Features

  • 3 independent motor position controls (0.000–1.200mm range, 0.001mm step)
  • Real-time encoder position readback (read-only)
  • Zero All function to return all motors to home position
  • Half-duplex serial protocol handling (CH340 USB-serial, 19200 baud)
  • Config save/restore without triggering motor moves on reconnect
  • Position verification via continuous status stream polling

Hardware Protocol

  • USB serial via CH340, 19200 baud, \n terminated
  • Commands: 1<pos>\n, 2<pos>\n, 3<pos>\n (e.g. 10.500\n moves point 1 to 0.5mm)
  • Status stream: WandererTilterM54A<firmware>A<p1>A<p2>A<p3>A\n (continuous, ~1Hz)
  • Device is effectively half-duplex: cannot process commands while transmitting status

Implementation Notes

  • m_SendingCommand flag blocks status polling during command sequences
  • Each command: tcflush(TCIOFLUSH) + 100ms pause + write + tcdrain
  • waitForPosition() reads status stream until readback matches target (±0.005mm, 15s timeout)
  • m_Initializing flag prevents config-load from triggering motor moves on connect (cleared on first TimerHit)

Files

  • drivers/auxiliary/wanderer_eta.cpp — driver implementation
  • drivers/auxiliary/wanderer_eta.h — header
  • drivers/auxiliary/CMakeLists.txt — build target added
  • drivers.xml — device registration
  • drivers/auxiliary/doc/wanderer_eta/README.md — testing guide

Testing

Tested with firmware version 20251123 on Ubuntu (KStars Remote mode, localhost:7624). All three motors move correctly, readback updates in real-time, config save/restore works without unintended motor movement.

Screenshot

image

@knro
Copy link
Copy Markdown
Contributor

knro commented May 7, 2026

Great work @cfuture81 , can you please submit the Driver's Documentat as well since it is required for all new drivers?

cfuture81 pushed a commit to cfuture81/drivers-docs that referenced this pull request May 7, 2026
Documentation for the WandererAstro ETA M54 Electronic Tilt Adjuster
INDI driver, including connection guide, operation instructions,
troubleshooting, and hardware specifications.

Companion to: indilib/indi#2386
cfuture81 pushed a commit to cfuture81/drivers-docs that referenced this pull request May 7, 2026
Documentation for the WandererAstro ETA M54 Electronic Tilt Adjuster
INDI driver, including connection guide, operation instructions,
troubleshooting, and hardware specifications.

Companion to: indilib/indi#2386
New INDI driver for the WandererAstro ETA M54 3-point electronic tilt
adjuster. Features:

- 3 independent motor position controls (0.000-1.200mm each)
- Real-time encoder position readback
- Zero All function to return all motors to home
- Half-duplex serial protocol handling (CH340, 19200 baud)
- Config save/restore without triggering motor moves on connect
- Position verification via status stream polling
@cfuture81 cfuture81 force-pushed the wanderer-eta-driver branch from 65f81bb to e5a9238 Compare May 7, 2026 12:27
cfuture81 pushed a commit to cfuture81/drivers-docs that referenced this pull request May 7, 2026
Documentation for the WandererAstro ETA M54 Electronic Tilt Adjuster
INDI driver, including connection guide, operation instructions,
troubleshooting, and hardware specifications.

Companion to: indilib/indi#2386
@cfuture81
Copy link
Copy Markdown
Contributor Author

cfuture81 commented May 7, 2026

Great work @cfuture81 , can you please submit the Driver's Documentat as well since it is required for all new drivers?

@knro thank you. its created now:
indilib/drivers-docs#22

@knro knro merged commit 6d65684 into indilib:master May 7, 2026
10 checks passed
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.

2 participants