A full explanation in french can be read at http://www.locoduino.org/spip.php?article178 .
The goal of this library is to command accessories of railroad modelling, but basically these are motors and lights exactly with the same constraints and needs than in a lot of other hobbies...
Accessories can be driven by basic functions to move or set on or off, but it can be driven by events too, almost exactly the same as Commanders library is able to raise.
Each kind of accessories or ports can be excluded from compilation, for memory problems purpose or for naming conflicts. You can exclude some parts of library here, to avoid losing program and data memory on parts you dont use. For example, if you dont want SERVO, just uncomment the line #define NO_SERVO by removing // at the beggining.
The Arduino IDE compiles all the files of the library 'src' directory even if its content is not used. The result is, if an unused source file contains static declarations (SERVO library do !), these statics will be allocated and this memory will be lost. The only solution I have found is to rename the source files to something IDE dont know... So if you want to lose less memory, you can rename the linked files from .cpp to .ori, and from .hpp to .hppori. See below in the exclusion area the file names related to each exclusion.
This software is Copyright (C) 2015-2017 thierry Paris / Locoduino. Use is subject to license conditions. The main licensing options available are GPL V2 or Commercial: