6 #if ! defined(UNIX_HOST_DUINO)
10 #include <AceCommon.h>
11 #include "HardwareDateTime.h"
12 #include "HardwareTemperature.h"
15 using ace_common::bcdToDec;
16 using ace_common::decToBcd;
23 Wire.beginTransmission(kAddress);
25 Wire.endTransmission();
28 Wire.requestFrom(kAddress, (uint8_t) 7);
29 dateTime->second = bcdToDec(Wire.read() & 0x7F);
30 dateTime->minute = bcdToDec(Wire.read());
31 dateTime->hour = bcdToDec(Wire.read() & 0x3F);
32 dateTime->dayOfWeek = bcdToDec(Wire.read());
33 dateTime->day = bcdToDec(Wire.read());
34 dateTime->month = bcdToDec(Wire.read());
35 dateTime->year = bcdToDec(Wire.read());
39 Wire.beginTransmission(kAddress);
41 Wire.endTransmission();
43 Wire.requestFrom(kAddress, (uint8_t) 2);
44 temperature->msb = Wire.read();
45 temperature->lsb = Wire.read();
49 Wire.beginTransmission(kAddress);
51 Wire.write(decToBcd(dateTime.second));
52 Wire.write(decToBcd(dateTime.minute));
53 Wire.write(decToBcd(dateTime.hour));
54 Wire.write(decToBcd(dateTime.dayOfWeek));
55 Wire.write(decToBcd(dateTime.day));
56 Wire.write(decToBcd(dateTime.month));
57 Wire.write(decToBcd(dateTime.year));
58 Wire.endTransmission();