Experimental firmware release 1.17c+1


  • administrators

    I've just put this in the Edge release folder for Duet WiFi of github. Change list:

    • Removed GCC O3 optimisation pragmas because they inhibited function inlining, so they made performance worse instead of better

    • Refactored step interrupt code for speed up

    • Implemented G2 and G3 arc movement commands

    • Firmware retraction/unretraction now defaults to 2.0/2.0 instead of 1.0/2.0

    • Bug fix: absolute extrusion didn't work when using a mixing tool

    The maximum step pulse rate achieveable is now 355kHz with a single motor running, and 190kHz with three motors running simultaneously. In practice this means that any belt-driven Cartesian or CoreXY printer using 1.8deg motors should be able to achieve 300mm/sec speed with 128x microstepping. It's not quite so good on a delta, but I've increased my delta (which has 0.9deg motors) to 64x microstepping and it seems to be working well.

    The G2 and G3 commands will be of most use in CNC applications. I've supported the Z parameter too, so you can use it to generate corkscrew movements. The segment length is currently fixed at 0.2mm.

    This release is designated as experimental because there is more testing to do of the G2/G3 commands, in particular on IDEX printers.



  • Awesome, will try it out.

    Edit: So far so good.

    Thanks,

    Jeff



  • I can't speak on the arcs G2 and G3 however the normal functions are working really well. I switched everything to 128x up from the 64x and I almost feel it's running faster…even though I know it's not. Smoother maybe...IDK. In any event it's quieter, 64x is nice...but not as nice. I'm assuming 256x will probably do really well for me now ?

    Thanks,

    Jeff



  • Thanks for the update.
    I am currently using 16x microstepping with interpolation on my 0.9deg motors delta, should I switch to 64x microstepping on this firmware?
    What will be the difference?


  • administrators

    That's up to you! Try both and see what works best.



  • @dc42,

    Following on from the M207 thing that was unearthed in the other thread. I just installed this firmware (1.17c+1) and ran a few quick tests. I was a bit concerned that when we had the over unretraction (recovery) issue, it seemed that only extruders 0 and 2 were affected. It seems that this is still the case. i.e setting the R parameter only affects extruders 0 and 2 on my machine - extruder1 is unaffected.

    That is to say if I do M207 S2.0 R2.0 F3000, then do M207 on it's own it is reported that retraction is 2.0 and unretract is 4.0 as expected. So then doing G10 followed by G11 whilst observing the extruder gear positions, the difference in position should be obvious. It is for extruders 0 and 2 but extruder 1 always returns to the same position when doing a G10 followed by a G11, even though G10 should be 2.0mm and G11 should be 4.0mm (G10 looks right and is the same for all 3 extruders).

    This is the behaviour that I observed when printing using 1.17c.

    Sorry to be the bearer of bad tidings. It's not a big issue for me because I don't wish to use any extra recovery from retract nso now that it's set to zero, I can print OK.

    Ian


  • administrators

    Hi Ian,

    That's very odd, because the code applies the same retraction and un-retraction values to all extruders assigned to the tool. Please can you generate the debug output I asked for earlier, using 1.17c+1 and a non-zero R value, doing a G10 followed by a G11.

    Thanks - David


  • administrators

    PS - also, please try a negative R value and see how it affects the 3 extruders.



  • David,

    This is weird. I can't reproduce the problem. I know I didn't dream it because I witnessed it and filmed it. It's plain as can be on the last minute or so of the video that extruders 0 and 2 had too much recovery but extruder 1 was unaffected. So I knew what to look for and sure enough, it was there earlier. However, now it isn't. I tried powering off the machine, doing a restart and testing it before doing anything else but it still worked as expected. Thoughts?

    BTW, negative R values work as expected on all 3 extruders (at least, it did when I tried it).

    Ian



  • @Jackal:

    Thanks for the update.
    I am currently using 16x microstepping with interpolation on my 0.9deg motors delta, should I switch to 64x microstepping on this firmware?
    What will be the difference?

    Chances are your not going to see any real resolution increase going from 16x to 64x because you are already running good 0.9 deg motors. In my case I'm running 1.8 deg/step motors with 17 tooth pulleys and I can ever so slightly see an improvement going above 16x stepping. This is one of those topics where someone will point out.."that's just impossible to see". Whatever the case I would suggest trying 128x as it's quieter then 64x at least in my case.

    If you change your microstepping be sure to set your steps per mm and then the microstepping values. M92 is steps at 16x and then M350 to have it auto adjust.

    In my case:

    M92 X94.12 Y94.12 Z400 ; set axis steps/mm
    M92 E200.7238:200.7238 ; set extruder 0 and 1 steps/mm

    M350 X128 Y128 Z128 E128:128 ; set microstepping

    Jeff



  • I just had an issue using this firmware 1.17c+1. I am using slic3r generated retraction but just printing a cube, at the first retract it did a massive retraction seemingly pulling the filament back 20mm+ (I've never seen the extruder turn that fast before). I abandoned the print at the next one.

    Uploaded 1.17c - printed the same object from the sd card, printing normally.


  • administrators

    @DjDemonD:

    I just had an issue using this firmware 1.17c+1. I am using slic3r generated retraction but just printing a cube, at the first retract it did a massive retraction seemingly pulling the filament back 20mm+ (I've never seen the extruder turn that fast before). I abandoned the print at the next one.

    Uploaded 1.17c - printed the same object from the sd card, printing normally.

    What type of hot end are you using? The only change in that area that I made in 1.17c+1 should only affect mixing hot ends.



  • @DjDemonD:

    I just had an issue using this firmware 1.17c+1. I am using slic3r generated retraction but just printing a cube, at the first retract it did a massive retraction seemingly pulling the filament back 20mm+ (I've never seen the extruder turn that fast before). I abandoned the print at the next one.

    Uploaded 1.17c - printed the same object from the sd card, printing normally.

    I think I am having similar problem with the extruder on 1.17c+1. First I thought it was due to messing with microstepping, but resetting to leave it at 16x still caused the extruder motor to move erratically. I have reverted to 1.17c to print, maybe I will try investigate further later.



  • Weird, I did a print that sucked down about 250g of filament with this firmware and noticed no issues at all with the extruder. Being a software engineer I know how this goes, I'm sure it'll get resolved.



  • @dc42:

    @DjDemonD:

    I just had an issue using this firmware 1.17c+1. I am using slic3r generated retraction but just printing a cube, at the first retract it did a massive retraction seemingly pulling the filament back 20mm+ (I've never seen the extruder turn that fast before). I abandoned the print at the next one.

    Uploaded 1.17c - printed the same object from the sd card, printing normally.

    What type of hot end are you using? The only change in that area that I made in 1.17c+1 should only affect mixing hot ends.

    Titan extruder, 20mm nema 17 pancake stepper, into a genuine e3d v6 in flying configuration.



  • I noticed a similar issue when upgrading to the first 1.17 release. I tied it to using incremental vs absolute extruder positioning. I just switched over to absolute in KISS and I didn't have any problems.


  • administrators

    I've released another minor update, 1.17c+2. The changes are:

    • Fixed a bug in the interpretation of the G2/G3 I and J parameters (they are supposed to be relative always)
    • If a Hard Fault exception occurs, the software reset data now includes additional status information to help track down the cause.

    I recall that a couple of users have reported unexpected resets, with a software reset code of the form xx3x subsequently reported by M122. If you are one of them, please install this release in case it happens again.



  • So I installed this on my Kossel delta, and it's been printing fine with no issues.

    I installed it on my Rostock Max V2 and I am having nothing but issues. I just did a 19 hour print on 1.16 beta 10 and it's been printing beautifully since I installed it.

    Now when I try to print anything it seems the retraction has quadrupled or something silly like that. What used to be a 4mm retraction is taking it back 16mm and i'm guessing but I've watched the retractions before and the knob was 1/4 turn now it's atleast 1 full turn.

    But my Kossel seems to be unaffected with this same issue. Both printers have Duet Wifi's with Web interface 1.14a.


  • administrators

    Is that 4mm of firmware retraction, or is the 4mm configured in the slicer?



  • DC42 I flashed to 1.17c and it fixed the problem with the same GCODE that I had sliced on the experimental version.

    4mm is what is set in the slicer but when it would retract it would only do say 1/4 of the knob retracting, when I was on experimental it would do a full revolution for the same retraction.

    I don't know what caused it, but that was my issue, I am also experiencing another issue as well. On the same printer ever since I flashed my web interface isn't updating, I connect it gives me a read out and then thats where it sits, no updates on temps, if the machine is busy extracting or performing other functions.

    That is at idle, if I'm printing something it seems to be ok.


 

Looks like your connection to Duet3D was lost, please wait while we try to reconnect.