On 26 April 2017 at 02:11, Dean Gouramanis <
temprod...@gmail.com> wrote:
> Hello BeagleG community. My name is Dean. I am building a miniature CNC
> milling machine. It has been a 4 year project. I have been working with
> BeagleG since March 2017.
>
> The machine is functional right now (although incomplete).
>
https://youtu.be/YpW9kkOM5Ro
>
> Today I am trying to use the machine to fabricate the "switch panel plate".
> Here is a picture of the CAD model.
>
>
https://www.instagram.com/p/BSrb6BFhA_k
>
> There are six G-code programs total for the part. The programs are separate
> because I need to switch drill bits manually.
>
> For the first program I set zero using G92 G90. In the second program I use
> G90, but looks like BeagleG has defined a new zero position. Is there a way
> for BeagleG to remember the software "zero absolute" between programs?
Can you describe more what you need, e.g. What are the GCodes you send
and what is what you expect it to do but what it does instead ?
BeagleG tries to be pretty standard conformant w.r.t. the coordinate
system manipulation, but that doesn't mean that is is not doing it
wrong.
> Is there a variable I can access which holds the current software
> coordinates?
The coordinate system values for G54 and up are stored in the
'standard' parameters #5220 and up. You can access them in gcode
wherever a number is expected.
I think storing the offset for G92 in #5211 and up is not implemented
yet, but that should be quick.
> Has anyone worked on DRO functionality?
Leonardo has worked on exposing the current position to some readout
that is working independently of GCode M114, that also takes the
actual current position into consideration (not what is enqueued to
the motors, but also the current step the motor is in). Not all of
that code is yet back merged into BeagleG.
>
> I plan to work on Jog/DRO functionality for BeagleG. (For now the joystick
> and switches are just for show!)
I have an old hack that reads a joystick and emits GCode
https://github.com/hzeller/joystick-gcode-jog
.. but this just emits GCode and guesses how fast the machine is
going. It would be good if we can directly control within BeagleG.
>
> I have already designed some #OpenHardware which polls all the
> switches/joystick, and communicates over UART to BBB. The circuit also
> handles emergency stop.
>
>
https://github.com/dgouramanis/OPTOCAPE/
>
> At the moment my plan is to continuously monitor the Jog hardware with a
> daemon. The daemon could rapidly generate/execute short G-code files from a
> shell script to jog the machine. This may be a bit jerky and error-prone.
> Just brainstorming at this point.
Have a look at my joystick-gcode-jog example above as a starting
point. It is not perfect, as you predicted, it can create some jerkey
motion.
-h