UNSOLVED problem (bug?) with RRF 3.2.2 when pausing during heat up



  • Summary: Pausing during temperature waiting causes strange behavior.

    I'm not sure exactly what is going wrong, nor which software to blame, so I'll just list everything I know:

    I'm using a duet3 mainboard with a Pi4 SBC and a paneldue. Everything is running firmware 3.2.2 (as installed by apt) and the PanelDue is running 3.2.10

    My typical start gcode includes the following:

    T0
    M190 S60 ; set build plate temp and wait for it
    M104 S205 ; set tool temp
    M109 S205 ; wait for tool to reach temp
    M82 ;absolute extrusion mode
    ;;;; START G-CODE SCRIPT
    M116 ; wait for temps to normalize 
    M98 P"/macros/StartPrint" ; see below for macro contents
    M83 ; relative extrusions
    

    the "StartPrint" macro currently only contains the following:

    M106 P2 S0.5 ; LEDs to half power
    G28
    

    My pause.g contains:

    M83            ; relative extruder moves
    G1 E-4 F3600  ; retract 4mm of filament
    G91            ; relative positioning
    G1 Z5 F5000     ; lift Z by 5mm
    G90            ; absolute positioning
    G1 X0 Y85 F5000 ; go to X=0 Y=0
    

    While the printer is heating up, if I tap the "Pause" button on the PanelDue, it causes all kinds of things to break. The printer ends up in some kind of permanent "pausing" mode (according to the paneldue firmware.) There's no option to "CANCEL" after this pause. Even after the printer has reach the proper temps that M116 was waiting for, there's no "CANCEL" option.

    However, I can somehow actually start a new print. The new print actually starts and will complete. While it's printing, however, the paneldue and DWC show a "busy" status and there's no option to pause or cancel the print.


  • administrators

    @garyd9 Thanks for reporting this, I'll try to reproduce it with your start macros. Does the problem persist if you move the contents right into the print file?



  • @chrishamm said in problem (bug?) with RRF 3.2.2 when pausing during heat up:

    @garyd9 Thanks for reporting this, I'll try to reproduce it with your start macros. Does the problem persist if you move the contents right into the print file?

    I'm having difficulty repeating the issue again exactly as described, however, I was able to repeat something similar, and the problem occurs regardless of if that "StartPrint" macro is used as described above, or if the contents of the macro are moved into the print file:

    If I try to pause the print while the printer is running G28, I get into that same wonky state (perma-pausing) described above. An important detail here is that I'm doing this with a delta printer. I've included the contents of my homedelta.g below. In this second situation (which may or may not be related to the above), it appears that if the 'pause' button is pressed while the printer is executing G28 (homedelta.g), it attempts to run pause.g after G28 is completed. When that happens, it's unable to perform "G1 X0 Y85" in my pause.g (which has a misleading comment.)

    That generates an error as expected, but it also leaves the printer in an invalid "pausing" state.

    homedelta.g

    G91                        ; relative positioning
    G1 H1 X705 Y705 Z705 F3000 ; move all towers to the high end stopping at the endstops (first pass)
    G1 H2 X-5 Y-5 Z-5 F3000    ; go down a few mm
    G1 H1 X10 Y10 Z10 F250     ; move all towers up once more (second pass)
    G1 Z-5 F3000               ; move down a few mm so that the nozzle can be centred
    G90                        ; absolute positioning
    G1 X0 Y0 F2000             ; move X+Y to the centre
    

  • Moderator

    @garyd9 said in problem (bug?) with RRF 3.2.2 when pausing during heat up:

    G1 H2 X-5 Y-5 Z-5 F3000 ; go down a few mm

    Remove the H2 from that line. It shouldn't be necessary as the axis should be homed at that point.

    Not that that is related to your issue though.



  • @Phaedrux said in problem (bug?) with RRF 3.2.2 when pausing during heat up:

    @garyd9 said in problem (bug?) with RRF 3.2.2 when pausing during heat up:

    G1 H2 X-5 Y-5 Z-5 F3000 ; go down a few mm

    Remove the H2 from that line. It shouldn't be necessary as the axis should be homed at that point.

    Not that that is related to your issue though.

    Keep in mind that this is a delta printer, so "G1 X-5 Y-5 Z-5" is very different from "G1 H2 X-5 Y-5 Z-5". Also, it doesn't make sense that an individual axis would be homed. Either the delta X/Y/Z is homed, or not.

    Without H2, it would move the effector left 5mm (X-5), forward 5mm (Y-5), and down 5mm (Z-5) in a cartesian space. (It might also just create an error because homedelta.g hasn't finished yet, so the printer might not be flagged as being homed.)

    With the H2, it moves the X, Y and Z MOTORS 5mm each (completely ignoring cartesian space.) This is similar to a "G1 Z-5" movement in cartesian space, but without the need to be homed, and ignoring any cartesian space limits.

    BTW, that homedelta was originally generated from the duet/RRF config tool. If I generate a new 'delta' config, the generated homedelta.g still uses the same movement commands. Here's an example I just ran:

    ; homedelta.g
    ; called to home all towers on a delta printer
    ;
    ; generated by RepRapFirmware Configuration Tool v3.2.3 on Fri Feb 19 2021 13:31:46 GMT-0500 (Eastern Standard Time)
    G91                        ; relative positioning
    G1 H1 X265 Y265 Z265 F1800 ; move all towers to the high end stopping at the endstops (first pass)
    G1 H2 X-5 Y-5 Z-5 F1800    ; go down a few mm
    G1 H1 X10 Y10 Z10 F360     ; move all towers up once more (second pass)
    G1 Z-5 F6000               ; move down a few mm so that the nozzle can be centred
    G90                        ; absolute positioning
    G1 X0 Y0 F6000             ; move X+Y to the centre
    


  • @Phaedrux the G1 H2 comes from the config tool. might be something to raise with Christian



  • @jay_s_uk said in problem (bug?) with RRF 3.2.2 when pausing during heat up:

    @Phaedrux the G1 H2 comes from the config tool. might be something to raise with Christian

    It shouldn't be taken out. It makes perfectly good sense on a delta machine.

    Please see: https://duet3d.dozuki.com/Wiki/ConfiguringRepRapFirmwareDeltaPrinter#Section_Homing_file



  • @garyd9 the config tool knows which type of geometry is selected so can deal with that appropriately



  • @jay_s_uk said in problem (bug?) with RRF 3.2.2 when pausing during heat up:

    @garyd9 the config tool knows which type of geometry is selected so can deal with that appropriately

    I know it knows. However, you suggested that @Phaedrux talk with Christian to get the H2 removed and it should NOT be removed. (and it's amusing that a bug report is being hijacked with incorrect information that isn't even related to the bug.)


  • Moderator

    Sorry for showing my ignorance of delta machines. Not intended to hijack. Back to topic. Thanks for the report. Will move to the beta forum for further investigation.


Log in to reply