Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/iicbus/rtc/pcf85063.c
Show First 20 Lines • Show All 177 Lines • ▼ Show 20 Lines | pcf85063_set_time(device_t dev, struct timespec *ts) | ||||
struct pcf85063_time data; | struct pcf85063_time data; | ||||
struct bcd_clocktime bcd; | struct bcd_clocktime bcd; | ||||
int error; | int error; | ||||
error = iicdev_readfrom(dev, PCF85063_TIME_REG, &ctrl_reg, | error = iicdev_readfrom(dev, PCF85063_TIME_REG, &ctrl_reg, | ||||
sizeof(uint8_t), IIC_WAIT); | sizeof(uint8_t), IIC_WAIT); | ||||
ts->tv_sec -= utc_offset(); | ts->tv_sec -= utc_offset(); | ||||
clock_ts_to_bcd(ts, &bcd, false); | error = clock_ts_to_bcd(ts, &bcd, false); | ||||
if (error) | |||||
return (error); | |||||
clock_dbgprint_bcd(dev, CLOCK_DBG_WRITE, &bcd); | clock_dbgprint_bcd(dev, CLOCK_DBG_WRITE, &bcd); | ||||
data.sec = bcd.sec; | data.sec = bcd.sec; | ||||
data.min = bcd.min; | data.min = bcd.min; | ||||
data.hour = bcd.hour; | data.hour = bcd.hour; | ||||
data.dow = bcd.dow - 1; | data.dow = bcd.dow - 1; | ||||
data.day = bcd.day; | data.day = bcd.day; | ||||
data.mon = bcd.mon; | data.mon = bcd.mon; | ||||
▲ Show 20 Lines • Show All 81 Lines • Show Last 20 Lines |