Alarm if limits engaged on homing
add MOTION_MODE_PROBE_NO_ERROR
install G38.{3,4,5}
utilize MOTION_MODE_PROBE_NO_ERROR
If variable spindle is defined print S value via $G command.
No false alarm if other bits in port are set.
Minor settings number overflow bug fix.

- The `x` in `$x=val` would overflow when a value larger than 255 was
entered and passed to Grbl. This resulted with unintended parameters
being set by the overflow value. To fix, simply check for values larger
than 255 and error out.
Merge pull request #493 from alpharesearch/edge

If variable spindle is defined print S value via $G command.
Merge pull request #494 from ashelly/homing-alarm

Alarm if limits engaged on homing start.
Edit hard limit check at start of homing cycle
cleanup global var and push probe mode into probe_get_state
test only for & PROBE_ACTIVE
bump mantissa to uint16_t to enable G38.5
add/install probe_errors_enabled in mc_probe_cycle
hop over probe pull-off sequence after probe miss

and while "no errors" is enabled (G38.3, G38.5)
add probe_finalize to keep things DRY

this allows the PRB report to be valid when in "no errors" mode and the probe fails
report probe_succeeded with probe status
Merge pull request #491 from tmpvar/G38.2+

G38.2+
Updated variable spindle and new probing. Minor bug fixes.

- Minor bug fix for variable spindle PWM output. Values smaller than
the minimum RPM for the spindle would overflow the PWM value. Thanks
Rob!

- Created an optional minimum spindle PWM low-mark value as a
compile-time option. This is for special circumstances when the PWM has
to be at a certain level to be read by the spindle controller.

- Refactored the new probing commands (G38.3, G38.4, G38.5) code to
work better with the rest of Grbl’s systems.

- Refactored mc_probe() and mc_arc() to accept the mode of the command,
i.e. clockwise vs counter, toward vs away, etc. This is to make these
functions independent of gcode state variables.

- Removed the pull off motion in the probing cycle. This is not an
official operation and was added for user simplicity, but wrongly did
so. So bye bye.

- Created a configure probe invert mask function to handle the
different probe pin setting and probing cycle modes with a single mask.

 - Minor bug fix with reporting motion modes via $G. G38.2 wasn’t
showing up. It now does, along with the other new probing commands.

- Refactored some of the new pin configurations for the future of Grbl.

-
Merge remote-tracking branch 'upstream/edge' into digital_output_control

Conflicts:
	config.h
	gcode.c