ESP32S2_Cal/main/impl/impl_dht.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;
}