pknoe3lh/cncgcodecontroller — pull request #19 by carlosgs (2014-09-22 22:41:27+00:00)
Title: Small additions for simplified usage and increased Gcode compatibility

These modifications are my first work ever with Java, so please do notice me of any beginner mistakes.

- Splitted the "Homing" button into "Home XY" and "Z" button. The idea is to have the machine home towards the material using the manual "wired" probe, so having the separate homing options is more convenient.
- Added "Lift tool" and "Zero tool" steps to the "Milling" tab. This makes easier to change the tool between each machining operation.
- Added compatibility with Gcode generated with [FlatCAM](http://caram.cl/software/flatcam/). This is done by enabling "modal G0" and adding support for single F commands (X, Y and Z were already supported). Also, the G94 command (default feedrate mode) is added to the list of valid GXX codes to avoid errors.

This is how the FlatCAM Gcode flavor looks:
```
G21
G90
G94
F70.00
G00 Z10.0000
M03
G04 P1
G00 X57.5200Y13.3236
G01 Z-0.0500
G01 X57.5200Y17.3942
G01 X57.5009Y17.4153
...
```

The firmware that I am using is

![screenshot from 2014-09-23 00 25 13](https://cloud.githubusercontent.com/assets/1636266/4365040/be1ae774-42a7-11e4-83a5-c79427b39646.png)
![screenshot from 2014-09-23 00 26 00](https://cloud.githubusercontent.com/assets/1636266/4365058/f950dc54-42a7-11e4-9dab-bde56a39fe75.png)

Thank you for the nice software, I hope you like the modifications (though I know it is not the best implementation, sorry)