I messed up the merge, so pushing it over to another repo so I don't lose it. Will tidy up and remove later

Dependencies:   BufferedSerial FatFileSystemCpp mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers frameclock.cpp Source File

frameclock.cpp

00001 #include "frameclock.h"
00002 
00003 frameclock::frameclock()
00004 {
00005     _hour = 0;
00006     _minute = 0;
00007     _second = 0;
00008     _frame = 0;
00009     _rate = 24;
00010     _drop = false;
00011 }
00012 
00013 frameclock::frameclock(int hour, int minute, int second, int frame, int rate, bool drop)
00014 {
00015     _hour = hour;
00016     _minute = minute;
00017     _second = second;
00018     _frame = frame;
00019     _rate = rate;
00020     _drop = drop;
00021 }
00022 
00023 void frameclock::setMode(int rate, bool drop)
00024 {
00025     _rate = rate;
00026     _drop = drop;
00027 }
00028 void frameclock::setTime(int hour, int minute, int second, int frame)
00029 {
00030     _hour = hour;
00031     _minute = minute;
00032     _second = second;
00033     _frame = frame;
00034 }
00035 
00036 
00037 void frameclock::nextFrame()
00038 {
00039     _frame++;
00040     if (_frame == _rate) {
00041         _second++;
00042         if (_second==60) {
00043             _second = 0;
00044             _minute++;
00045             if (_minute == 60) {
00046                 _minute = 0;
00047                 _hour++;
00048                 if (_hour==24)
00049                     _hour = 0;
00050             }
00051 
00052             if (_drop && (_minute % 10 != 0))
00053                 _frame = 2;
00054             else
00055                 _frame = 0;
00056         } else { // else not end of minute
00057             _frame = 0;
00058         }
00059     }
00060 }
00061