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@2:684c698024c4, 2018-11-15 (annotated)
- Committer:
- mazmonem
- Date:
- Thu Nov 15 12:35:00 2018 +0000
- Revision:
- 2:684c698024c4
- Parent:
- 1:13aae0117bbf
- Child:
- 3:d235ec2ba7b8
line 19 error expected a declaration;
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 | 2:684c698024c4 | 7 | BusIn up(p15); | 
| mazmonem | 2:684c698024c4 | 8 | BusIn down(p12); | 
| mazmonem | 2:684c698024c4 | 9 | BusIn left(p13); | 
| mazmonem | 2:684c698024c4 | 10 | BusIn right(p16); | 
| mazmonem | 2:684c698024c4 | 11 | BusIn centre(p14); | 
| 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 | 2:684c698024c4 | 19 | if (up){ // switching between increasing hrs and minutes | 
| mazmonem | 2:684c698024c4 | 20 | if (left) { | 
| mazmonem | 1:13aae0117bbf | 21 | inc_hrs(); | 
| mazmonem | 1:13aae0117bbf | 22 | } | 
| mazmonem | 2:684c698024c4 | 23 | else if (right){ | 
| mazmonem | 1:13aae0117bbf | 24 | inc_min(); | 
| mazmonem | 1:13aae0117bbf | 25 | } | 
| mazmonem | 1:13aae0117bbf | 26 | } | 
| mazmonem | 1:13aae0117bbf | 27 | |
| mazmonem | 1:13aae0117bbf | 28 | |
| mazmonem | 2:684c698024c4 | 29 | if (down) //switching between decreasing minutes and hours | 
| mazmonem | 1:13aae0117bbf | 30 | { | 
| mazmonem | 2:684c698024c4 | 31 | if (left) { | 
| mazmonem | 1:13aae0117bbf | 32 | inc_hrs(); | 
| mazmonem | 2:684c698024c4 | 33 | } else if (right) { | 
| 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 | 2:684c698024c4 | 76 | //function for decrementing | 
| 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 | } |