Topic: Beta of updated firmware, improved Pause/Filament Chg, etc
I've been working on taking the latest lawsy firmware and extracting all the Solidoodle patches (theres a few, but not a heap)
I then took the very latest Marlin firmware as of the 8th of May when I started.
I then patched in all of the Solidoodle patches and made a few cleanups and commented all of the Solidoodle Patches with {SD Patch} so they could be easily located. This is just for SD specific patches.
Then I've grabbed buildrob over on github much improved Pause command (actually Filament Change) and then repatched that into the new code tree, available at https://github.com/ozadr1an/Solidoodle- … in_v1_M600.
The end result of all that is:
Arduino 1.X Support! (You need to update Arduino with the files in ArduinoAddons)
All of lawsy's Solidoodle tweaks to the original Marlin_V1 firmware
All of Rincewinds and Tealvinces Hysteresis and ZWobble patches
All of the current Marlin_V1 patches/fixes/updates. Adds some handy things like low-speed SD allowing longer control panel distance etc;
Added a feature to allow you to park the extruder head by safely moving it to a parking position. Unbundled this from the LCD requirement.
You can use this function for instance to clean the drive gear or change filament. Changing filament allows you to replace a nearly depleted spool or to change the filament entirely for multi-colored prints. (Patch imported from work by "buildrob" https://github.com/buildrob/Marlin_M600 and then reworked] )
M600 - Park head to allow filament change or pause of print (Defaults to home position based on SD2 or SD3)
M601 - Unpark head to resume printing
M602 - Turn on/off extruder motors (e.g., for change over)
M603 - Display LCD alert, sound beeper and wait for button press.
Filament Feed Alarm and Auto-Pause - Pauses the print automatically when the filament feed alarm is tripped ( as referenced in http://www.soliforum.com/topic/2266/hey … arm-175mm/ ) - still under alpha testing to iron out all the bugs in all scenarios
M600 has also been patched to provide the firmware commanded pause to Repetier-Host. So you can auto pause and home the head by sending an M600 or sending other co-ordinates and retraction distances to it as part of the M600. Sending M601 resumes the print, but you'll also have to press continue in Repetier-Host (It has now firmware commanded resume ).
Don't add M600 as a pause-script command either, as it will cause planets to collide and stars to explode.. well actually, it just causes a double-pause scenario, over writing the saved XYZ co-ordinates in the M600 command.. making M601 useless.
Just to restate; To resume prints, you need to send M601 and then click resume in Repetier. I'm trying to work out the logic to deal with repetier only having Firmware Requested Pause and not Resume...
Added benefit is the M600 saves all co-ords correctly, so you can home and move Z around more than you can with just repetiers pause function.
The auto-home function has also been added to SD card print pause/stop, and the Change Filament command on the LCD. But i'm in the process of further tweaking that as well to present a resume menu item when not printing from SD card.
I'm still thrashing out the patches over the next few days; but it would be great if a few more people could help troubleshoot any issues or specifically the M60X commands above... you can play without a print job running, just move the head/z-axis around and then send M600 etc.. (everything has sane defaults based on defined printer (SD2/3)).
Make sure you download the Marlin_M600 Branch; https://github.com/ozadr1an/Solidoodle- … in_v1_M600
Remember to set the correct Solidoodle_Printer and your Thermistors correctly. You'll also want to make sure that
#define PARK_HEAD_ENABLE
is enabled to test the M600 functions and to auto-park the head on SD card pausing etc via the LCD panel (if you have one; and don't forget to enable that too! ).
Thanks for any assistance in troubleshooting whats there so far... I'll post the next version in a couple of days finalising the Filament Alarm trigger... just want to iron a few more things out first..
Obligatory Warning: what I've already also posted is still very much Beta - it works fine on my Sang and RAMPS boards printing etc.. but don't dabble with this unless you are comfortable with firmware flashing.
Adrian