Wemos8266RelaysLedDisplay/src/Clock.h

32 lines
1.5 KiB
C++

#ifndef CLOCK_h_included
#define CLOCK_h_included
#include <Arduino.h>
class Clock {
public:
Clock(String name):clockSpeed_modelMsPerRealSec(1000), clockName(name) {};
Clock(String name, unsigned int h, unsigned int m):hours(h), minutes(m), clockSpeed_modelMsPerRealSec(1000), clockName(name) {};
Clock(String name, unsigned int h, unsigned int m, unsigned int s):hours(h), minutes(m), seconds(s), clockSpeed_modelMsPerRealSec(1000), clockName(name) {};
void addSeconds(unsigned int n) { seconds++; if (seconds >= 60) { addMinutes(1); seconds -= 60; }};
void addMinutes(unsigned int n) { minutes++; seconds -= 60; if (minutes >= 60) { addHours(1); minutes -= 60; }};
void addHours(unsigned int n) { hours++; if (hours >= 24) { hours -= 24; }};
void setTime(unsigned int h, unsigned int m) { hours=h; minutes=m; };
void setTime(unsigned int h, unsigned int m, unsigned int s) { hours=h; minutes=m; seconds=s; };
unsigned int getHours() { return hours; };
unsigned int getMinutes() { return minutes; };
unsigned int getSeconds() { return seconds; };
void setSpeed_modelMsPerRealSecond(unsigned int speed) { clockSpeed_modelMsPerRealSec = speed; };
unsigned int getSpeed_modelMsPerRealSecond() { return clockSpeed_modelMsPerRealSec; };
void setClockName(char *name) { clockName = String(name); };
void setClockName(String name) { clockName = name; };
String getClockName() { return clockName; };
protected:
unsigned int hours, minutes, seconds;
unsigned int clockSpeed_modelMsPerRealSec;
String clockName;
};
#endif