#include "ENCODER.h"
//Хэндл на очередь проворота ручки энкодера
QueueHandle_t rotate_queue = NULL;
//Хэндл на очередь проворота ручки энкодера
QueueHandle_t btn_queue = NULL;
void app_main() {
printf("Hello, Wokwi!\n");
//----------------------------------------------------------------
//Создаем очередь проворота ручки энкодера
rotate_queue = xQueueCreate(5, sizeof(int8_t));
// Проверяем создалась ли очередь
if (rotate_queue == NULL)
return; // если ошибка выходим из app_main и останавливаемся
//----------------------------------------------------------------
//Создаем очередь нажатия кнопки энкодера
btn_queue = xQueueCreate(5, sizeof(uint8_t));
// Проверяем создалась ли очередь
if (btn_queue == NULL)
return; // если ошибка выходим из app_main и останавливаемся
//----------------------------------------------------------------
encoder_init();
// Разрешаем прерівания
ESP_ERROR_CHECK(gpio_install_isr_service(ESP_INTR_FLAG_IRAM));
// Регистрируем прерывания
//ESP_ERROR_CHECK(gpio_isr_handler_add(Apin, rot_isr_handler, NULL));
//ESP_ERROR_CHECK(gpio_isr_handler_add(KEYpin, btn_isr_handler, NULL));
//vTaskDelay(pdMS_TO_TICKS(100));
while (true) {
int8_t rot;
uint8_t push;
enc_rot_direct();
//----------------------------------------------------------------
/*
if (xQueueReceive(btn_queue, &push, 0)) {
printf("Push\n");
//curr_push = prev_push;
//printf("Curr_push = %d\n", curr_push);
}
//printf("Curr_push = %d\n", curr_push);
*/
vTaskDelay(30 / portTICK_PERIOD_MS);
}
}