#include <stdio.h>
#include <freertos/FreeRTOS.h>
#include <freertos/task.h>
#include <freertos/queue.h>
#include <driver/gpio.h>
#include "tasks.c"
#include "HardwareInterrupt.c"
#include "gpio_pins.h"
#define queuestack 6
QueueHandle_t interruptQueue1;
QueueHandle_t interruptQueue2;
QueueHandle_t queue;
char txBuffer[50];
void app_main(void) {
queue = xQueueCreate(6, sizeof(char[50]));
if (queue == NULL) {
printf("Failed to create queue\n");
return;
}
xTaskCreatePinnedToCore(Demo_Task2, "Demo_Task_2", 4096, NULL, 10, NULL, 1);
interruptQueue1 = xQueueCreate(10, sizeof(uint32_t));
interruptQueue2 = xQueueCreate(10, sizeof(uint32_t));
initInterrupt(BUTTON_GPIO_1);
initInterrupt(BUTTON_GPIO_2);
struct gpio pins_1;
pins_1.LED_GPIO = LED_GPIO_1;
pins_1.BUTTON_GPIO = BUTTON_GPIO_1;
struct gpio pins_2;
pins_2.LED_GPIO = LED_GPIO_2;
pins_2.BUTTON_GPIO = BUTTON_GPIO_2;
xTaskCreate(interruptTask_LED, "InterruptTask_LED1", 2048, (void*)&pins_1, 10, NULL);
xTaskCreate(interruptTask_LED, "InterruptTask_LED2", 2048, (void*)&pins_2, 10, NULL);
xTaskCreate(interruptTask, "InterruptTask_1", 2048, (void*)&pins_1, 10, NULL);
xTaskCreate(interruptTask, "InterruptTask_2", 2048, (void*)&pins_2, 10, NULL);
}