guowenxue
2018-10-14 6100a908f25ec6eac446aadd5180f347a71e3db5
update ds18b20.c and sht20.c source code
2 files modified
95 ■■■■■ changed files
program/modules/ds18b20/ds18b20.c 2 ●●● patch | view | raw | blame | history
program/modules/sht20/sht20.c 93 ●●●●● patch | view | raw | blame | history
program/modules/ds18b20/ds18b20.c
@@ -3,7 +3,7 @@
 *                  All rights reserved.
 *
 *       Filename:  ds18b20.c
 *    Description:  This file
 *    Description:  This file is temperature sensor DS18B20 code
 *                 
 *        Version:  1.0.0(2018/10/14)
 *         Author:  Guo Wenxue <guowenxue@gmail.com>
program/modules/sht20/sht20.c
@@ -1,3 +1,15 @@
/*********************************************************************************
 *      Copyright:  (C) 2018 LingYun IoT System Studio
 *                  All rights reserved.
 *
 *       Filename:  sht20.c
 *    Description:  This file is temperature and relative humidity sensor SHT20 code
 *
 *        Version:  1.0.0(2018/10/14)
 *         Author:  Guo Wenxue <guowenxue@gmail.com>
 *      ChangeLog:  1, Release initial version on "2018/10/14 12:13:26"
 *
 ********************************************************************************/
#include <stdio.h>
#include <fcntl.h>
@@ -27,7 +39,6 @@
static inline void msleep(unsigned long ms);
static inline void dump_buf(const char *prompt, uint8_t *buf, int size);
int sht2x_init(void);
int sht2x_softreset(int fd);
int sht2x_get_serialnumber(int fd, uint8_t *serialnumber, int size);
int sht2x_get_temp_humidity(int fd, float *temp, float *rh);
 
@@ -43,12 +54,6 @@
    {
        printf("SHT2x initialize failure\n");
        return 1;
    }
    if( sht2x_softreset(fd) < 0 )
    {
        printf("SHT2x softreset failure\n");
        return 2;
    }
    if( sht2x_get_serialnumber(fd, serialnumber, 8) < 0)
@@ -115,23 +120,6 @@
#ifdef I2C_API_RDWR  /* Use I2C userspace driver read/write API */
int sht2x_init(void)
{
    int     fd;
    if( (fd=open("/dev/i2c-1", O_RDWR)) < 0)
    {
        printf("i2c device open failed: %s\n", strerror(errno));
               return -1;
    }
    /* set I2C mode and SHT2x slave address */
    ioctl(fd, I2C_TENBIT, 0);    /* Not 10-bit but 7-bit mode */
    ioctl(fd, I2C_SLAVE, 0x40); /* set SHT2x slava address 0x40*/
    return fd;
}
int sht2x_softreset(int fd)
{
    uint8_t           buf[4];
@@ -151,6 +139,29 @@
    msleep(50);
    return 0;
}
int sht2x_init(void)
{
    int     fd;
    if( (fd=open("/dev/i2c-1", O_RDWR)) < 0)
    {
        printf("i2c device open failed: %s\n", strerror(errno));
               return -1;
    }
    /* set I2C mode and SHT2x slave address */
    ioctl(fd, I2C_TENBIT, 0);    /* Not 10-bit but 7-bit mode */
    ioctl(fd, I2C_SLAVE, 0x40); /* set SHT2x slava address 0x40*/
    if( sht2x_softreset(fd) < 0 )
    {
        printf("SHT2x softreset failure\n");
        return -2;
    }
    return fd;
}
int sht2x_get_temp_humidity(int fd, float *temp, float *rh)
@@ -235,20 +246,6 @@
#elif (defined I2C_API_IOCTL)  /* Use I2C userspace driver read/write API */
int sht2x_init(void)
{
    int     fd;
    if( (fd=open("/dev/i2c-1", O_RDWR)) < 0)
    {
        printf("i2c device open failed: %s\n", strerror(errno));
               return -1;
    }
    return fd;
}
int sht2x_softreset(int fd)
{
           struct i2c_msg               msg;
@@ -282,6 +279,25 @@
    return 0;
}
int sht2x_init(void)
{
    int     fd;
    if( (fd=open("/dev/i2c-1", O_RDWR)) < 0)
    {
        printf("i2c device open failed: %s\n", strerror(errno));
               return -1;
    }
    if( sht2x_softreset(fd) < 0 )
    {
        printf("SHT2x softreset failure\n");
        return -2;
    }
    return fd;
}
int sht2x_get_serialnumber(int fd, uint8_t *serialnumber, int size)
@@ -363,7 +379,6 @@
    return 0;
}
int sht2x_get_temp_humidity(int fd, float *temp, float *rh)