How bigtreetech/bigtreetech_mms works
BIGTREETECH MMS is a Klipper-based multi-material filament system, with a KlipperScreen interface and a Moonraker component. The principal workflow is slot selection and status display in KlipperScreen, through its MMS controller, to Klipper commands and the system’s slot, motion, and swap logic. The map also includes configuration, printer adapters, hardware, and the documented UI panels. Some subsystem links are omitted or marked unverified because the available excerpts do not show their runtime wiring.
Main entry points: mms/mms.py MMS Command Core · controllers/mms.py MMS Controller · main.py Main Panel · adapters Klipper Adapters
Components 25
KlipperScreen UI
- Main Panel
KlipperScreen/vivid/panels/main.py - Preprint Panel
KlipperScreen/vivid/panels/preprint.py - Slot Panel
KlipperScreen/vivid/panels/slot.py - MMS Controller
KlipperScreen/vivid/controllers/mms.py - Screen Config
KlipperScreen/vivid/config/manager.py - Config Values
KlipperScreen/vivid/config/vivid_config.py - UI Widgets
KlipperScreen/vivid/components
Klipper MMS
- MMS Command Core
klippy/extras/mms/mms.py - MMS Config
klippy/extras/mms/core/config.py - Async Tasks
klippy/extras/mms/core/task.py
Filament Operations
- Filament Delivery
klippy/extras/mms/motion/delivery.py - Filament Swap
klippy/extras/mms/swap/swap.py - Filament Charging
klippy/extras/mms/swap/charge.py - Filament Purging
klippy/extras/mms/swap/purge.py - Endless Spool
klippy/extras/mms/motion/endless_spool.py - Pause and Resume
klippy/extras/mms/motion/pause.py
Printer Integration
- Klipper Adapters
klippy/extras/mms/adapters - Moonraker MMS Server
moonraker/components/mms_server.py
Hardware and State
- Slot Model
klippy/extras/mms/core/slot.py - Buffer Management
klippy/extras/mms/core/buffer.py - Slot Pin Sensors
klippy/extras/mms/core/slot_pin.py - Button Hardware
klippy/extras/mms/hardware/button.py - Stepper Hardware
klippy/extras/mms/hardware/stepper.py
Other components
- Printer Operator
- Moonraker
Connections 28
- Printer Operator → Main Panel: operates
KlipperScreen/vivid/panels/main.py - Main Panel → MMS Controller: sends commands
KlipperScreen/vivid/panels/main.py - Preprint Panel → MMS Controller: uses controller
KlipperScreen/vivid/panels/preprint.py - Slot Panel → MMS Controller: uses controller
KlipperScreen/vivid/panels/slot.py - Main Panel → UI Widgets: renders with
KlipperScreen/vivid/panels/main.py - Preprint Panel → UI Widgets: renders with
KlipperScreen/vivid/panels/preprint.py - Slot Panel → UI Widgets: renders with
KlipperScreen/vivid/panels/slot.py - Main Panel → Screen Config: reads settings
KlipperScreen/vivid/panels/main.py - Screen Config → Config Values: loads values
KlipperScreen/vivid/config/manager.py - MMS Controller → Moonraker: requests status
KlipperScreen/vivid/controllers/mms.py - MMS Controller → MMS Command Core: sends Klipper commands
- MMS Command Core → MMS Config: reads configuration
klippy/extras/mms/mms.py - MMS Command Core → Slot Model: manages slots
klippy/extras/mms/mms.py - MMS Command Core → Buffer Management: uses buffer
klippy/extras/mms/mms.py - MMS Command Core → Async Tasks: schedules work
klippy/extras/mms/mms.py - MMS Command Core → Filament Delivery: dispatches delivery
klippy/extras/mms/mms.py - MMS Command Core → Endless Spool: configures spool handling
klippy/extras/mms/mms.py - MMS Command Core → Pause and Resume: uses pause handling
klippy/extras/mms/mms.py - Slot Model → Slot Pin Sensors: uses pin state
klippy/extras/mms/core/slot.py - Slot Pin Sensors → Button Hardware: registers callbacks
klippy/extras/mms/core/slot_pin.py - MMS Command Core → Stepper Hardware: uses stepper
klippy/extras/mms/mms.py - MMS Command Core → Klipper Adapters: uses printer adapters
klippy/extras/mms/mms.py - Filament Delivery → Klipper Adapters: uses printer adapters
klippy/extras/mms/motion/delivery.py - Filament Charging → Klipper Adapters: uses printer adapters
klippy/extras/mms/swap/charge.py - Filament Purging → Klipper Adapters: uses printer adapters
klippy/extras/mms/swap/purge.py - MMS Command Core → Filament Charging: dispatches charging
- MMS Command Core → Filament Swap: dispatches swaps
- Moonraker → Moonraker MMS Server: hosts component