All notable changes to this project will be documented in this file.
- Play/Pause Button: Control execution flow without stopping.
- Scheduled Running Hours: Automate table operation.
- Adaptive clear: Select the appropriate clearing pattenr based on the starting coordinate
- Table Info on Serial Connection: Real-time metadata and status.
- Table Status API: Poll current status remotely.
- Firmware Versioning: Track and fetch firmware details.
- Quick Fixes: Stability and performance improvements.
- Firmware Updater (#34): Version tracking, remote flashing, and bug fixes.
- UI/UX Enhancements: Improved "Currently Playing," settings overlay, and styling.
- Software Updates: Enhanced updater, dependency installation via
DockerFile
. - Performance: Better serial locking, retry logic, and pattern execution handling.
- ESP32_TMC2209 Support: Added firmware flashing.
- Thokoop (GitHub)
- Fabio De Simone (https://github.com/ProtoxiDe22)
Massive thanks to Thokoop for helping us redesigning the UI just within a few days! The new design looks gorgeous on both PC and mobile.
- Added UI selection mode for single pattern run, create a playlist, and run a playlist. The UI is work in progress and will be changed in the near future.
- Created playlist will be saved as a JSON file on disk. There are options to:
- Run the playlist once or on an indefinite loop
- Shuffle the playlist
- Add a clear pattern between files that will run immmidiately before each pattern. If you would like to customize the clear pattern, select None here and add clear patterns manually.
- Add a pause time (in second) between each pattern.
- Added support for Spirograph mode for the arduino with DRV8825 or TMC2209 motor drivers
- Can be used if optional hardware (two potentiometers and a button) is connected.
- Fixed a bug that created conflicting threads, leading to serial errors
- Fixed a bug that caused the speed setting functionality to not work
- Fixed a bug that caused the ball to move in slightly when a pattern starts at the perimeter and theta != 0
- Patterns with theta does not start with 0 will behave abnormally. To get around this, be sure to select start from center or perimeter when creating your pattern in sandify.org.
- Auto-connect Serial Connection when app is started
- Automatically selected the first available serial port if none was specified.
- Added Footer with:
- Links to github
- Toggle button to show/hide the debug log
- Improved UI
- Certain buttons are now only visible when it's applicable for the current state.
- Moved Stop button and Speed input to Quick Actions**
- Pattern file prioritization:
- Updated the
/list_theta_rho_files
endpoint to:- Only display files with the
.thr
extension. - Include
custom_patterns/default_pattern.thr
at the top of the list if it exists. - Prioritize files in the
custom_patterns/
folder over other files.
- Only display files with the
- Updated the
- Initial implementation of the Flask application to control the Dune Weaver sand table.
- Added core functionality for:
- Serial port connection and management.
- Parsing
.thr
files (theta-rho format). - Executing patterns via Arduino.
- Basic Flask endpoints for listing, uploading, and running
.thr
files.