G92 doesn't set position on 1.21 firmware
I update to 1.21 and now G92 doesn't change postion. For example my homey.g:
[[g-code]] G91 ; relative positioning G1 S2 Z5 F6000 ; lift Z relative to current position ; home y G1 S1 Y315 F1800 ; move quickly to Y axis endstop and stop there (first pass) G1 Y-5 F6000 ; go back a few mm G1 S1 Y315 F360 ; move slowly to Y axis endstop once more (second pass) G1 Y-13 F6000 G92 Y290 G1 Y-157 F6000 G1 S2 Z-5 F6000 ; lower Z again G90 ; absolute positioning ```Doesn't work now like expected :/.
It works for me, provided that I have my M208 Y limit set to 290 or greater, otherwise the G1 Y-13 command moves a greater amount to bring the Y position within bed limits.
What M208 Y settings are you using, and what is the reason for using the G92 command in that file anyway?
I use G92 because my bed is slightly offset by 13mm from the y-max endstop. So I move to y-max, move back 13mm and set the the position to y-max. My M208 is M208 X297 Y290 Z350 S0.
On 1.21 when I set the G92 it doesn't seems to do anything, head position stays like it was. On 1.20 it changes the head position (in web control).
I've tried setting my M208 Y parameter to 290 and running your homey.g, and it's working for me. The final Y position shown is 133, which is 290-157. It would be 13mm lower if the G92 command was not working. This is on a Cartesian printer running firmware 1.21.
What happens if you send the commands in homey.g individually from the console?
Why not set your M208 Y parameter to 303?
Hmmm strange. I update to 1.21 again and now it seems to working but I find something strange:
1. Power up printer - works fine homing.
2. Turn off motors, axes not homed
3. Move axes with for example G91\n G1 S3 Y10 (I want to move axes without homing sometimes)
4. Run home again, y axes shits by 50% (I have y=157 wher y=290 should be.
Can you try to run this:
[[language]] ; test.g ; called to home all axes ; ; generated by RepRapFirmware Configuration Tool on Fri Feb 16 2018 16:52:18 GMT+0100 (CET) G91 ; relative positioning G1 S3 Y10 ;this brakes y position at end of the macro. G1 S2 Z5 F6000 ; lift Z relative to current position ; home y G1 S1 Y315 F1800 ; move quickly to Y axis endstop and stop there (first pass) G1 Y-5 F6000 ; go back a few mm G1 S1 Y315 F360 ; move slowly to Y axis endstop once more (second pass) G1 Y-13 F6000 G92 Y290 G1 Y-157 F6000 ; home x G1 S1 X315 F1800 ; move quickly to X axis endstop and stop there (first pass) G1 X-5 F6000 ; go back a few mm G1 S1 X315 F360 ; move slowly to X axis endstop once more (second pass) G1 X-3 F1800 G92 X297 G1 X-157 F6000 ; home z G1 S2 Z5 F200 ; raise head 4mm to ensure it is above the Z probe trigger height G90 ; back to absolute mode G30 S-1 ; lower head, stop when probe triggered and set Z to trigger height G92 Z3 ; set Z position to trigger height G90; G1 Z0 F200 G91 ;G1 Z-1 F200 G90 ; retract bltouch G1 Z10 F200 G1 Y4 F3600 G1 Z4.2 F200 G1 Z10 F200 G1 Y157 F6000 ```This confused me and I had think G92 is not working. And well after running this code G92 doesn't work like expected for the Y axis. Can you explain what the S3 parameter is? My printer is an CoreXY so when I run a move with S2 it moves only with one motor.
G1 S3 changes the M208 axis limit to where the endstop stops motion. If you just meant to move the Y axis without homing it first, I suggest you use G1 S1 not G1 S3. However, the G3 behaviour is arguably incorrect, because if the endstop is not triggered during the G1 S3 move, the M208 axis limit gets set to the current Y position anyway. It would be better if the firmware did not change the M208 limit, and perhaps it should report an error too.
In a future release I may add S4, meaning behave like S1 but ignore endstops.
Oh ok, now I understand. And about S4 I like that idea. And I think a checkbox or something like that in GUI to allow movement from panel/web without homing would be fine. Thank you for you help!
… And I think a checkbox or something like that in GUI to allow movement from panel/web without homing would be fine.
Not quite a checkbox, but you can create a macro to send M564 H0.
whosrdaddy last edited by
But then it would allow me move outside print area when printing as far I know. I find other solution - I edited dwc.js and made btn-move add M564 H0 before move and M564 H1 after move. Fair enough.