Last active
April 29, 2021 14:10
-
-
Save ah01/762576 to your computer and use it in GitHub Desktop.
const.pde
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// | |
// This sketch will print some of interesting predefined constants to Serial. | |
// | |
// For more information, look at | |
// http://electronics4dogs.blogspot.com/2011/01/arduino-predefined-constants.html | |
// helper macro | |
#define LINE(name,val) Serial.print(name); Serial.print("\t"); Serial.println(val); | |
void setup() | |
{ | |
Serial.begin(9600); | |
// Compile file path (internal file of compilation proccess) | |
LINE("__FILE__", __FILE__); | |
// Current line (but in __FILE__) | |
LINE("__LINE__", __LINE__); | |
// Name of current function | |
LINE("__func__", __func__); | |
// Date of compliation | |
LINE("__DATE__", __DATE__); | |
// Time of compilation | |
LINE("__TIME__", __TIME__); | |
// Version of comilator (avr-gcc) | |
LINE("__VERSION__", __VERSION__); | |
// Counter | |
LINE("__COUNTER__",__COUNTER__); // 0 | |
LINE("__COUNTER__",__COUNTER__); // 1 | |
LINE("__COUNTER__",__COUNTER__); // 2 | |
Serial.println("\nCPU:"); | |
#if defined(__AVR_ATmega168__) | |
// Arduino Diecimila and older | |
LINE("__AVR_ATmega168__", __AVR_ATmega168__); | |
#endif | |
#if defined(__AVR_ATmega328P__) | |
// Arduino Duemilanove and Uno | |
LINE("__AVR_ATmega328P__", __AVR_ATmega328P__); | |
#endif | |
#if defined(__AVR_ATmega2560__) | |
// Arduino Mega 2560 | |
LINE("__AVR_ATmega2560__", __AVR_ATmega2560__); | |
#endif | |
#if defined(__AVR_ATmega1280__) | |
// Arduino Mega | |
LINE("__AVR_ATmega1280__", __AVR_ATmega1280__); | |
#endif | |
#if defined(__AVR_ATmega32U4__) | |
// Arduino Leonardo | |
LINE("__AVR_ATmega32U4__", __AVR_ATmega32U4__); | |
#endif | |
#if defined(__SAM3X8E__) | |
// Arduino Due | |
LINE("__SAM3X8E__", __SAM3X8E__); | |
#endif | |
// Determine board type | |
#if defined(__AVR_ATmega168__) || defined(__AVR_ATmega328P__) | |
Serial.println("Regular Arduino"); | |
#elif defined(__AVR_ATmega2560__) || defined(__AVR_ATmega1280__) | |
Serial.println("Arduino Mega"); | |
#elif defined(__AVR_ATmega32U4__) | |
Serial.println("Arduino Leonardo"); | |
#elif defined(__SAM3X8E__) | |
Serial.println("Arduino Due"); | |
#else | |
Serial.println("Unknown"); | |
#endif | |
Serial.println("\nArduino:"); | |
// Arduino SW version | |
LINE("ARDUINO", ARDUINO); | |
// Oscillator frequency | |
LINE("F_CPU", F_CPU); | |
} | |
void loop(){} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This was great! Just got an Uno WiFi Rev2, added it