31#include "freertos/FreeRTOS.h"
34static const char *TAG =
"main";
37extern esp_err_t pcf8563_init();
38extern void pcf8563_loop();
43extern esp_err_t bma423_init();
44extern void bma423_loop();
48extern esp_err_t ft63x6_init();
49extern void ft63x6_loop();
53extern esp_err_t bhi260_init();
54extern void bhi260_loop();
58extern esp_err_t xl9555_init();
59extern void xl9555_loop();
63static void app_task(
void *args);
68#if CONFIG_I2C_COMMUNICATION_METHOD_BUILTIN_RW || CONFIG_I2C_COMMUNICATION_METHOD_CALLBACK_RW
70 ESP_LOGI(TAG,
"I2C initialized successfully");
77 ESP_ERROR_CHECK(pcf8563_init());
81 ESP_ERROR_CHECK(bma423_init());
85 ESP_ERROR_CHECK(ft63x6_init());
89 ESP_ERROR_CHECK(bhi260_init());
96 ESP_LOGI(TAG,
"Run...");
98 xTaskCreate(app_task,
"App", 20 * 1024, NULL, 10, NULL);
102static void app_task(
void *args)
108 vTaskDelay(pdMS_TO_TICKS(1000));
123 vTaskDelay(pdMS_TO_TICKS(10));
128#if CONFIG_I2C_COMMUNICATION_METHOD_CALLBACK_RW
142 uint8_t pin =
reinterpret_cast<uintptr_t
>(param1);
143 uint8_t mode =
reinterpret_cast<uintptr_t
>(param2);
144 gpio_config_t config;
145 memset(&config, 0,
sizeof(config));
146 config.pin_bit_mask = 1ULL << pin;
149 config.mode = GPIO_MODE_INPUT;
152 config.mode = GPIO_MODE_OUTPUT;
155 config.pull_up_en = GPIO_PULLUP_DISABLE;
156 config.pull_down_en = GPIO_PULLDOWN_DISABLE;
157 config.intr_type = GPIO_INTR_DISABLE;
158 ESP_ERROR_CHECK(gpio_config(&config));
163 uint8_t pin =
reinterpret_cast<uintptr_t
>(param1);
164 uint8_t
level =
reinterpret_cast<uintptr_t
>(param2);
165 gpio_set_level((gpio_num_t )pin,
level);
170 uint8_t pin =
reinterpret_cast<uintptr_t
>(param1);
171 return gpio_get_level((gpio_num_t)pin);
176 return (uint32_t) (esp_timer_get_time() / 1000LL);
181 uint32_t ms =
reinterpret_cast<uintptr_t
>(param1);
182 ets_delay_us((ms % portTICK_PERIOD_MS) * 1000UL);
188 uint32_t us =
reinterpret_cast<uintptr_t
>(param1);
uint32_t hal_callback(SensorCommCustomHal::Operation op, void *param1, void *param2)
esp_err_t i2c_drv_init(void)
i2c master initialization