* Fix BLTouch homing
Deploy at start, dont call generic stow function at finish or raise goes too high before setting 0
* Update tool_change.cpp
* Update motion.cpp
* Update motion.cpp
* Update motion.cpp
* Update motion.cpp
* Change brackets to be more in align of Marlin coding standards
Indeed the HAL does not need to be mucked around with to expose ATmega2560 pins not available as numbers on the MEGA board, I'll need to update the wiki with that tidbit and a reference to the pin-mapping comment in `fastio_1280.h`.
The current Marlin implementation relies on a timer interrupt to start the ADC conversion and read it. However in some circumstances the interrupt can be delayed resulting in insufficient time being available for the ADC conversion. This results in a bad reading and false temperature fluctuations. These changes make sure that the conversion is complete (by checking the ADC hardware via the HAL) before reading a value.
See: https://github.com/MarlinFirmware/Marlin/issues/11323
It takes too long to display the mesh data for large mesh's at startup. We should consider ways to speed this up.
Perhaps it makes sense to display an entire row of the mesh instead of just one mesh point?
When `REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER` is defined and Re-ARM build is attempted, `u8g_fontutf8.cpp` includes `fontutils.h` which uses `abs()`.
However, `abs()` is defined in `stdlib.h` which is not included in `fontutils.h`, so compile fails with an error.
Include `stdlib.h` in `fontutils.h` so that `abs()` is defined before `u8g_fontutf8.cpp` needs to use it, resolving the compile error.
Signed-off-by: Jamie Bainbridge <jamie.bainbridge@gmail.com>