1
0
Fork 0

ergodone - Refactor use of legacy i2c implementation (#14340)

* Refactor use of legacy i2c implementation

* copy-paste error
This commit is contained in:
Joel Challis 2021-09-07 16:33:29 +01:00 committed by GitHub
parent 1dbe4e7dd0
commit 2d6635214a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 15 additions and 417 deletions

View file

@ -1,9 +1,11 @@
#include <stdbool.h>
#include "action.h"
#include "i2cmaster.h"
#include "i2c_master.h"
#include "expander.h"
#include "debug.h"
#define I2C_TIMEOUT 100
static uint8_t expander_status = 0;
static uint8_t expander_input = 0;
@ -20,7 +22,7 @@ void expander_init(void)
void expander_scan(void)
{
dprintf("expander status: %d ... ", expander_status);
uint8_t ret = i2c_start(EXPANDER_ADDR | I2C_WRITE);
uint8_t ret = i2c_start(EXPANDER_ADDR | I2C_WRITE, I2C_TIMEOUT);
if (ret == 0) {
i2c_stop();
if (expander_status == 0) {
@ -90,15 +92,7 @@ uint8_t expander_write(uint8_t reg, uint8_t data)
if (expander_status == 0) {
return 0;
}
uint8_t ret;
ret = i2c_start(EXPANDER_ADDR | I2C_WRITE);
if (ret) goto stop;
ret = i2c_write(reg);
if (ret) goto stop;
ret = i2c_write(data);
stop:
i2c_stop();
return ret;
return i2c_writeReg(EXPANDER_ADDR, reg, &data, 1, I2C_TIMEOUT);
}
uint8_t expander_read(uint8_t reg, uint8_t *data)
@ -106,15 +100,5 @@ uint8_t expander_read(uint8_t reg, uint8_t *data)
if (expander_status == 0) {
return 0;
}
uint8_t ret;
ret = i2c_start(EXPANDER_ADDR | I2C_WRITE);
if (ret) goto stop;
ret = i2c_write(reg);
if (ret) goto stop;
ret = i2c_rep_start(EXPANDER_ADDR | I2C_READ);
if (ret) goto stop;
*data = i2c_readNak();
stop:
i2c_stop();
return ret;
return i2c_readReg(EXPANDER_ADDR, reg, data, 1, I2C_TIMEOUT);
}