Commit Graph
93 Commits
Author SHA1 Message Date
bkubicek d69822ed51 Fix '#'
since it can occure in comments.
2013-10-22 10:34:51 +02:00
bkubicek 2fb2a0a119 Merge branch 'Marlin_v1' of https://github.com/ErikZalm/Marlin into Marlin_v1 2013-10-22 10:08:21 +02:00
bkubicek 39d88bcccb preparation for hibernation
If a print is stopped, it would be nice in the future to write a file with the printer state, the filename of the print, and the position within the print.
this file could be read, to continue a previously stopped print.
not finished yet.
2013-10-22 10:04:08 +02:00
bkubicek ab965376ff Sub-file calls.
by overloading M32 it is now possible to execute gcode files from other gcode files, with a fixed recursion level.
This can be used e.g. for having a real start.g and end.g somewhere on the sd card, which are then called from the normal print file.
Another usecase would be to have macro-files for nozzle-change and layerchange.
I have not tested the speedwise performance. The testing was done with pronterface.

syntax:
normal call from sd card will open the new file and continue executing there.
M32 !/path/filename#
this however will call the new file and return to the caller file.
M32 P !/path/filename#
with the optional "S<position>" the  file starting position can be set.
this is for continuing prints from a previous location.
2013-10-22 10:02:18 +02:00
bkubicek b2cc27e5ea Added a magic character for sd buffering.
if a '#' is read now the buffer will be emptied before reading ahead.
This is so one can execute files from within gcode files, without messing the buffer with preread characters from the caller file.
# can not occure in sd files imho, because it should only occure within checksums in ther serial communication.
Yes, thats a lame argument. If you have a better idea please tell me. It has to be a character that one can type
on a keyboard manually.
2013-10-22 09:54:13 +02:00
bkubicek 7fad13a1e2 Reverse SD card file name order.
This is _not_ automatically the cronological, since deleting a file will free
the filesystem descriptor for it, which then will be used by the next file copied on it.
Since this makes the auto0.g file very inaccessible, I put the option back, to have it in the prepare menu.

this should satisfy https://github.com/ErikZalm/Marlin/pull/373

as a reminder, auto0.g will be executed every time after a boot with sd card present and file present.
thereafter, if there is a file auto1.g this will be done. Thats IMHO the best place to put settings, and prepare heating.
I also execute again after each (now again via the prepare menu) before starting a new print/ after a failed one.
It for me 100% replaces any start.gcode form the slicers.
2013-10-12 13:24:55 +02:00
bkubicek b832f5b9f6 added delta tower babystepping. Its untested, but hopefully florian horsch will be able to try.
also, removed some trouble for compilation with corexy.
I think that babystepping is only possible in z for a delta tower.
not sure if it would be usefull to step individual motors on a delta, i don't own one
2013-10-07 09:14:04 +02:00
bkubicek c38b0855c8 I think that filament change is ready for the masses. I have tested very often with my ultimaker.
I strongly vote for it being a single gcode, because otherwise the triggering from the menu is terrible.
2013-10-06 21:20:26 +02:00
bkubicek d147a057ac Add the socalled "Babystepping" feature.
It is a realtime control over the head position via the LCD menu system that works _while_ printing.
Using it, one can e.g. tune the z-position in realtime, while printing the first layer.
Also, lost steps can be manually added/removed, but thats not the prime feature.
Stuff is placed into the Tune->Babystep *

It is not possible to have realtime control via gcode sending due to the buffering, so I did not include a gcode yet. However, it could be added, but it movements will not be realtime then.

Historically, a very similar thing was implemented for the "Kaamermaker" project, while Joris was babysitting his offspring, hence the name.

say goodby to fuddling around with the z-axis.
2013-10-06 21:14:51 +02:00
Bernhard 1d06b10962 Added a feature to have filament change by gcode or display trigger.
[default off for now]
syntax: M600  X[pos] Y[pos] Z[relative lift] E[initial retract] L[later retract distance for removal]

if enabled, after a M600, the printer will retract by E, lift by Z, move to XY, retract even more filament.
Oh, and it will display "remove filament" and beep like crazy.

You are then supposed to insert a new filament (other color, e.g.) and click the display to continue.
After having the nozzle cleaned manually, aided by the disabled e-steppers.
After clicking, the printer will then go back the whole shebang, and continue printing with a fancy new color.
2013-01-27 13:21:34 +01:00
Bernhard d3002ef741 corrected retract 2012-06-03 16:56:40 +02:00
Bernhard 0c123950e9 __ header file replace 2012-06-02 20:44:17 +02:00
Bernhard bf077125b9 added firmware retract. disabled by default 2012-06-02 20:32:28 +02:00
Bernhard 88d2a671cc readme corrected 2012-06-02 14:14:36 +02:00
Bernhard 0e5e249ab5 added individual pullup setting option to have finer control in case there is a special z-min sensor, for example 2012-06-02 13:47:50 +02:00
Bernhard e792d62f47 readme 2012-06-02 13:44:38 +02:00
Bernhard e4d2138dbd 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
2012-04-22 21:12:17 +02:00
Bernhard 464b755918 added support for the UltiController 2012-04-22 20:55:56 +02:00
Bernhard 44fd8d46d2 fixed quickhome 2012-04-22 20:44:27 +02:00
Bernhard 33bb044d7c fixed catsting to (int)e in serial error messages.
see https://github.com/ErikZalm/Marlin/issues/148
2012-04-22 20:04:39 +02:00
Bernhard 0183e6332a made prepare->autostart independent of current folder. 2012-03-19 20:24:40 +01:00
Bernhard 1532200435 found error in filenames.
One array was too short. This had nothing to do with long filenames, other than if they were 12 characters exactly, which could only happen if the extension and the text before were filled completely
2012-03-19 20:06:58 +01:00
Bernhard 157aa7f2fd m115 eol fix 2012-01-15 20:51:49 +01:00
Bernhard 7aeb45303d small mistake 2012-01-15 18:31:21 +01:00
Bernhard cee5f9020a added suicide pin for a power supply to the arduino that is only active if the arduino is holding high for an output. 2012-01-15 17:06:10 +01:00
Bernhard 3814bbb529 made sd code only compile with SDSUPPORT defined. safes 10k of codespace 2011-12-26 09:28:51 +01:00
Bernhard 729cde4475 fix autostart failure if in wrong directory 2011-12-26 09:20:53 +01:00
Bernhard 396270a0de fix duplicated definition of MOSI MISO pins in case motherboard==33 2011-12-26 09:20:21 +01:00
Bernhard 11f2dafc4e one step closer to a functional makefile.. 2011-12-22 16:43:28 +01:00
Bernhard 8463e39a4a starting with sanguino arduino 1.0 compatibility 2011-12-22 16:11:15 +01:00
Bernhard 2bc160a978 add wiring.h, that can be used to overwrite:
arduino-0023/hardware/arduino/cores/arduino/wiring.h
this is necessary if the avr libraries are recent, but arduino is old. Alternative: newer arduino
2011-12-22 14:57:28 +01:00
Bernhard 57f9359a41 simplified the includes, makefile now works with arduino23 2011-12-22 14:55:45 +01:00
Bernhard 3c1a4aac2b header file simplification 2011-12-22 12:38:50 +01:00
Bernhard 212515148e added m240 photography support. default off 2011-12-22 12:11:39 +01:00
Bernhard 6735025428 cooldown 2011-12-22 12:02:33 +01:00
Bernhard 415aadf704 lcd panel bed support
advance and ultipanel not any more in default config
2011-12-22 11:45:52 +01:00
Bernhard 4bababf5b0 Merge branch 'Marlin_v1' of https://github.com/ErikZalm/Marlin into Marlin_v1 2011-12-22 09:22:39 +01:00
Bernhard f312216e97 Revert "untestest commit, so I don't loose code.. features runout prevention addons"
This reverts commit 651cde8b98.
2011-12-22 09:22:22 +01:00
Bernhard 651cde8b98 untestest commit, so I don't loose code.. features runout prevention addons 2011-12-22 09:20:34 +01:00
Bernhard 3320a5b37d make autotemp compatile for use without pid 2011-12-11 22:25:52 +01:00
Bernhard 06411d5c9e ultralcd can now also stop the wait loop for the hot-end m109 heating when stopping sd prints. 2011-12-11 22:18:50 +01:00
Bernhard 82c99625fa instant stop of sd prints from the panel. 2011-12-11 22:10:06 +01:00
Bernhard 01001b89d2 repaired nozzle runout prevention to not collide with automatic stepper disabeling. 2011-12-11 15:42:56 +01:00
Bernhard 88ee053af0 heating up santity, formarly knows as "watchdog", but renamed due to the existance of the real watchdog, works now. 2011-12-09 17:07:44 +01:00
Bernhard b1d84d879b st_synchronize back to normal.. 2011-12-09 16:13:58 +01:00
Bernhard dde4b40fa9 disable steppers in runout prevention 2011-12-09 15:37:24 +01:00
Bernhard 2bc5e7ec9e prevent too long extrudes, or too cold extrudes 2011-12-09 15:09:52 +01:00
Bernhard aa4f9a6474 better values. 2011-12-09 14:09:34 +01:00
Bernhard 87fd249c43 made runout prevention independent of tempeorarily set esteps 2011-12-09 13:56:28 +01:00
Bernhard 1ec0c3b68a extruder runout prevention. 2011-12-09 13:39:00 +01:00
Bernhard 5b4625f79c added a partial release option to "m84" aka "stepper release". If you do tiny layers, you might want to keep the z-axis powered to not loose height positioning after homeing. 2011-12-09 12:51:08 +01:00
Bernhard cc4a9cdb69 added autostart procedure trigger to the ultralcd menu 2011-12-09 12:33:00 +01:00
Bernhard 61c943b4bf fixed the st_synchronize. it would have continued if there is only the last move of the buffer being stepped. 2011-12-09 12:32:31 +01:00
Bernhard 754d2d69b2 z homing sound fix, for now until the actual cause is found.. 2011-12-07 23:08:13 +01:00
Bernhard 986f0ba76c moved <stdio.h> to more dominant location. 2011-12-07 20:56:47 +01:00
Bernhard 460b788d78 repaired homing position setting. 2011-12-07 20:54:34 +01:00
Bernhard 12e8edcac3 Merge branch 'Marlin_v1' of https://github.com/ErikZalm/Marlin into Marlin_v1 2011-12-04 22:27:37 +01:00
Bernhard cf50ba140f added M503 to display eeprom storage, and renamed eeprom routings. This version is compatible with the qtmarlin eeprom-tab. 2011-12-04 22:26:42 +01:00
Bernhard 7714b98da7 solved some compiler warnings that are now visible in arduino 1.0.
Found a couple of unused variables, that I commented.
Tried to solve the program memory warning message, and failed.
2011-12-04 12:40:18 +01:00
Bernhard dfd240b260 overworked autotemp, removed one layer of nesting from the ultralcd. 2011-12-04 09:48:53 +01:00
Bernhard 4f909963e4 make QUICKHOME configureable 2011-12-04 09:02:09 +01:00
Bernhard 0bc9daa4f7 make it compile with arduino 1.0 ; function is still untested. 2011-12-01 16:38:01 +01:00
Bernhard b0c3871750 more fixing of the sanguino math round problem 2011-11-30 09:07:56 +01:00
Bernhard 9c57453168 removed stream.h referenece from marlinserial. 2011-11-30 08:57:30 +01:00
Bernhard 59205ac5fc preliminiary implementation for the early heating finish.
Might be replaced by something more clever, e.g. by erik, and does not yet support the second extruder or the bed.
its kind of not so cool, because you need 6 more ints.
Maybe isheating() should use the degrees directly, as it is not used in time-critical anyways.
Then it would be much easier. to have the offsets without additional variables.
2011-11-30 08:51:46 +01:00
Bernhard 7a4be21b4f made it compile if arduino decides to include files in a differnt order. DEC HEX and stuff now defined in MarlinSerial.h 2011-11-30 08:32:28 +01:00
Bernhard 716e89b87c first homing move diagonal towards home switches. 2011-11-29 22:11:45 +01:00
Bernhard d00b7e5587 repaired compiliation in windows 2011-11-28 22:45:40 +01:00
Bernhard e4ab0e5982 more inlines 2011-11-28 22:11:17 +01:00
Bernhard 8cb29921a0 possible stepper release after sd printing 2011-11-28 22:09:17 +01:00
Bernhard 044886b4a0 Merge branch 'Marlin_v1' of https://github.com/ErikZalm/Marlin into Marlin_v1 2011-11-28 21:52:16 +01:00
Bernhard b19c8b74b9 force inline 2011-11-28 21:51:44 +01:00
Bernhard 311627141b Merge branch 'smallopt' into Marlin_v1
Conflicts:
	Marlin/temperature.h
2011-11-28 21:36:01 +01:00
Bernhard 85da81e673 inlineing of small functions in serial 2011-11-28 19:34:42 +01:00
Bernhard b9ad0bb2ce removed unecessary indirect register adressing in serial. 2011-11-28 19:28:38 +01:00
Bernhard dd5ca68c87 get rid of indirect ringbuffer calls, made some inlines, removed virtual and streaming class requirements. 2011-11-28 19:13:40 +01:00
Bernhard 2d9a715655 first naive attempt to have a offset in the homeing procedure. Does not enable to move into regions not allowed by endstops. 2011-11-27 17:27:17 +01:00
Bernhard d2f034ba84 lcd message from gcode, m117 2011-11-27 16:53:11 +01:00
Bernhard 6aecf80278 add autotemp support to the lcd 2011-11-27 16:45:19 +01:00
Bernhard b128d25f27 overlooked some inlines.. 2011-11-27 16:45:00 +01:00
Bernhard 26a1de1e44 force inline 2011-11-27 16:04:58 +01:00
Bernhard f8e170a44b planner optimization by inline functions 2011-11-27 14:57:12 +01:00
Bernhard a0dc66f7bf Home retract distance configureable per axis. 2011-11-26 12:04:06 +01:00
Bernhard 6d6f323535 make an option if sd-card stop should release the steppers. 2011-11-26 11:51:38 +01:00
Bernhard 4d6a5c29df disable steppers as routine in stepper.cpp 2011-11-26 11:50:23 +01:00
Bernhard 74d0032e25 cooldown blocking selectable by #define. 2011-11-26 09:03:12 +01:00
Bernhard 191f36b493 slowdown 2011-11-25 23:59:30 +01:00
Bernhard c54a807824 overworked ultralcd a bit 2011-11-25 23:37:08 +01:00
Bernhard a6823a84e1 another typo 2011-11-25 22:36:33 +01:00
Bernhard 57e163e989 typo 2011-11-25 22:34:12 +01:00
Bernhard b58787a367 now velocities are also set in mm/sec in gcode. 2011-11-25 22:32:26 +01:00
Bernhard 71ca78982b Merge branch 'Marlin_v1' of https://github.com/ErikZalm/Marlin into Marlin_v1 2011-11-25 22:14:36 +01:00
Bernhard 235051253a overworked lcd+eeprom to have only mm/sec and PID including pid_dt 2011-11-25 22:14:29 +01:00