Commit Graph

175 Commits

Author SHA1 Message Date
Mark Finn
5bfccab650 readme 2012-09-12 21:52:16 -05:00
Ian Jackson
957e966d2d 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>
2012-08-11 01:35:03 +01:00
Erik van der Zalm
ea2c19f978 Added CoreXY support (Thanks Ilan Moyer) 2012-07-14 14:21:53 +02:00
Bernhard
88d2a671cc readme corrected 2012-06-02 14:14:36 +02:00
Bernhard
e792d62f47 readme 2012-06-02 13:44:38 +02:00
Bernhard Kubicek
108011085b futher docu of M500 2012-05-04 08:37:49 +03:00
Erik van der Zalm
ffea8008ca Update readme file 2012-04-15 22:44:03 +02:00
ErikZalm
7f775c142c Update README.md 2012-03-18 15:59:14 +01:00
Erik van der Zalm
27f595a444 Changed version => RC2 2012-02-26 16:26:40 +01:00
Erik van der Zalm
018c567abf Moved SLOWDOWN function. (jetty840)
Included AD595 calibration options. (daid)
2012-02-26 16:23:47 +01:00
Christian Thalhammer
6a3f8cf23f Infos about fuses to use; correct fuses in boards.txt 2012-02-20 10:25:51 +01:00
Christian Thalhammer
234fe8ea67 added infos for this fork 2012-02-17 11:07:24 +01:00
Erik van der Zalm
5113513cb2 RC 1 2012-02-08 18:28:54 +01:00
ErikZalm
0db97b9c7f Update README.md 2011-11-21 22:40:47 +01:00
Bernhard Kubicek
5535e51bf6 Yes, thats the beta. 2011-11-20 17:04:57 +01:00
Bernhard Kubicek
eeb4f029db Merge branch 'Marlin_v1' of https://github.com/ErikZalm/Marlin into Marlin_v1 2011-11-20 14:45:38 +01:00
Erik van der Zalm
85c8a87e70 Small changes to README.md 2011-11-20 13:31:07 +01:00
Bernhard Kubicek
d8e7e2f72e more readme 2011-11-20 11:55:06 +01:00
Bernhard Kubicek
6dba34ab0e even more format. 2011-11-20 09:09:11 +01:00
Bernhard Kubicek
4687c56f53 format 2011-11-20 09:06:05 +01:00
Bernhard Kubicek
4258841241 format 2011-11-20 09:03:42 +01:00
Bernhard Kubicek
827cd72703 format readme. 2011-11-20 09:00:19 +01:00
Bernhard Kubicek
61e0740bf0 overworked readme 2011-11-19 22:04:37 +01:00
Bernhard Kubicek
40e8081623 changed end of line to windows, which seems to be the majority of developers main platform. 2011-11-05 14:19:57 +01:00
Bernhard Kubicek
00674af3a8 merge from the branch bkubicek/Marlin/zalmmerge 2011-11-05 14:13:20 +01:00