Commit Graph

31 Commits

Author SHA1 Message Date
Phil Hord 1e9cb8b8e1 dda->id is needed even when !LOOKAHEAD
In `ACCELERATION_RAMPING` code we use the dda->id field even when we do
not enable `LOOKAHEAD`. Expose the variable and its related `idcnt`
when `ACCELERATION_RAMPING` is used.

Add a regression-test to catch this in the future.
2017-02-01 10:21:48 -08:00
Markus Hitter 95787f3a34 Regressiontests: define $MCU and $F_CPU explicitely on all tests.
Nothing new, but was forgotten on a few tests.
2016-07-09 14:15:40 +02:00
Markus Hitter 0555299717 Regressiontests: add test for ACCELERATION_TEMPORAL. 2016-07-09 13:53:57 +02:00
Markus Hitter 76efe06284 Regressiontests: add a test for ACCELERATION_REPRAP. 2016-07-09 13:48:56 +02:00
Markus Hitter 58553a5033 Regressiontests: trust our dependency system.
In a test, the system worked fine even for a change in config.h,
which is #included by a variable (config_wrapper.h, line 20).
This should speed up repeated regression test, e.g. when doing a
'git regtest', substantially.
2016-07-09 13:45:25 +02:00
Markus Hitter bcfb13d4e2 Regression tests: make sure we have a valid thermistor table.
So far it worked only if the user happened to have a table for
two thermistors. Having a table for only one thermistor made all
regression tests fail.
2016-06-07 20:15:10 +02:00
Markus Hitter d51edaf705 Regression tests: remove the script based integrity test.
Looks like it's obsolete now, superseeded by the one actually
running Configtool.
2016-06-06 14:18:08 +02:00
Phil Hord 21ac717d6d Configtool: add integrity tests for Configtool output.
Add a test that puts the stock config files through the
Configtool input/output parsers and verifies the output matches
the input.  If Configtool breaks down in the future and produces
different output, this should catch it.

If this fails because of some intentional change in the tool or
in the stock config files, then the tool or stock config files
should be updated to be compatible again before merging the result.
2016-06-06 12:36:53 +02:00
Markus Hitter 813bdf4452 Display: add regression test for 4-bit bus and HD44780 display.
(Ab)use the old Gen7 v1.3 configuration for this, as this is
rarely in use and because this board also happens to be the board
where the tested code was developed on.
2016-05-30 14:10:25 +02:00
Markus Hitter bb56874088 Regressiontests: add a test for ATmega328, I2C, SSD1306. 2016-05-06 20:34:18 +02:00
Markus Hitter 8c110da610 Makefile-AVR: correct reported program sizes.
What 'make size' previously reported was misleading, because
it didn't count the .data section as Flash usage. However, this
section is actually written to Flash.

The .data section holds the data needed for inititalising
variables. As such it counts to both, Flash and RAM usage.

Nice verification: reported 'Program' size now matches upload
size reported by avrdude exactly.

There's now the tool 'avr-size', which makes reading such stuff
much easier:

  avr-size -C build/teacup.elf

Example output:

  AVR Memory Usage
  ----------------
  Device: Unknown

  Program:   23704 bytes
  (.text + .data + .bootloader)

  Data:       1543 bytes
  (.data + .bss + .noinit)

  EEPROM:       32 bytes
  (.eeprom)
2016-04-21 19:19:29 +02:00
Markus Hitter 67f0f6ef0e check_integrity.sh: move to a less user visible place.
No functional changes.
2016-04-12 00:11:43 +02:00
Markus Hitter f0604b5e9d Add test for config files integrity.
It happens all to often that a #define is added or removed here
or there, but some related files gets forgotten. Now at least
existence of all the #defines is cross-checked.
2016-03-28 01:29:38 +02:00
Phil Hord 6ef35a11f2 Add test for "no endstops defined" build
This configuration used to fail.  Now it's fixed.  Test the
configuration to ensure it doesn't break again in the future.
2015-11-18 14:53:12 -05:00
Markus Hitter ab910ee1c4 ARM: add Gen7-ARM to the series of regression tests.
Now ARM based boards are covered as well :-)
2015-08-12 14:26:36 +02:00
Markus Hitter 42b96e0e27 SD card: commit SD_CARD_SELECT_PIN to all the board files.
For the bigger boards like RAMPS or Rumba the pin numbers were
taken from Marlin. For the smaller boards, the pin is commented
out.
2015-07-30 15:31:57 +02:00
Phil Hord 15e8dec9b2 board.gen3.h: restore {TX,RX}_ENABLE_PIN defs.
These were dropped accidentally, I assume, during the Configtool
template conversion. Without them the INTERCOM feature does not
compile and so board.gen3.h is broken.

Add the gen3 config to testcases and regressiontests to ensure
this does not drop again.
2015-07-29 21:05:38 +02:00
Markus Hitter c6a1f99758 Makefile-common: add perf. measurement config to regressiontests. 2015-07-24 15:17:43 +02:00
Phil Hord a3e956e70b Regressiontests: give SIM a "standard" config.
We should not fail the regression test if the user's config is
missing or misconfigured.

Also turn on -Werror for simulator validation, too. This might be
a bit presumptuous since we are dependent on the user's installed
gcc instance; but we already depending on him to be able to build
the simulator at all, so this doesn't seem to be too much of a
stretch.
2015-07-17 13:27:25 +02:00
Markus Hitter 1eb7e73273 Introduce regression tests.
For now this is just a number of different configurations and a
makefile target, "make regressiontests", to build with them.
Further tests, e.g. using SimulAVR or the hostside simulator
to check actual behaviour of the firmware are welcome.
2015-07-13 14:00:33 +02:00
Markus Hitter 01621cfbdb Makefiles: adjust comments.
- "Traumflug" and "Markus Hitter" are the same, mention him only
   once.

 - Add more common F_CPU choices in comments.

 - Hint to another choice in Makefile-example.
2015-04-21 02:51:31 +02:00
Markus Hitter 5cc84a069a Canned G-code: setup right in config.h.
This works with Arduino IDE as well and should be easier to figure
for inexperienced users.
2014-08-31 19:31:39 +02:00
Michael Moon aed4bfdb5b Canned G-code: implement continuous replay of G-code stored on flash. 2014-08-31 19:19:21 +02:00
Phil Hord e4cfffee42 DRY: Reduce duplication in platform Makefiles
Move builds for non-avr target (simulator) into a $(BUILD_FLAVOR)
build subdir (build/sim) to isolate it more completely and
cleanly from the AVR builds.  This allows AVR and SIM to use common
build rules again.

Move newly bits out of Makefile-{SIM,AVR} and into Makefile-common.
2014-03-04 19:56:46 +01:00
Phil Hord 21e5343552 Add config.h wrapper to simplify test automation
Test code which wants to customize config.h can do so without
touching config.h itself by wrapping config.h in a macro variable
which is passed in to the compiler.  It defaults to "config.h" if
no override is provided.

This change would break makefile dependency checking since the selection
of a different header file on the command line is not noticed by make
as a build-trigger.  To solve this, we add a layer to the BUILDDIR path
so build products are now specific to the USER_CONFIG choice if it is
not "config.h".
2014-03-04 19:56:23 +01:00
Markus Hitter 8a476e2fba Makefile: get rid of the config.h check.
This doesn't work well for developers, because config.h.default is
rewritten all the time when switching branches.
2013-12-06 19:24:58 +01:00
Phil Hord 28cc8d3f84 Makefiles: auto-dependencies cleanup.
Dependency automation seems a bit confused in these makefiles.
Clean it up following ancient sage wisdom here:
http://mad-scientist.net/make/autodep.html

In short, use -MMD to generate dependency files for each .o target,
and then use a sed script to extend that to avoiding "missing file"
dependencies when headers are renamed/removed.

Also, make everything dependent on makefiles other than our
autodependency (*.P) makefiles.

Make the BUILDDIR an order-only prerequisite for our targets so any
changed file therein does not cause all other files to appear to be
out of date.
2013-12-06 19:24:58 +01:00
Phil Hord d8f61faaac Split Makefile-SIM out from Makefile-AVR.
Also, some makefile cleanup:

 - Remove obsolete 'depend' target.
 - Move AVR-specific targets to AVR makefile.
 - Add TARGET variable to identify target to make and to clean.
 - Tidy up dependency make.
2013-12-06 19:24:58 +01:00
Markus Hitter 03d49a1a87 Makefiles can have various names now. 2013-02-05 14:11:17 +01:00
Markus Hitter 73658afc33 Makefiles: build into a dedicated directory.
This makes finding source files for editing quite a bit simpler.
2013-02-05 14:11:03 +01:00
Markus Hitter 19066069a5 Rewrite upper half of the Makefile.
We have now Makefile-AVR - AVR specific stuff - and
Makefile-common - common build instructions.

This effort is the begin of preparing Teacup for ARM targets.
To build the target, copy or link Makefile-AVR or Makefile-ARM
(depending on your target) to Makefile.
2013-02-05 14:10:39 +01:00