Multiple motion system
-
@Alva my best guess is that the move G1 X0 Y0 U0 in mini(1).gcode hasn't completed when daemon.g starts commanding U axis motion. This shouldn't be possible, because if U hasn't finished moving then U should still be owned by MS0, so the attempt to move it in daemon.g should fail with the "axis already owned by another MS" message. I'll check the M400 code.
-
@dc42 I have edited the code and logic a bit. Found different cases:
; File Name: /sys/daemon.g if(!exists(global.daemonStop)) global daemonStop = false ; Set to 1 to stop the daemon.g, it can be use to upload a new daemon.g file while( global.daemonStop == false ) if(state.status== "processing") G91 M596 P1 G1 U5 F300 M596 G4 P0 M99; Exit
test_2nd_MS.gcode
.
This happened when i activated the daemon before the move to X0 Y0. But if i activate the daemon after that then it works perfectly. Cannot relate whats going on.set global.daemonStop = true ; stopped the daemon M118 S{"starting to move"} G90 G1 X0 Y0 M400 S1 G91 set global.daemonStop = false ; activated the daemon which only use U axis G1 X100 Y100 F200 M400 S1 G90 M118 S{"move done"} M99
-
-
@Alva Looks like it is a timing problem or something.
-
@Alva thanks, I will try to replicate it.
-
@dc42 Thank you
-
@Alva I have reproduced this and I am looking into it.
-
@Alva I created https://github.com/Duet3D/RepRapFirmware/issues/1064 and I am testing a fix.
-
@Alva please try the new Duet 3 Mini firmware binary at https://www.dropbox.com/scl/fo/pasag1g18orahwvn49qp2/ABWgw6D-TyKWxxurTmGwiUE?rlkey=r9h3rjyw1l4wh7xbr8yho37gw&dl=0.
-
@dc42 It seems to be working. I have tried all the above conditions and works as intended. Can i expect the same fix for Duet3 6HC board as well, as i observed the same behavior in it as well. Thank you
-
@Alva I have just put a 6HC build at the same location.
-
@dc42 Thank you , I will check it out