Skip to content

unupingu/Grbl-GCode-Sender

 
 

Repository files navigation

GRBL GCode Sender

2020-04-17: Alpha 17 release of binary.

Changes:

  • Resizable UI.
  • Toolbar with file handling tools, display of user defined macros with keyboard shortcuts.
  • Status bar for messages, run time and keyboard jog step size (jogging with <CTRL>+cursor keys).
  • Keyboard step jogging made available for non-grblHAL firmware. Change beetwen step sizes on the fly with numeric keypad 4 and 6. Feed rate is fixed to setting in Settings: App tab.
  • Shortcuts for sidebar flyouts (use Alt+underscored letter).
  • Cursor key jogging when jog flyout is active, even for non grblHAL firmware. No autorepeat!.
  • Change step size and feedrate with keyboard shortcuts when jog flyout is active. Bound to numeric keypad 2, 4, 6 and 8.
  • Manually associate GCode filetypes with sender.

Spring has finally arrived after a long wet and windy period :-), development will continue at a much slower pace from now...


2020-04-11: Alpha 15 release of binary.

Added interfaces for GCode conversion (from other file formats) and transformation.

Initially I have added two converters that I need for drilling, milling board outlines and making solder paste stencils from KiCad PCB designs:

  • Excellon to G81 drill commands. Has support for slots (Excellon G85). .drl filename extension required. Only for grblHAL firmware.

  • HPGL to edge cuts or solder paste stencil (when firmware is in laser mode). .plt filename extension required.

Two transformers added (available from File>Transform menu):

  • Arc to lines. Replaces Arcs (G2, G3) and splines (G5) with line segments. Arc tolerance from grbl firmware setting.

  • Add drag knife moves.

Note: these conversions and transformations has not yet been tested in a machine! Use with care.

Added File>Save menu option for saving converted/transformed GCode.
NOTE: Only metric output for now. Blocks will be reorganized to comply with NIST ordering. Again, use with care!

Lathe mode extensions: 3D viewer switched to XZ plane. G33 and G76 rendering implemented.

Added setup option to to enable keyboard jogging when firmware is not grblHAL. Understand the risks involved before doing so!

Many internal changes - perhaps the most important is a GCode emulator that is used by functions such as 3D rendering and transformations. Some bug fixes.


2020-03-29: Alpha 14 release of binary.

Added probing tab with tool length, edge finder, center finder and height map options. NOTE: This has NOT been extensively tested! G20 (inches) mode not tested at all! Do not use unless you understand the risks.

Disabled keyboard jogging when firmware is not grblHAL](https://github.com/terjeio/grblHAL). May add setup option to reenable later.

Many internal changes.


2020-03-16: Alpha 13 release of binary.

Program list control has been replaced vith a tab control with easy access to a 3D view and a console (for showing replies from grbl).

Added bounding box calculation for arcs (G2 & G3), Program limits should now be accurate.


2020-01-22: First alpha release of binary. Use with care and please report issues!

NOTE: Keyboard jogging with a grbl firmware other than grblHAL is likely to fail, this is a firmware problem so no plan to fix. grblHAL may also occasionally fail (likely due to issues in the sender) so be ready to hit reset/estop if it goes wrong!

NOTE: .Net Runtime version 4.5.2 is required, so this sender is for Win7 or later.

Some known issues:

  • The 3D-viewer will slow down loading of large files, if this is a problem then disable it in app settings. Fixed.

  • A restart is required after changing most app settings.

  • Lathe mode wizards may generate bad code, needs comprehensive testing. NOTE: As far as I know currently only grblHAL for MSP432 supports G76 for threading, all other builds will generate an error on G76. The G76 code generated is the linuxCNC variant.

  • There is no UI yet for configuring streaming via telnet or websocket protocols, either the app config file must be edited or the connection parameter has to be supplied on the command line.

  • Program limits displayed does not include arcs correctly if outside the bounding box defined by linear moves. Fixed.


Please check out the Wiki for further details.


A complete rewrite of my Grbl CNC Controls library including a sender application on top of these. It supports new features in GrblHAL such as manual tool change and external MPG control - and is one of the reasons for writing this library and app. Other senders I have tried does not play nice when a MPG pendant is connected directly to the Grbl processor card...


Current layout, likely to change. Since using the MVVM coding pattern this is fairly easy to do.

Sender

3D view of program, with live update of tool marker.

3D view

Advanced grbl configuration with on-screen documentation. UI is dynamically generated from data in a file.

Easy configuration


2020-03-16

About

A GCode Sender written in C# using WPF and MVVM coding patterns

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 100.0%