eBoard ①⑧⑨
Written for SIA 2017/2018
Statistics

Cuz everyone loves them :O

Warning
it's easy to misinterpret this statistics!
eBoard is taking care of many things and only occupying a minimum of space! Most things you would have to write by yourselve otherwise (which may resulted in an even higher amount of used space!)
Note
every test was run with an Arduino UNO R3 It is possible that the code size vary

1 Occupied Space

Because everyone loves statistics♥:

Note
Development Build:
#define EBOARD_I2C 0x1
#define EBOARD_SHIFT_REGISTER 0x1
#define EBOARD_BLUETOOTH 0x1
//[VER 2.0c]
#define REPT_TASK
void rept_task (void) {}
#define EBOARD_LCD 0x1
//[VER 3.0c]
#define EBOARD_NEO 0x1
//[VER 3.1m]
#define PREPROCESS_DEBUG 0x1
Release Build:
removed I2C due to the hope that Bluetooth is enough ^^
#define IGNORE_SIZE
#define EBOARD_USE_UTILITY 0x0
#define EBOARD_DEBUG_MODE 0x0
#define EBOARD_CHECK_PINS 0x0
#define EBOARD_CHECK_PINS_PWM 0x0
#define EBOARD_SHIFT_REGISTER 0x1
#define EBOARD_BLUETOOTH 0x1
//[VER 2.0c]
#define EBOARD_LCD 0x1
//[VER 3.0c]
#define EBOARD_NEO 0x1

1.1 Empty program

Note
Used:
//[...]
int main() {return 0;}

Following results:
[Version: 1.2a]
[Dev]: 'Binäre Sketchgröße: 6.994 Bytes (von einem Maximum von 32.256 Bytes)'
[Rel]: 'Binäre Sketchgröße: 3.264 Bytes (von einem Maximum von 32.256 Bytes)'

[Version: 2.0c]
[Dev]: 'Binäre Sketchgröße: 7.530 Bytes (von einem Maximum von 32.256 Bytes)'
[Rel]: 'Binäre Sketchgröße: 3.770 Bytes (von einem Maximum von 32.256 Bytes)'

[Version: 3.0c]
[Dev]: 'Binäre Sketchgröße: 5.730 Bytes (von einem Maximum von 32.256 Bytes)'
[Rel]: 'Binäre Sketchgröße: 3.524 Bytes (von einem Maximum von 32.256 Bytes)'

[Version: 3.1m]
[Dev]: 'Binäre Sketchgröße: 5.820 Bytes (von einem Maximum von 32.256 Bytes)'
[Rel]: 'Binäre Sketchgröße: 3.622 Bytes (von einem Maximum von 32.256 Bytes)'

1.2 The NANO

As we need different libraries on the nano lets look on the sizes:

#define EBOARD_I2C 0x1
#define EBOARD_LCD 0x1
#define EBOARD_NEO 0x1
#define EBOARD_NANO 0x1
#define REPT_TASK
void rept_task (void) {}
#include "/eagleoutice/projects/github/eBoard/eBoard.h"
//manual: '#include "/path/to/eBoard.h"'
int main() {return 0;}

[Version: 3.0c]
[SAM]: 'Binäre Sketchgröße: 3.700 Bytes (von einem Maximum von 32.256 Bytes)'
[Version: 3.1m]
[SAM]: 'Binäre Sketchgröße: 4.488 Bytes (von einem Maximum von 32.256 Bytes)
               Globale Variablen verwenden 467 Bytes (22%) des dynamischen Speichers, 1581 Bytes für lokale Variablen verbleiben. Das Maximum sind 2048 Bytes.
[Version: 3.2d]
[SAM]: 'Binäre Sketchgröße: 3.012 Bytes (von einem Maximum von 32.256 Bytes)
               Globale Variablen verwenden 341 Bytes (16%) des dynamischen Speichers, 1707 Bytes für lokale Variablen verbleiben. Das Maximum sind 2048 Bytes.

1.3 Output to an OLED-Display

Note
Used Code:
#define EBOARD_I2C 0x1
#define EBOARD_LCD 0x1
#define EBOARD_DEBUG_MODE 0x0
#include <eBoard.h>
//manual: '#include "/path/to/eBoard.h"'
int main() {
lcd.print("Hallo Welt"); //Actually there is no println! => shame
lcd.print("Scheint die Sonne?");
for(int i = 0; i < 2000; i++){
lcd.print(i);
board.msleep(100);
board.msleep(100);
}
return 0;
}

Following results:
[Version: 2.0c]
[SAM]: 'Binäre Sketchgröße: 7.716 Bytes (von einem Maximum von 32.256 Bytes)'
[Version: 3.0c]
[SAM]: 'Binäre Sketchgröße: 5.900 Bytes (von einem Maximum von 32.256 Bytes)'
[Version: 3.1m]
[SAM]: 'Binäre Sketchgröße: 5.916 Bytes (von einem Maximum von 32.256 Bytes)'
               Globale Variablen verwenden 742 Bytes (36%) des dynamischen Speichers, 1306 Bytes für lokale Variablen verbleiben. Das Maximum sind 2048 Bytes.
[Version: 3.2d]
[SAM]: 'Binäre Sketchgröße: 4.728 Bytes (von einem Maximum von 32.256 Bytes)'
               Globale Variablen verwenden 239 Bytes (11%) des dynamischen Speichers, 1809 Bytes für lokale Variablen verbleiben. Das Maximum sind 2048 Bytes.