Hardware v3
Summary
Updated for v3 hardware version and improved WebUI.
Gerbers and BOM are included for ordering from JLCPCB.
Note this hardware version assumes a 44-pin ESP32 S3 DevKit. Refer to pinout included with schematics for details.
Improved ASCOM Alpaca compliance for dome/shutter error reporting. The controller now properly reports failures to ASCOM clients when the roof fails to move.
Changes
ASCOM Compliance
- Slewing property now raises an exception (error 0x500) when in error state, per ASCOM specification
- ShutterStatus correctly returns shutterError (4) and remains in error state until cleared
- Added roofErrorReason for descriptive error messages returned to clients
Error Detection
- Immediate error on start failure: If the source limit switch is still triggered after limitSwitchTimeout (default 5s), an error is raised immediately
- Movement timeout error: If the roof starts moving but doesn't reach the destination within movementTimeout (default 90s), an error is raised
- Both timeouts remain configurable via the web UI
Error State Handling
- Error state is now "sticky" - won't auto-clear when limit switches are polled
- Fixed race condition where clients could see Slewing=false instead of an exception during timeout
- Added clearRoofError() function for explicit error recovery
Web UI
- Added "Clear Error" button (appears only when in error state)
- Button clears the error and re-checks limit switches to determine current position