chiark / gitweb /
marlin.git
12 years agoexternal modifications
Ian Jackson [Thu, 9 Aug 2012 18:15:10 +0000 (19:15 +0100)]
external modifications

Modifications by tools other than StGit (e.g. git).

12 years agopop
Ian Jackson [Thu, 9 Aug 2012 18:12:55 +0000 (19:12 +0100)]
pop

12 years agogoto
Ian Jackson [Thu, 9 Aug 2012 18:12:40 +0000 (19:12 +0100)]
goto

12 years agorepair
Ian Jackson [Thu, 9 Aug 2012 18:12:23 +0000 (19:12 +0100)]
repair

12 years agopop
Ian Jackson [Thu, 9 Aug 2012 18:11:17 +0000 (19:11 +0100)]
pop

12 years agopop
Ian Jackson [Thu, 9 Aug 2012 18:11:11 +0000 (19:11 +0100)]
pop

12 years agopop
Ian Jackson [Thu, 9 Aug 2012 18:11:06 +0000 (19:11 +0100)]
pop

12 years agorefresh
Ian Jackson [Thu, 9 Aug 2012 18:11:02 +0000 (19:11 +0100)]
refresh

12 years agorefresh (create temporary patch)
Ian Jackson [Thu, 9 Aug 2012 18:11:02 +0000 (19:11 +0100)]
refresh (create temporary patch)

12 years agorefresh
Ian Jackson [Thu, 9 Aug 2012 18:09:36 +0000 (19:09 +0100)]
refresh

12 years agorefresh (create temporary patch)
Ian Jackson [Thu, 9 Aug 2012 18:09:35 +0000 (19:09 +0100)]
refresh (create temporary patch)

12 years agopop (CONFLICT)
Ian Jackson [Thu, 9 Aug 2012 18:05:25 +0000 (19:05 +0100)]
pop (CONFLICT)

12 years agopop
Ian Jackson [Thu, 9 Aug 2012 18:05:24 +0000 (19:05 +0100)]
pop

12 years agopop
Ian Jackson [Thu, 9 Aug 2012 18:05:14 +0000 (19:05 +0100)]
pop

12 years agopop
Ian Jackson [Thu, 9 Aug 2012 18:04:50 +0000 (19:04 +0100)]
pop

12 years agorefresh
Ian Jackson [Thu, 9 Aug 2012 18:04:36 +0000 (19:04 +0100)]
refresh

12 years agorefresh (create temporary patch)
Ian Jackson [Thu, 9 Aug 2012 18:04:36 +0000 (19:04 +0100)]
refresh (create temporary patch)

12 years agopop
Ian Jackson [Thu, 9 Aug 2012 18:04:17 +0000 (19:04 +0100)]
pop

12 years agopop
Ian Jackson [Thu, 9 Aug 2012 18:04:02 +0000 (19:04 +0100)]
pop

12 years agorefresh
Ian Jackson [Thu, 9 Aug 2012 18:03:31 +0000 (19:03 +0100)]
refresh

12 years agorefresh (create temporary patch)
Ian Jackson [Thu, 9 Aug 2012 18:03:31 +0000 (19:03 +0100)]
refresh (create temporary patch)

12 years agonew
Ian Jackson [Thu, 9 Aug 2012 18:03:12 +0000 (19:03 +0100)]
new

12 years agopop
Ian Jackson [Thu, 9 Aug 2012 18:02:20 +0000 (19:02 +0100)]
pop

12 years agorefresh
Ian Jackson [Thu, 9 Aug 2012 18:02:01 +0000 (19:02 +0100)]
refresh

12 years agorefresh (create temporary patch)
Ian Jackson [Thu, 9 Aug 2012 18:01:28 +0000 (19:01 +0100)]
refresh (create temporary patch)

12 years agopop
Ian Jackson [Thu, 9 Aug 2012 18:01:05 +0000 (19:01 +0100)]
pop

12 years agopop
Ian Jackson [Thu, 9 Aug 2012 18:00:38 +0000 (19:00 +0100)]
pop

12 years agopop
Ian Jackson [Thu, 9 Aug 2012 18:00:37 +0000 (19:00 +0100)]
pop

12 years agopop
Ian Jackson [Thu, 9 Aug 2012 18:00:33 +0000 (19:00 +0100)]
pop

12 years agopop
Ian Jackson [Thu, 9 Aug 2012 18:00:30 +0000 (19:00 +0100)]
pop

12 years agorefresh
Ian Jackson [Thu, 9 Aug 2012 17:51:08 +0000 (18:51 +0100)]
refresh

12 years agorefresh (create temporary patch)
Ian Jackson [Thu, 9 Aug 2012 17:51:07 +0000 (18:51 +0100)]
refresh (create temporary patch)

12 years agorefresh
Ian Jackson [Thu, 9 Aug 2012 17:48:16 +0000 (18:48 +0100)]
refresh

12 years agorefresh (create temporary patch)
Ian Jackson [Thu, 9 Aug 2012 17:47:00 +0000 (18:47 +0100)]
refresh (create temporary patch)

12 years agorefresh
Ian Jackson [Thu, 9 Aug 2012 17:46:42 +0000 (18:46 +0100)]
refresh

12 years agorefresh (create temporary patch)
Ian Jackson [Thu, 9 Aug 2012 17:46:42 +0000 (18:46 +0100)]
refresh (create temporary patch)

12 years agorefresh
Ian Jackson [Thu, 9 Aug 2012 17:44:43 +0000 (18:44 +0100)]
refresh

12 years agorefresh (create temporary patch)
Ian Jackson [Thu, 9 Aug 2012 17:44:43 +0000 (18:44 +0100)]
refresh (create temporary patch)

12 years agopop
Ian Jackson [Thu, 9 Aug 2012 17:40:51 +0000 (18:40 +0100)]
pop

12 years agorepair
Ian Jackson [Thu, 9 Aug 2012 17:40:37 +0000 (18:40 +0100)]
repair

12 years agopop
Ian Jackson [Thu, 9 Aug 2012 17:37:25 +0000 (18:37 +0100)]
pop

12 years agopop
Ian Jackson [Thu, 9 Aug 2012 17:37:25 +0000 (18:37 +0100)]
pop

12 years agopop
Ian Jackson [Thu, 9 Aug 2012 17:27:07 +0000 (18:27 +0100)]
pop

12 years agopop
Ian Jackson [Thu, 9 Aug 2012 17:27:07 +0000 (18:27 +0100)]
pop

12 years agoM206: always use homing ("homeing") offsets
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 [XYZ]_HOME_POS_A which is a macro which includes the adjustment.

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 ?

I have taken the view that the software endstops are a backstop safety
feature which is not necessarily entirely accurate, and that reducing
the scope of movement is not desirable.

I have therefore implemented it so that negative values for M206
increase the total range of movement, whereas positive values leave it
unchanged.

So for example with
  #define X_MIN_POS 0
  #define X_HOME_POS 0
  #define X_MAX_POS 100

M206 X-10 would permit the machine to move from the endstop
(considered X=-10) 110mm in the positive X direction (considered
X=+100).

M206 X+10 would permit the machine to move from the endstop
(considered X=-10) 100mm in the positive X direction (considered
X=+110).

fixes #200 (in ErikZalm/Marlin).

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
12 years agorefresh
Ian Jackson [Thu, 9 Aug 2012 17:26:38 +0000 (18:26 +0100)]
refresh

12 years agorefresh
Ian Jackson [Thu, 9 Aug 2012 17:26:38 +0000 (18:26 +0100)]
refresh

12 years agorefresh (create temporary patch)
Ian Jackson [Thu, 9 Aug 2012 17:25:16 +0000 (18:25 +0100)]
refresh (create temporary patch)

12 years agorefresh (create temporary patch)
Ian Jackson [Thu, 9 Aug 2012 17:25:16 +0000 (18:25 +0100)]
refresh (create temporary patch)

12 years agoRefresh of motion-control-max-min
Ian Jackson [Thu, 9 Aug 2012 17:25:16 +0000 (18:25 +0100)]
Refresh of motion-control-max-min

12 years agopop
Ian Jackson [Thu, 9 Aug 2012 17:24:25 +0000 (18:24 +0100)]
pop

12 years agopop
Ian Jackson [Thu, 9 Aug 2012 17:24:25 +0000 (18:24 +0100)]
pop

12 years agopop (CONFLICT)
Ian Jackson [Thu, 9 Aug 2012 17:17:56 +0000 (18:17 +0100)]
pop (CONFLICT)

12 years agopop (CONFLICT)
Ian Jackson [Thu, 9 Aug 2012 17:17:56 +0000 (18:17 +0100)]
pop (CONFLICT)

12 years agopop
Ian Jackson [Thu, 9 Aug 2012 17:17:56 +0000 (18:17 +0100)]
pop

12 years agopop
Ian Jackson [Thu, 9 Aug 2012 17:17:56 +0000 (18:17 +0100)]
pop

12 years agoM206: always use homing ("homeing") offsets
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 [XYZ]_HOME_POS_A which is a macro which includes the adjustment.

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 ?

I have taken the view that the software endstops are a backstop safety
feature which is not necessarily entirely accurate, and that reducing
the scope of movement is not desirable.

I have therefore implemented it so that negative values for M206
increase the total range of movement, whereas positive values leave it
unchanged.

So for example with
  #define X_MIN_POS 0
  #define X_HOME_POS 0
  #define X_MAX_POS 100

M206 X-10 would permit the machine to move from the endstop
(considered X=-10) 110mm in the positive X direction (considered
X=+100).

M206 X+10 would permit the machine to move from the endstop
(considered X=-10) 100mm in the positive X direction (considered
X=+110).

fixes #200 (in ErikZalm/Marlin).

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
12 years agorefresh
Ian Jackson [Thu, 9 Aug 2012 17:15:51 +0000 (18:15 +0100)]
refresh

12 years agorefresh
Ian Jackson [Thu, 9 Aug 2012 17:15:51 +0000 (18:15 +0100)]
refresh

12 years agorefresh (create temporary patch)
Ian Jackson [Thu, 9 Aug 2012 17:15:51 +0000 (18:15 +0100)]
refresh (create temporary patch)

12 years agorefresh (create temporary patch)
Ian Jackson [Thu, 9 Aug 2012 17:15:51 +0000 (18:15 +0100)]
refresh (create temporary patch)

12 years agoRefresh of motion-control-max-min
Ian Jackson [Thu, 9 Aug 2012 17:15:51 +0000 (18:15 +0100)]
Refresh of motion-control-max-min

12 years agosoftware_endstops: use *_MIN_POS and *_MAX_POS for arcs
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>
12 years agosoftware endstops: use *_MIN_POS and *_MAX_POS for arcs
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.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
12 years agonew
Ian Jackson [Thu, 9 Aug 2012 17:15:32 +0000 (18:15 +0100)]
new

12 years agonew
Ian Jackson [Thu, 9 Aug 2012 17:15:32 +0000 (18:15 +0100)]
new

12 years agosoftware endstops: use *_MIN_POS and *_MAX_POS for arcs
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.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
12 years agopop
Ian Jackson [Thu, 9 Aug 2012 17:11:31 +0000 (18:11 +0100)]
pop

12 years agopop
Ian Jackson [Thu, 9 Aug 2012 17:11:31 +0000 (18:11 +0100)]
pop

12 years agorefresh
Ian Jackson [Thu, 9 Aug 2012 17:11:23 +0000 (18:11 +0100)]
refresh

12 years agorefresh
Ian Jackson [Thu, 9 Aug 2012 17:11:23 +0000 (18:11 +0100)]
refresh

12 years agorefresh (create temporary patch)
Ian Jackson [Thu, 9 Aug 2012 17:11:23 +0000 (18:11 +0100)]
refresh (create temporary patch)

12 years agorefresh (create temporary patch)
Ian Jackson [Thu, 9 Aug 2012 17:11:22 +0000 (18:11 +0100)]
refresh (create temporary patch)

12 years agoRefresh of m206-always-use-homing-homeing
Ian Jackson [Thu, 9 Aug 2012 17:11:22 +0000 (18:11 +0100)]
Refresh of m206-always-use-homing-homeing

12 years agogoto
Ian Jackson [Thu, 9 Aug 2012 17:08:40 +0000 (18:08 +0100)]
goto

12 years agogoto
Ian Jackson [Thu, 9 Aug 2012 17:08:40 +0000 (18:08 +0100)]
goto

12 years agopop
Ian Jackson [Wed, 8 Aug 2012 17:56:52 +0000 (18:56 +0100)]
pop

12 years agopop
Ian Jackson [Wed, 8 Aug 2012 17:56:52 +0000 (18:56 +0100)]
pop

12 years agoHOMEAXIS: make into a function
Ian Jackson [Wed, 8 Aug 2012 17:30:34 +0000 (18:30 +0100)]
HOMEAXIS: make into a function

Replace the large macro HOMEAXIS with a function.  This avoids the
compiler generating three copies of largely identical code.  The
saving is 714 bytes of program memory.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
12 years agoM206: save values in eeprom
Ian Jackson [Wed, 1 Aug 2012 20:18:08 +0000 (21:18 +0100)]
M206: save values in eeprom

Really, we should have a way to adjust the XYZ homing of a machine in
the eeprom.  So as the second stage of this, make the M206 home offset
parameters subject to the M500/M501/M502/M503 eeprom commands.

Bump the eeprom version to "V06".

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
12 years agoeeprom: provide smaller code for SERIAL_ECHOPAIR
Ian Jackson [Sat, 4 Aug 2012 15:13:25 +0000 (16:13 +0100)]
eeprom: provide smaller code for SERIAL_ECHOPAIR

SERIAL_ECHOPAIR implies, eventually, two calls to MYSERIAL.print.  One
of these has FORCE_INLINE for a per-character loop, and both involve
constructing a method call rather than a simple function call.

Produce better and smaller code by providing three specialised
functions serial_echopair.  This saves 672 bytes of program memory
(with EEPROM_SETTINGS and SDSUPPORT enabled).

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
12 years agorefresh
Ian Jackson [Wed, 8 Aug 2012 17:56:49 +0000 (18:56 +0100)]
refresh

12 years agorefresh
Ian Jackson [Wed, 8 Aug 2012 17:56:49 +0000 (18:56 +0100)]
refresh

12 years agorefresh (create temporary patch)
Ian Jackson [Wed, 8 Aug 2012 17:56:48 +0000 (18:56 +0100)]
refresh (create temporary patch)

12 years agorefresh (create temporary patch)
Ian Jackson [Wed, 8 Aug 2012 17:56:48 +0000 (18:56 +0100)]
refresh (create temporary patch)

12 years agoRefresh of m206-always-use-homing-homeing
Ian Jackson [Wed, 8 Aug 2012 17:56:48 +0000 (18:56 +0100)]
Refresh of m206-always-use-homing-homeing

12 years agorefresh
Ian Jackson [Wed, 8 Aug 2012 17:56:20 +0000 (18:56 +0100)]
refresh

12 years agorefresh
Ian Jackson [Wed, 8 Aug 2012 17:56:20 +0000 (18:56 +0100)]
refresh

12 years agorefresh (create temporary patch)
Ian Jackson [Wed, 8 Aug 2012 17:49:42 +0000 (18:49 +0100)]
refresh (create temporary patch)

12 years agorefresh (create temporary patch)
Ian Jackson [Wed, 8 Aug 2012 17:49:42 +0000 (18:49 +0100)]
refresh (create temporary patch)

12 years agoRefresh of m206-always-use-homing-homeing
Ian Jackson [Wed, 8 Aug 2012 17:49:41 +0000 (18:49 +0100)]
Refresh of m206-always-use-homing-homeing

12 years agogoto
Ian Jackson [Wed, 8 Aug 2012 17:49:09 +0000 (18:49 +0100)]
goto

12 years agogoto
Ian Jackson [Wed, 8 Aug 2012 17:49:09 +0000 (18:49 +0100)]
goto

12 years agosink
Ian Jackson [Wed, 8 Aug 2012 17:45:38 +0000 (18:45 +0100)]
sink

12 years agosink
Ian Jackson [Wed, 8 Aug 2012 17:45:38 +0000 (18:45 +0100)]
sink

12 years agoMakefile: support V=1
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>
12 years agoM206: always use homing ("homeing") offsets
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 [XYZ]_HOME_POS_A which is a macro which includes the adjustment.

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 ?

I have taken the view that the software endstops are a backstop safety
feature which is not necessarily entirely accurate, and that reducing
the scope of movement is not desirable.

I have therefore implemented it so that negative values for M206
increase the total range of movement, whereas positive values leave it
unchanged.

So for example with
  #define X_MIN_POS 0
  #define X_HOME_POS 0
  #define X_MAX_POS 100

M206 X-10 would permit the machine to move from the endstop
(considered X=-10) 110mm in the positive X direction (considered
X=+100).

M206 X+10 would permit the machine to move from the endstop
(considered X=-10) 100mm in the positive X direction (considered
X=+110).

fixes #200 (in ErikZalm/Marlin).

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
12 years agoM206: always use homing ("homeing") offsets
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 [XYZ]_HOME_POS_A which is a macro which includes the adjustment.

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 ?

I have taken the view that the software endstops are a backstop safety
feature which is not necessarily entirely accurate, and that reducing
the scope of movement is not desirable.

I have therefore implemented it so that negative values for M206
increase the total range of movement, whereas positive values leave it
unchanged.

So for example with
  #define X_MIN_POS 0
  #define X_HOME_POS 0
  #define X_MAX_POS 100

M206 X-10 would permit the machine to move from the endstop
(considered X=-10) 110mm in the positive X direction (considered
X=+100).

M206 X+10 would permit the machine to move from the endstop
(considered X=-10) 100mm in the positive X direction (considered
X=+110).

fixes #200 (in ErikZalm/Marlin).

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
12 years agoM206: always use homing ("homeing") offsets
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 [XYZ]_HOME_POS_A which is a macro which includes the adjustment.

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 ?

I have taken the view that the software endstops are a backstop safety
feature which is not necessarily entirely accurate, and that reducing
the scope of movement is not desirable.

I have therefore implemented it so that negative values for M206
increase the total range of movement, whereas positive values leave it
unchanged.

So for example with
  #define X_MIN_POS 0
  #define X_HOME_POS 0
  #define X_MAX_POS 100

M206 X-10 would permit the machine to move from the endstop
(considered X=-10) 110mm in the positive X direction (considered
X=+100).

M206 X+10 would permit the machine to move from the endstop
(considered X=-10) 100mm in the positive X direction (considered
X=+110).

fixes #200 (in ErikZalm/Marlin).

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
12 years agoM206: always use homing ("homeing") offsets
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 [XYZ]_HOME_POS_A which is a macro which includes the adjustment.

fixes #200 (in ErikZalm/Marlin).

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
minimums too

FIXME FIXME FIXME