From f1357525230291145c6bb9b657429272d7395f44 Mon Sep 17 00:00:00 2001 From: Zaltora Date: Sun, 8 Jan 2017 20:27:06 +0100 Subject: [PATCH] some minors fix --- extras/ads111x/ads111x.c | 2 +- extras/ds1307/ds1307.c | 7 ++----- extras/ds3231/ds3231.c | 30 +++++++++--------------------- extras/i2c/i2c.c | 2 +- 4 files changed, 13 insertions(+), 28 deletions(-) diff --git a/extras/ads111x/ads111x.c b/extras/ads111x/ads111x.c index 75a0f10..764f1ed 100644 --- a/extras/ads111x/ads111x.c +++ b/extras/ads111x/ads111x.c @@ -64,7 +64,7 @@ static uint16_t read_reg(uint8_t addr, uint8_t reg) static void write_reg(uint8_t addr, uint8_t reg, uint16_t val) { //debug("Write %d: 0x%04x", reg, val); - uint8_t buf[3] = { val >> 8, val}; + uint8_t buf[2] = { val >> 8, val}; if (i2c_slave_write(addr, ®, buf, 2, false)) debug("Could not write 0x%04x to register %d", val, reg); } diff --git a/extras/ds1307/ds1307.c b/extras/ds1307/ds1307.c index b3e668e..458f1b5 100644 --- a/extras/ds1307/ds1307.c +++ b/extras/ds1307/ds1307.c @@ -49,12 +49,9 @@ static uint8_t read_register(uint8_t reg) static void update_register(uint8_t reg, uint8_t mask, uint8_t val) { - uint8_t buf[2]; + uint8_t buf = (read_register(reg) & mask) | val; - buf[0] = reg; - buf[1] = (read_register(reg) & mask) | val; - - i2c_slave_write(ADDR, &buf[0], &buf[1], 1, false); + i2c_slave_write(ADDR, ®, &buf, 1, false); } void ds1307_start(bool start) diff --git a/extras/ds3231/ds3231.c b/extras/ds3231/ds3231.c index 72f91be..84e340d 100644 --- a/extras/ds3231/ds3231.c +++ b/extras/ds3231/ds3231.c @@ -93,15 +93,13 @@ int ds3231_setAlarm(uint8_t alarms, struct tm *time1, uint8_t option1, struct tm */ bool ds3231_getFlag(uint8_t addr, uint8_t mask, uint8_t *flag) { - uint8_t data[1]; + uint8_t data; /* get register */ - // data[0] = addr; - //if (ds3231_send(&addr, NULL, 0) && ds3231_recv(data, 1)) { //Test with ds3231_recv(addr, data, 1) - if (!ds3231_recv(addr,data, 1)) + if (!ds3231_recv(addr, &data, 1)) { /* return only requested flag */ - *flag = (data[0] & mask); + *flag = (data & mask); return true; } @@ -116,22 +114,20 @@ bool ds3231_getFlag(uint8_t addr, uint8_t mask, uint8_t *flag) */ bool ds3231_setFlag(uint8_t addr, uint8_t bits, uint8_t mode) { - uint8_t data[1]; + uint8_t data; /* get status register */ - //if (ds3231_send(data, 1) && ds3231_recv(data+1, 1)) { - if (!ds3231_recv(addr, data, 1)) + if (!ds3231_recv(addr, &data, 1)) { /* clear the flag */ if (mode == DS3231_REPLACE) - data[0] = bits; + data = bits; else if (mode == DS3231_SET) - data[0] |= bits; + data |= bits; else - data[0] &= ~bits; + data &= ~bits; - //if (ds3231_send(data, 2)) { - if (!ds3231_send(addr, data, 1)) + if (!ds3231_send(addr, &data, 1)) return true; } @@ -220,7 +216,6 @@ bool ds3231_getRawTemp(int16_t *temp) uint8_t data[2]; data[0] = DS3231_ADDR_TEMP; - //if (ds3231_send(data, 1) && ds3231_recv(data, 2)) { if (!ds3231_send(DS3231_ADDR_TEMP,data, 2)) { *temp = (int16_t)(int8_t)data[0] << 2 | data[1] >> 6; @@ -258,13 +253,6 @@ bool ds3231_getTime(struct tm *time) { uint8_t data[7]; - /* start register address - data[0] = DS3231_ADDR_TIME; - if (!ds3231_send(data, 1)) { - return false; - } - */ - /* read time */ if (ds3231_recv(DS3231_ADDR_TIME, data, 7)) { diff --git a/extras/i2c/i2c.c b/extras/i2c/i2c.c index b029d4f..c240e0b 100644 --- a/extras/i2c/i2c.c +++ b/extras/i2c/i2c.c @@ -45,7 +45,7 @@ static uint8_t g_sda_pin; inline bool i2c_status(void) { - return flag; + return started; } void i2c_init(uint8_t scl_pin, uint8_t sda_pin)