- Implemented USE_SPINDLE_SERVO_MODE configuration option
- Changed Timer2 prescaler from 1/8 to 1/1024 for ~50Hz servo frequency
- Added configurable servo pulse width range (SPINDLE_SERVO_MIN_PULSE/MAX_PULSE)
- M3 S0-S1000 now controls servo position (0-180 degrees)
- M5 positions servo to maximum position (pen up) instead of disabling PWM
- Default configuration supports pen plotter with reversed pulse values (MIN=31, MAX=16)
- Only supports ATmega328p (Arduino Uno) processors
Based on: https://www.buildlog.net/blog/2017/08/using-grbls-spindle-pwm-to-control-a-servo/
NOTE: This push is a work-in-progress and there are known bugs that
need to be fixed, like homing acceleration being incompatible. Released
for testing. Settings will definitely be overwritten, as new settings
were needed.
- Acceleration independence installed in planner. Each axis can now
have different accelerations and Grbl will maximize the accelerations
depending on the direction its moving. Very useful for users like on
the ShapeOko with vastly different Z-axis properties.
- More planner optimizations and re-factoring. Slightly improved some
of the older calculations, but new acceleration calculations offset
these improvements. Overall no change in processing speed.
- Removed planner nominal length checks. It was arguable whether or not
this improved planner efficiency, especially in the worst case scenario
of arcs.
- Updated readme and changed to markdown format.