Compare commits

..

1 Commits

Author SHA1 Message Date
Gerardo Marx 5951901447 testing reset 1 week ago

@ -6,39 +6,16 @@
#include "htu21d.h" #include "htu21d.h"
// i2cReset // Reset function
int i2cReset(int fd){ int i2cReset(int fd){
if(ioctl(fd, I2C_SLAVE, ADDR)<0){ if(ioctl(fd, I2C_SLAVE, ADDR)<0){
perror("Failed to open the I2C bus: reset\n"); perror("Failed to open the I2C bus; reset\n");
return -1; return -1;
} }
i2c_smbus_write_byte(fd, RESET); i2c_smbus_write_byte(fd, RESET);
return 0; return 0;
} }
// get temp // temperature
int getTemp(int fd, double *temp){
char buffer[3];
int response = i2c_smbus_read_i2c_block_data(fd, TEMP,3,buffer);
if(response<0){
perror("Failed to read temperature from sensor\n");
return -1;
}
*temp = -46.85+175.72*(buffer[0]*256+buffer[1])/65536;
return 0;
}
// get humidity // humidity

@ -8,20 +8,14 @@
int main(int argc, char *argv[]){ int main(int argc, char *argv[]){
int fd; int fd;
char path[20]; char path[20];
snprintf(path, sizeof(path), "/dev/i2c-%d", 1); snprintf(path, sizeof(path), "/dev/i2c-%d", 1); // 1 is the number of I2C bus
fd = open(path, O_RDWR); fd = open(path, O_RDWR);
if(fd<0){ if(fd<0){
//printf("Error"); perror("Unable to access I2C bus path\n");
perror("Unable to access the i2c bus path\n");
return -1; return -1;
} }
i2cReset(fd); i2cReset(fd);
double temperature;
int status = getTemp(fd, &temperature);
if(status<0){
perror("Unable to get temperature\n");
return -1;
}
printf("%5.2f C\n", temperature);
return 0; return 0;
} }

Loading…
Cancel
Save