temp

Committer:
BenRJG
Date:
Thu Dec 06 15:38:09 2018 +0000
Revision:
0:2a4af0cb6e8d
Imported Code from Kiel; Added button functionality; Added set DateTime Functionality

Who changed what in which revision?

UserRevisionLine numberNew contents of line
BenRJG 0:2a4af0cb6e8d 1 #ifndef _dateTime_HPP
BenRJG 0:2a4af0cb6e8d 2 #define _dateTime_HPP
BenRJG 0:2a4af0cb6e8d 3 #include "mbed.h"
BenRJG 0:2a4af0cb6e8d 4 #include "General.hpp"
BenRJG 0:2a4af0cb6e8d 5
BenRJG 0:2a4af0cb6e8d 6 class dateTime{
BenRJG 0:2a4af0cb6e8d 7 public:
BenRJG 0:2a4af0cb6e8d 8 dateTime()
BenRJG 0:2a4af0cb6e8d 9 {
BenRJG 0:2a4af0cb6e8d 10 getSystemTime();
BenRJG 0:2a4af0cb6e8d 11 time_t check = -1;
BenRJG 0:2a4af0cb6e8d 12 if(mktime(&_currentTime_struct) == check)
BenRJG 0:2a4af0cb6e8d 13 {
BenRJG 0:2a4af0cb6e8d 14 _currentTime_struct.tm_year = 70;
BenRJG 0:2a4af0cb6e8d 15 _currentTime_struct.tm_mon = 0;
BenRJG 0:2a4af0cb6e8d 16 _currentTime_struct.tm_mday = 1;
BenRJG 0:2a4af0cb6e8d 17 _currentTime_struct.tm_hour = 0;
BenRJG 0:2a4af0cb6e8d 18 _currentTime_struct.tm_min = 0;
BenRJG 0:2a4af0cb6e8d 19 _currentTime_struct.tm_sec = 0;
BenRJG 0:2a4af0cb6e8d 20 printf("THIS HAS BEEN RUN TOO\n\r");
BenRJG 0:2a4af0cb6e8d 21 }
BenRJG 0:2a4af0cb6e8d 22
BenRJG 0:2a4af0cb6e8d 23 printf("THIS HAS BEEN RUN %d\n\r",check);
BenRJG 0:2a4af0cb6e8d 24 }
BenRJG 0:2a4af0cb6e8d 25
BenRJG 0:2a4af0cb6e8d 26
BenRJG 0:2a4af0cb6e8d 27 void updateStruct()
BenRJG 0:2a4af0cb6e8d 28 {
BenRJG 0:2a4af0cb6e8d 29 time_t _newTime_time = mktime(&_newTime_struct);
BenRJG 0:2a4af0cb6e8d 30 _newTime_struct = *localtime(&_newTime_time);
BenRJG 0:2a4af0cb6e8d 31 if(_newTime_struct.tm_year == 0)
BenRJG 0:2a4af0cb6e8d 32 {
BenRJG 0:2a4af0cb6e8d 33 _newTime_struct = _currentTime_struct;
BenRJG 0:2a4af0cb6e8d 34 }
BenRJG 0:2a4af0cb6e8d 35 _currentTime_struct = _newTime_struct;
BenRJG 0:2a4af0cb6e8d 36 }
BenRJG 0:2a4af0cb6e8d 37
BenRJG 0:2a4af0cb6e8d 38 void addYear (INT_32 years =1){
BenRJG 0:2a4af0cb6e8d 39 _newTime_struct = _currentTime_struct;
BenRJG 0:2a4af0cb6e8d 40 _newTime_struct.tm_year = _currentTime_struct.tm_year + years;
BenRJG 0:2a4af0cb6e8d 41 updateStruct();
BenRJG 0:2a4af0cb6e8d 42 }
BenRJG 0:2a4af0cb6e8d 43
BenRJG 0:2a4af0cb6e8d 44 void addMonth(S_BYTE months =1){
BenRJG 0:2a4af0cb6e8d 45 _newTime_struct = _currentTime_struct;
BenRJG 0:2a4af0cb6e8d 46 _newTime_struct.tm_mon = _currentTime_struct.tm_mon + months;
BenRJG 0:2a4af0cb6e8d 47 updateStruct();
BenRJG 0:2a4af0cb6e8d 48 }
BenRJG 0:2a4af0cb6e8d 49 void addDay (S_BYTE days =1){
BenRJG 0:2a4af0cb6e8d 50 _newTime_struct = _currentTime_struct;
BenRJG 0:2a4af0cb6e8d 51 _newTime_struct.tm_mday = _currentTime_struct.tm_mday + days;
BenRJG 0:2a4af0cb6e8d 52 updateStruct();
BenRJG 0:2a4af0cb6e8d 53 }
BenRJG 0:2a4af0cb6e8d 54 void addHour (S_BYTE hours =1){
BenRJG 0:2a4af0cb6e8d 55 _newTime_struct = _currentTime_struct;
BenRJG 0:2a4af0cb6e8d 56 _newTime_struct.tm_hour = _currentTime_struct.tm_hour + hours;
BenRJG 0:2a4af0cb6e8d 57 updateStruct();
BenRJG 0:2a4af0cb6e8d 58 }
BenRJG 0:2a4af0cb6e8d 59 void addMin (S_BYTE minutes=1){
BenRJG 0:2a4af0cb6e8d 60 _newTime_struct = _currentTime_struct;
BenRJG 0:2a4af0cb6e8d 61 _newTime_struct.tm_min = _currentTime_struct.tm_min + minutes;
BenRJG 0:2a4af0cb6e8d 62 updateStruct();
BenRJG 0:2a4af0cb6e8d 63 }
BenRJG 0:2a4af0cb6e8d 64 void addSec (S_BYTE seconds=1){
BenRJG 0:2a4af0cb6e8d 65 _newTime_struct = _currentTime_struct;
BenRJG 0:2a4af0cb6e8d 66 _newTime_struct.tm_sec = _currentTime_struct.tm_sec + seconds;
BenRJG 0:2a4af0cb6e8d 67 updateStruct();
BenRJG 0:2a4af0cb6e8d 68 }
BenRJG 0:2a4af0cb6e8d 69
BenRJG 0:2a4af0cb6e8d 70 void setSystemTime(){set_time(mktime(&_currentTime_struct));}
BenRJG 0:2a4af0cb6e8d 71 char* getSystemTime(){time_t rawTime; time(&rawTime); _currentTime_struct = *localtime(&rawTime); return getTime();}
BenRJG 0:2a4af0cb6e8d 72
BenRJG 0:2a4af0cb6e8d 73 char* getTime() {sprintf(dateTimeStr,"%02d/%02d/%4d %02d:%02d:%02d",getDay(),getMonth(),getYear(),getHour(),getMin(),getSec()); return dateTimeStr;}
BenRJG 0:2a4af0cb6e8d 74 //char* getTime() {updateTime(); sprintf(dateTimeStr, "Hello world %d:)",42);return dateTimeStr;};
BenRJG 0:2a4af0cb6e8d 75
BenRJG 0:2a4af0cb6e8d 76 signed INT_32 getYear() {return _currentTime_struct.tm_year + 1900;}
BenRJG 0:2a4af0cb6e8d 77 BYTE getMonth() {return _currentTime_struct.tm_mon + 1; }
BenRJG 0:2a4af0cb6e8d 78 BYTE getDay() {return _currentTime_struct.tm_mday; }
BenRJG 0:2a4af0cb6e8d 79 BYTE getHour() {return _currentTime_struct.tm_hour; }
BenRJG 0:2a4af0cb6e8d 80 BYTE getMin() {return _currentTime_struct.tm_min; }
BenRJG 0:2a4af0cb6e8d 81 BYTE getSec() {return _currentTime_struct.tm_sec; }
BenRJG 0:2a4af0cb6e8d 82 private:
BenRJG 0:2a4af0cb6e8d 83 //time_t _currentTime_time;
BenRJG 0:2a4af0cb6e8d 84 struct tm _currentTime_struct;
BenRJG 0:2a4af0cb6e8d 85 struct tm _newTime_struct;
BenRJG 0:2a4af0cb6e8d 86 char dateTimeStr[20];
BenRJG 0:2a4af0cb6e8d 87 //01/09/
BenRJG 0:2a4af0cb6e8d 88 };
BenRJG 0:2a4af0cb6e8d 89 #endif
BenRJG 0:2a4af0cb6e8d 90