Arduino: Compilado condicional

Scooter

Cascarrabias crónico
Estoy desarrollando un programa para arduino pero se tiene que poder ejecutar en distintas placas, por ello quisiera compilar una cabecera diferente según que placa se use.
Se puede usar el viejo truco de 'comentar' una parte del código pero quisiera saber si ahy una forma mas elegante de hacerlo, en ensamblador se suele poder pero no se si el C/wiring lo permite.
He buscado información pero lo que sale es referente a poner un if en el código y la cosa no va por ahí.
 
¿No se puede usar el clásico #ifdef o #ifndef en Arduino?

#ifdef ArduinoX
// Codígo
#elif
// Código
#endif
 
pues si vieras el código que viene con el Arduino, para asignar las DEF para cada placa diferente en primera las dividen en las arquitecturas con:

Código:
// Architecture specific include 
#if defined(ARDUINO_ARCH_AVR) 
#include "avr/libreria.h" 
#elif defined(ARDUINO_ARCH_SAM) 
#include "sam/libreria.h" 
#elif defined(ARDUINO_ARCH_SAMD) 
#include "samd/libreria.h" 
#else 
#error "This library only supports boards with an AVR, SAM or SAMD processor." 
#endif

Luego dentro viene una configuración especifica para cada arquitectura usando más #if por cada chip especifico.
 
Si, por ahí va la historia.
Gracias.
Voy a tirar del hilo a ver que aclaro.
En principio seria poner dos o tres cabeceras alternativas en el programa

 
Atrás
Arriba