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: PCF8583_rtc mbed
main.cpp@0:f09cf90def53, 2014-02-09 (annotated)
- Committer:
- dennyem
- Date:
- Sun Feb 09 00:25:21 2014 +0000
- Revision:
- 0:f09cf90def53
- Child:
- 1:a8b9fb95696b
First C++ revision for the LPC812
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| dennyem | 0:f09cf90def53 | 1 | #include "mbed.h" |
| dennyem | 0:f09cf90def53 | 2 | #include "PCF8583_rtc.h" |
| dennyem | 0:f09cf90def53 | 3 | |
| dennyem | 0:f09cf90def53 | 4 | void NixieDisplay(void); |
| dennyem | 0:f09cf90def53 | 5 | //void ChangeTime(void); |
| dennyem | 0:f09cf90def53 | 6 | |
| dennyem | 0:f09cf90def53 | 7 | DigitalOut Red(P0_7); |
| dennyem | 0:f09cf90def53 | 8 | DigitalOut Green(P0_17); |
| dennyem | 0:f09cf90def53 | 9 | DigitalOut Blue(P0_16); |
| dennyem | 0:f09cf90def53 | 10 | |
| dennyem | 0:f09cf90def53 | 11 | I2C i2c(P0_10, P0_11); // sda, scl |
| dennyem | 0:f09cf90def53 | 12 | Serial pc(USBTX, USBRX); // tx, rx |
| dennyem | 0:f09cf90def53 | 13 | Ticker TickerFunc; |
| dennyem | 0:f09cf90def53 | 14 | PCF8583rtc rtc(&i2c); |
| dennyem | 0:f09cf90def53 | 15 | |
| dennyem | 0:f09cf90def53 | 16 | // i2c addresses |
| dennyem | 0:f09cf90def53 | 17 | const int ADDR_8574_1 = 0x70; |
| dennyem | 0:f09cf90def53 | 18 | const int ADDR_8574_2 = 0x72; |
| dennyem | 0:f09cf90def53 | 19 | |
| dennyem | 0:f09cf90def53 | 20 | int alarm = OFF; |
| dennyem | 0:f09cf90def53 | 21 | int setTimer = OFF; |
| dennyem | 0:f09cf90def53 | 22 | |
| dennyem | 0:f09cf90def53 | 23 | int main() |
| dennyem | 0:f09cf90def53 | 24 | { |
| dennyem | 0:f09cf90def53 | 25 | struct DateTime_t dtBCD; |
| dennyem | 0:f09cf90def53 | 26 | |
| dennyem | 0:f09cf90def53 | 27 | Red = Green = Blue = 1; |
| dennyem | 0:f09cf90def53 | 28 | // TickerFunc.attach(&NixieDisplay, 1.0); // The address of the function to be attached and the interval (1 seconds) |
| dennyem | 0:f09cf90def53 | 29 | |
| dennyem | 0:f09cf90def53 | 30 | i2c.frequency(400000); |
| dennyem | 0:f09cf90def53 | 31 | |
| dennyem | 0:f09cf90def53 | 32 | while(1) { |
| dennyem | 0:f09cf90def53 | 33 | rtc.read(TIME); |
| dennyem | 0:f09cf90def53 | 34 | dtBCD = rtc.GetDateTimeBCD(); //get the date and time in BCD form |
| dennyem | 0:f09cf90def53 | 35 | i2c.write(ADDR_8574_1, &dtBCD.time.hours, 1); |
| dennyem | 0:f09cf90def53 | 36 | i2c.write(ADDR_8574_2, &dtBCD.time.minutes, 1); |
| dennyem | 0:f09cf90def53 | 37 | |
| dennyem | 0:f09cf90def53 | 38 | Blue = !Blue; |
| dennyem | 0:f09cf90def53 | 39 | wait(.5); |
| dennyem | 0:f09cf90def53 | 40 | // if(!sw3.read()) { // Change Time |
| dennyem | 0:f09cf90def53 | 41 | // ChangeTime(); |
| dennyem | 0:f09cf90def53 | 42 | // } |
| dennyem | 0:f09cf90def53 | 43 | |
| dennyem | 0:f09cf90def53 | 44 | // pc.printf("Magnet = %d\n", magnet.read()); |
| dennyem | 0:f09cf90def53 | 45 | } |
| dennyem | 0:f09cf90def53 | 46 | } |
| dennyem | 0:f09cf90def53 | 47 | |
| dennyem | 0:f09cf90def53 | 48 | void NixieDisplay() |
| dennyem | 0:f09cf90def53 | 49 | { |
| dennyem | 0:f09cf90def53 | 50 | // i2c.write(ADDR_8574_1, &HoursBCD, 1); |
| dennyem | 0:f09cf90def53 | 51 | // i2c.write(ADDR_8574_2, &MinsBCD, 1); |
| dennyem | 0:f09cf90def53 | 52 | |
| dennyem | 0:f09cf90def53 | 53 | Red = !Red; |
| dennyem | 0:f09cf90def53 | 54 | // time_t seconds = time(NULL); |
| dennyem | 0:f09cf90def53 | 55 | // struct tm *t = localtime(&seconds); |
| dennyem | 0:f09cf90def53 | 56 | // |
| dennyem | 0:f09cf90def53 | 57 | // data = bin2bcd(t.tm_hour); |
| dennyem | 0:f09cf90def53 | 58 | // i2c.writeite(ADDR_8574_1, &data, 1); |
| dennyem | 0:f09cf90def53 | 59 | // |
| dennyem | 0:f09cf90def53 | 60 | // data = bin2bcd(t.tm_min); |
| dennyem | 0:f09cf90def53 | 61 | // i2c.writeite(ADDR_8574_2, &data, 1); |
| dennyem | 0:f09cf90def53 | 62 | } |
| dennyem | 0:f09cf90def53 | 63 | |
| dennyem | 0:f09cf90def53 | 64 | //void ChangeTime() { |
| dennyem | 0:f09cf90def53 | 65 | // time_t seconds = time(NULL); |
| dennyem | 0:f09cf90def53 | 66 | // wait(0.1); |
| dennyem | 0:f09cf90def53 | 67 | // struct tm *t = localtime(&seconds); |
| dennyem | 0:f09cf90def53 | 68 | // |
| dennyem | 0:f09cf90def53 | 69 | // while(!sw3.read()) { |
| dennyem | 0:f09cf90def53 | 70 | // if(!sw2.read()) { //Change Hour |
| dennyem | 0:f09cf90def53 | 71 | // t.tm_hour += 1; |
| dennyem | 0:f09cf90def53 | 72 | // } else { |
| dennyem | 0:f09cf90def53 | 73 | // if(!sw1.read()) { //Change Minute |
| dennyem | 0:f09cf90def53 | 74 | // t.tm_min += 1; |
| dennyem | 0:f09cf90def53 | 75 | // } |
| dennyem | 0:f09cf90def53 | 76 | // } |
| dennyem | 0:f09cf90def53 | 77 | // |
| dennyem | 0:f09cf90def53 | 78 | // set_time(mktime(t)); |
| dennyem | 0:f09cf90def53 | 79 | // wait(0.2); |
| dennyem | 0:f09cf90def53 | 80 | // } |
| dennyem | 0:f09cf90def53 | 81 | //} |
| dennyem | 0:f09cf90def53 | 82 |