PanelDueFirmware 3.2.6 released
-
@dc42 , ok will do. thanks.
-
@dc42, Hi there i've just noticed i'm running rrf3.1.1 on duet 3 with rpi4 even though i have run the sudo apt-get update sudo apt-get upgrade
-
@R4ffers that is the last stable version. You'll need to switch to the unstable repo to use the beta and release candidate versions.
; ref second paragraph https://duet3d.dozuki.com/Wiki/Getting_Started_With_Duet_3#Section_Software_Installation
Edit: autocarrot
-
@bearer , thanks for that. Do you have to remove the stable package feed first?
-
@bearer ,sorted now thankyou
-
First: Thanks for your great work! Nice upgrade for me from PDF1.x to PDF3.x -> now a nice screensaver and so much more
my setup this post refers to: duet-ethernet1.4 -> from RRF3.1.x upgraded first to RRF3.2RC2, the actual install of PDF3.x was easy via "M9... S4"!
Just a curious thing hapened: When I use the paneldue to home all axis
and not do it via DWC, then the paneldue (and only paneldue not DWC)throws at the end when it sucessfully finished all homing, that the "homing failed" -> BUT in both paneldue & dwc the axis are marked as "homed" and can be jogged -> Is this just some wrong link to some message that is not intended to pop up OR (since it is the only thing I changed in between) could it be related to current-dimming of the motors which is the only thing I integrated in the homing files before upgrading from RRF3.1&PDF1.x (and I have not checked if it worked before upgrading)?homeall.g (Sorry: Please ignore those "{1}" since they are not present in my code but just on this website here(?)!):
; homeall.g ; called to home all axes ;M300 S300 P1000 ; beep a sound (requires piezo e.g. on the PanelDue it is integrated) S___ frey Hz, P___ in milli-sec M117 "homeall.g starts..." ; display message on screen, e.g. the PanelDue ;let the user aknowledge (double check) M291 R"Homing all axis?" P"make sure nothing is in the way" S3 ;T5 ;first check if any axes are not homed and optionally home them ;while iterations < #move.axes ; if !move.axes[iterations].homed ; check if each axis is homed ; M291 P{"Axis " ^ move.axes[iterations].letter ^ " is not homed. Home now?"} R"Axis un-homed" S3 ; continue or abort? ; M98 P{"0:/sys/home" ^ (move.axes[iterations].letter) ^ ".g"} ; home axis if answer is OK - G28 doesn't accept object variable so run macro ;if !move.axes[0].homed M98 P"homex.g" ; check for correct directory, default folder is /sys on sd-card ;if !move.axes[1].homed M98 P"homey.g" ; check for correct directory, default folder is /sys on sd-card ;if !move.axes[2].homed M98 P"homez.g" ; check for correct directory, default folder is /sys on sd-card ;M300 S300 P1000 ; beep a sound (requires piezo e.g. on the PanelDue it is integrated) S___ frey Hz, P___ in milli-sec M117 "...finished homeall.g" ; display message on screen, e.g. the PanelDue M292 ; clear all messages
homex.g (Sorry: Please ignore those "{1}" since they are not present in my code but just on this website here(?)!):
; homex.g ; called to home the X axis ;M300 S300 P1000 ; beep a sound (requires piezo e.g. on the PanelDue it is integrated) S___ frey Hz, P___ in milli-sec M117 "homex.g starts..." ; display message on screen, e.g. the PanelDue G53 ; use abs machine coordinates, without translation, tool-offset, ... G91 ; relative positioning ;lift z (to not hit anything): M98 P"z-do-lift.g" ; check for correct directory, default folder is /sys on sd-card M400 ;M913 does not wait and therfor needs an M400 in advance M913 X75 ;set current for defined motor in % of 100 as defined within M906 (in config.g) G1 H1 X{-(move.axes[0].max+10)} F1500 ; move quickly to X axis endstop and stop there (first pass) G1 H2 X5 F750 ; go back a few mm G1 H1 X{-(move.axes[0].max+10)} F100 ; move slowly to X axis endstop once more (second pass) M400 ;M913 does not wait and therfor needs an M400 in advance M913 X100 ;set current for defined motor in % of 100 as defined within M906 (in config.g) G1 H2 X2.5 F100 ; go to what shall be "0" (a little bit away from endstop) G90 ; absolute positioning G92 X0 ; set _ position to axis val__, in absolut coordinate system (G90) ;move Z back: M98 P"z-un-lift.g" ; check for correct directory, default folder is /sys on sd-card M564 S1 H1 ; Limit axis: S for boundaries 0=allow/1=limit; H for homing 0=allow/1=limit G90 ; absolute positioning G0 F1500 ; set min feed back G1 F1500 ; set min feed back M117 "...finished homex.g" ; display message on screen, e.g. the PanelDue
homey.g (Sorry: Please ignore those "{1}" since they are not present in my code but just on this website here(?)!):
; homey.g ; called to home the Y axis ;M300 S300 P1000 ; beep a sound (requires piezo e.g. on the PanelDue it is integrated) S___ frey Hz, P___ in milli-sec M117 "homey.g starts..." ; display message on screen, e.g. the PanelDue G53 ; use abs machine coordinates, without translation, tool-offset, ... G91 ; relative positioning ;lift z (to not hit anything): M98 P"z-do-lift.g" ; check for correct directory, default folder is /sys on sd-card M400 ;M913 does not wait and therfor needs an M400 in advance M913 Y75 ;set current for defined motor in % of 100 as defined within M906 (in config.g) G1 H1 Y{-(move.axes[1].max+10)} F1500 ; move quickly to Y axis endstop and stop there (first pass) G1 H2 Y5 F750 ; go back a few mm G1 H1 Y{-(move.axes[1].max+10)} F100 ; move slowly to Y axis endstop once more (second pass) M400 ;M913 does not wait and therfor needs an M400 in advance M913 Y100 ;set current for defined motor in % of 100 as defined within M906 (in config.g) G1 H2 Y2.5 F100 ; go to what shall be "0" (a little bit away from endstop) G90 ; absolute positioning G92 Y0 ; set _ position to axis val__, in absolut coordinate system (G90) ;move Z back: M98 P"z-un-lift.g" ; check for correct directory, default folder is /sys on sd-card M564 S1 H1 ; Limit axis: S for boundaries 0=allow/1=limit; H for homing 0=allow/1=limit G90 ; absolute positioning G0 F1500 ; set min feed back G1 F1500 ; set min feed back M117 "...finished homey.g" ; display message on screen, e.g. the PanelDue
homez.g (Sorry: Please ignore those "{1}" since they are not present in my code but just on this website here(?)!):
; homez.g ; called to home the Z axis ;M300 S300 P1000 ; beep a sound (requires piezo e.g. on the PanelDue it is integrated) S___ frey Hz, P___ in milli-sec M117 "homez.g starts..." ; display message on screen, e.g. the PanelDue G53 ; use abs machine coordinates, without translation, tool-offset, ... G91 ; relative positioning M290 R0 S0 ; clear any "baby"(/micro)-steps (they currently apply only to z), In RRF>=1.21 homing&||bed probing don't reset babystepping ;make sure z has some distance to endstops: M98 P"z-do-lift.g" ; check for correct directory, default folder is /sys on sd-card M400 ;M913 does not wait and therfor needs an M400 in advance M913 Z80 ;set current for defined motor in % of 100 as defined within M906 (in config.g) ; split Z motor control to Z and U ; for it to work we have to show U (param P4) in the UI M584 Z2 U4 P4 G1 H1 Z{-(move.axes[2].max+10)} U{-(move.axes[2].max+10)} F500 ; move Z1=Z & Z2=U down until each endstop for its axis is triggered G1 H2 Z5 U5 F1500 ; lift Z relative again to current position G1 H1 Z{-(move.axes[2].max+10)} U{-(move.axes[2].max+10)} F80 ; move Z1=Z & Z2=U down until each endstop for its axis is triggered ; back to combined z-axis & hidden U-axis (since combined) in Gui via the Px M584 Z2:4 P3 M400 ;M913 does not wait and therfor needs an M400 in advance M913 Z100 ;set current for defined motor in % of 100 as defined within M906 (in config.g) G90 ; Back to absolute positioning G92 Z0 ; set Z position to axis minimum (you may want to adjust this), in absolut coordinate system (G90) M564 S1 H1 ; Limit axis: S for boundaries 0=allow/1=limit; H for homing 0=allow/1=limit G90 ; absolute positioning G0 F1500 ; set min feed back G1 F1500 ; set min feed back ;move tool away from plate again M98 P"z-do-lift.g" ; check for correct directory, default folder is /sys on sd-card M117 "...finished homez.g" ; display message on screen, e.g. the PanelDue
Edit: Related to the behaviour of M291 in RRF3.2
-
@LB Short answer is that PanelDueFirmware only displays messages that it received from RRF. There is no hard-coded message (in a popup) in the firmware. So in this case it must have received this error from RRF.
I've looked up the reason for "homing failed" a couple of times in the past but I can never remember what is the cause. @dc42 can you help out here?
-
"Homing failed" is generated when a G28 command is executed but it didn't result in all of the specified axes being flagged as homed. All the requested axes will be flagged as "not homed" at the start of executing G28.
-
@dc42 said in PanelDueFirmware 3.2.6 released:
"Homing failed" is generated when a G28 command is executed but it didn't result in all of the specified axes being flagged as homed. All the requested axes will be flagged as "not homed" at the start of executing G28.
Thanks! Since everything works it might have to do with the specific setup and my specific code? For now I will just ignore it and dig deeper when I will find time.
Edit: Thanks to @deckingman we know that my issue is related to RRF3.2 and the behaviour of M291 within homing files
-
I have now released PanelDueFirmware 3.2.7. I will lock this thread. Please continue over there.