Added optional feature to stop printing when an endstop is hit. Made the Z display on the LCD in 3.2 format instead of 3.1. Added LCD message when and endstop is hit.
Small changes on the LCD panel, let the speed control work better, line up the parameter edit the same as the menu, remove some unused defines, and remove the Z from the 10mm move menu.
Fix home_all_axis to make QUICK_HOME work with Repetier-Host which sends G28 X0 Y0 Z0 instead of G28. Thanks to Matt Schoenholz for reporting this issue.
Use "whole program" and "link time optimization" features of gcc. The
whole-program optimization enables the compiler to evaluate the entire
firmware for optimization instead of just one code file at a time.
This leads to better overall optimizations.
The "relax" option enables the linker to convert certain "call"
instructions to the smaller "rcall" instruction. This reduces the
size of the resulting binary.
The big LCD code update. This splits the display and menu implementation. Paving the way for future different displays. It also makes it easier to modify the menu structures while keeping everything consistant. Note that this most likely breaks the translations, which need to be updated.
Add PID functional range setting. With high powered heaters the current functional range of 10 degrees causes high overshoots as the PID needs to kick in before the temperature hits 10 degrees below target.
Fix the sensitive pin definitions, there where analogue numbers in the digital pin list. Also made M42 without a P function on the LED_PIN (which was otherwise a useless pin definition)
Move the Arduino related stuff out of the Marlin tree, as they are not directly related to Marlin functionality but addons for the Arduino IDE. Also split up the addons for pre 1.0.0 Arduino and post 1.0.0 Arduino.