chiark / gitweb /
Ian Jackson [Wed, 1 Aug 2012 20:12:14 +0000 (21:12 +0100)]
M206: always use homing ("homeing") offsets
Previously the parameters set in M206 would only be used if a G82
command was sent with specific axis home values. This limits its
usefulness.
Really, we should have a way to adjust the XYZ homing of a machine in
the eeprom. So as the first stage of this, make M206 affect every
home command. The values set using M206 are now added to the
configuration variables [XYZ]_HOME_POS.
This is achieved by replacing all uses of [XYZ]_HOME_POS in the code
by a new home_pos[] which includes the adjustment. We also have to
adjust the uses of [XYZ]_{MIN,MAX}_POS similarly - see below.
To allow axis_is_at_home to be written as a function taking an axis
index rather than a macro taking an axis letter, we provide
constant arrays in program memory containing the values of
[XYZ]_{MIN,MAX,HOME}_POS from the compiled-in configuration.
This is done with some helper macros to deal with the declaration
(XYZ_CONSTS_FROM_CONFIG) and definition of the inline function which
does the program memory access.
We also introduce the overloaded function read_pgm_any, whose
instances are produced with DEFINE_PGM_READ_ANY, which allows the
access functions to automatically produce the correct type.
The type- and pointer-massaging code in the access function boils
down, when compiled, to a simple program memory access.
A question arises: if the M206 offset is set, should this adjustment
to the home position shift or change the possible range of movement
permitted by the software endstops ?
The documentation in Configuration.h describes these limits as:
// Travel limits after homing
Since this is a file containing physical limits, and actual suggested
values for these configuration parameters appear to include a certain
amount of slop, I've taken the view that these should be regarded as
nominal physical distances from the limit switches, and that the
permissible travel should be unaffected by M206.
So for example with the (rather unrealistic)
#define X_HOME_DIR -1
#define X_MIN_POS -20
#define X_HOME_POS 0
#define X_MAX_POS 100
no matter the setting of M206 X, the machine would be permitted
to move from 20mm "beyond" the limit switch trigger point in
the negative X direction and 100mm away from the limit switch in
the positive X direction, for a total travel of 120mm.
With M206 X-10 that would be considered to correspond to X coordinates
-30 to +90. With M206 X+10 that would be considered to correspond to
X coordinates -10 to +110.
fixes #200 (in ErikZalm/Marlin).
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Thu, 9 Aug 2012 17:15:32 +0000 (18:15 +0100)]
software_endstops: use *_MIN_POS and *_MAX_POS for arcs
If [XYZ]_HOME_POS and [XYZ]_MIN_POS aren't 0, these corrections are
wrong. Use the same logic as in Marlin.pde:prepare_move: ie, clamp to
[XYZ]_{MIN,MAX}_POS.
While we're here, put this cut-and-paste code in a function
clamp_to_software_endstops.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Thu, 9 Aug 2012 18:03:12 +0000 (19:03 +0100)]
Makefile: Better display of size (device memory usage)
Run avr-size with the --mcu=... -C option as well. That reports how
much actual device program and data memory is used along with a
percentage fullness.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 1 Aug 2012 20:31:38 +0000 (21:31 +0100)]
Makefile: support V=1
Often it can be useful to see the actual commands being run by make.
Other projects (eg, the Linux kernel) support this with a "V=1" make
parameter. Do the same here.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 8 Aug 2012 17:32:51 +0000 (18:32 +0100)]
.gitignore: Add *~, *.orig, *.rej, move to root directory
Move the .gitignore out of the Marlin subdirectory so it applies to
the whole tree, and add some missing patterns.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 8 Aug 2012 16:56:39 +0000 (17:56 +0100)]
Marlin.pde: include comment for emacs mode
Emacs by default doesn't recognise a ".pde" file as C++ source code.
Add the annotation to the top of the file to make it work.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Chris Palmer [Sat, 2 Jun 2012 12:17:47 +0000 (13:17 +0100)]
Fixed soft limits when the origin is in the middle.
HOME_POS is now always where the endstop is and can be outside the limits.
The limits are now defined by MIN_POS and MAX_POS rather than HOME_POS and MAX_LENGTH.
The Z is axis now homed first if direction is away from the bed.
Saguinololu limit pins change from MIN to MAX according to the homing direction.
ErikZalm [Sat, 14 Jul 2012 14:25:35 +0000 (17:25 +0300)]
Fixed typo
Erik van der Zalm [Sat, 14 Jul 2012 13:07:14 +0000 (15:07 +0200)]
Merge git://github.com/daid/Marlin into Marlin_v1
Added invert step pins to corexy code
Erik van der Zalm [Sat, 14 Jul 2012 12:21:53 +0000 (14:21 +0200)]
Added CoreXY support (Thanks Ilan Moyer)
Erik van der Zalm [Sat, 14 Jul 2012 11:43:19 +0000 (13:43 +0200)]
decoupled axes sucessfully at least on pure x or y jog
daid [Fri, 29 Jun 2012 14:27:47 +0000 (16:27 +0200)]
Support step motor controllers with active low step pins.
Erik van der Zalm [Mon, 11 Jun 2012 15:33:42 +0000 (17:33 +0200)]
Fixed AD595 define
Bernhard [Sun, 3 Jun 2012 14:56:40 +0000 (16:56 +0200)]
corrected retract
Bernhard [Sat, 2 Jun 2012 18:44:17 +0000 (20:44 +0200)]
__ header file replace
Bernhard [Sat, 2 Jun 2012 18:32:28 +0000 (20:32 +0200)]
added firmware retract. disabled by default
Bernhard [Sat, 2 Jun 2012 12:14:36 +0000 (14:14 +0200)]
readme corrected
Bernhard [Sat, 2 Jun 2012 11:47:50 +0000 (13:47 +0200)]
added individual pullup setting option to have finer control in case there is a special z-min sensor, for example
Bernhard [Sat, 2 Jun 2012 11:44:38 +0000 (13:44 +0200)]
readme
Bernhard Kubicek [Sat, 2 Jun 2012 10:46:56 +0000 (03:46 -0700)]
Merge pull request #170 from linagee/Marlin_v1
Marlin v1
Bernhard Kubicek [Sat, 2 Jun 2012 10:44:03 +0000 (03:44 -0700)]
Merge pull request #172 from daid/Marlin_v1
Add M401 - Wait for user to press button on LCD (with optional timeout) minor fix in M115.
Bernhard Kubicek [Wed, 30 May 2012 11:14:36 +0000 (14:14 +0300)]
repaired thermistortable_6 by graphcial fitting of the off-slope values. see issue 179. Erik, I know you asked for no changes, but this file probably is not related and hopefully allright.
ErikZalm [Mon, 28 May 2012 19:32:53 +0000 (22:32 +0300)]
Fixed SL bug.
Daid [Thu, 24 May 2012 16:36:55 +0000 (18:36 +0200)]
Fixed E1_ENABLE pin for Ultimaker. This was wrong for the 1.5.4 and 1.5.3 PCB (I cannot check the 1.5.6)
linagee [Sun, 20 May 2012 19:19:28 +0000 (13:19 -0600)]
Update Marlin/Configuration.h
linagee [Sun, 20 May 2012 19:18:45 +0000 (13:18 -0600)]
Update Marlin/thermistortables.h
linagee [Sun, 20 May 2012 17:09:07 +0000 (11:09 -0600)]
Small correction.
Daid [Sun, 20 May 2012 12:37:30 +0000 (14:37 +0200)]
Changed M401 to M0/M1 as suggested, so they match normal CNC stop commands.
linagee [Sun, 20 May 2012 11:51:29 +0000 (05:51 -0600)]
Update Marlin/thermistortables.h
linagee [Sun, 20 May 2012 11:49:01 +0000 (05:49 -0600)]
Update Marlin/thermistortables.h
linagee [Sun, 20 May 2012 11:35:57 +0000 (05:35 -0600)]
Added top ratings and extended to ADC=1 for table 3 and 5.
linagee [Sun, 20 May 2012 10:55:22 +0000 (04:55 -0600)]
Update Marlin/thermistortables.h
linagee [Sun, 20 May 2012 10:35:28 +0000 (04:35 -0600)]
Update Marlin/thermistortables.h
linagee [Sun, 20 May 2012 10:27:52 +0000 (04:27 -0600)]
Update Marlin/Configuration.h
linagee [Sun, 20 May 2012 10:13:29 +0000 (04:13 -0600)]
Tested May 19 - It works! Verified with separate thermocouple TM-902C also.
linagee [Sun, 20 May 2012 10:01:30 +0000 (04:01 -0600)]
Extended range above 250C. (Operating range states up to 300C)
Daid [Sat, 19 May 2012 17:01:14 +0000 (19:01 +0200)]
Add strigification for extruder amount in M115 report.
Daid [Sat, 19 May 2012 16:53:56 +0000 (18:53 +0200)]
Last M401 update, refresh the LCD during an M401 wait.
Daid [Sat, 19 May 2012 16:48:43 +0000 (18:48 +0200)]
Update after testing
Daid [Sat, 19 May 2012 15:57:52 +0000 (17:57 +0200)]
Do not initialize in the header file.
Daid [Sat, 19 May 2012 15:54:07 +0000 (17:54 +0200)]
Add M401 - Wait for user on LCD button press
Daid [Sat, 19 May 2012 15:38:46 +0000 (17:38 +0200)]
Merge branch 'Marlin_v1' of https://github.com/ErikZalm/Marlin into Marlin_v1
linagee [Sat, 19 May 2012 13:40:35 +0000 (07:40 -0600)]
Grammar correction.
linagee [Sat, 19 May 2012 11:56:17 +0000 (05:56 -0600)]
Update Marlin/Configuration.h
linagee [Sat, 19 May 2012 11:52:12 +0000 (05:52 -0600)]
Update Marlin/thermistortables.h
linagee [Sat, 19 May 2012 11:47:30 +0000 (05:47 -0600)]
Update Marlin/Configuration.h
Erik van der Zalm [Wed, 16 May 2012 17:32:23 +0000 (19:32 +0200)]
Limit PID autotune PWM to PID_MAX
ErikZalm [Wed, 16 May 2012 19:32:35 +0000 (12:32 -0700)]
Merge pull request #159 from MaikStohn/Marlin_v1
Marlin v1 - BUG FIXES / CORRECTIONS
Erik van der Zalm [Wed, 16 May 2012 17:22:08 +0000 (19:22 +0200)]
Merge branch 'Marlin_v1' of github.com:ErikZalm/Marlin into Marlin_v1
ErikZalm [Wed, 16 May 2012 19:21:48 +0000 (12:21 -0700)]
Merge pull request #164 from guanix/Marlin_v1
Melzi support
ErikZalm [Wed, 16 May 2012 19:00:22 +0000 (12:00 -0700)]
Merge pull request #166 from zittix/Marlin_v1
Fixes #153 for bad call to abs()
Erik van der Zalm [Wed, 16 May 2012 17:21:44 +0000 (19:21 +0200)]
add additional dropsegments test
zittix [Wed, 16 May 2012 16:17:34 +0000 (18:17 +0200)]
Fixes #153 for bad call to abs()
MaikStohn [Fri, 11 May 2012 14:57:08 +0000 (16:57 +0200)]
Merge branch 'Marlin_v1' of https://github.com/ErikZalm/Marlin into Marlin_v1
MaikStohn [Fri, 11 May 2012 13:23:10 +0000 (15:23 +0200)]
bug fix for scrolling of main menu when using SMALL_DISPLAY (2 lines only)
MaikStohn [Fri, 11 May 2012 13:22:06 +0000 (15:22 +0200)]
fixed typo
MaikStohn [Fri, 11 May 2012 13:19:09 +0000 (15:19 +0200)]
changed encoder pos from int to long to fix problems setting x/y/z/e stepps_per_mm using the lcd menu
Guan Yang [Fri, 27 Apr 2012 15:28:10 +0000 (11:28 -0400)]
Melzi support
Daid [Wed, 9 May 2012 08:50:44 +0000 (10:50 +0200)]
Fixed #if for Ultimaker.
daid [Wed, 9 May 2012 08:35:59 +0000 (01:35 -0700)]
Merge pull request #1 from ErikDeBruijn/Marlin_v1_Ultimaker-rc3
Marlin v1 ultimaker rc3
Bernhard Kubicek [Wed, 9 May 2012 05:05:13 +0000 (08:05 +0300)]
Residual in the comments: there are no more mm/minutes but only mm/sec in the planner buffer.
Erik de Bruijn [Tue, 8 May 2012 15:27:45 +0000 (17:27 +0200)]
Made a more granular configuration possible PREVENT_LENGTHY_EXTRUDE. You can now decide to allow/disallow large length of extrusions to be executed.
Turning off the protection might be beneficial to those who want to do fast and long reversals.
Erik de Bruijn [Tue, 8 May 2012 15:18:31 +0000 (17:18 +0200)]
Suggestion to improve (TODO), no actual code changed
Erik de Bruijn [Tue, 8 May 2012 15:32:50 +0000 (17:32 +0200)]
Made language.h more flexible. Automatically do the right defines based on MOTHERBOARD == 7 ? "Ultimaker" : "Mendel"
MaikStohn [Fri, 4 May 2012 10:24:07 +0000 (12:24 +0200)]
Revert "magic PROGMEM defines to avoid hundreds of wrong GCC warnings"
This reverts commit
3682d9bd5b34bdc6560d97278d6d7eff3243bddc.
Bernhard Kubicek [Fri, 4 May 2012 05:37:49 +0000 (08:37 +0300)]
futher docu of M500
MaikStohn [Thu, 3 May 2012 13:48:44 +0000 (15:48 +0200)]
added missing declaration of buttons_init()
This is required when moving the buttons_init() function to the
lcd_init() function
MaikStohn [Thu, 3 May 2012 13:43:23 +0000 (15:43 +0200)]
magic PROGMEM defines to avoid hundreds of wrong GCC warnings
MaikStohn [Thu, 3 May 2012 12:28:17 +0000 (14:28 +0200)]
Moved LCD initialization out of constructor
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.
MaikStohn [Thu, 3 May 2012 12:22:43 +0000 (14:22 +0200)]
explicit includes to make it compile with AVRStudio/Eclipse
MaikStohn [Thu, 3 May 2012 12:15:46 +0000 (14:15 +0200)]
delete obsolete and wrong code
"i" runs from 0 to 4 but "add_homeing" array size is 3 only. On the
other hand the calculated value gets overwritten by either one of the
if choice.
MaikStohn [Thu, 3 May 2012 12:13:53 +0000 (14:13 +0200)]
fixed typo in comment
Erik van der Zalm [Wed, 2 May 2012 17:26:14 +0000 (19:26 +0200)]
Added option to increase the FAN PWM frequency.
Erik van der Zalm [Mon, 30 Apr 2012 11:37:49 +0000 (13:37 +0200)]
Small cleanup
Erik van der Zalm [Mon, 30 Apr 2012 11:36:27 +0000 (13:36 +0200)]
Merge branch 'Marlin_v1' of github.com:ErikZalm/Marlin into Marlin_v1
Erik van der Zalm [Mon, 30 Apr 2012 11:36:19 +0000 (13:36 +0200)]
Added temperature window to M109. This is needed for systems with no overshoot PID.
ErikZalm [Sat, 28 Apr 2012 20:19:55 +0000 (13:19 -0700)]
Merge pull request #154 from daid/Marlin_v1
Added 2nd extruder temperature LCD readout and setting.
ErikZalm [Sat, 28 Apr 2012 20:19:19 +0000 (13:19 -0700)]
Merge pull request #155 from Atntias/patch-1
adding M120 and 121 for turning on and off the endstops only for homing
ErikZalm [Sat, 28 Apr 2012 20:19:00 +0000 (13:19 -0700)]
Merge pull request #156 from Atntias/patch-2
Fix to allow M120/M121
sefi [Sat, 28 Apr 2012 14:35:51 +0000 (17:35 +0300)]
Fix to allow M120/M121
sefi [Sat, 28 Apr 2012 14:31:22 +0000 (17:31 +0300)]
adding M120 and 121 for turning on and off the endstops only for homing function
Daid [Fri, 27 Apr 2012 13:00:01 +0000 (15:00 +0200)]
Show proper temperature for extruder 2
Daid [Fri, 27 Apr 2012 12:51:32 +0000 (14:51 +0200)]
Added support for 2nd extruder temperature to UltraLCD
Bernhard Kubicek [Thu, 26 Apr 2012 05:23:31 +0000 (22:23 -0700)]
Merge pull request #152 from loganb/Marlin_v1
Fix compile error on boards without a bed heater.
I could not find why this problem was introduced.
Its quite obvious, so I think its in general interest to merge.
Logan Bowers [Thu, 26 Apr 2012 02:22:38 +0000 (19:22 -0700)]
Wrap the call to turn off the bed heater in a #if to prevent a compile error on boards that do not have a bed heater
Bernhard [Sun, 22 Apr 2012 19:12:17 +0000 (21:12 +0200)]
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
Bernhard [Sun, 22 Apr 2012 18:55:56 +0000 (20:55 +0200)]
added support for the UltiController
Bernhard [Sun, 22 Apr 2012 18:44:27 +0000 (20:44 +0200)]
fixed quickhome
Bernhard [Sun, 22 Apr 2012 18:04:39 +0000 (20:04 +0200)]
fixed catsting to (int)e in serial error messages.
see https://github.com/ErikZalm/Marlin/issues/148
Erik van der Zalm [Sun, 15 Apr 2012 20:44:03 +0000 (22:44 +0200)]
Update readme file
ErikZalm [Sun, 15 Apr 2012 17:21:46 +0000 (10:21 -0700)]
Merge pull request #138 from triffid/fix-makefile
make should rebuild if configuration or Makefile is changed
Erik van der Zalm [Sun, 15 Apr 2012 17:17:33 +0000 (19:17 +0200)]
Fixed AUTOTEMP (M109 S215 B260 F1 starts autotemp)
Changed SLOWDOWN. IF this does not work ok OLD_SLOWDOWN is the old algo.
Erik van der Zalm [Thu, 12 Apr 2012 19:12:31 +0000 (21:12 +0200)]
Disabled disable_heater in PID_autotune.
ErikZalm [Thu, 12 Apr 2012 12:29:24 +0000 (05:29 -0700)]
Merge pull request #140 from daid/Marlin_v1
Fix for wrong systax in #ifdef.
Daid [Thu, 12 Apr 2012 12:01:30 +0000 (14:01 +0200)]
Fix for wrong systax in #ifdef.
Michael Moon [Wed, 11 Apr 2012 01:37:55 +0000 (11:37 +1000)]
Fix Makefile
Erik van der Zalm [Tue, 10 Apr 2012 19:57:57 +0000 (21:57 +0200)]
Fixed MAX6675
ErikZalm [Tue, 10 Apr 2012 16:48:45 +0000 (09:48 -0700)]
Merge pull request #136 from grrf/patch-1
This breaks temperature readout for pronterface!
grrf [Mon, 9 Apr 2012 20:37:34 +0000 (23:37 +0300)]
This breaks temperature readout for pronterface!
ErikZalm [Sun, 8 Apr 2012 12:16:29 +0000 (05:16 -0700)]
Merge pull request #134 from tgiphil/Marlin_v1
- Fixed a typo