i2c: all function calls are consistent. fixed some MISRA errors.

This commit is contained in:
A.M. Rowsell 2026-06-30 00:31:20 -04:00
commit 958b2e8e00
7 changed files with 71 additions and 68 deletions

6
aht.c
View file

@ -5,16 +5,16 @@
static const uint8_t AHT_MEASURE[3] = {0xAC, 0x33, 0x00};
void getAHTData(double *t, double *h) {
void getAHTData(i2c_inst_t *i2c, double *t, double *h) {
uint8_t result[6];
uint32_t temperature;
uint32_t humidity;
i2c_write_blocking(i2c_default, AHT_ADDR, AHT_MEASURE, 3,
i2c_write_blocking(i2c, AHT_ADDR, AHT_MEASURE, 3,
false); // trigger measurement
// now we must delay ~100ms
sleep_ms(100);
i2c_read_blocking(i2c_default, AHT_ADDR, result, 6,
i2c_read_blocking(i2c, AHT_ADDR, result, 6,
false); // read 6 bytes back
humidity = (result[1] << 12) | (result[2] << 4) | (result[3] & 0xF0) >> 4;
temperature = (result[3] & 0x0F) << 16 | (result[4] << 8) | result[5];