Commit graph

1611 commits

Author SHA1 Message Date
Richard Miles dc887ef99b Implement M226 - GCode Initiated Pause
Implemented M226 as described here:
http://reprap.org/wiki/G-code#M226:_Gcode_Initiated_Pause

Waits for pin to be become either HIGH, LOW or the inverse of what it
was before. Allows printing to pause until user interaction
2013-11-09 15:11:58 +00:00
Charles R c244eb860c If you have a switch on suicide pin, this is useful if you want to
start another print with suicide feature after a print without
suicide...
2013-11-04 12:04:04 +01:00
dumle29 f941203172 PS_ON configurable boot state
Allows the user to select wheter or not the PSU should be turned on or
kept in standby when marlin boots
2013-10-29 18:44:56 +01:00
whosawhatsis c79e3967b3 Make G11 not horribly broken 2013-10-24 18:58:42 -07:00
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 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
Erik van der Zalm 8a08cca0f2 Added temperature status less.
Hopefully fixed viky button handling without braking other boards
2013-10-20 12:12:35 +02:00
Erik van der Zalm 87e28c0599 Added ifdefs to blinkm 2013-10-20 09:55:15 +02:00
ErikZalm 6a803ba9c5 Merge pull request #590 from timkoster/Marlin_v1
Added BlinkM support over i2c
2013-10-20 00:51:35 -07:00
Alex Borro 6f85a8c7aa Bed auto Leveling change: Raise Z before homing
- Added "Z_RAISE_BEFORE_HOMING" for raising Z the defined distance
before homing. This is useful to avoid Z-Probe collision when hotend is
near bed.

- Fixed the issue of Z not going bellow Z_PROBE_OFFSET when
"min_software_endstops" is true.
Now the Z_PROBE_OFFSET is not set in Z_MIN_POS, it is added after
homing.
2013-10-12 17:28:11 -03:00
Alex Borro dd3086d3f2 Show Temperature ADC values
If "SHOW_TEMP_ADC_VALUES" is defined in Configuration_adv.h, the M105
command will present, after tradicional temperatures, the ADC value read
from temp sensors. This is great for adjusting thermistor tables with
thermocouple.

From Pronterface you can see the ADC value and compare with a
thermocouple reading.. then you just need to create your own thermistor
table.

Since this merge doesnt change the original information, it doesnt mess
with PC software parsing (tested under Pronterface and Repetier-Host).
2013-10-12 10:41:23 -03:00
Alex Borro 253dfc4bc1 Bed Auto Leveling feature
Check the Readme for instruction how to enable and configure the feature
2013-09-29 13:20:06 -03:00
Tim Koster 61db046b32 Added #ifdef BLINKM around new code. Also refined BlinkM.h. 2013-09-20 10:57:42 +03:00
GDV0 f17506c504 FIx compilation error when enabling SERVO_ENDSTOPS (#591) 2013-09-11 23:09:37 +02:00
Tim Koster 7016cc9511 Added BlinkM support over i2c 2013-09-10 12:18:29 +03:00
Peter Hercek 9aa2229077 add command M666 for adjusting delta printer endstop position 2013-08-28 01:15:20 +02:00
Robert F-C 9547fb9dfb Add duplication and auto-park mode for dual x-carriage support. 2013-08-08 00:10:26 +10:00
Nicolas Rossi a54fe2d73c Merge branch 'Marlin_v1' of https://github.com/ErikZalm/Marlin.git into Marlin_v1
Conflicts:
	Marlin/Marlin_main.cpp
2013-08-03 13:05:56 +02:00
hg42@gmx.net 2ca983568d separate INVERTING for MIN and MAX endstops (6 #defines instead of 3) 2013-08-01 15:06:39 +02:00
Nicolas Rossi 9bf1cf1b22 Pre-calculate diagonal rod length squared 2013-07-30 14:09:21 +02:00
Guillaume Seguin 6c42a3a339 Woops, fix logic 2013-07-30 14:02:04 +02:00
Guillaume Seguin 376d8af2c8 Report temperatures for all extruders 2013-07-30 14:02:01 +02:00
ErikZalm 434b6a05c1 Merge pull request #552 from iXce/Marlin_v1
Report temperatures for all extruders in reply to M105
2013-07-29 10:39:21 -07:00
Nicolas Rossi 55c287a69e Fixed move from panel for delta bot #557 2013-07-28 22:54:37 +02:00
Jim Morris b9d7ccf1cd Merge remote-tracking branch 'upstream/Marlin_v1' into delta-configuration
Conflicts:
	Marlin/Marlin_main.cpp
2013-07-24 02:49:25 -07:00
Guillaume Seguin 01ed99143c Woops, fix logic 2013-07-23 23:34:42 +02:00
Guillaume Seguin 34da3a0a3f Merge github.com:ErikZalm/Marlin into Marlin_v1
Conflicts:
	Marlin/language.h
2013-07-23 21:46:41 +02:00
Guillaume Seguin 18199ff960 Merge github.com:ErikZalm/Marlin into Marlin_v1 2013-07-23 21:33:52 +02:00
Robert F-C fb5334f428 Fixed compile error when QUICK_HOME is defined.
As well a couple of minor changes to handling of extruder offset for
dual x-carriage mode.
2013-07-22 22:46:14 +10:00
Robert F-C 39cd3dbdbe Remove dual x-carriage functionality that could/should be implemented in slicer
Also added a couple of missed merge lines in homeaxis() from previous
commit.
2013-07-20 13:07:50 +10:00
Jim Morris d01ee7e7b5 fix zjerk being the same for delta as xy jerk
add more delta defaults
on delta make second home even slower
2013-07-17 16:14:07 -07:00
Robert F-C d7390e13d9 Support dual x-carriage printers
Dual x-carriage designs offer some substantial improvements for dual
extruder printing.
2013-07-17 22:44:45 +10:00
Erik van der Zalm 59004023fd Fixed typo 2013-07-15 17:22:56 +02:00
Erik van der Zalm 461dad6e05 Added : M32 - Select file and start SD print (Can be used when printing from SD card)
Untested
2013-07-14 22:39:59 +02:00
Erik van der Zalm c4a2077951 M109 and M190 now wait when cooling down if R is used instead of S.
M109 S180 waits only when heating.
M109 R180 also waits when cooling.
2013-07-14 21:10:24 +02:00
Michael Mayer e509cdbeb0 added contrast control function for gLCDs 2013-07-14 15:28:26 +07:00
Gord Christmas fde17d5720 Fix for ugly code compilation errors in SERVO_ENDSTOP checks 2013-06-28 08:02:04 -07:00
Nicolas Rossi 2daa85918e Merge branch 'Marlin_v1' of https://github.com/ErikZalm/Marlin.git into Marlin_v1
Conflicts:
	Marlin/Configuration.h
	Marlin/Marlin_main.cpp
	Marlin/language.h
	Marlin/pins.h
	Marlin/ultralcd.cpp
2013-06-20 23:59:56 +02:00
Erik van der Zalm ac975ed8c2 Merge branch 'deltabot' into Marlin_v1 2013-06-10 18:20:29 +02:00
Jim Morris caa848f943 fix homing for deltas 2013-06-09 21:10:00 -07:00
Erik van der Zalm bd96d22bfb Merge branch 'Marlin_v1' into thinkyhead
Conflicts:
	Marlin/Configuration.h
	Marlin/Configuration_adv.h
	Marlin/Marlin.h
	Marlin/Marlin_main.cpp
	Marlin/Servo.cpp
	Marlin/language.h
	Marlin/pins.h
	Marlin/planner.cpp
	Marlin/ultralcd_implementation_hitachi_HD44780.h
	README.md
2013-06-09 22:26:47 +02:00
Erik van der Zalm 01edf22a10 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. 2013-06-09 13:54:19 +02:00
Erik van der Zalm 373f3ecab3 Merge branch 'deltabot' of https://github.com/jcrocholl/Marlin into deltabot
Conflicts:
	Marlin/Configuration.h
	Marlin/Marlin_main.cpp
	Marlin/pins.h
2013-06-09 00:51:58 +02:00
Scott Lahteine 5dabc95409 Apply all changes from latest Marlin_V1
Diffed and merged, preserving my updates
2013-06-06 15:49:25 -07:00
Gord Christmas a733537ddd Missed some variable declarations
Integrated fixes from henrikbrixandersen pull request #504
2013-06-06 09:18:03 -07:00
Gord Christmas f4f30c9d64 Added servo actuated enstop coding to allow G28 command to engage and retract a servo to specified angles. 2013-06-06 07:36:52 -07:00
Erik van der Zalm 79374f0b93 Merge branch 'reisnyderb' of https://github.com/ErikZalm/Marlin into Marlin_v1 2013-06-05 17:44:48 +02:00
Erik van der Zalm 971ec35135 Expanded M302 to allow setting the temp 2013-06-02 17:36:23 +02:00
Erik van der Zalm 5090c56651 More redundant temp sensor changes. (After testing and debugging by reifsnderb) 2013-05-29 19:29:30 +02:00
Guillaume Seguin 16b9239a26 Report temperatures for all extruders 2013-05-29 18:06:12 +02:00
Robert F-C 40eb07bad4 Revert and extend previous change pin check change
Reviert previous change of #if BLAH_PIN > 0 to #if defined(BLAH_PIN) &&
BLAH_PIN > -1. Unfortunately some times pin 0 is used. For my sins I've
gone through and replaced all unsafe checks of #if BLAH_PIN > -1 with
the safe version.
2013-05-22 21:33:23 +10:00
Robert F-C 0d4a9444c4 Merge remote-tracking branch 'upstream/Marlin_v1' into Marlin_v1 2013-05-19 08:50:58 +10:00
Robert F-C dfa549f268 Merge remote-tracking branch 'upstream/Marlin_v1' into Marlin_v1 2013-05-18 21:59:39 +10:00
Gord Christmas dc59f07d24 First attempt at refactoring of original servo code. Only adding servo support as a start to keep things simple. 2013-05-16 07:03:01 -07:00
Erik van der Zalm bd2cd4903e Added #ifdef BARICUDA around the BariCUDA changes 2013-05-14 23:56:32 +02:00
Jordan Miller fbd899a37d Support for BariCUDA Paste Extruder derived from MakerBot Frostruder. Using Ultimachine RAMBo board. M126/M127 and M128/M129. 2013-05-14 23:34:45 +02:00
midopple db2f157a22 Replace the <= to < in the Command M907, M350 and M351.
The for loop for Axis count over the Array.
Add a break after M907
2013-05-05 19:19:55 +02:00
Arnoud fc4ab05157 Solved minor bug in controllerFan()
Extruder 2 was checked where extruder 1 should be checked.
2013-05-03 21:32:34 +02:00
Scott Lahteine 0ef54f2f85 Make M303 silent when "S0" is sent
If S is left out perhaps it should be silent, but check the spec for
this M code.
2013-05-02 09:55:15 -07:00
Robert F-C d5ad7a0814 Rework change to incorporate CONTROLLERFAN
Also refactor extruder auto fan logic to simplify further and now only
check every 2.5 seconds
2013-04-30 01:08:29 +10:00
Robert F-C c3cdaceab3 Merge remote-tracking branch 'upstream/Marlin_v1' into Marlin_v1 2013-04-29 22:13:55 +10:00
Robert F-C 7f57f28ccc Add lcd_buzz function to ultralcd.h so that non-LCD code can make use of lcd's buzzer.
Argument order of lcd_buzz was set to mirror that on tone(). Change
default M300 frequency to something audible.
2013-04-29 21:50:52 +10:00
Robert F-C 788d62bcc4 Merge remote-tracking branch 'upstream/Marlin_v1' into Marlin_v1
Conflicts:
	Marlin/Marlin.pde
	Marlin/ultralcd.cpp
	Marlin/ultralcd_implementation_hitachi_HD44780.h
2013-04-29 21:13:46 +10:00
Simon Oliver 5d5909fc25 Fix failure to compile with heated bed: remove call to non-existant scaleBedPID(). 2013-04-12 13:32:47 +02:00
Simon Oliver 93f0463b21 Allow Edit menu to call fn after edit; Fix PID Ki and Kd display in menus; Actually use changed PID and Max Accel values
Add new 'callback' edit-menu types that call a function after the edit is done. Use this to display and edit Ki and Kd correctly (removing the scaling first and reapplying it after). Also use it to reset maximum stepwise acceleration rates, after updating mm/s^2 rates via menus. (Previously, changes did nothing to affect planner unless saved back to EEPROM, and the machine reset).

Add calls to updatePID() so that PID loop uses updated values whether set by gcode (it already did this), or by restoring defaults, or loading from EEPROM (it didn't do those last two). Similarly, update the maximum step/s^2 accel rates when the mm/s^2 values are changed - whether by menu edits, restore defaults, or EEPROM read.

Refactor the acceleration rate update logic, and the PID scaling logic, into new functions that can be called from wherever, including the callbacks.

Add menu items to allow the z jerk and e jerk to be viewed/edited in the Control->Motion menu, as per xy jerk.

Conflicts:
	Marlin/language.h
2013-04-12 13:31:30 +02:00
ErikZalm 7f622467fc Merge pull request #425 from kefir-/m928_logging
M928 logging
2013-03-30 08:50:34 -07:00
ErikZalm 86867928ac Merge pull request #434 from DDRBoxman/Marlin_v1
Add support for M300: Play beep sound
2013-03-30 08:49:54 -07:00
Dirk Eichel 4e448b700a Merged fetched files from Marlin_v1 branch
Pull requests: #414 #433 #432 #428
2013-03-26 21:43:04 +01:00
Colin Edwards 0d075378d5 Add LARGE_FLASH define and enable it for some of the beefier boards
The LARGE_FLASH flag allows superfluous features to be excluded
on boards with less memory
2013-03-25 10:42:27 -05:00
Colin Edwards 9a1c90471f Ignore unused beeper pins 2013-03-25 10:28:15 -05:00
Colin Edwards 1a0f889803 Add support for M300: Play beep sound 2013-03-24 23:35:05 -05:00
blddk e5a853a3d0 Added automated extruder fan function 2013-03-22 18:49:05 +01:00
Ketil Froyn f036be7c4e Clean up tab/whitespace from last commit 2013-03-16 23:11:58 +01:00
Ketil Froyn 07e11c7cf5 Add command M928 to enable logging to file of received gcode commands 2013-03-16 23:02:57 +01:00
Nicolas Rossi 6504e96165 Turn off power supply off-load
Disable the high current output and wait a little before to turn off,
because the interrupting capacity of the PSU is unknown.
Could be a function if needed by other.
2013-03-05 15:03:48 +01:00
Nicolas Rossi 86bf911139 Toggle menu for PSU from LCD pannel
From the prepare menu, accessible when is not printing, you have the
possibility to turn off the PSU when is on et vice versa.
From the host, you can turn off or turn on the PSU then the menu is
updated accordingly.
From the LCD message, the printer status is reported ready or off
respectively when the PSU is on or off.
2013-03-05 14:52:51 +01:00
Robert F-C 372e12f83f Implement automatic extruder/cold-end fan control based on temperature
This change allows fan outputs to automatically turn on/off when the
associated nozzle temperature of an extruder is above/below a threshold
temperature.
Multiple extruders can be assigned to the same pin in which case the fan
will turn on when any selected extruder is above the threshold.
It also makes the M42 command compatible with the M106/M107 command.
The majority of the logic in this change will be evaluated by the
compiler at build time (i.e, low code space requirements).
2013-03-01 21:57:23 +11:00
Robert F-C 1292d735ba Converge all I2C LCD branches (PANELOLU2, VIKI & PCF8575)
This includes refactoring the buttons code to remove a large amount of
non-pin dependent duplication from pins.h.
2013-02-28 02:04:51 +11:00
daid303 4eb81a69e6 Only compile the new extruder offset code if you have multiple extruders. 2013-02-27 12:32:07 +01:00
Denis B 70871715e4 Added support for extruder offset handling
The extruder offset can be specified in the configuration
file or adjusted on the fly using the "M218 T# X# Y#" command.
The EEPROM support is not yet merged in.
The "T#" command can take option "F#" that specifies the feedrate
at which the printing head should be re-positioned. If not
specified the re-positioning move is not preformed immediately,
but the coordinates are adjusted for the printer to properly
position the head when the next movement happens.
2013-02-04 23:05:45 -05:00
Denis B 49b2ddc8c1 Cleaned up non-standard characters 2013-02-04 01:41:40 -05:00
Bas Spaans 19ce90fe02 Added comment about M42 usage (clean) 2013-01-31 18:20:23 +01:00
Bas Spaans 00fed0a703 Revert "Extended comment explaining M42 usage"
This reverts commit 01541ee64c.
2013-01-31 18:11:13 +01:00
Bas Spaans 01541ee64c Extended comment explaining M42 usage 2013-01-31 18:00:25 +01: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
daid 27843388c6 Merge pull request #360 from njprossi/Marlin_v1
Power signal control definitions for other power supplies
2013-01-08 02:58:02 -08:00
daid303 921273baa0 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. 2013-01-08 11:53:18 +01:00
Nicolas Rossi 437eb3bafc Initialize PS_ON at startup 2013-01-07 14:57:51 +01:00
Nicolas Rossi f3c1fc70a9 Power signal control definitions for ATX and others 2013-01-07 14:33:30 +01:00
Johann Rocholl 9e7b5056a0 {X,Y,Z}_{MIN,MAX}_POS are actually in Gcode coordinates. 2012-12-28 16:20:10 -08:00
daid303 01aac2a142 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. 2012-12-21 16:14:47 +01:00
daid303 b69cb9fbd9 Change the end of SD cart print message from minutes/seconds to hours/minutes. 2012-12-19 12:26:40 +01:00
Johann Rocholl 6dfb8a2187 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. 2012-12-16 12:30:33 -08:00
Johann Rocholl 3b2e5027e5 Merged updates from Marlin_v1. 2012-12-16 12:19:24 -08:00
daid303 1a8f54cea1 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. 2012-12-12 11:47:03 +01:00
daid303 6731c094ee Fix compiling with just an 16x2 LCD and no buttons. 2012-12-12 11:32:33 +01:00
daid303 b99a928a80 Fix the M117 (display message on LCD) when used over USB with checksums. 2012-12-12 09:35:32 +01:00
daid303 5ff5cee8ce 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) 2012-12-11 14:53:53 +01:00
daid303 46ec4b648c Added some missing Mxxx comments to M commands. Fixed the unsetting of the timer dividers for the fast PWM fan. 2012-12-11 10:21:44 +01:00
Johann Rocholl 8e2519e88b Add realtime delta geometry in Marlin_main.cpp. 2012-12-10 01:04:12 -08:00
daid303 c421774422 The Partial release message (which does not really tell you anything) overwrites the final print time on the LCD, which is a real shame. So I removed the message. 2012-12-05 19:32:02 +01:00
daid303 6a9bee27cc Changed the naming of some LCD functions, so the names match better what the function does. Also moved around some prototypes for general cleanup. 2012-12-03 12:52:00 +01:00
daid303 94ea26ff46 Some minor changes on code style. And a bugfix where the counters for positioning in the stepper where wrong depending on compiler settings. (Caused strange values to reported back with M114 and endstop triggers). Also fixed compiling with FWRETRACT enabled. 2012-12-03 12:13:20 +01:00
daid303 97fa2a9c30 Few simple fixes that save RAM, as static strings are stored in RAM by default. 2012-11-28 10:30:34 +01:00
Erik vd Zalm dbbf050005 More rambo fixes 2012-11-21 20:53:56 +01:00
Erik vd Zalm f934d0ef5b Merge remote-tracking branch 'tonokip/Marlin_v1' into Marlin_v1
Conflicts:
	Marlin/Configuration.h
2012-11-21 20:36:30 +01:00
daid303 43018a48c4 Fix for a few -Wextra warnings. 2012-11-12 15:35:28 +01:00
daid303 12a4d60e18 Fix the EEPROM storage, no longer inline it at multiple locations, and remove the template. 2012-11-07 10:02:45 +01:00
daid303 06b58a9c4f First cleanup. Moved all code to cpp files, so there are no dependencies on pde files. And no more odd requirement to cat files together. (Still need to fix the Makefile). Also cleaned up some defines and made defines upper case as by C coding conventions. 2012-11-06 12:06:41 +01:00