
#include <stdio.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"

#include "driver/gpio.h"
#include "esp_log.h"

#define GPIO1 14
#define GPIO2 13
#define GPIO3 12



void blinky1(void *pvParameter)
{
    
    gpio_set_direction(GPIO1,GPIO_MODE_OUTPUT);
        
    while(1) {    
        gpio_set_level(GPIO1,1);
        gpio_set_level(GPIO1,0);
        ESP_LOGI("Task 1","From task 1");
       vTaskDelay(pdMS_TO_TICKS(1));
    }
}


void blinky2(void *pvParameter)
{
    gpio_set_direction(GPIO2,GPIO_MODE_OUTPUT);
    while(1) {       
        gpio_set_level(GPIO2,1);
        gpio_set_level(GPIO2,0);
        vTaskDelay(pdMS_TO_TICKS(1));
    }
}

void blinky3(void *pvParameter)
{
    gpio_set_direction(GPIO3,GPIO_MODE_OUTPUT);
    while(1) {
        gpio_set_level(GPIO3,1);
        gpio_set_level(GPIO3,0);
        vTaskDelay(pdMS_TO_TICKS(1));
    }
}


void app_main()
{
    ESP_LOGI("HEAP_MEMORY",ESP.getFreeHeap());
    xTaskCreatePinnedToCore(&blinky1, "blinky 1", 3096,NULL,2,NULL,0 );
    xTaskCreatePinnedToCore(&blinky2, "blinky 2", 3096,NULL,1,NULL,0 );
    xTaskCreatePinnedToCore(&blinky3, "blinky 3", 3096,NULL,1,NULL,0 );
}


