-
Notifications
You must be signed in to change notification settings - Fork 14
/
TH02_dev.h
78 lines (60 loc) · 2.78 KB
/
TH02_dev.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
/*
TH02_dev.h
Driver for DIGITAL I2C HUMIDITY AND TEMPERATURE SENSOR
Copyright (c) 2014 seeed technology inc.
Website : www.seeed.cc
Author : Oliver Wang
Create Time: April 2014
Change Log :
The MIT License (MIT)
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
*/
#ifndef _TH02_DEV_H
#define _TH02_DEV_H
#include <Wire.h>
#include <Arduino.h>
#include "THsensor_base.h"
/****************************************************************************/
/*** Macro Definitions ***/
/****************************************************************************/
#define TH02_I2C_DEV_ID 0x40
#define REG_STATUS 0x00
#define REG_DATA_H 0x01
#define REG_DATA_L 0x02
#define REG_CONFIG 0x03
#define REG_ID 0x11
#define STATUS_RDY_MASK 0x01 //poll RDY,0 indicate the conversion is done
#define CMD_MEASURE_HUMI 0x01 //perform a humility measurement
#define CMD_MEASURE_TEMP 0x11 //perform a temperature measurement
#define TH02_WR_REG_MODE 0xC0
#define TH02_RD_REG_MODE 0x80
/****************************************************************************/
/*** Class Definition ***/
/****************************************************************************/
class TH02_dev : public TempHumi{
public:
void begin();
uint8_t isAvailable();
float ReadTemperature(void);
float ReadHumidity(void);
void IIC_WriteCmd(uint8_t u8Cmd);
uint8_t IIC_ReadReg(uint8_t u8Reg);
void IIC_WriteReg(uint8_t u8Reg, uint8_t u8Data);
uint16_t IIC_ReadData(uint8_t u8Reg,uint8_t num);
uint16_t IIC_ReadData2byte(uint8_t u8Reg,uint8_t num);
};
#endif