New firmware 2.01 beta 2 available


  • administrators

    I've just released this at https://github.com/dc42/RepRapFirmware/releases/tag/2.01beta2. Changes since 2.01beta1 are:

    Bug fixes:

    • Non-movement commands were not correctly synchronised with movement commands when there were more than 8 non-movement commands interspersed with more than 2 seconds of movement
    • If M28/M29 was used in a macro file to then the commands between M28 and M29 were executed as well as being written to the target file
    • If you used the jog buttons in DWC before homing the axes, and you didn't use M564 H0 in config.g, then as well as the "insufficient axes homed" error message, a stack underflow error message was produced
    • Neither M561 nor G29 S2 adjusted the user Z coordinate if bed compensation was previously active (G29 S2 did if you ran it twice)
    • Duet 06/085 only: fixed a buffer overflow in the Netbios responder code
    • Duet 2 series: when an under-voltage event occurred, spurious driver status warnings/errors were sometimes reported
    • Duet 2 series: when an under- or over-voltage event occurred, the VIN voltage reported was the current voltage, not the voltage when the event was recorded
    • When an axis was made visible and later hidden, subsequent move commands sometimes sent step commands incorrectly to the driver(s) associated with that axis. This could cause unwanted movement if the axis was still mapped to a real driver. If it was mapped to a dummy driver, it could still cause step errors to be recorded and/or some movements to be slowed down.
    • The longest loop time reported by M122 was distorted by the fact that M122 itself takes a long time to execute, due to the volume of output it produces and the need to synchronise with the Network task

    New features/changed behaviour:

    • On the Duet 2 Maestro, the 2 optional add-on drivers are now assumed to be TMC2224 with UART interface
    • When the Z probe type is set to 9 for BLTouch, the probe output is no longer filtered, for faster response
    • If an error occurs while reading or writing the SD card, the operation is retried. The M122 report includes the maximum number of retries that were done before a successful outcome.
    • On the Duet WiFi/Ethernet, at startup the firmware does additional retries when checking for the presence of a DueX2 or DueX5 and/or additional I/O expansion board
    • When a resurrect.g file is generated, it now includes G92 commands just before it invokes resurrect-prologue.g, to set the assumed head position to the point at which power was lost or the print was paused. This is to better handle printers for which homing Z is not possible when a print is already on the bed. Caution: this doesn't allow for any Z lift or other movement in the power fail script.
    • RTOS builds only: added a separate software watchdog to monitor the Heat task
    • RTOS builds only: in the M122 report, the software reset data now includes which task was active, and only owned mutexes are listed
    • Upgraded compiler to 2018-q2-update

    If you find any new issues with this release, or any of the bug fixes don't work for you, or if it works beautifully for you, please report that in this thread.



  • Am I correct to assume that the changes made by @chrishamm to include the current and requested speed display as well as heater and fan renaming are not present in this release? They appeared to be there at first, but then after completely reloading the page they are gone.


  • administrators

    Those changes are not in this beta. They will be in the next one.



  • @dc42 said in New firmware 2.01 beta 2 available:

    Non-movement commands were not correctly synchronised with movement commands when there were more than 8 non-movement commands interspersed with more than 2 seconds of movement

    Laser engraving works correctly now, thank you.


  • administrators

    @spw said in New firmware 2.01 beta 2 available:

    @dc42 said in New firmware 2.01 beta 2 available:

    Non-movement commands were not correctly synchronised with movement commands when there were more than 8 non-movement commands interspersed with more than 2 seconds of movement

    Laser engraving works correctly now, thank you.

    Thanks for confirming this.



  • I have done some initial tests air cutting one of the GCode files with problems and they are indeed gone! Some undesired problems are also gone, but they may be related to the movement/non-movement sync fix. Now going to check the maximum jerk - I suspect I might be able to bring it back to default 900 value!

    P.S. Did those jerk tests. While there are no error messages, going back to the original 900mm/min brings some genuine mechanical noises when reversing the direction. In the end it is an actual limit of the machine.


  • administrators

    @catalin_ro, thanks for confirming the fix.



  • @dc42 said in New firmware 2.01 beta 2 available:

    • On the Duet 2 Maestro, the 2 optional add-on drivers are now assumed to be TMC2224 with UART interface

    Amazing! I will have some time on the weekend to properly test this! Along with the 7th Driver pin reversal. I will report back as soon as I can.



  • Tested on my railcore 2 (with a bltouch), a few test prints through, and everything's working as expected.



  • @dc42 said in New firmware 2.01 beta 2 available:

    • If M28/M29 was used in a macro file to then the commands between M28 and M29 were executed as well as being written to the target file

    The part with executing as well as writing seems to be fixed but still not working as expected. M29 does not seem to be recognized inside a macro. Or not executed.

    I have the following filament load macro:

    M28 /sys/current_material.g
    M98 P/macros/Settings/PETG/DevilDesign
    M29
    
    • ✔ It will now successfully create the file /sys/current_material.g reliably
    • ✔ It will not exectute /macros/Settings/PETG/DevilDesign (this file exists)
    • ⛔ It will not close the file at the end of the macro but continue to write all following commands into this file until I explicitely call M29 via GCode console - strangely enough the M29 from the macro will also not end up in the written file

    So, if I execute the above macro by loading the filament this is assigned to and afterwards enter the following commands manually in GCode Console

    1. M82
    2. M84
    3. M29

    I end up with the following contents in /sys/current_material.g

    M98 P/macros/Settings/PETG/DevilDesign
    M82
    M84
    

    If I enter M29 immediately after loading the filament it will only be the first line.

    EDIT: On GCode console I get the following output (note: descending time stamp)

    16:27:04    M29
                Done saving file.
    16:26:54    M702
                M701 S"PETG_DevilDesign"
                Writing to file: /sys/current_material.g
                GCode end-of-file being interpreted.
    


  • Would it be possible to get a mirror for the files? github seems to have problems.



  • @dc42 laser engraving working great here too. With the G1 S for lasers you said would be in 2.02 (I think) things should be perfect!



  • @obeliks nevermind, it's back


  • administrators

    @wilriker said in New firmware 2.01 beta 2 available:

    @dc42 said in New firmware 2.01 beta 2 available:

    • If M28/M29 was used in a macro file to then the commands between M28 and M29 were executed as well as being written to the target file

    The part with executing as well as writing seems to be fixed but still not working as expected. M29 does not seem to be recognized inside a macro. Or not executed.

    I have the following filament load macro:

    M28 /sys/current_material.g
    M98 P/macros/Settings/PETG/DevilDesign
    M29
    
    • ✔ It will now successfully create the file /sys/current_material.g reliably
    • ✔ It will not exectute /macros/Settings/PETG/DevilDesign (this file exists)
    • ⛔ It will not close the file at the end of the macro but continue to write all following commands into this file until I explicitely call M29 via GCode console - strangely enough the M29 from the macro will also not end up in the written file

    So, if I execute the above macro by loading the filament this is assigned to and afterwards enter the following commands manually in GCode Console

    1. M82
    2. M84
    3. M29

    I end up with the following contents in /sys/current_material.g

    M98 P/macros/Settings/PETG/DevilDesign
    M82
    M84
    

    If I enter M29 immediately after loading the filament it will only be the first line.

    EDIT: On GCode console I get the following output (note: descending time stamp)

    16:27:04    M29
                Done saving file.
    16:26:54    M702
                M701 S"PETG_DevilDesign"
                Writing to file: /sys/current_material.g
                GCode end-of-file being interpreted.
    

    Strange, I tested it several times and it worked for me. Please try adding a comment line in your macro file after the M29 command, in case the M29 at the end of the file isn't being interpreted correctly..



  • @dc42 said in New firmware 2.01 beta 2 available:

    Strange, I tested it several times and it worked for me. Please try adding a comment line in your macro file after the M29 command, in case the M29 at the end of the file isn't being interpreted correctly..

    Adding an additional line with just a comment at the end makes it work. Adding an inline comment on the M29 line does not change the faulty behavior.

    Now, why would the last line not be interpreted correctly? These seems only to apply to M29. I just tested with a M117 as the last line (right after M29) and the text was displayed.



  • Using this version on 4 different printers with no noticable differences between beta 1 and 2. BLtouch has been working much better over these past two versions. Thanks for taking the time to make them work perfectly (ie no-bounce, fast response).


  • administrators

    @wilriker said in New firmware 2.01 beta 2 available:

    @dc42 said in New firmware 2.01 beta 2 available:

    Strange, I tested it several times and it worked for me. Please try adding a comment line in your macro file after the M29 command, in case the M29 at the end of the file isn't being interpreted correctly..

    Adding an additional line with just a comment at the end makes it work. Adding an inline comment on the M29 line does not change the faulty behavior.

    Now, why would the last line not be interpreted correctly? These seems only to apply to M29. I just tested with a M117 as the last line (right after M29) and the text was displayed.

    Before you added the comment, did you have a newline at the end of the M29, or not?


  • administrators

    @bpislife said in New firmware 2.01 beta 2 available:

    Using this version on 4 different printers with no noticable differences between beta 1 and 2. BLtouch has been working much better over these past two versions. Thanks for taking the time to make them work perfectly (ie no-bounce, fast response).

    Thanks for the feedback!



  • @dc42 said in New firmware 2.01 beta 2 available:

    Before you added the comment, did you have a newline at the end of the M29, or not?

    I did not. Is that an implicit requirement?

    EDIT: Empty newline at the end also works.


  • administrators

    @wilriker said in New firmware 2.01 beta 2 available:

    @dc42 said in New firmware 2.01 beta 2 available:

    Before you added the comment, did you have a newline at the end of the M29, or not?

    I did not. Is that an implicit requirement?

    EDIT: Empty newline at the end also works.

    Thanks for confirming that. The firmware appends a newline to the end of the last command if there isn't one, but I guess it's doing it a little too late in the case of having to recognise M29. I'll fix it in the next beta or RC if the fix isn't complicated.


Locked
 

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