From baebeb436fda89ef5710f88743d8375127099d74 Mon Sep 17 00:00:00 2001 From: devdesk Date: Thu, 4 Dec 2025 14:46:13 +0200 Subject: [PATCH] Add T.A.M.I Drawbot modifications changelog to README - Added changelog section documenting all modifications since forking - Documented December 4, 2025 changes (inverted servo PWM, M5 fix) - Listed earlier modifications (servo mode, homing fix) --- HOMING_FIX.md | 81 ++++++++++++++++++++++ PLATFORMIO.md | 181 ++++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 25 ++++++- grbl/config.h | 2 +- 4 files changed, 286 insertions(+), 3 deletions(-) create mode 100644 HOMING_FIX.md create mode 100644 PLATFORMIO.md diff --git a/HOMING_FIX.md b/HOMING_FIX.md new file mode 100644 index 0000000..b507bf6 --- /dev/null +++ b/HOMING_FIX.md @@ -0,0 +1,81 @@ +# GRBL Homing Issue - Fix Documentation + +## Problem Identified + +Your GRBL configuration was attempting to home X and Y axes **simultaneously** in `HOMING_CYCLE_1`. When axes home at the same time, whichever limit switch is encountered first can cause the entire homing cycle to abort, especially if: + +- Axes have different distances to travel to their limit switches +- Mechanical tolerances cause one axis to reach its switch before the other +- The machine isn't perfectly square + +## Root Cause + +In `grbl/limits.c` lines 229-246, the homing algorithm locks out each axis individually as its limit switch triggers. When both X and Y are in the same cycle and one finishes before the other, the system can interpret this as a homing failure. + +## Solution Applied + +**Changed in `grbl/config.h`:** + +**Before:** +```c +#define HOMING_CYCLE_0 (1<