Dennis Smith / Mbed 2 deprecated NixieClock800Max

Dependencies:   PCF8583_rtc mbed

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?

UserRevisionLine numberNew 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