Skip to content

Add commander-style Moonraker UI for ARA6D control - #5

Open
Patvscode wants to merge 1 commit into
mainfrom
codex/integrate-ara6d-with-pat-s-software
Open

Add commander-style Moonraker UI for ARA6D control#5
Patvscode wants to merge 1 commit into
mainfrom
codex/integrate-ara6d-with-pat-s-software

Conversation

@Patvscode

Copy link
Copy Markdown
Owner

Motivation

  • Provide a commander-like desktop UI that works with the ARA6D stack (Moonraker/Klipper + AS5600 encoders) instead of the PAROL6 control board.
  • Keep a familiar operator UX (joint/cartesian jogging, macros, telemetry) while using G-code/Moonraker as the motion interface.
  • Make encoder feedback usable by the UI via a serial reader for AS5600/ESP32 streams.

Description

  • Replace the prototype desktop_app/main.py with a new CommanderApp implementation that includes MoonrakerClient, EncoderReader, and a Tk ttk UI for joint/cart jogs, macros, custom G-code send, and encoder display.
  • Implement config load/save via desktop_app/config.json and use templated jog macros such as JOINT_JOG J={joint} D={delta} F={feedrate} and CART_JOG X={x} ... to translate UI actions into Moonraker G-code calls.
  • Add a serial EncoderReader thread to parse simple text/JSON encoder lines and surface joint values in the UI, and add pyserial to desktop_app/requirements.txt.
  • Provide helper methods MoonrakerClient.send_gcode and get_printer_info, plus UI controls for connecting, saving settings, and restarting encoder reading.

Testing

  • No automated tests were executed for this change (GUI application); the patch was added and committed but no CI/unit tests were run.
  • Basic runtime inspection (file presence and importable dependencies) was performed during development but no end-to-end execution against Moonraker or physical encoders was run.
  • Manual verification of source layout and configuration file creation was performed by the change process (no pass/fail status to report).
  • Recommend running the GUI (python3 desktop_app/main.py) and connecting to a test Moonraker instance and optional encoder serial stream for functional verification.

Codex Task

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant