9 #include "HardwareDateTime.h"
10 #include "HardwareTemperature.h"
13 using ace_common::bcdToDec;
14 using ace_common::decToBcd;
20 Wire.beginTransmission(kAddress);
22 Wire.endTransmission();
25 Wire.requestFrom(kAddress, (uint8_t) 7);
26 dateTime->second = bcdToDec(Wire.read() & 0x7F);
27 dateTime->minute = bcdToDec(Wire.read());
28 dateTime->hour = bcdToDec(Wire.read() & 0x3F);
29 dateTime->dayOfWeek = bcdToDec(Wire.read());
30 dateTime->day = bcdToDec(Wire.read());
31 dateTime->month = bcdToDec(Wire.read());
32 dateTime->year = bcdToDec(Wire.read());
36 Wire.beginTransmission(kAddress);
38 Wire.endTransmission();
40 Wire.requestFrom(kAddress, (uint8_t) 2);
41 temperature->msb = Wire.read();
42 temperature->lsb = Wire.read();
46 Wire.beginTransmission(kAddress);
48 Wire.write(decToBcd(dateTime.second));
49 Wire.write(decToBcd(dateTime.minute));
50 Wire.write(decToBcd(dateTime.hour));
51 Wire.write(decToBcd(dateTime.dayOfWeek));
52 Wire.write(decToBcd(dateTime.day));
53 Wire.write(decToBcd(dateTime.month));
54 Wire.write(decToBcd(dateTime.year));
55 Wire.endTransmission();