#define PROCESS_SERIAL_COMMANDS false
#define PROCESS_SSP_COMMANDS false
#define SUPPORT_DIGITAL_MANAGEMENT true
#define SUPPORT_ANALOG_MANAGEMENT false
#define SUPPORT_LED_MANAGEMENT true
#define SUPPORT_MOTOR_MANAGEMENT true
#define SUPPORT_PAUSE_MANAGEMENT false
#define SUPPORT_NAVIGATION_MANAGEMENT false
The preprocessor does know about true or false. Use 1 and 0 instead.
#if SUPPORT_DIGITAL_MANAGEMENT just doesn't look right to me.
That looks just fine to the preprocessor – of course depending on how SUPPORT_DIGITAL_MANAGEMENT is #defined; undefined is OK, empty definition is not.