- Introduce raise_z_above to move Z carefully when the current position
is potentially unknown, using stallguard
- Use raise_z_above for:
* filament loading/unloading clearance
* extruder spacing when preheating (to avoid buildplate marks on PEI)
* before homing to avoid damaging the build plate and to avoid
repeated Z moves as well
Since raise_z_above is conditional, it will only raise when needed.
Calling raise_z_above when the extruder position is unknown and already
at maximum travel is safe and will prevent further vertical moves.
to have seperated build enviroments depening on Arduino IDE versions and board-versions.
Successfully tested with:
- Arduino IDE 1.8.5 and board version 1.0.1
- Arduino IDE 1.8.5 and board version 1.0.2
- These two above generate identical hex files
- Arduino IDE 1.8.7 and board version 1.0.2
- Arduino IDE 1.8.8 and board version 1.0.2
- Arduino IDE 1.8.9 and board version 1.0.2
- These three above generate identical hex files
- Compared to the 1.8.5 hex files the code uses less resources (Multi language/EN_ONLY):
```
Sketch uses 240082 bytes (94%) of program storage space. Maximum is 253952 bytes.
Global variables use 6002 bytes of dynamic memory.
Sketch uses 222344 bytes (87%) of program storage space. Maximum is 253952 bytes.
Global variables use 6019 bytes of dynamic memory.
```
vs.
```
Sketch uses 241526 bytes (95%) of program storage space. Maximum is 253952 bytes.
Global variables use 6046 bytes of dynamic memory.
Sketch uses 223828 bytes (88%) of program storage space. Maximum is 253952 bytes.
Global variables use 6065 bytes of dynamic memory.
```
Failed tests:
- Arduino IDE 1.8.6 and board version 1.0.2
- Arduino IDE 1.8.10 and board version 1.0.2