graph LR
Toolhead["Toolhead"]
Kinematics["Kinematics"]
Heaters["Heaters"]
Fans["Fans"]
Probe["Probe"]
Bed_Mesh["Bed Mesh"]
TMC_Stepper_Drivers["TMC Stepper Drivers"]
TMC_Communication["TMC Communication"]
Toolhead -- "delegates movement calculations to" --> Kinematics
Toolhead -- "receives coordinate information from" --> Kinematics
Kinematics -- "relies on" --> TMC_Stepper_Drivers
Probe -- "controls movements through" --> Toolhead
Probe -- "provides Z-height data to" --> Bed_Mesh
Bed_Mesh -- "applies Z-compensation to movements managed by" --> Toolhead
Fans -- "provides cooling for" --> Heaters
Heaters -- "requires cooling from" --> Fans
TMC_Stepper_Drivers -- "utilizes" --> TMC_Communication
The core of the system revolves around the Toolhead, which orchestrates all printer movements by processing G-code commands and managing velocity/acceleration. It delegates complex movement calculations to Kinematics, which translates abstract coordinates into specific stepper motor positions. Kinematics in turn relies on TMC Stepper Drivers to control the physical motors, with TMC Communication handling the low-level interaction. The Probe component initiates movements via the Toolhead to gather Z-height data, which is then fed to Bed Mesh for real-time Z-axis compensation during printing. Separately, Heaters manage the temperature of heating elements, and Fans provide necessary cooling, with their operations often interdependent to maintain thermal stability.
The primary orchestrator for all printer movements. It manages velocity and acceleration limits, processes G-code commands related to motion, and maintains a look-ahead queue for smooth execution.
Related Classes/Methods:
Translates abstract Cartesian coordinates (X, Y, Z, E) into specific low-level stepper motor positions and movements tailored to the printer's mechanical configuration (e.g., Cartesian, Delta, CoreXY). It also handles homing procedures and checks for movement validity.
Related Classes/Methods:
Controls and monitors the temperature of heating elements (e.g., hotend, heated bed) using PID or Bang-Bang control algorithms, ensuring thermal stability.
Related Classes/Methods:
Manages the speed of cooling fans, crucial for part cooling and preventing heat creep in the hotend.
Related Classes/Methods:
Executes the bed probing process to determine bed irregularities and Z-offset. It performs probe movements, collects measurement data, and provides Z-height information.
Related Classes/Methods:
Applies real-time Z-axis compensation to printer movements based on a previously generated bed mesh profile, correcting for non-flat print surfaces.
Related Classes/Methods:
Provides a high-level interface for configuring and controlling Trinamic stepper motor drivers, including setting motor current, microstepping, and reading diagnostic information.
Related Classes/Methods:
Handles the low-level communication protocols (UART or SPI) for interacting directly with the Trinamic stepper motor drivers on the microcontroller.
Related Classes/Methods: