Refactor I2C SMBUS

Add SI7021 chipset, partially done.
This commit is contained in:
Pim van Pelt
2018-04-02 20:38:26 +02:00
parent 5d92a45b58
commit 5b0fcadd9f
4 changed files with 78 additions and 130 deletions

View File

@ -23,15 +23,19 @@ void i2c_scanner(struct mgos_i2c *i2c) {
}
bool i2c_dumpregs(struct mgos_i2c *i2c, uint8_t i2caddr) {
uint8_t reg, value;
uint16_t reg;
int value;
for(reg=0; reg<255; reg++) {
if (0 != get_i2c_register(i2c, i2caddr, reg, &value)) {
LOG(LL_ERROR, ("Could not read register"));
for(reg=0; reg<256; reg++) {
value=mgos_i2c_read_reg_b(i2c, i2caddr, reg);
if (value<0) {
printf(" XX");
} else {
LOG(LL_INFO, ("reg=%u value=%u", reg, value));
printf(" %02x", value);
}
if (reg%16==15) printf("\n");
}
printf("\n");
return true;
}
@ -82,9 +86,12 @@ int main() {
}
i2c_scanner(i2c);
// i2c_dumpregs(i2c, 0x76);
for (;;) {
sht31(i2c, 0x44);
si7021(i2c, 0x44);
// i2c_dumpregs(i2c, 0x40);
si7021(i2c, 0x40);
sleep(1);
}