From 09d900f54053b6824096c066e6b68da6de20ace3 Mon Sep 17 00:00:00 2001 From: Pierre Mavro Date: Fri, 11 Jul 2025 22:06:17 +0200 Subject: [PATCH] feat: grow default PTFE frontend size Related to this post: https://www.reddit.com/r/prusa3d/comments/1lxgju8/how_i_raised_ptfe_mmu_length_to_5000mm_for_coreone/ having more size helps to achieve alternative setup --- src/config/config.h | 4 ++-- src/modules/permanent_storage.cpp | 2 +- src/registers.cpp | 6 +++++- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/config/config.h b/src/config/config.h index 313d641..93c0520 100644 --- a/src/config/config.h +++ b/src/config/config.h @@ -94,7 +94,7 @@ static constexpr U_mm couplerToBowden = 3.5_mm; /// FINDA Coupler screw to bowde // Min, max and default bowden length setup static constexpr U_mm defaultBowdenLength = 360.0_mm; /// ~360.0_mm - Default Bowden length. static constexpr U_mm minimumBowdenLength = 341.0_mm; /// ~341.0_mm - Minimum bowden length. -static constexpr U_mm maximumBowdenLength = 1000.0_mm; /// ~1000.0_mm - Maximum bowden length. +static constexpr U_mm maximumBowdenLength = 5000.0_mm; /// ~5000.0_mm - Maximum bowden length. static_assert(minimumBowdenLength.v <= defaultBowdenLength.v); static_assert(maximumBowdenLength.v > defaultBowdenLength.v); @@ -120,7 +120,7 @@ static constexpr AxisConfig pulley = { /// Pulley motion limits static constexpr PulleyLimits pulleyLimits = { - .lenght = 1000.0_mm, // TODO + .lenght = 5000.0_mm, // TODO .jerk = 4.0_mm_s, .accel = 800.0_mm_s2, }; diff --git a/src/modules/permanent_storage.cpp b/src/modules/permanent_storage.cpp index 9c5fb0a..3f9a296 100644 --- a/src/modules/permanent_storage.cpp +++ b/src/modules/permanent_storage.cpp @@ -48,7 +48,7 @@ static eeprom_t *const eepromBase = reinterpret_cast(0); ///< First constexpr const uint16_t eepromEmpty = 0xffffU; ///< EEPROM content when erased constexpr const uint16_t eepromBowdenLenDefault = config::defaultBowdenLength.v; ///< Default bowden length (~360 mm) constexpr const uint16_t eepromBowdenLenMinimum = config::minimumBowdenLength.v; ///< Minimum bowden length (~341 mm) -constexpr const uint16_t eepromBowdenLenMaximum = config::maximumBowdenLength.v; ///< Maximum bowden length (~1000 mm) +constexpr const uint16_t eepromBowdenLenMaximum = config::maximumBowdenLength.v; ///< Maximum bowden length (~5000 mm) namespace ee = hal::eeprom; diff --git a/src/registers.cpp b/src/registers.cpp index 7e722ea..d858a51 100644 --- a/src/registers.cpp +++ b/src/registers.cpp @@ -165,7 +165,7 @@ | 0x1fh 31 | uint16 |Set/Get Selector iRun current| 0-31 | 1fh 31 | 31->530mA: see TMC2130 current conversion| Read / Write | M707 A0x1f | M708 A0x1f Xn | 0x20h 32 | uint16 | Set/Get Idler iRun current | 0-31 | 1fh 31 | 31->530mA: see TMC2130 current conversion| Read / Write | M707 A0x20 | M708 A0x20 Xn | 0x21h 33 | uint16 | Reserved for internal use | 225 | | N/A | N/A | N/A | N/A -| 0x22h 34 | uint16 | Bowden length | 341-1000 | 168h 360 | unit mm | Read / Write Persistent | M707 A0x22 | M708 A0x22 Xn +| 0x22h 34 | uint16 | Bowden length | 341-5000 | 168h 360 | unit mm | Read / Write Persistent | M707 A0x22 | M708 A0x22 Xn | 0x23h 35 | uint8 | Cut length | 0-255 | 8 | unit mm | Read / Write | M707 A0x23 | M708 A0x23 Xn */ @@ -274,6 +274,10 @@ static_assert(sizeof(RegisterRec) == sizeof(uint8_t) + sizeof(void *) + sizeof(v // sts , r24 // ret // +// @@TODO at the moment we are having problems compiling this array statically into PROGMEM. +// In this project that's really not an issue since we have half of the RAM empty: +// Data: 1531 bytes (59.8% Full) +// But it would be nice to fix that in the future - might be hard to push the compiler to such a construct static const RegisterRec registers[] PROGMEM = { // 0x00 RegisterRec(false, &project_major),