Duet 2 Hangprinter, 5-bar Scara, Polar, Rotary Delta kinematics
-
I talked to Tony on Formnext and he told me that support for Duet2 will be ongoing for years. Now you are thinking about a feature freeze. To be honest I don't think it's a good idea because then I guess more and more people are not going to use Duet2 anymore but prefer to run Klipper when the firmware for Duet2 gets more and more outdated. I can't say if the Duet3 boards are a viable replacement (e.g. I am running Duet2 and Duex5).
I prefer the option to remove the support for exotic kinematics from 3.4 onwards (so they could still run 3.4).
To make a real decision I guess it would be important to know what you would like to do the RRF in the future. Which features do you want to implement which are a USP for RRF
-
@dc42 I have duet2 wifi and duex2. Personally I don't plan an upgrade to Duet3 in the near future. I think removing the least used kinematics would be a good way forward. Are there any stats on what kinematics are in use?
-
@taconite said in Duet 2 Hangprinter, 5-bar Scara, Polar, Rotary Delta kinematics:
remove the support for exotic kinematics from 3.4 onwards (so they could still run 3.4).
RepRapFirmware is open source, so even if additional kinematics are not included in a release, they can be added and firmware compiled anytime, for every version.
-
@dc42 said in Duet 2 Hangprinter, 5-bar Scara, Polar, Rotary Delta kinematics:
Duet 2 is on the way to becoming a legacy platform
Maybe it's just me, but that's a dangerous statement, unless you're also planning to drop the price of the Duet3 series components significantly. Don't get me wrong, I'm happy with my two Duet2s (Duets 2?) - but from what I can see, Duet has always been at the upper end of the price range anyway. The Duet3 ecosystem is very expensive to buy into. I can only speak for myself, but I would not have invested that much money (and won't for the forseeable future).
-
@joergs5 I'm OK with compiling my own binaries for 3.5 onwards if selecting which kinematics get excluded is simple enough. I'm not familiar with the RRF code.
-
@vwegert the price for the duet 3 mini is either cheaper or the same price as the duet 2 where I am, why would you choose the 2 over the 3 if that the case? is this not the same where you live?
-
@vwegert Duet 3 mini is a bit cheaper than Duet 2 (125EUR for the mini 3 vs 145EUR for the Duet 2) and compares pretty well for most projects that would have used a Duet 2 before. Duet 2 and Duex can be substituted by two Minis for the most part if you need Duex 5 capacity, and by the Expansion board for the mini or the rest of the CAN expansion boards if you only need one to three extra steppers.
Of course it would be great if the 8 years runtime of the Duet 2 platform can be extended, and removing rarely used kinematics seems to be a viable way to keep most owners happy.
-
For clarity: this change would affect the firmware binaries that we release. It would still be possible for users to compile the Duet 2 firmware with one of the exotic kinematics included, although they might need to remove support for e.g. delta kinematics to make space.
-
This post is deleted! -
I personally think that removing some of the exotics is fine, upgrading from Duet 2 to Duet 3 is no trivial or cheap task, esp when dealing with more advanced printers that use more than one board. I'm afraid some people would be left behind if Duet 2 wouldn't be updated anymore...
In any case, can you please make sure that the Duet 3 platform offers all the planned upgrade paths before deprecating existing hardware (whenver that mught actually happen)? I'm mostly talking about the dual mainboard (2 Minis or a 6HC + a Mini) configurations that still have some restrictions (according to the documentation). I need to hold off my Duet 2 + Duex5 conversion to 6HC + Mini until that stuff is properly supported.
-
@dc42 I vote get rid of them. Would much rather have more modern features on my production printers than a shorter path to an odd kinematic play toy printer.
-
I, too, vote to get rid of the specialty kinematics for duet 2. I have around 6, and none need more than simple xyz or corexy.
-
In my opinion if you freeze features on the Duet 2, you're going to lose those owner's loyalty to the brand... When I can't have the next killer feature that comes out, I'm not going to invest in a Duet3, but will be looking at other cheaper boards that support RRF, or most likely, will be jumping ship to the Klipper side!!
I think removing the exotic kinematics with an option to swap them back in for a manual compile, or even having a pre-compiled firmware for both, is a good option.
@joergs5 said in Duet 2 Hangprinter, 5-bar Scara, Polar, Rotary Delta kinematics:
Maybe someone can even find good solutions for those problems in the future with additional hardware.
Along the same line of thought as what joergs5 mentioned, another option is to take a hybrid Klipper approach and offload some of the functions to another controller or RPi, like input shaping, DWC, heater tuning, etc. Or even a full Klipper approach. That will provide plenty of space for additional features and extend the life of the Duet 2 and 3 for a long time. Not sure how feasible that would be, but it was just a thought.
-
@dc42 I don't know about coding or the amount of work it would take but would it not be possible to have the kinematic made in a modular fashion kinda like a macro you can choose whilst setting up for the first time, imagine not many people change the kinematics once their printer is built, similar to what Exerqtor was suggesting, or are the kinematic to integrated?
-
@oliof Interesting - for whatever reason I had the Duet3 mini as "fewer channels than Duet2" in my head. Thanks for clearing this up.
-
@dc42 if you decide to remove those kinematics from core RRF, I offer to take a lead for source and documentation for 5-bar scara, 5 axis robot, 6 axis robot and later this year for stewart/hexapod kinematics.
My proposal are dedicated github repositories on Duet3D (so the repositories can be found) for those kinematics with source and binaries, so users who want to use them can easily install them. I propose to offer binaries for Duet 3 based hardware (6HC CAN, Mini Eth, Mini WiFi, 6XD) for main releases and maybe for a part of the beta versions.
-
@joergs5 I'll be glad to help out with that, but I thought the removal is only in the cards for Duet2 boards.
-
@oliof said in Duet 2 Hangprinter, 5-bar Scara, Polar, Rotary Delta kinematics:
@joergs5 I'll be glad to help out with that, but I thought the removal is only in the cards for Duet2 boards.
The point is that the firmware today is one code (Duet 0.6/0.8, Maestro, Duet2, Duet3 6HC, Mini) and with eclipse several target platform bin files are created. In the near future it is too big for Duet 2. Splitting into Duet 2 and Duet 3 trees is not wished, as it complicates delivery and testing. Removing the less popular kinematics is an alternative (or dynamically linking as I proposed first).
-
Thinking about the discussion, another new idea:
by IF flag the seldom used kinematics could be excluded from <= Duet2 builds.
-
@joergs5 The current source already contains code to allow various features to be optional including some of these kinematics:
https://github.com/Duet3D/RepRapFirmware/blob/3.4-dev/src/Movement/Kinematics/HangprinterKinematics.cpp#L10/* * HangprinterKinematics.cpp * * Created on: 24 Nov 2017 * Author: David */ #include "HangprinterKinematics.h" #if SUPPORT_HANGPRINTER
By default these optional items are enabled:
https://github.com/Duet3D/RepRapFirmware/blob/3.4-dev/src/Config/Pins.h#L221// Optional kinematics support, to allow us to reduce flash memory usage .... #ifndef SUPPORT_HANGPRINTER # define SUPPORT_HANGPRINTER 1 #endif
So it is just a case of disabling (or enabling) the support in the board configuration files (or build system), so for instance the Duet3Mini4 build has some/all of them disabled:
// Disable the kinematcs we don't need to save flash memory space #define SUPPORT_LINEAR_DELTA 0 #define SUPPORT_ROTARY_DELTA 0 #define SUPPORT_POLAR 0 #define SUPPORT_SCARA 0 #define SUPPORT_FIVEBARSCARA 0 #define SUPPORT_HANGPRINTER 0
Of course as time goes on the problem may be finding a combination of settings that supports all of the features you want but that still fits in flash memory.