Design choices for new function implementation

edited April 2017 in Repetier-Firmware
sorry for the cryptic title but it's hard to find a better one

i'm implementing (actually i already have, but read on) RAISE_Z_ON_TOOLCHANGE which as the name suggests raises Z before and lowers it after swapping extruders.

but before i finalize the work and submit the pull request i'd like to know which would be the preferred implementation regarding the following issues:

  • should it be a configuration.h option only or should it have an eeprom value too (i actually lean towards making it eeprom configurable)
  • should it be tied specifically to DUAL_X or not? (perhaps not, as repetier supports cnc mode too, it could be useful for that? maybe in the future? who knows)
  • should it be in steps (like offsets) or in mm? both have advantages/disadvantages
  • should it execute only if Printer::isHomedAll() or Printer::isZHomed() is sufficient? 


  • Only config option is sufficient. This is something you know if your design requires it, so no reason to wast so much memory with eeprom handlers, string etc.

    Should work for all - see no reason why limit it. Will bi in #if conds anyway if <=0 so no extra code if not wanted.

    mm is preferred. Have one option only in mm and it is still confusing for all.

    Homing is good question. Normally I'd say isZHomed is enough especially if it is a pure z move and can not be corrupted by autoleveling, whcih then would require isHomedAll.
Sign In or Register to comment.