Compare commits

..

1 Commits

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

@ -6,39 +6,16 @@
#include "htu21d.h"
// i2cReset
// Reset function
int i2cReset(int fd){
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;
}
i2c_smbus_write_byte(fd, RESET);
return 0;
}
// get temp
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;
}
// temperature
// get humidity
// humidity

@ -8,20 +8,14 @@
int main(int argc, char *argv[]){
int fd;
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);
if(fd<0){
//printf("Error");
perror("Unable to access the i2c bus path\n");
perror("Unable to access I2C bus path\n");
return -1;
}
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;
}

Loading…
Cancel
Save