|
Prusa-MMU-Private
PrusaMultiMaterialUpgradev3firmwareforMK3SMK4
|


Go to the source code of this file.
Namespaces | |
| config | |
| Define Debug mode to add additional serial output. | |
Variables | |
| static constexpr const uint8_t | config::toolCount = 5U |
| static constexpr const uint16_t | config::fsensorDebounceMs = 2 |
| static constexpr uint16_t | config::ledBlinkPeriodMs = 1024U |
| static constexpr const uint16_t | config::findaDebounceMs = 100 |
| static constexpr const uint8_t | config::buttonCount = 3 |
| number of buttons currently supported | |
| static constexpr const uint16_t | config::buttonsDebounceMs = 20 |
| tuned with a pack of highly trained monkeys :) | |
| static constexpr const uint16_t | config::buttonADCLimits [buttonCount][2] = { { 0, 50 }, { 80, 100 }, { 160, 180 } } |
| static constexpr const uint16_t | config::buttonADCMaxValue = 1023 |
| used in unit tests | |
| static constexpr const uint8_t | config::buttonsADCIndex = 5 |
| ADC index of buttons input. | |
| static constexpr const uint8_t | config::VCCADCIndex = 30 |
| ADC index of scaled VCC input. | |
| static constexpr const uint16_t | config::VCCADCThreshold = 274 |
| static constexpr const uint8_t | config::VCCADCReadCnt = 10 |
| Number of ADC reads to perform, only the last one being used. More... | |
| static constexpr uint8_t | config::dropSegments = 0 |
| Do not plan moves equal or shorter than the requested steps. | |
| static constexpr uint16_t | config::maxStepFrequency = 40000 |
| Max step frequency 40KHz. | |
| static constexpr uint16_t | config::minStepRate = 120 |
| Minimum stepping rate 120Hz. | |
| static constexpr uint8_t | config::blockBufferSize = 4 |
| Size for the motion planner block buffer size. | |
| static constexpr uint8_t | config::stepTimerFrequencyDivider = 8 |
| Step timer frequency divider (F = F_CPU / divider) | |
| static constexpr uint16_t | config::stepTimerQuantum = 256 |
| static constexpr uint8_t | config::feedToBondtechMaxRetries = 2 |
| Max retries of FeedToBondtech used in LoadFilament. | |
| static constexpr U_mm | config::pulleyToCuttingEdge = 33.0_mm |
| Distances. | |
| static constexpr U_mm | config::filamentMinLoadedToMMU = 20.0_mm |
| static constexpr U_mm | config::ejectFromCuttingEdge = 40.0_mm |
| Limit of retraction. | |
| static constexpr U_mm | config::cuttingEdgeRetract = 5.0_mm |
| Eject should ignore FilamentMinLoadedToMMU and retract. | |
| static constexpr U_mm | config::cuttingEdgeToFinda = 18.5_mm |
| Cutting retraction distance (filament should be flush with outlet) | |
| static constexpr U_mm | config::findaTriggerDistance = 4.5_mm |
| Cutting edge to FINDA MMU side -1mm tolerance should be ~18.5. FINDA shouldn't trigger here. | |
| static constexpr U_mm | config::cuttingEdgeToFindaMidpoint = 22.85_mm |
| FINDA trigger distance +1.0_mm tolerance. | |
| static constexpr U_mm | config::findaToCoupler = 12.0_mm |
| Cutting edge to Midpoint of FINDA should be 22.85_mm. | |
| static constexpr U_mm | config::couplerToBowden = 3.5_mm |
| FINDA Coupler side to coupler screw. | |
| static constexpr U_mm | config::defaultBowdenLength = 360.0_mm |
| FINDA Coupler screw to bowden mmu side (in coupling). | |
| static constexpr U_mm | config::minimumBowdenLength = 341.0_mm |
| ~360.0_mm - Default Bowden length. | |
| static constexpr U_mm | config::maximumBowdenLength = 1000.0_mm |
| ~341.0_mm - Minimum bowden length. | |
| static constexpr U_mm | config::feedToFinda = cuttingEdgeToFindaMidpoint + filamentMinLoadedToMMU |
| ~1000.0_mm - Maximum bowden length. | |
| static constexpr U_mm | config::maximumFeedToFinda = feedToFinda + 20.0_mm |
| allow for some safety margin to load to FINDA | |
| static constexpr U_mm | config::pulleyHelperMove = 10.0_mm |
| Helper move for Load/Unload error states - when the MMU should slowly move the filament a bit. | |
| static constexpr U_mm | config::cutLength = 8.0_mm |
| static constexpr U_mm | config::fsensorToNozzle = 30.0_mm |
| ~20mm from MK4's filament sensor through extruder gears into nozzle | |
| static constexpr U_mm | config::fsensorToNozzleAvoidGrind = 5.0_mm |
| static constexpr U_mm | config::fsensorUnloadCheckDistance = 40.0_mm |
| Check the state of FSensor after this amount of filament got (hopefully) pulled out while unloading. | |
| static constexpr AxisConfig | config::pulley |
| Begin: Pulley axis configuration. More... | |
| static constexpr PulleyLimits | config::pulleyLimits |
| Pulley motion limits. More... | |
| static constexpr U_mm_s | config::pulleyUnloadFeedrate = 95._mm_s |
| static constexpr U_mm_s | config::pulleyLoadFeedrate = 95._mm_s |
| static constexpr U_mm_s | config::pulleySlowFeedrate = 20._mm_s |
| static constexpr AxisConfig | config::selector |
| End: Pulley axis configuration. More... | |
| static constexpr uint8_t | config::selectorCutIRun = 40 |
| 660mA | |
| static constexpr SelectorLimits | config::selectorLimits |
| Selector motion limits. More... | |
| static constexpr U_mm | config::SelectorSlotDistance = 14.0_mm |
| static constexpr U_mm | config::SelectorOffsetFromMax = 1.0_mm |
| Selector distance between two slots. | |
| static constexpr U_mm | config::SelectorOffsetFromMin = 75.5_mm |
| Selector offset from home max to slot 0. | |
| static constexpr U_mm | config::selectorSlotPositions [toolCount+1] |
| Selector offset from home min to slot 0. More... | |
| static constexpr U_mm_s | config::selectorFeedrate = 45._mm_s |
| static constexpr U_mm_s | config::selectorHomingFeedrate = 30._mm_s |
| static constexpr AxisConfig | config::idler |
| End: Selector configuration. More... | |
| static constexpr IdlerLimits | config::idlerLimits |
| Idler motion limits. More... | |
| static constexpr U_deg | config::IdlerSlotDistance = 40.0_deg |
| static constexpr U_deg | config::IdlerOffsetFromHome = 18.0_deg |
| Idler distance between two slots. | |
| static constexpr U_deg | config::idlerSlotPositions [toolCount+1] |
| Idler offset from home to slots. More... | |
| static constexpr U_deg | config::idlerIntermediateSlotPositions [toolCount+1] |
| Intermediate positions for Idler's slots: 0-4 are the real ones, the 5th index is the idle position. More... | |
| static constexpr U_deg | config::idlerParkPositionDelta = -IdlerSlotDistance + 5.0_deg / 2 |
| static constexpr U_deg_s | config::idlerFeedrate = 300._deg_s |
| static constexpr U_deg_s | config::idlerHomingFeedrate = 265._deg_s |
| static constexpr uint32_t | config::tmc2130_coolStepThreshold = 450 |
| End: Idler configuration. More... | |
| static constexpr uint32_t | config::tmc2130_PWM_AMPL = 240 |
| static constexpr uint32_t | config::tmc2130_PWM_GRAD = 4 |
| static constexpr uint32_t | config::tmc2130_PWM_FREQ = 0 |
| static constexpr uint32_t | config::tmc2130_PWM_AUTOSCALE = 1 |
| static constexpr uint32_t | config::tmc2130_freewheel = 1 |