diff options
author | Gergő J. Miklós | 2019-05-15 20:27:59 +0200 |
---|---|---|
committer | Gergő J. Miklós | 2019-05-15 20:27:59 +0200 |
commit | 812af485ea41fe162bb6fb888045318152bf2c66 (patch) | |
tree | 0ca7966bb8ea819e87d80a9282a20c90c6f17c15 /src/main.c | |
parent | d150a9f31a81a7dc02f2359529a7351c743a0067 (diff) | |
download | i2sensors-812af485ea41fe162bb6fb888045318152bf2c66.tar.gz i2sensors-812af485ea41fe162bb6fb888045318152bf2c66.zip |
hih61xx refactoredv1.001
Diffstat (limited to 'src/main.c')
-rw-r--r-- | src/main.c | 23 |
1 files changed, 19 insertions, 4 deletions
@@ -63,16 +63,31 @@ void bus_err(int ern){ printf("I2C communication(rd) error. errno: %d\n",errno); } -void preinit(const char *dev_type){ - if(!strcmp("lm75", dev_type)){ +uchar *xchg_data (uchar *buf, uint16 wrlen, uint16 waitlen, uint16 rdlen){ //# [buf] = 32 byte + + if(write(devicef, buf, wrlen) != wrlen){ //# write one byte to device + bus_err(errno); + } + usleep(waitlen*1000); //# Wait 10ms for reading + + if(read(devicef, buf, rdlen) != rdlen) { //# read the result + bus_err(errno); + } + return buf; +} + + +void preinit(const uchar *dev_type){ + + if(!strcmp("lm75", (char *)dev_type)){ print_all = lm75_print_all; read_all = lm75_read_all; read_one = lm75_read_one; conf_set = lm75_conf_set; } - else if(!strcmp("hih61xx", dev_type)) { + else if(!strcmp("hih61xx", (char *)dev_type)) { print_all = hih61xx_print_all; read_all = hih61xx_read_all; read_one = hih61xx_read_one; @@ -108,7 +123,7 @@ int main(int argc, char *argv[]) char filename[32]; int i; - preinit(argv[3]); + preinit((uchar *)argv[3]); for( i = 0; i < strlen(argv[2]); i++){ //# Test on bus address, for error detection. if(!isdigit(argv[2][i])){ |