Skip to content

Releases: bartei/rotary-controller-python

v1.3.0-rc.21

05 Apr 21:34

Choose a tag to compare

v1.3.0-rc.21 Pre-release
Pre-release

v1.3.0-rc.21 (2026-04-05)

This release is published under the MIT License.

Bug Fixes

  • Wizard button not hidden on startup when show_wizard is off (cb30470)

Detailed Changes: v1.3.0-rc.20...v1.3.0-rc.21

v1.3.0-rc.20

05 Apr 21:26

Choose a tag to compare

v1.3.0-rc.20 Pre-release
Pre-release

v1.3.0-rc.20 (2026-04-05)

This release is published under the MIT License.

Features

  • Optional speed display and wizard button (based on PR #45) (dda3be1)

Detailed Changes: v1.3.0-rc.19...v1.3.0-rc.20

v1.3.0-rc.19

05 Apr 21:16

Choose a tag to compare

v1.3.0-rc.19 Pre-release
Pre-release

v1.3.0-rc.19 (2026-04-05)

This release is published under the MIT License.

Features

  • Index speed control, keypad validation, RST help, pinch zoom, speed units, serial resilience (b4e1cfe)

Detailed Changes: v1.3.0-rc.18...v1.3.0-rc.19

v1.3.0

23 Mar 00:05

Choose a tag to compare

RCP v1.3.0 Release Notes

Overview

v1.3.0 is a major update to the Rotary Controller Python (RCP) application, delivering a refactored architecture, improved usability, better performance, and broader platform support. This release includes over 200 files changed across 58 commits since v1.2.8.


Highlights

Axis Combination System

The new axis system decouples the UI from raw encoder inputs. Axes are now defined independently from physical inputs, allowing flexible configurations:

  • Identity axes map 1:1 to a single encoder input (standard use case)
  • Sum axes combine two encoder inputs into a single displayed value (e.g., compound slide calculations)
  • Axis configurations are persisted to individual YAML files and survive reboots
  • Migration from the previous CoordBar-based configuration happens automatically on first boot

ELS Mode Enhancements

  • Dedicated ELS setup screen for assigning spindle, Z-axis, and X-axis roles
  • Spindle axis selection is now persisted and restored correctly across reboots
  • Degrees symbol (°) is now used consistently throughout the UI instead of mixed "deg" text

Performance Optimizations

  • UI refresh rate improvements — reduced unnecessary Kivy property dispatches by only updating StringProperty values when the formatted text actually changes, avoiding costly texture regeneration on every tick
  • BaseDevice sub-instance caching — sub-device instances created during set_fast_data() are now cached, eliminating ~82 redundant C typedef parse operations per refresh cycle
  • Profiling panel — new built-in profiling screen under Setup for monitoring frame times and update performance directly on the device
  • Configurable mouse pointer — option to hide the mouse cursor for touchscreen-only setups

Communication Reliability

  • Throttled reconnection — when the serial device is not responding, the polling interval drops from 30 Hz to 1 Hz, eliminating log spam and reducing CPU usage. Normal refresh rate is restored automatically when communication resumes
  • Centralized connection state — connection status is now managed exclusively by the board update loop, preventing conflicting state changes from individual read/write functions
  • Single error logging — repeated communication errors are logged only once until the error condition changes

DRO Display

  • Auto-sizing text — the new AutoSizeButton widget automatically scales the font size down when the position value would overflow the available width, preventing text wrapping on smaller screens or when displaying long values
  • Measurement units — position and speed values now display their units (mm, in, M/min, RPM) directly alongside the value
  • Mode persistence — the selected DRO mode (IDX/ELS/JOG/DRO) is now correctly reflected in the toolbar button on startup

Setup Pages

  • Configurable font size — the font size setting under Formats now applies only to setup page labels and form fields, not the entire application
  • Dropdown styling — dropdown option buttons now have a distinct blue color with a dark backdrop for better visibility
  • Help system — setup fields now include help buttons linking to detailed documentation pages

Log Viewer

  • Log files can now be browsed and viewed directly from the device on any platform, not just Raspberry Pi
  • Log viewing uses a dedicated full screen instead of an inline panel, resolving OpenGL rendering issues on the Pi
  • The log directory is automatically detected based on the Kivy configuration

System Management

  • Reboot button — added to the system page for convenient device restarts
  • Partition resizing — ability to expand the root partition to use all available storage (Raspberry Pi only)
  • Update screen fix — release list now correctly shows official releases regardless of how many pre-releases exist

Numeric Keypad

  • OLD button — new button on the value display row loads the previous value for editing, making it easy to adjust an existing value rather than typing from scratch
  • Long-press undo — zero operations now support long-press on the Zero button to undo

Other Improvements

  • Font picker for selecting the DRO display font
  • Improved project structure with cleaner screen management and component organization
  • Better exception handling with specific exception types and proper traceback logging
  • Updated dependencies

Breaking Changes

  • Axis configuration files have changed format. Migration from the v1.2.x CoordBar format is automatic on first boot. There is no downgrade path back to v1.2.x axis configs.

Upgrading

Update from the device's Setup > Update screen, or manually:

cd /rotary-controller-python
git fetch --all --tags
git checkout tags/v1.3.0
pip install .
sudo reboot

v1.3.0-rc.18

21 Mar 17:42

Choose a tag to compare

v1.3.0-rc.18 Pre-release
Pre-release

v1.3.0-rc.18 (2026-03-21)

This release is published under the MIT License.

Bug Fixes

  • Auto-size DRO position text and open logs in dedicated screen (2370813)

Detailed Changes: v1.3.0-rc.17...v1.3.0-rc.18

v1.3.0-rc.17

21 Mar 17:13

Choose a tag to compare

v1.3.0-rc.17 Pre-release
Pre-release

v1.3.0-rc.17 (2026-03-21)

This release is published under the MIT License.


Detailed Changes: v1.3.0-rc.16...v1.3.0-rc.17

v1.3.0-rc.16

21 Mar 16:56

Choose a tag to compare

v1.3.0-rc.16 Pre-release
Pre-release

v1.3.0-rc.16 (2026-03-21)

This release is published under the MIT License.


Detailed Changes: v1.3.0-rc.15...v1.3.0-rc.16

v1.3.0-rc.15

21 Mar 16:51

Choose a tag to compare

v1.3.0-rc.15 Pre-release
Pre-release

v1.3.0-rc.15 (2026-03-21)

This release is published under the MIT License.


Detailed Changes: v1.3.0-rc.14...v1.3.0-rc.15

v1.2.8

01 Nov 00:03

Choose a tag to compare

v1.2.8 (2025-11-01)

This release is published under the MIT License.


Detailed Changes: v1.2.7...v1.2.8

v1.2.7

31 Oct 23:57

Choose a tag to compare

v1.2.7 (2025-10-31)

This release is published under the MIT License.


Detailed Changes: v1.2.6...v1.2.7