Since the class "MainMenu" was used within a static variable the
initialization of the object (constructor call) was done before Arduino
library startup. It always caused a crash when using AVRStudio with
JTAG debugger (caused from calling the LCD initialization / the lot of
I/O work / the stack used during this calls). By moving the LCD_INIT
out of the constructor and using an explicit call inside of Arduino
setup() implementation immediately fixed all problems and the JTAG
debugger runs fine.
reinitialize the lcd, if the SD card is inserted or removed. It seems that LCDs can confused by electrical discharges from time to time.
Since a removal or insert of the sd card takes a long time in firmware, just reinitializing the lcd does not hurt.
actually, it solves a problem with the UltiControlle
This is in my opinion a much better way of dealing with SD cards than my previous fix.
Instead of adding a momentary switch to fake the insertion of the card I have modified the ultralcd menu item:
Card Menu -> Refresh
to reinitialise the card providing that the SDCARDDETECT pin has been set to -1 in the pins.h file. This requires one less switch on the front panel and the refresh menu item is in the most relevent place for a user who wishes to inert a card and then print from it.
It also means that the "Card inserted" messages do not bother the users of these card readers (they dont make sense for users without SCCARDDETECT)
I find that the PID routine works better when the cooling fan is switched on
at the beginning of a warm up routine. Otherwise when you enable the fan
just before a print, you have a delay as the PIDre-adjusts.
This should also be safer as most cooling fans are directed at the hot -ends
thermal barrier!
Instead of a single pre-heat, now there is pre-heat ABS and PLA options
Added defines to the configuration file to adjust preheat temperatures for both
Added late z enable. (blddk request)
Only calculate look ahead if >2 moves in buffer.
Removed some FORCE_INLINE to save memory.
Signed-off-by: Erik van der Zalm <erik@vdzalm.eu>