32 lines
825 B
C
32 lines
825 B
C
#include "esp_system.h"
|
|
#include "driver/i2c.h"
|
|
|
|
#include "freertos/FreeRTOS.h"
|
|
#include "freertos/task.h"
|
|
|
|
#include "impl_dht.h"
|
|
|
|
#define IMPL_DHT_I2C_NUM 0
|
|
#define IMPL_DHT_I2C_TIMEOUT 1000
|
|
|
|
htu21d_ret_t impl_dht_i2c_read(void *handle, uint8_t* data, uint8_t len) {
|
|
if(i2c_master_read_from_device(IMPL_DHT_I2C_NUM, 0x40, data, len, pdMS_TO_TICKS(IMPL_DHT_I2C_TIMEOUT)) != ESP_OK) {
|
|
return HTU21D_ERROR;
|
|
}
|
|
|
|
return HTU21D_OK;
|
|
}
|
|
|
|
htu21d_ret_t impl_dht_i2c_write(void *handle, uint8_t* data, uint8_t len) {
|
|
if(i2c_master_write_to_device(IMPL_DHT_I2C_NUM, 0x40, data, len, pdMS_TO_TICKS(IMPL_DHT_I2C_TIMEOUT)) != ESP_OK) {
|
|
return HTU21D_ERROR;
|
|
}
|
|
|
|
return HTU21D_OK;
|
|
}
|
|
|
|
htu21d_ret_t impl_dht_delay(void *handle, uint32_t msec) {
|
|
vTaskDelay(pdMS_TO_TICKS(msec));
|
|
|
|
return HTU21D_OK;
|
|
} |