@Aeternalus
Probably your right, an alternative is to define a string yourself, drawback is that you might need to change it if your code is uploaded to a slightly different platform.
#define _TYPE_ "ATMega328P MHZ16 ANA6 DIG13 PWM4 HWS1 I2C1 SPI1"
char * getType()
{
return _TYPE_;
}
void setup()
{
Serial.begin(115200);
Serial.println(getType());
}
void loop() {}
Or even more work
struct ArduinoType
{
char name[20];
uint8_t analogPins;
uint8_t digitalPins;
uint8_t pwmPins;
uint8_t voltage; // whole part only
uint16_t RAM; // KB
uint16_t EEPROM; // KB
uint8_t SerialPorts;
uint8_t clockSpeed;
// ..
} myArduino = { _AVR_CPU_NAME_, 6, 13, 4, 5, ... }