diff --git a/htu21d.c b/htu21d.c new file mode 100644 index 0000000..fc57abb --- /dev/null +++ b/htu21d.c @@ -0,0 +1,21 @@ +#include //i2c +#include +#include +#include +#include + +#include "htu21d.h" + +// Reset function +int i2cReset(int fd){ + if(ioctl(fd, I2C_SLAVE, ADDR)<0){ + perror("Failed to open the I2C bus; reset\n"); + return -1; + } + i2c_smbus_write_byte(fd, RESET); + return 0; +} + +// temperature + +// humidity diff --git a/htu21d.h b/htu21d.h index 7e08668..ff73173 100644 --- a/htu21d.h +++ b/htu21d.h @@ -12,6 +12,8 @@ #define RESET 0xFE // prototype functions: +int i2cReset(int fd); + int getTemp(int fd, double *temp); int getHum(int fd, double *hum); diff --git a/main.c b/main.c new file mode 100644 index 0000000..2897ce0 --- /dev/null +++ b/main.c @@ -0,0 +1,21 @@ +#include +#include +#include +#include + +#include "htu21d.h" + +int main(int argc, char *argv[]){ + int fd; + char path[20]; + snprintf(path, sizeof(path), "/dev/i2c-%d", 1); // 1 is the number of I2C bus + fd = open(path, O_RDWR); + if(fd<0){ + perror("Unable to access I2C bus path\n"); + return -1; + } + i2cReset(fd); + return 0; +} + +