I'm breaking my head over how to avoid incostistencies in behaviour.
If I force it to xy zero and the user entered something other than 0, The
printer will just move to the center with the next G1 X0 Y0 instead of the
set position. If I do the recalculations anyways, the delta coordinate
space might be messed up. If I ignore the command for xy != 0, well
obviously the command is ignored... Which is what the user least expects.
However, if it is really only used to set "sane" positions and not to set
an offset or something, this could maybe used to continue prints - even on
delta printers. Decisions, decisions,...


On Mon, Apr 29, 2013 at 10:21 AM, kliment <notifications@github.com> wrote:

> In src/gcode_parser.c:
>
> > @@ -385,7 +421,8 @@ static int gcode_process_command()
> >  						st_synchronize();
> >
> >  					GET_ALL_AXES(current_position,float);
> > -					plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]);
> > +					printf("from G92\n\r");
>
> G92 is used to set position after manually moving the machine. A number of
> people with no endstops use it for homing (adjust position by hand or with
> G1 commands and then issue G92). It's used to restart a partially failed
> print by setting the last known printer position. It's also used (on E) to
> set filament position to a known value after changing filament mid-print.
> Other than the restart function all of these are possible with x=y=0. That
> limitation on delta would be better than making it a no-op.
>
> —
> Reply to this email directly or view it on GitHub<https://github.com/kliment/4pi-firmware/pull/14/files#r3994832>
> .
>



-- 
Robert