I thought it might be helpful to overview our understanding of the current process. Hopefully the gurus will straighten out any errors I make here - but a least it's a talking point.

This is a very simplified description of the two processes running to turn gcode into machine motion. I didn't include tool I/O etc or manual commands. Basic auto or MDI process.

task (userspace- runs continuously)
    -calls interpreter to read gcode line
        -interp updates an internal settings structure
        - if the line has a motion command adds it to queue.
        - updates status on some things (not in sync with machine)
        repeat

Motion (realtime - runs continuously)
    -reads queue for next command
    -updates status on some things (in sync with machine)
    -reads HAL inputs for motion/spindle
    - plans trajectory (adjusts for overrides/threading etc)
    -outputs HAL pins for motion/spindle
    repeat

Once we know this is rightish then we can expand on it.

Hopefully in the end I can pull together some enough for documents for the future so more people can get involved. It also is helping wrap my head around linuxcnc internals.


Chris


_______________________________________________
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to