Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed C12832_lcd
main.cpp@1:13aae0117bbf, 2018-11-15 (annotated)
- Committer:
- mazmonem
- Date:
- Thu Nov 15 12:01:57 2018 +0000
- Revision:
- 1:13aae0117bbf
- Parent:
- 0:275c29641333
- Child:
- 2:684c698024c4
Unfinished- line19 gives error 'expected a decleration'
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| mazmonem | 0:275c29641333 | 1 | #include "mbed.h" |
| mazmonem | 0:275c29641333 | 2 | #include "C12832_lcd.h" |
| mazmonem | 0:275c29641333 | 3 | |
| mazmonem | 0:275c29641333 | 4 | |
| mazmonem | 0:275c29641333 | 5 | C12832_LCD lcd; |
| mazmonem | 0:275c29641333 | 6 | Timeout increment; |
| mazmonem | 1:13aae0117bbf | 7 | BusIn up(p16); |
| mazmonem | 1:13aae0117bbf | 8 | BusIn down(p17); |
| mazmonem | 1:13aae0117bbf | 9 | BusIn left(p18); |
| mazmonem | 1:13aae0117bbf | 10 | BusIn right(p19); |
| mazmonem | 1:13aae0117bbf | 11 | BusIn centre(p20); |
| mazmonem | 1:13aae0117bbf | 12 | |
| mazmonem | 1:13aae0117bbf | 13 | int hours=0; |
| mazmonem | 1:13aae0117bbf | 14 | int minutes=0; |
| mazmonem | 1:13aae0117bbf | 15 | bool toggle=false; |
| mazmonem | 1:13aae0117bbf | 16 | |
| mazmonem | 1:13aae0117bbf | 17 | // How to detect if up is hold not press? |
| mazmonem | 1:13aae0117bbf | 18 | |
| mazmonem | 1:13aae0117bbf | 19 | if (up = 1){ |
| mazmonem | 1:13aae0117bbf | 20 | if (left = 1) { |
| mazmonem | 1:13aae0117bbf | 21 | inc_hrs(); |
| mazmonem | 1:13aae0117bbf | 22 | } |
| mazmonem | 1:13aae0117bbf | 23 | else if (right = 1){ |
| mazmonem | 1:13aae0117bbf | 24 | inc_min(); |
| mazmonem | 1:13aae0117bbf | 25 | } |
| mazmonem | 1:13aae0117bbf | 26 | } |
| mazmonem | 1:13aae0117bbf | 27 | |
| mazmonem | 1:13aae0117bbf | 28 | |
| mazmonem | 1:13aae0117bbf | 29 | if (down = 1) |
| mazmonem | 1:13aae0117bbf | 30 | { |
| mazmonem | 1:13aae0117bbf | 31 | if (left = 1) { |
| mazmonem | 1:13aae0117bbf | 32 | inc_hrs(); |
| mazmonem | 1:13aae0117bbf | 33 | } else if (right=1) { |
| mazmonem | 1:13aae0117bbf | 34 | inc_min(); |
| mazmonem | 1:13aae0117bbf | 35 | } |
| mazmonem | 1:13aae0117bbf | 36 | } |
| mazmonem | 1:13aae0117bbf | 37 | /** |
| mazmonem | 1:13aae0117bbf | 38 | Adjust minutes |
| mazmonem | 1:13aae0117bbf | 39 | */ |
| mazmonem | 1:13aae0117bbf | 40 | void adj_min() |
| mazmonem | 1:13aae0117bbf | 41 | { |
| mazmonem | 1:13aae0117bbf | 42 | if (minutes>59) { |
| mazmonem | 1:13aae0117bbf | 43 | minutes=0; |
| mazmonem | 1:13aae0117bbf | 44 | } else if (minutes<59) { |
| mazmonem | 1:13aae0117bbf | 45 | minutes=0; |
| mazmonem | 1:13aae0117bbf | 46 | ) |
| mazmonem | 1:13aae0117bbf | 47 | } |
| mazmonem | 1:13aae0117bbf | 48 | /** |
| mazmonem | 1:13aae0117bbf | 49 | adj hrs |
| mazmonem | 1:13aae0117bbf | 50 | */ |
| mazmonem | 1:13aae0117bbf | 51 | void adj_hrs() |
| mazmonem | 1:13aae0117bbf | 52 | { |
| mazmonem | 1:13aae0117bbf | 53 | if (hours>23) { |
| mazmonem | 1:13aae0117bbf | 54 | hours=0; |
| mazmonem | 1:13aae0117bbf | 55 | } |
| mazmonem | 1:13aae0117bbf | 56 | else if (hours<23) { |
| mazmonem | 1:13aae0117bbf | 57 | hours=0; |
| mazmonem | 1:13aae0117bbf | 58 | ) |
| mazmonem | 1:13aae0117bbf | 59 | } |
| mazmonem | 1:13aae0117bbf | 60 | |
| mazmonem | 1:13aae0117bbf | 61 | /** |
| mazmonem | 1:13aae0117bbf | 62 | Increment minutes |
| mazmonem | 1:13aae0117bbf | 63 | */ |
| mazmonem | 1:13aae0117bbf | 64 | void inc_min() |
| mazmonem | 1:13aae0117bbf | 65 | { |
| mazmonem | 1:13aae0117bbf | 66 | minutes++; |
| mazmonem | 1:13aae0117bbf | 67 | adj_min(); |
| mazmonem | 1:13aae0117bbf | 68 | |
| mazmonem | 1:13aae0117bbf | 69 | } |
| mazmonem | 1:13aae0117bbf | 70 | void inc_hrs() |
| mazmonem | 1:13aae0117bbf | 71 | { |
| mazmonem | 1:13aae0117bbf | 72 | hours++; |
| mazmonem | 1:13aae0117bbf | 73 | adj_hrs(); |
| mazmonem | 1:13aae0117bbf | 74 | |
| mazmonem | 1:13aae0117bbf | 75 | } |
| mazmonem | 1:13aae0117bbf | 76 | |
| mazmonem | 1:13aae0117bbf | 77 | /** |
| mazmonem | 1:13aae0117bbf | 78 | Main entry point |
| mazmonem | 1:13aae0117bbf | 79 | */ |
| mazmonem | 1:13aae0117bbf | 80 | int main() |
| mazmonem | 1:13aae0117bbf | 81 | { |
| mazmonem | 1:13aae0117bbf | 82 | while(true) { |
| mazmonem | 1:13aae0117bbf | 83 | increment.attach(&inc_min, 60.0); |
| mazmonem | 1:13aae0117bbf | 84 | } |
| mazmonem | 1:13aae0117bbf | 85 | |
| mazmonem | 1:13aae0117bbf | 86 | lcd.cls(); |
| mazmonem | 1:13aae0117bbf | 87 | lcd.locate(0,15); |
| mazmonem | 1:13aae0117bbf | 88 | |
| mazmonem | 1:13aae0117bbf | 89 | // Check if minutes are less than 10 so a 0 can be prefixed onto the display |
| mazmonem | 1:13aae0117bbf | 90 | string mins = "00"; // String to display in lcd screen |
| mazmonem | 1:13aae0117bbf | 91 | |
| mazmonem | 1:13aae0117bbf | 92 | if(minutes < 10) { |
| mazmonem | 1:13aae0117bbf | 93 | mins = "0" + minutes; |
| mazmonem | 1:13aae0117bbf | 94 | } else { |
| mazmonem | 1:13aae0117bbf | 95 | mins = minutes; |
| mazmonem | 1:13aae0117bbf | 96 | } |
| mazmonem | 1:13aae0117bbf | 97 | lcd.printf("%s", mins); |
| mazmonem | 1:13aae0117bbf | 98 | |
| mazmonem | 0:275c29641333 | 99 | } |
| mazmonem | 0:275c29641333 | 100 | } |