#include "SimpleClass.h"
#include "ComplexClass.h"
#include "DisplayClass.h"
#define pt(x) Serial.print(x)
#define ptln(x) Serial.println(x)
void setup() {
SimpleClassDemo();
ComplexClassDemo();
DisplayClassDemo();
//PointerTest();
//NumberTest();
//PointerTwist();
//GeneralTest();
//SchedulerTest();
}
void loop() {
delay(10000);
Serial.println("Hello World");
}
void SimpleClassDemo(){
//Initialization
//Funktioniert nicht global, da sie vor setup() aufgerufen wird.
//Das ist offenbar zu früh für Serial.begin...
SimpleClass easy(LED_BUILTIN);
//Method
easy.printPin();
//Method with parameter
easy.switchPin(HIGH);
easy.printPin();
easy.blinkLed();
//Error: private!
//easy._pin = 7;
//public variable
easy.LedPin = 9;
Serial.println("LedPin: " + String(easy.LedPin));
}
void ComplexClassDemo(){
//Initialization
Serial.end();
Serial.begin(115200);
ComplexClass hard(Serial);
hard.send();
}
void DisplayClassDemo(){
DisplayClass display;
display.print("Hallo Welt");
}
void GeneralTest(){
String r = "\r";
String n = "\n";
char cr = 13;
char lf = 10;
if(String(cr) == r)
Serial.println("cr == r");
if(String(cr) == n)
Serial.println("cr == n");
if(String(lf) == r)
Serial.println("lf == r");
if(String(lf) == n)
Serial.println("lf == n");
}
void SchedulerTest(){
InitSchedules();
PrintSchedules();
UserSchedulesInExternalClass();
PrintSchedules();
WeekdayCheck(3);
WeekdayCheck(5);
PrintChannels(1);
PrintChannels(6);
//Tuesday 07:15 - next 20:00 = 12:45
TestNextScheduledTime(1,07,15);
TestNextScheduledTime2(1,07,15);
//Friday 04:50 - next 07:00 = 02:10
TestNextScheduledTime(4,04,50);
TestNextScheduledTime2(4,04,50);
TestNextScheduledTime2(6,23,30);
TestNextScheduledTime2(6,00,00);
ExecuteSchedule(0, 07, 00);
TestLoop();
}