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
frameclock.cpp@84:8094a1e64ecf, 23 months ago (annotated)
- Committer:
- AndyA
- Date:
- Tue Nov 15 11:11:12 2022 +0000
- Revision:
- 84:8094a1e64ecf
- Parent:
- 15:830fc953edd9
more tidy up and trying to remove warnings.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
AndyA | 9:7214e3c3e5f8 | 1 | #include "frameclock.h" |
AndyA | 9:7214e3c3e5f8 | 2 | |
AndyA | 9:7214e3c3e5f8 | 3 | frameclock::frameclock() |
AndyA | 9:7214e3c3e5f8 | 4 | { |
AndyA | 9:7214e3c3e5f8 | 5 | _hour = 0; |
AndyA | 9:7214e3c3e5f8 | 6 | _minute = 0; |
AndyA | 9:7214e3c3e5f8 | 7 | _second = 0; |
AndyA | 9:7214e3c3e5f8 | 8 | _frame = 0; |
AndyA | 9:7214e3c3e5f8 | 9 | _rate = 24; |
AndyA | 9:7214e3c3e5f8 | 10 | _drop = false; |
AndyA | 9:7214e3c3e5f8 | 11 | } |
AndyA | 9:7214e3c3e5f8 | 12 | |
AndyA | 9:7214e3c3e5f8 | 13 | frameclock::frameclock(int hour, int minute, int second, int frame, int rate, bool drop) |
AndyA | 9:7214e3c3e5f8 | 14 | { |
AndyA | 9:7214e3c3e5f8 | 15 | _hour = hour; |
AndyA | 9:7214e3c3e5f8 | 16 | _minute = minute; |
AndyA | 9:7214e3c3e5f8 | 17 | _second = second; |
AndyA | 9:7214e3c3e5f8 | 18 | _frame = frame; |
AndyA | 9:7214e3c3e5f8 | 19 | _rate = rate; |
AndyA | 9:7214e3c3e5f8 | 20 | _drop = drop; |
AndyA | 9:7214e3c3e5f8 | 21 | } |
AndyA | 9:7214e3c3e5f8 | 22 | |
AndyA | 9:7214e3c3e5f8 | 23 | void frameclock::setMode(int rate, bool drop) |
AndyA | 9:7214e3c3e5f8 | 24 | { |
AndyA | 9:7214e3c3e5f8 | 25 | _rate = rate; |
AndyA | 9:7214e3c3e5f8 | 26 | _drop = drop; |
AndyA | 9:7214e3c3e5f8 | 27 | } |
AndyA | 9:7214e3c3e5f8 | 28 | void frameclock::setTime(int hour, int minute, int second, int frame) |
AndyA | 9:7214e3c3e5f8 | 29 | { |
AndyA | 9:7214e3c3e5f8 | 30 | _hour = hour; |
AndyA | 9:7214e3c3e5f8 | 31 | _minute = minute; |
AndyA | 9:7214e3c3e5f8 | 32 | _second = second; |
AndyA | 9:7214e3c3e5f8 | 33 | _frame = frame; |
AndyA | 9:7214e3c3e5f8 | 34 | } |
AndyA | 9:7214e3c3e5f8 | 35 | |
AndyA | 9:7214e3c3e5f8 | 36 | |
AndyA | 9:7214e3c3e5f8 | 37 | void frameclock::nextFrame() |
AndyA | 9:7214e3c3e5f8 | 38 | { |
AndyA | 9:7214e3c3e5f8 | 39 | _frame++; |
AndyA | 9:7214e3c3e5f8 | 40 | if (_frame == _rate) { |
AndyA | 9:7214e3c3e5f8 | 41 | _second++; |
AndyA | 9:7214e3c3e5f8 | 42 | if (_second==60) { |
AndyA | 9:7214e3c3e5f8 | 43 | _second = 0; |
AndyA | 9:7214e3c3e5f8 | 44 | _minute++; |
AndyA | 9:7214e3c3e5f8 | 45 | if (_minute == 60) { |
AndyA | 9:7214e3c3e5f8 | 46 | _minute = 0; |
AndyA | 9:7214e3c3e5f8 | 47 | _hour++; |
AndyA | 9:7214e3c3e5f8 | 48 | if (_hour==24) |
AndyA | 9:7214e3c3e5f8 | 49 | _hour = 0; |
AndyA | 9:7214e3c3e5f8 | 50 | } |
AndyA | 15:830fc953edd9 | 51 | |
AndyA | 15:830fc953edd9 | 52 | if (_drop && (_minute % 10 != 0)) |
AndyA | 15:830fc953edd9 | 53 | _frame = 2; |
AndyA | 15:830fc953edd9 | 54 | else |
AndyA | 15:830fc953edd9 | 55 | _frame = 0; |
AndyA | 15:830fc953edd9 | 56 | } else { // else not end of minute |
AndyA | 15:830fc953edd9 | 57 | _frame = 0; |
AndyA | 9:7214e3c3e5f8 | 58 | } |
AndyA | 9:7214e3c3e5f8 | 59 | } |
AndyA | 9:7214e3c3e5f8 | 60 | } |