#include "esp_log.h"
#include <stdio.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "esp_err.h"
//#include "driver/i2c_master.h"
#include "esp_task_wdt.h"
#include "I2C.h"
static const char *TAG = "I2C";
#define LOG_LOCAL_LEVEL ESP_LOG_VERBOSE
void app_main() {
esp_log_level_set("*", ESP_LOG_VERBOSE);
esp_task_wdt_deinit();
i2c_master_bus_init();
vTaskDelay(pdMS_TO_TICKS(50)); // Задержка чтобы датчик включился
i2c_dev_init(i2c_bus_scan());
while (1) {
uint8_t wr_data8 = 0xD0;
uint8_t wr_data16 = 0xAA;
uint8_t read_data8;
uint8_t read_data16[2];
if (/*read_reg8(0xD0, &read_data8)*/I2C_write_read(&wr_data8, 1, &read_data8, 1) == ESP_OK &&
read_reg16(0xAA, &read_data16)/*I2C_write_read(&wr_data16, 1, read_data16, 2)*/ == ESP_OK) {
ESP_LOGI(TAG, "REF 8reg 0xD0 = 0x%02X (expected 0x55)\n", read_data8);
ESP_LOGI(TAG, "REF 16reg = 0x%04X\n", (read_data16[0] << 8) | read_data16[1]);
} else {
ESP_LOGI(TAG, "Error reading!\n");
}
vTaskDelay(pdMS_TO_TICKS(2000));
}
}