add DHT22/DHT11

This commit is contained in:
Edward Emelianov
2021-02-26 00:02:48 +03:00
parent 9573221c5f
commit 5d3a0b1779
22 changed files with 1685 additions and 11 deletions

Binary file not shown.

View File

@@ -73,7 +73,7 @@ static struct {
static BMP180_status bmpstatus = BMP180_NOTINIT;
static uint8_t calidata_rdy = 0;
static uint32_t milliseconds_start = 0; // time of measurement start
//static uint32_t milliseconds_start = 0; // time of measurement start
//static uint32_t p_delay = 8; // delay for P measurement
static uint8_t uncomp_data[3]; // raw uncompensated data
static int32_t Tval; // uncompensated T value
@@ -173,7 +173,7 @@ void BMP180_read_ID(uint8_t *devid){
}
// start measurement, @return 1 if all OK
int BMP180_start(uint32_t curr_milliseconds){
int BMP180_start(/*uint32_t curr_milliseconds*/){
if(!calidata_rdy || bmpstatus == BMP180_BUSYT || bmpstatus == BMP180_BUSYP) return 0;
uint8_t reg = BMP180_READ_T | BMP180_CTRLM_SCO;
if(!write_reg8(BMP180_REG_CTRLMEAS, reg)){
@@ -181,7 +181,7 @@ int BMP180_start(uint32_t curr_milliseconds){
return 0;
}
bmpstatus = BMP180_BUSYT;
milliseconds_start = curr_milliseconds;
//milliseconds_start = curr_milliseconds;
return 1;
}
@@ -226,7 +226,7 @@ static int still_measuring(){
return 0;
}
void BMP180_process(uint32_t curr_milliseconds){
void BMP180_process(/*uint32_t curr_milliseconds*/){
uint8_t reg;
if(bmpstatus != BMP180_BUSYT && bmpstatus != BMP180_BUSYP) return;
if(bmpstatus == BMP180_BUSYT){ // wait for temperature
@@ -249,7 +249,7 @@ void BMP180_process(uint32_t curr_milliseconds){
bmpstatus = BMP180_ERR;
return;
}
milliseconds_start = curr_milliseconds;
//milliseconds_start = curr_milliseconds;
bmpstatus = BMP180_BUSYP;
}else{ // wait for pressure
//if(curr_milliseconds - milliseconds_start < p_delay) return;

View File

@@ -47,8 +47,8 @@ int BMP180_init();
void BMP180_read_ID(uint8_t *devid);
void BMP180_setOS(BMP180_oversampling os);
BMP180_status BMP180_get_status();
int BMP180_start(uint32_t curr_milliseconds);
void BMP180_process(uint32_t curr_milliseconds);
int BMP180_start(/*uint32_t curr_milliseconds*/);
void BMP180_process(/*uint32_t curr_milliseconds*/);
void BMP180_getdata(int32_t *T, uint32_t *P);
#endif // BMP180_H__

View File

@@ -1 +1 @@
Work with I2C humidity/temperature sensors SI7005 & HTU21D
Work with I2C temperature/pressure sensor BMP180

View File

@@ -74,7 +74,7 @@ int main(void){
lastT = Tms;
}
usb_proc();
BMP180_process(Tms);
BMP180_process(/*Tms*/);
BMP180_status s = BMP180_get_status();
if(s == BMP180_RDY){ // data ready - get it
int32_t T;

View File

@@ -180,7 +180,7 @@ const char *parse_cmd(const char *buf){
else return "ID unknown\n";
break;
case 'M':
if(!BMP180_start(Tms)) return "BMP180 not found or not inited\n";
if(!BMP180_start(/*Tms*/)) return "BMP180 not found or not inited\n";
else return "Start\n";
break;
case 'R':