chiark / gitweb /
marlin.git
12 years agorefresh
Ian Jackson [Wed, 8 Aug 2012 17:33:06 +0000 (18:33 +0100)]
refresh

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

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

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

12 years agoRefresh of add-to-marlin-gitignore
Ian Jackson [Wed, 8 Aug 2012 17:33:05 +0000 (18:33 +0100)]
Refresh of add-to-marlin-gitignore

12 years agoAdd *~ to Marlin/.gitignore
Ian Jackson [Wed, 8 Aug 2012 17:32:51 +0000 (18:32 +0100)]
Add *~ to Marlin/.gitignore

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

12 years agonew
Ian Jackson [Wed, 8 Aug 2012 17:32:51 +0000 (18:32 +0100)]
new

12 years agoAdd *~ to Marlin/.gitignore
Ian Jackson [Wed, 8 Aug 2012 17:32:51 +0000 (18:32 +0100)]
Add *~ to Marlin/.gitignore

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

12 years agopop
Ian Jackson [Wed, 8 Aug 2012 17:31:48 +0000 (18:31 +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 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

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 agoMarlin.pde: include comment for emacs mode
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>
12 years agohide
Ian Jackson [Wed, 8 Aug 2012 17:31:10 +0000 (18:31 +0100)]
hide

12 years agohide
Ian Jackson [Wed, 8 Aug 2012 17:31:10 +0000 (18:31 +0100)]
hide

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

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

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

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

12 years agonew
Ian Jackson [Wed, 8 Aug 2012 17:30:35 +0000 (18:30 +0100)]
new

12 years agonew
Ian Jackson [Wed, 8 Aug 2012 17:30:35 +0000 (18:30 +0100)]
new

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 agopop
Ian Jackson [Wed, 8 Aug 2012 17:15:18 +0000 (18:15 +0100)]
pop

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

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 agorefresh
Ian Jackson [Wed, 8 Aug 2012 17:15:10 +0000 (18:15 +0100)]
refresh

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

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

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

12 years agoRefresh of eeprom-provide-smaller-code-fo
Ian Jackson [Wed, 8 Aug 2012 17:15:00 +0000 (18:15 +0100)]
Refresh of eeprom-provide-smaller-code-fo

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

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

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

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

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 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 enabled).

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

12 years agopop
Ian Jackson [Wed, 8 Aug 2012 17:14:15 +0000 (18:14 +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.

fixes #200 (in ErikZalm/Marlin).

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

FIXME FIXME FIXME

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

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

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 agopop
Ian Jackson [Wed, 8 Aug 2012 17:14:11 +0000 (18:14 +0100)]
pop

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

12 years agoMarlin.pde: include comment for emacs mode
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>
12 years agopop
Ian Jackson [Wed, 8 Aug 2012 17:14:09 +0000 (18:14 +0100)]
pop

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

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

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

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

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

12 years agoRefresh of enable-eeprom-settings
Ian Jackson [Wed, 8 Aug 2012 17:13:56 +0000 (18:13 +0100)]
Refresh of enable-eeprom-settings

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

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

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

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

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

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

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

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

12 years agoRefresh of m206-save-values-in-eeprom
Ian Jackson [Wed, 8 Aug 2012 17:13:09 +0000 (18:13 +0100)]
Refresh of m206-save-values-in-eeprom

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 agopop
Ian Jackson [Wed, 8 Aug 2012 17:04:09 +0000 (18:04 +0100)]
pop

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

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 enabled).

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

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

12 years agoENABLE EEPROM SETTINGS AND SDSUPPORT NOT FOR UPSTREAM
Ian Jackson [Wed, 8 Aug 2012 16:57:15 +0000 (17:57 +0100)]
ENABLE EEPROM SETTINGS AND SDSUPPORT NOT FOR UPSTREAM

12 years agoENABLE EEPROM SETTINGS NOT FOR UPSTREAM
Ian Jackson [Wed, 8 Aug 2012 16:57:15 +0000 (17:57 +0100)]
ENABLE EEPROM SETTINGS NOT FOR UPSTREAM

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

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 agoMarlin.pde: include comment for emacs mode
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>
12 years agopop
Ian Jackson [Wed, 8 Aug 2012 17:03:47 +0000 (18:03 +0100)]
pop

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

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

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

12 years agorefresh (create temporary patch)
Ian Jackson [Wed, 8 Aug 2012 16:59:40 +0000 (17:59 +0100)]
refresh (create temporary patch)

12 years agorefresh (create temporary patch)
Ian Jackson [Wed, 8 Aug 2012 16:59:40 +0000 (17:59 +0100)]
refresh (create temporary patch)

12 years agoRefresh of eeprom-provide-smaller-code-fo
Ian Jackson [Wed, 8 Aug 2012 16:59:40 +0000 (17:59 +0100)]
Refresh of eeprom-provide-smaller-code-fo

12 years agopop
Ian Jackson [Wed, 8 Aug 2012 16:59:15 +0000 (17:59 +0100)]
pop

12 years agopop
Ian Jackson [Wed, 8 Aug 2012 16:59:15 +0000 (17:59 +0100)]
pop

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

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

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 enabled).

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

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 SERIAL_ECHOPAIR_DOUBLE
which is a typechecking syntactic wrapper around a new function
serial_echopair_double.  This saves XXXX bytes of program memory.

It would arguably be nice to do this in general for each of the calls
to SERIAL_ECHOPAIR in EEPROM_printSettings.  But actually I think a
better approach would be a table-driving settings printer, so we'll
have this incremental improvement for now.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
12 years agosink
Ian Jackson [Wed, 8 Aug 2012 16:58:45 +0000 (17:58 +0100)]
sink

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

12 years agoENABLE EEPROM SETTINGS NOT FOR UPSTREAM
Ian Jackson [Wed, 8 Aug 2012 16:57:15 +0000 (17:57 +0100)]
ENABLE EEPROM SETTINGS NOT FOR UPSTREAM

12 years agopop
Ian Jackson [Wed, 8 Aug 2012 16:58:23 +0000 (17:58 +0100)]
pop

12 years agopop
Ian Jackson [Wed, 8 Aug 2012 16:58:23 +0000 (17:58 +0100)]
pop

12 years agoENABLE EEPROM SETTINGS NOT FOR UPSTREAM
Ian Jackson [Wed, 8 Aug 2012 16:57:15 +0000 (17:57 +0100)]
ENABLE EEPROM SETTINGS NOT FOR UPSTREAM

12 years agosink
Ian Jackson [Wed, 8 Aug 2012 16:58:05 +0000 (17:58 +0100)]
sink

12 years agosink
Ian Jackson [Wed, 8 Aug 2012 16:58:05 +0000 (17:58 +0100)]
sink

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

12 years agoeeprom: provide smaller code for SERIAL_ECHOPAIR_DOUBLE
Ian Jackson [Sat, 4 Aug 2012 15:13:25 +0000 (16:13 +0100)]
eeprom: provide smaller code for SERIAL_ECHOPAIR_DOUBLE

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 SERIAL_ECHOPAIR_DOUBLE
which is a typechecking syntactic wrapper around a new function
serial_echopair_double.  This saves XXXX bytes of program memory.

It would arguably be nice to do this in general for each of the calls
to SERIAL_ECHOPAIR in EEPROM_printSettings.  But actually I think a
better approach would be a table-driving settings printer, so we'll
have this incremental improvement for now.

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