Commits on Jul 26, 2016
  1. Non-CoreXY compiling fix.

    chamnit committed Jul 26, 2016
  2. Fixed homing on CoreXY machines only.

    - The homing routine for CoreXY/H-Bot CNC machines has been fixed.
    - Version date bumped, but this update does NOT effect any normal
    users. Only CoreXY users.
    chamnit committed Jul 26, 2016
  3. Merge branch 'master-corexy'

    chamnit committed Jul 26, 2016
Commits on Jul 25, 2016
  1. CoreXY homing bug fix attempt 2.

    chamnit committed Jul 25, 2016
  2. CoreXY homing fix attempt.

    chamnit committed Jul 25, 2016
Commits on Mar 18, 2016
  1. @chamnit

    No variable spindle and spindle speed fix.

    - When VARIABLE_SPINDLE output is disabled in config.h, the last commit
    would keep the spindle enable pin disabled when spindle speed is not
    defined (S0). This is now ignored and will enable with S0, as spindle
    speed is ignored in this mode.
    chamnit committed Mar 17, 2016
Commits on Mar 16, 2016
  1. @chamnit

    Soft limit handling bug fix

    - Soft limit errors were stuck in a feed hold without notifying the
    user why it was in a hold. When resumed, the soft limit error would
    kick in. Issue should be fixed to behave as intended to automatically
    hold and issue a soft limit alarm once the machine has come to a stop.
    chamnit committed Mar 16, 2016
Commits on Mar 4, 2016
  1. @chamnit

    Bug fixes and more limit configurability

    - Strange sizeof() bug in the most recent releases. Manifested as an
    alarm upon a power up even when homing was disabled. Fixed by declaring
    sizeof() with struct types, rather than variable names, even though
    they were validated to give the same value.
    - Spindle speed zero should disable the spindle. Now fixed.
    - New configuration option for inverting certain limit pins. Handy for
    mixed NO and NC switch machines. See config.h for details.
    - Incremented version and pre-build firmware link.
    chamnit committed Mar 3, 2016
Commits on Dec 18, 2015
  1. @chamnit

    Minor bug fixes.

    - Planner was under-estimating maximum speeds through straight
    junctions in certain cases. The calculations have been updated to be
    more accurate.
    - Type declaration fix in probe.c.
     - Commit log for v0.9j generated separately from v0.9i’s.
    - Incremented version and updated pre-built firmware link.
    chamnit committed Dec 18, 2015
Commits on Oct 1, 2015
  1. @chamnit

    Minor bug fixes.

    - G38.x was not printing correctly in the $G g-code state reports. Now
    - Potential bug regarding volatile variables inside a struct. It has
    never been a problem in v0.9, but ran into this during v1.0
    development. Just to be safe, the fixes are applied here.
    - Updated pre-built firmwares with these two bug fixes.
    chamnit committed Sep 30, 2015
Commits on Aug 17, 2015
  1. @chamnit


    chamnit committed Aug 16, 2015
Commits on Aug 14, 2015
  1. @chamnit

    Individual control pin invert compile-option.

    - Control pins may be individually inverted through a
    CONTROL_INVERT_MASK macro. This mask is define in the cpu_map.h file.
    chamnit committed Aug 14, 2015
Commits on Jul 17, 2015
  1. @chamnit

    Version bump to v0.9j

    - Version bump requested by OEMs to easily determine whether the
    firmware supports the new EEPROM reset feature. Other than that, no
    significant changes.
    chamnit committed Jul 17, 2015
Commits on Jun 25, 2015
  1. @chamnit

    Restore parameters minor bug fix.

    - `$RST=#` was not wiping the G30 positions from EEPROM. Minor but now
    chamnit committed Jun 25, 2015
Commits on Jun 20, 2015
  1. @chamnit

    New EEPROM restore functions.

    - Tweaked the previous EEPROM restore implementation and added new
    - `$RST=$` restores the `$$` grbl settings back to firmware defaults,
    which are set when compiled.
    - `$RST=#` restores the `$#` parameters in EEPROM. At times it’s useful
    to clear these and start over, rather than manually writing each entry.
    -`$RST=*` wipe all of the data in EEPROM that Grbl uses and restores
    them to defaults. This includes `$$` settings, `$#` parameters, `$N`
    startup lines, and `$i` build info string.
    NOTE: This doesn’t write zeros throughout the EEPROM. It only writes
    where Grbl looks for data. For a complete wipe, please use the Arduino
    IDE’s EEPROM clear example.
    - Refactored the restore and wipe functions in settings.c to
    accommodate the new commands.
    chamnit committed Jun 20, 2015
Commits on Jun 18, 2015
  1. @chamnit

    Updated README

    chamnit committed Jun 18, 2015
  2. @chamnit

    Added restore settings defaults command.

    - New restore setting defaults command. Only wipes ‘$$’ setting in
    EEPROM and reloads them based on the defaults used when Grbl was
    compiled. Used with a `$RST` command
    NOTE: `$RST` is intentionally not listed in the Grbl ‘$’ help message.
    chamnit committed Jun 18, 2015
Commits on May 30, 2015
  1. @chamnit

    Added G61 exact path support.

    - G61 exact path is the Grbl default path control mode, so it’s now
    added as a supported g-code.
    chamnit committed May 29, 2015
Commits on May 27, 2015
  1. @chamnit

    Another git case-sensitive folder fix.

    - I’m now officially annoyed.
    chamnit committed May 27, 2015
  2. @chamnit

    Added X-Carve defaults.

    - Added X-Carve 500mm and 1000mm default files.
    - Tweaked all default files. Removed obsolete AUTO_START and updated
    some JUNCTION_DEVIATION defaults after testing showed these needed to
    be reduced slightly.
    chamnit committed May 27, 2015
  3. @chamnit

    Merge pull request #710 from buserror/fix-directory-case-sensitivity

    Rename Grbl to grbl
    chamnit committed May 27, 2015
  4. @buserror

    Rename Grbl to grbl

    Otherwise compilation fails on linux, or other case sensitive systems
    Signed-off-by: Michel Pollet <>
    buserror committed May 27, 2015
Commits on May 26, 2015
  1. @chamnit

    Updated README

    chamnit committed May 26, 2015
  2. @chamnit

    Merge pull request #706 from grbl/edge

    Merge edge branch.
    chamnit committed May 26, 2015
Commits on May 23, 2015
  1. @chamnit

    CoreXY planner bug fix.

    - CoreXY motions were moving to the negative value of the intended
    target. Now fixed.
    chamnit committed May 23, 2015
  2. @chamnit

    Moved cpu_map.

    - Moved cpu_map files to a cpu_map directory, like the defaults file
    chamnit committed May 23, 2015
  3. @chamnit

    Homing and limit updates. Minor bug fixes.

    - Updated new homing cycle to error out when a pull-off motion detects
    the limit is still active.
    - Created a limits_get_state() function to centralize it. It reports
    state as a bit-wise booleans according to axis numbering.
    - Updated the print uint8 functions. Generalized it to allow both base2
    and base10 printouts, while allowing base2 prints with N_AXIS digits
    for limit state status reports. Doing this saved about 100bytes of
    flash as well.
    - Applied CoreXY status reporting bug fix by @phd0. Thanks!
    chamnit committed May 23, 2015
Commits on May 22, 2015
  1. @chamnit

    Merge pull request #702 from ashelly/default-split

    Moving defaults to individual files in subdirectory
    chamnit committed May 22, 2015
  2. @chamnit

    Merge pull request #700 from ashelly/header-split

    Header split
    chamnit committed May 22, 2015
  3. Fixing up comment blocks in headers

    ashelly committed May 22, 2015
  4. Splitting Cpu map into separate files.

    Makes comparison, addition of new ones easier
    ashelly committed May 22, 2015
Commits on May 17, 2015
  1. @chamnit

    Critical M0/2/30 fix. Homing updates.

    - Critical fix for M0 program pause. Due to its recent change, it would
    cause Grbl to suspend but wouldn’t notify the user of why Grbl was not
    doing anything. The state would show IDLE and a cycle start would
    resume it. Grbl now enters a HOLD state to better indicate the state
    - Critical fix for M2 and M30 program end. As with M0, the state
    previously would show IDLE while suspended. Grbl now does not suspend
    upon program end and leaves job control to the GUI. Grbl simply reports
    a `[Pgm End]` as a feedback message and resets certain g-code modes.
    - M2/30 g-code reseting fix. Previously Grbl would soft-reset after an
    M2/30, but this was not complaint to the (linuxcnc) g-code standard. It
    simply resets [G1,G17,G90,G94,G40,G54,M5,M9,M48] and keeps all other
    modes the same.
    - M0/M2/M30 check-mode fix. It now does not suspend the machine during
    - Minor bug fix related to commands similar to G90.1, but not G90.1,
    not reporting an unsupported command.
    - Homing cycle refactoring. To help reduce the chance of users
    misunderstanding their limit switch wiring, Grbl only moves a short
    distance for the locate cycles only. In addition, the homing cycle
    pulls-off the limit switch by the pull-off distance to re-engage and
    locate home. This should improve its accuracy.
    - HOMING_FORCE_ORIGIN now sets the origin to the pull-off location,
    rather than where the limit switch was triggered.
    - Updated default junction deviation to 0.01mm. Recent tests showed
    that this improves Grbl’s cornering behavior a bit.
    - Added the ShapeOko3 defaults.
    - Added new feedback message `[Pgm End]` for M2/30 notification.
    - Limit pin reporting is now a $10 status report option. Requested by
    OEMs to help simplify support troubleshooting.
    chamnit committed May 17, 2015
Commits on Mar 30, 2015
  1. @chamnit

    Fix for limit pin reporting compile-option

    - The limit pin reporting wasn’t working correctly due to calling the
    wrong similarly-named function. Verified to be working now.
    chamnit committed Mar 29, 2015
Commits on Mar 29, 2015
  1. @chamnit

    Commit history, logo license, full-arc fix.

    - Commit history added to repo, as an easier way for people to see view
    the changes over time.
    - Grbl logo copyright license added. All rights reserved with regards
    to the Grbl logo.
    - G2/3 full circles would sometime not execute. The problem was due to
    numerical round-off of a trig calculation. Added a machine epsilon
    define to help detect and correct for this problem. Tested and should
    not effect general operation of arcs.
    chamnit committed Mar 29, 2015