Software Progress¶
UPDATES
This page will be actively updated as software is developed.
For the basic functionality of the project, the following functional code components are planned:
Motion Control¶
Responsible for interfacing with the motor driver chip and its movement.
- TMC2209 UART driver control library
- ✅ Interface with TMC2209 registers, read and write via UART
- Library optimization for peripheral operations without MCU overhead
- Hardware CRC computation support for faster operation
- Direct peripheral interfacing
- Buffer for 4 commands for efficient parameter updates
- Periodic calculation of the function [delta steps / dt] from t based on given parameters:
- Target displacement
- Specified or maximum speed
- Specified or maximum acceleration
- Specified or maximum jerk
- Different motion patterns algorithms
- Triangle motion ramp
- Trapezoidal motion ramp
- S-Shaped motion ramp
- Constant speed motion
Position Supervisor¶
- TLE5012 SPI encoder library
- Interfacing with registers via SPI
- Detection of successful initialization and configuration
- Absolute coordinates controller
- Periodic absolute position updates at a specified frequency
- Setting, offsetting, or resetting the coordinate system's zero
- Stepper motor position controller
- Calculation and adjustment of motor position during its movement
- Position error detector
- Comparing the difference between the motor's physical and theoretical positions
- Error occurrence action handler
Error-Recovery¶
Handles system error compensation algorithms.
- Simple position error notification to the higher-level controller in the hierarchy
- Rollback and execution of the last error-causing command
- Active PID compensation (?)
Motion Planner¶
Responsible for converting abstract commands into a standard format for the Motion Control algorithm.
- G-Code overlay
- Klipper overlay (?)
- Step-Dir interface handling
- Custom overlays for UART/I2C/CAN-Bus
System Parameters Control¶
Ensures safe system operation and error detection.
- Operating voltage
- Overheat prevention
- Interface error prevention
- Motor connection detection
- Encoder magnet presence check
Additional Algorithms¶
- Sensorless parking
- Workspace auto-detection
- IMU data handler
- PowerDelivery UCPD controller
- RTC and stand-alone operation systems