[ + adding the mailing list ]
Hi Benjamin,
> we are using your beagleg software for our magnet field measuring robot
> (
https://www.opensourceimaging.org/project/cosi-measure/).
Nice!
> The original
> version of COSI Measure was using BeBoPro, but this hardware is not
> available anymore and not open source. Therefore we were looking for
> some alternatives and found beagleg. So far everything is working fine.
> However, we noticed that beagleg only supports homing via the G28
> command. The G28 command only supports homing to min or max position.
Indeed, G28 moves to the 'machine origin'
(
https://github.com/hzeller/beagleg/blob/master/G-code.md#machine-origin),
wherever that is defined min/max for that particular axis.
(Ideally, this would be separated out as a separated machine homing
command, which hits the switches, and the 'logical' homing G28 which
goes to machine origin after the machine has been started).
> We would like to do homing to min AND max (similar to the G161 and G162
> commands). Is there a way in beagleg to do that?
Not right now, but it can be added easily if needed and I understand
what it can be used for.
What do you use it for ? Is it to determine that the machine
end-switches are working, or would you like to use the resulting
relative coordinate where the switch hits in expressions within G-Code
later ?
The description in
https://reprap.org/wiki/G-code#G161:_Home_axes_to_minimum is not very
clear in which cases this would be used: if we hit the other end of
the machine, we can't really determine the origin from that, as that
switch might be a little bit off: there should only be one 'source of
truth'. So it is not quite clear to me in which context that can be
used.
Or is it that you would like to have the switches in one place
('machine origin'), but then the G-Code origin in some other place ?
For that, I suggest to establish a work coordinate system - you can
tell BeagleG that the (0, 0, 0) origin is at a different place than
the physical machine origin:
https://github.com/hzeller/beagleg/blob/master/G-code.md#work-coordinate-systems
.
From then on, G-Code coordinates are relative to that coordinate
system (e.g. G54). There are more coordinate systems to configure
actually; the BeagleG G-Code documentation is a bit sparse, but there
is great online documentation to be found on the web for general
CNC-ing. The configured coordinate system is also stored in the
parameter file later, so it will be at the same place when BeagleG
comes up again.
This is standard CNC machine functionality, so provided this is what
you'd like to achieve, this would be a preferred way to establish a
different coordinate system than the 'physical' one (this is often not
a feature of simple 3D printer machine controls, but it is certainly
supported by BeagleG).
Grüße aus San Francisco,
Henner.
>
> best regards,
> Benjamin
>
> --
> Prof. Dr. Benjamin Menkuec
> University of Applied Science and Arts Dortmund
> Laboratory for Electromagnetic Imaging
> Sonnenstr. 96
> 44139 Dortmund
> Germany
> DJ4LF 73
>