-
Notifications
You must be signed in to change notification settings - Fork 1
Changes made to Grbl
Although all of my changes will be obvious by comparing the various commits of this branch to the master, I've created a descriptive list of tasks to help me focus my efforts and verify my thought processes. If you feel that any of these changes are not needed, or that there are other things that need to be changed that I did not think of, please get in touch.
Currently this branch is an extension of Grbl v1.1e. If newer versions of Grbl come out I cannot guarantee that this branch will be updated along with it, though you are welcome to do so in a new fork.
-
config.h - add a new high-level
#define
flag (WALL_PLOTTER
) that can be used throughout the system to control program flow (see lines 182-184). -
defaults.h
- Add a new defaults group (
DEFAULTS_WALL_PLOTTER
) and update all values to match my test rig (see lines 455-492). - Add an additional documentation block to describe how various
#define
s are used that may not be as intuitive as typical Cartesian machines.
- Add a new defaults group (
-
limits.c - update to include new custom homing routine. Need to test out a few homing routine ideas before deciding on one, so I’ll opt to skip this in favor of manual calibration for first release.
-
nuts_and_bolts.h - extend
#ifdef
conditional for mapping theX_AXIS
,Y_AXIS
motors toA_MOTOR
,B_MOTOR
(see line 39) to also includeWALL_PLOTTER
. -
planner.c
-
plan_buffer_line()
- Add a new conditional to update
position_steps
using new custom wall plotter kinematic calculation functions (see lines 335-338) - Add a new conditional to update
target_steps
(see lines 344-347) andblock->steps
(see lines 352-354) based on new kinematic calculations. - Add a new conditional to calculate
delta_mm
based on kinematic calculations (see lines 377-384).
- Add a new conditional to update
-
plan_sync_position() - update to call new custom system functions to convert X,Y to polar coordinates (see lines 507-514).
_Make sure to follow the NOTE ([line 478](https://github.com/gnea/grbl/blob/af17f0071f1b964c32962d486f0351bdc6f7a6d9/grbl/planner.c#L478-L479)) about accommodating motor configurations that are not in the same coordinate frame as the machine._
-
-
report.c - update report_buld_info() to output a new, unique character over serial to indicate
WALL_PLOTTER
has been defined (see lines 364-366). Since 'P', 'W' and 'V' are all used already, I need to decide on a new one. How about 'G'?`` -
system.c - add new kinematic equations allowing other parts of the system to convert back and forth between X,Y and A,B coordinates.
- Add new kinematic functions to convert position to steps (see lines 330-342):
- system_convert_wall_plotter_to_x_axis_steps()
- system_convert_wall_plotter_to_y_axis_steps()
- Update system_convert_axis_steps_to_mpos() to call custom kinematic functions for converting Cartesian position to steps (see lines 292-299).
- Add new kinematic functions to convert position to steps (see lines 330-342):
-
system.h - add function headers to reflect new custom kinematic functions (see lines 182-186).