Commits on Jul 10, 2014
  1. gcode_process.c: more preprocessor conditions for homing movements.

    Traumflug committed May 25, 2014
    Well, optimizer isn't _that_ smart. It apparently removes
    empty functions in the same compilation unit ( = source code file),
    but not ones across units.
    This saves 10 bytes binary size per endstop not used, so 30 bytes
    in a standard configuration. All without any drawbacks.
  2. home.c: remove some redundant preprocessor stuff.

    Traumflug committed May 25, 2014
    Binary size is exactly the same, to the optimizer apparently
    manages to drop empty functions.
  3. Implement adaptive homing feedrates.

    Traumflug committed May 24, 2014
    For now for X min only, but it works excellently already.
    Tested quite a few combinations and raising acceleration
    or endstop clearance raises homing feedrate just as expected.
    Quite a chunk of the code is for testing the given configuration,
    only. A thing which would ideally be done for every macro
    used in each code file.
  4. Get rid of E_STARTSTOP_STEPS.

    Traumflug committed May 24, 2014
    This meant to be a firmware-provided retract feature but was
    never really supported by G-code generators. Without their support
    (by issueing M101/M103), it's pretty hard to detect extrusion
    pauses, so this feature simply has no future.
    As this was on by default, it saves over 200 bytes binary size
    in a default configuration.
Commits on Jul 9, 2014
Commits on Jun 13, 2014
Commits on May 29, 2014
  1. gcode_parse.h: raise S word size.

    Traumflug committed May 24, 2014
    Some M-codes apparently need this. Perhaps it could be avoided,
    but it costs just 8 bytes binary size and 2 bytes RAM, so not
    really a reason to make a headache.
  2. dda.c: Update links to 'Generate stepper-motor speed profiles in real…

    drf5n committed with Traumflug May 9, 2014
    … time' David Austin 2004 Embedded article.
  3. simulator: Turn off printf format warnings

    phord committed with Traumflug Apr 6, 2014
    PC-based target emits warnings about printf formats, but there's nothing
    to be done about them, really.  Turn them off for polite builds.
Commits on Apr 13, 2014
  1. temp.c: fix typo.

    Traumflug committed Apr 13, 2014
Commits on Mar 4, 2014
  1. temp_achieved(): check only sensors/heaters turned on.

    Traumflug committed Dec 28, 2013
    Problem spotted, described in a helpful manner and over-fixed
    by @zungmann. This fix picks up his basic idea and implements it
    with already existing state properties.
  2. DDA: clear flags of a queue entry earlier.

    Traumflug committed Dec 16, 2013
    Formerly, once a wait for temp was given, this flag would stick
    forever on this queue entry.
    Spotted by Zungmann, thanks a lot!,33082,280439#msg-280439
  3. Zungmann's fixes to compile simulator on Mac OS X, part 2.

    phord committed with Traumflug Dec 12, 2013
    Here: .bss section syntax is different.
  4. Zungmann's fixes to compile simulator on Mac OS X, part 1.

    phord committed with Traumflug Dec 12, 2013
    Compiling for Mac OS X needs some customizations noticed by zungmann
    in the reprap forum:,33082,279050#msg-279050
  5. deriv.awk: Calculate derivative of every column

    phord committed with Traumflug Dec 13, 2013
    Instead of just two columns (x and y) in the trace file, treat
    every column as a function and calculate the first derivative
    of it without regard for its supposed "meaning".  In addition
    to getting more data from this, it also allows us to calculate
    the 2nd derivative easily by running the script again on the
    resulting data.
    Also convert time in column 1 from microseconds to seconds.
  6. simulator: Respect XYZE_INVERT_DIR settings

    phord committed with Traumflug Dec 13, 2013
    Simulator assumes a basic set of config pins.  Most it ignores
    and redefines.  But the INVERT_DIR pins it did not, and these
    could be useful to simulate.  So teach Simulator to respect them.
  7. DRY: Reduce duplication in platform Makefiles

    phord committed with Traumflug Dec 13, 2013
    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.
  8. DRY: Reduce duplication in Makefile-AVR

    phord committed with Traumflug Dec 11, 2013
    Refactor the "sizes" code into a parametric make function and
    reformat it for readability.
  9. make Makefile-{SIM,AVR,common} more generic

    phord committed with Traumflug Dec 13, 2013
    Allow stock makefile variables to be overridden by 'make' caller
    so the user's 'Makefile' can be authoritative.
    See Makefile-example for usage.
  10. Add config.h wrapper to simplify test automation

    phord committed with Traumflug Dec 13, 2013
    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".
  11. Remove __attribute__((hot)).

    Traumflug committed Dec 13, 2013
    There's no apparent documentation for this on the AVR variant of GCC.
    Likely it means to optimize "more aggressively". Uhm, is gcc
    intentionally wasting cycles otherwise? Likely not.
    Also, the compilation result is exactly the same size with or
    without this attribute.
  12. DDA: make macro ACCELERATE_RAMP_LEN_SPM() a function.

    Traumflug committed Dec 6, 2013
    This macro is pretty expensive (700 bytes, well, stuff is now
    calculated at runtime), so there's no chance to use it in multiple
    places and we likely also need this in dda_lookahead.c to achieve
    full 4 axis compatibility there.