Commit graph

1110 commits

Author SHA1 Message Date
ErikZalm 61059385a3 Merge pull request #737 from whosawhatsis/M200
M200 implementation
2014-02-01 10:37:49 -08:00
whosawhatsis 856edfcc0d Fixed math
This is why I wanted to sleep on the code I wrote while falling asleep
rather than immediately submitting a pull request.
2014-01-31 08:43:11 -08:00
ErikZalm 0d81ae77bc Merge pull request #727 from drf5n/oversampling
temperature.cpp: Actually use OVERSAMPLENR in the oversampling calculation.
2014-01-31 07:09:10 -08:00
ErikZalm 84df13f7d1 Merge pull request #721 from drf5n/lcdOnly
Enable basic ULTRA_LCD screen w/o encoders and menus.
2014-01-31 07:07:12 -08:00
ErikZalm 4c7e9502ad Merge pull request #718 from drf5n/temptableRes
createTemperatureLookupMarlin.py: Add resolution comments and format for...
2014-01-31 07:06:02 -08:00
ErikZalm 652a0f6b5a Merge pull request #717 from drf5n/tpins2
fastio.h: Add AT90USBxx_TEENSYPP_ASSIGNMENTS for teensyduino/Lincomatic/...
2014-01-31 07:05:20 -08:00
ErikZalm 96a0cdc541 Merge pull request #716 from drf5n/maketeensy
Makefile: Update for Arduino 1.0.5 and Teensyduino dependent boards (HAR...
2014-01-31 07:04:29 -08:00
whosawhatsis d24df7af2c M200 implementation 2014-01-31 00:54:19 -08:00
David Forrest f0b8d5ba3d createTemperatureLookupMarlin.py: Change comment to refer to actual program name. 2014-01-29 23:34:22 -05:00
David Forrest 50f44d9249 createTemperatureLookupMarlin.py: Truncate to short after application of OVERSAMPLENR for improved resolution. 2014-01-29 23:24:07 -05:00
David Forrest f5b5dd8038 createTemperatureLookupMarlin.py: Add output of Steinhart-Hart coefficients. 2014-01-29 22:59:47 -05:00
David Forrest 76cf07c3f7 Configuration.h: Use OVERSAMPLENR in dT_PID definition. 2014-01-21 23:25:51 -05:00
David Forrest 476c7193d8 temperature.cpp: Use OVERSAMPLENR in oversampling calculation. 2014-01-21 16:49:03 -05:00
whosawhatsis f08bb8bb6a Previous commit borked. 2014-01-19 22:06:45 -08:00
whosawhatsis b1f8f492c6 Remove previous_millis_cmd update from extruder runout prevention code
This seems to defeat the purpose of previous_millis_cmd, preventing the
time elapsed from previous_millis_cmd from ever reaching
max_inactive_time or stepper_inactive_time while the heat was on.
2014-01-19 19:22:08 -08:00
whosawhatsis 8a5eaa3c9b Fix crash after home bug
Fixes a bug in the Extruder Runout Prevention feature that caused the
extruder to move back to “current_position” after a move if it was
activated while the move was in progress. For long home moves (which
are longer than the dimensions of the machine’s working area), this
would cause the machine to crash into the far end of its travel after
homing. This usually occurred on the Z axis, which could result in
damage to the machine if you don’t hit the reset button in time.
2014-01-19 19:11:51 -08:00
David Forrest 61a7256d42 Enable basic ULTRA_LCD screen w/o encoders and menus. 2014-01-17 17:00:47 -05:00
l.lefebvre fdac8f6cec Update ConfigurationStore.cpp
Unable to compile if ENABLE_AUTO_BED_LEVELING is not set (not set by default).
2014-01-17 16:09:58 +01:00
Alex Borro 05932e4458 Add Z Probe Offset to EEPROM and Ultra LCD 2014-01-16 18:13:46 -02:00
David Forrest 7216583b8b createTemperatureLookupMarlin.py: Add resolution comments and format for Marlin. 2014-01-16 12:40:15 -05:00
David Forrest e8e0697e48 fastio.h: Add AT90USBxx_TEENSYPP_ASSIGNMENTS for teensyduino/Lincomatic/Printrboard compatibility. 2014-01-16 11:23:29 -05:00
David Forrest 75f39fadfc Makefile: Update for Arduino 1.0.5 and Teensyduino dependent boards (HARDWARE_MOTHERBOARD=={8,81,82,83,84}) 2014-01-16 10:58:35 -05:00
daid df194f75e1 Added PT100 support for Ultiboard2 2014-01-06 11:20:03 +01:00
daid 380144c20f Add Ultiboard2 electronics. With PWM current settings. For the few people that have this new board as experiment in their UM-Original. 2014-01-06 11:05:02 +01:00
fsantini 6ae7f7870d Merge branch 'Marlin_v1' of https://github.com/ErikZalm/Marlin into ErikZalm
Conflicts:
	Marlin/Configuration.h
	Marlin/Marlin_main.cpp
2013-12-23 12:20:32 +01:00
Phil Wise 17d6d965dc Use C++ initialization list
This is the recommended approach for object initialization. The change
doesn't affect binary size (although in theory it could make it smaller).
2013-12-19 21:21:46 +00:00
Joseivaldo Benito Junior ce8b9c4fc5 Correct missing parameter from last upmerge
Signed-off-by: Joseivaldo Benito Junior <jrbenito@benito.qsl.br>
2013-12-19 00:50:44 -02:00
Joseivaldo Benito Junior 8e48e24c7f Update Delta example files
Signed-off-by: Joseivaldo Benito Junior <jrbenito@benito.qsl.br>
2013-12-18 00:04:36 -02:00
ErikZalm 46d2443c7d Merge pull request #676 from IVI053/Marlin_v1
Minor improvements for encoder configuration, LCD entry for PSU controll and thermistor pins on RAMPS
2013-12-17 02:28:28 -08:00
- eed053dffb Revert "Made numbering of heat bed thermistor more logical as D8 is bed, D9 is Extruder 2 and D10 is Extruder 1, so T0 should be E1, T1 E1 and T2 bed to be sequential as MOSFET-Outputs"
This reverts commit b7eadb9f37.
2013-12-16 12:22:06 +01:00
Erik van der Zalm 8349fc89a4 Fixed planner bug 2013-12-16 11:40:23 +01:00
Francesco Santini da2a6f9a31 Accurate bed leveling: x loop inside y and zigzag motion 2013-12-13 10:31:19 +01:00
RicardoGA d29615dc0c Z and Y dual stepper drivers error
if you try to enable Z_DUAL_STEPPER_DRIVERS the error "You cannot have dual drivers for both Y and Z" shows even if you don't have defined Y_DUAL_STEPPER_DRIVERS and don't let you compile the firmware

to solve this problem i change this line:

#ifdef Z_DUAL_STEPPER_DRIVERS && Y_DUAL_STEPPER_DRIVERS

to:

#if defined (Z_DUAL_STEPPER_DRIVERS) && defined (Y_DUAL_STEPPER_DRIVERS)

now the error only show if you define both Z_DUAL_STEPPER_DRIVERS and Y_DUAL_STEPPER_DRIVERS
2013-12-11 14:37:43 -06:00
fsantini 5bde7fcb28 Minor code and comment polishing 2013-12-11 21:27:43 +01:00
- 20faff5935 Incorporate PS_DEFAULT_OFF for starting state on LCD menu entry 2013-12-08 21:35:57 +01:00
- e5d3044801 Added posibility to set ENCODER_STEPS_PER_MENU_ITEM in Configuration.h like ENCODER_PULSES_PER_STEP as it depends on it for usability 2013-12-08 21:34:56 +01:00
- b7eadb9f37 Made numbering of heat bed thermistor more logical as D8 is bed, D9 is Extruder 2 and D10 is Extruder 1, so T0 should be E1, T1 E1 and T2 bed to be sequential as MOSFET-Outputs 2013-12-08 21:30:42 +01:00
Michal Dyntar e8786bf110 Added support for Cheaptronic v1 electronic 2013-12-07 13:29:47 +01:00
fsantini cc2925b705 Implemented a least squares fit of the bed equation for auto bed leveling.
The code for the LSQ solver (qr_solve) is copyrighted by John Burkardt and released under LGPL here:
http://people.sc.fsu.edu/~%20jburkardt/c_src/qr_solve/qr_solve.html
(see qr_solve.cpp for further copyright information)
2013-12-06 21:46:25 +01:00
fsantini b64661070e Fixed the plane vector equation to a simpler one (only dependent on the normal)
Removed the calculation of the inverse matrix since the rotation matrix is orthogonal, therefore inverted == transposed.
Much simpler and mathematically robust.
2013-12-06 21:32:21 +01:00
Alex Borro 5c44f6c434 Bed Heater monitoring in Controller Fan
In some cases the Bed Heater FET heats up more then stepper drivers, so
this change add the bed monitoring to the controller fan. As soon as the
bed heater is turned on, the controller fan will run as well.
2013-11-27 23:23:06 -02:00
Alex Borro b33375d438 Z Axis Safe Homing when using Z Probe
Recommended for those who are using the Z Probe for Z Homing (as
Z-Endstop)

This feature has two changes:

1) Allow user to choose where the Z Probe will touch the bed when homing
all axis together (G28) by setting below defines:

Z_SAFE_HOMING_X_POINT
Z_SAFE_HOMING_Y_POINT

2) Prevents the user to perform Z Axis Homing when the Z Probe is
outsite bed.
2013-11-27 22:37:35 -02:00
Alex Borro 35905ea4f9 Allow heaters to stay full On when PWM=127
In previous version, even with PWM = 127, the system turns the FET off
and then on in the next cycle. This bevavior may increase the FET heat
dissipation.
It was fixed keeping the FET always On when PWM=127.
2013-11-27 18:13:38 -02:00
Erik van der Zalm a94e588765 Changed slow buttons behavior. 2013-11-17 17:41:30 +01:00
Erik van der Zalm 69af392554 Added HEATERS_PARALLEL (Request from reifsnyderb)
This allows a hot end with two heaters and a FET for each heater. This is useful if the FET is not capable of heating two heaters.
2013-11-17 13:29:02 +01:00
Erik van der Zalm 48a185d004 Fixed compile errors from bad commits. 2013-11-10 16:36:37 +01:00
ErikZalm 24d1f480b6 Merge pull request #647 from shaggythesheep/newfeature-M226
Implement M226 - GCode Initiated Pause
2013-11-10 07:27:01 -08:00
ErikZalm 95b41413e6 Merge pull request #641 from hugokernel/master
M80 - ATX Power On related modification
2013-11-10 07:26:35 -08:00
ErikZalm 59b96e323e Merge pull request #640 from fmalpartida/SAV-MkI
Added support for BT on AT90USB devices, corrected LCD bug, added new board and LCD
2013-11-10 07:26:08 -08:00
ErikZalm 2433ee6fc8 Merge pull request #637 from justuswilhelm/Marlin_v1
Fix servo control for Melzi v2.0
2013-11-10 07:22:12 -08:00
ErikZalm 3455a2bac2 Merge pull request #636 from PrintToPeer/Marlin_v1
Add UUID support to M115 responses.
2013-11-10 07:21:46 -08:00
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
fmalpartida 7b556d2e96 Added BT support on AT90USB devices
Added AT90USB device BT connectivity support using second UART.
2013-11-03 19:57:06 +01:00
Kaz Walker a5e8575829 Add UUID support to M115 responses. 2013-11-01 14:51:50 -06:00
Daniel Benamy cab84e0e5b Add (correct) missing pin definitions for Y2
I tested this and it works.
2013-10-30 22:44:20 -04:00
fmalpartida 5b3f60ea2e Corrected LCD only error
If only an LCD is defined and no menu or keyboard defined, there is a
compilation error.

Added conditional compilation.
2013-10-30 21:52:46 +01:00
Justus Perlwitz 62d0b79023 Fix servo control for Melzi 2013-10-30 20:59:58 +01:00
fmalpartida b5a964fcc5 Initial SAV MkI (RepRap CloneWars board) integration.
Included support for BT dongle on AT90USB boards.
Added LCD Shift Register LCD control
Included support for RepRap Clone Wars project board (SAV MKI).
2013-10-30 11:45:32 +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 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
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 667d278f54 Revert "Fix for Viki display"
This reverts commit 314fd13c39.
2013-10-20 10:16:46 +02:00
Erik van der Zalm bf27e79e74 Small BlinkM fix 2013-10-20 10:06:02 +02:00
Erik van der Zalm 87e28c0599 Added ifdefs to blinkm 2013-10-20 09:55:15 +02:00
Erik van der Zalm 24c6b2ab35 Merge branch 'Marlin_v1' of https://github.com/ErikZalm/Marlin into Marlin_v1 2013-10-20 09:51:58 +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
Erik van der Zalm 457d8a0acb Fixed merge conflicts 2013-10-20 09:50:27 +02: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
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
Erik van der Zalm bca353cc12 Fixed duplicate define in fastio.h 2013-10-03 19:24:53 +02: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
ErikZalm 1bda6bf862 Merge pull request #609 from phq1910/patch-1
Update Configuration.h
2013-09-26 11:47:58 -07:00
ErikZalm c80aac1518 Merge pull request #610 from phq1910/patch-2
Update pins.h
2013-09-26 11:47:47 -07:00
Erik van der Zalm 314fd13c39 Fix for Viki display 2013-09-26 20:32:19 +02:00
phq1910 4f7c6dfe35 Update pins.h
Include Pins cpu Sethi 3D
2013-09-26 11:40:54 -03:00
phq1910 57173739a1 Update Configuration.h
Include CPU Sethi 3D
2013-09-26 11:29:44 -03:00
Erik van der Zalm 0dca49a7c0 Added Azteeg X3 board. 2013-09-24 17:31:16 +02:00
Erik van der Zalm d8c2c810b4 Added info to the delta configuration files in the configuration.h file 2013-09-23 23:29:46 +02:00
Erik van der Zalm 9bc88f8bab Placed optional ENCODER_PULSES_PER_STEP in the configuration.h file 2013-09-23 23:25:11 +02:00
Erik van der Zalm 3ca1ca6869 Fixed missing ENCODER_PULSES_PER_STEP 2013-09-23 23:18:35 +02:00
Tim Koster 97b0da0c2e Removed #ifndef BLINKM 2013-09-22 10:43:27 +03:00
Tim Koster 61db046b32 Added #ifdef BLINKM around new code. Also refined BlinkM.h. 2013-09-20 10:57:42 +03:00
Richard Miles 77df2ab0e7 Make Y_DUAL_STEPPER_DRIVERS disabled by default 2013-09-17 21:49:44 +01:00
Richard Miles ed1ab42186 Added Y_DUAL_STEPPER_DRIVERS
Enables two stepper drivers to be used for the Y axis (useful for
Shapeoko style machines)
Each Y driver can be stepped in either the same way or in opposite
directions, accounting for different hardware setups (leadscrew vs. belt
driven)
2013-09-17 19:19:20 +01:00
Richard Miles f4a59e4ce5 Revert "Added Y_DUAL_STEPPER_DRIVERS"
This reverts commit 7ee275b620.
2013-09-17 19:05:49 +01:00
Richard Miles 7ee275b620 Added Y_DUAL_STEPPER_DRIVERS
Enables two stepper drivers to be used for the Y axis (useful for
Shapeoko style machines)
Each Y driver can be stepped either the same way or in opposite
directions, accounting for different hardware setups (leadscrew vs. belt
driven)
2013-09-17 19:02:00 +01:00
ErikZalm 6a1e980c6d Merge pull request #600 from xoan/Encoder_Pulses_Per_Step
add ENCODER_PULSES_PER_STEP
2013-09-14 04:56:45 -07:00
ErikZalm 20076a8bd3 Merge pull request #598 from GDV0/Marlin_v1
FIx compilation error when enabling SERVO_ENDSTOPS (#591)
2013-09-14 04:54:19 -07:00
Erik van der Zalm 3626b5ad8b Removed Delta from the default config file.
Changed EEPROM CHITCHAT behavior. M503 is always enabled.
2013-09-14 13:50:09 +02:00
Xoan Sampaiño bf7007d02f add ENCODER_PULSES_PER_STEP 2013-09-13 04:12:51 +02:00