#if CONFIG_FREERTOS_UNICORE
static const BaseType_t app_cpu=0;
#else 
static const BaseType_t app_cpu=1;
#endif

static const int led_pin=2;
float delaytime=1000;

static TaskHandle_t task_1= NULL ;
static TaskHandle_t task_2= NULL ;


void startTask1(void *parameter)
{
  
  while(1){
    digitalWrite(led_pin, HIGH);
  vTaskDelay(delaytime/ portTICK_PERIOD_MS);
  digitalWrite(led_pin, LOW);
    vTaskDelay(delaytime/ portTICK_PERIOD_MS);
  }
}

void startTask2(void *parameter){
  while(1){
  if(Serial.available()>0)
  {
  delaytime=Serial.read();
  }
Serial.println(delaytime);
 vTaskDelay(1000/ portTICK_PERIOD_MS);
 }
}

void setup() {
  // put your setup code here, to run once:
  pinMode(led_pin, OUTPUT);
  Serial.begin(1000);
   vTaskDelay(100/ portTICK_PERIOD_MS);
 Serial.print("------wellcome to freertos------");  
 Serial.print("setup and loop task running on core");
 Serial.println(xPortGetCoreID());
 Serial.print("with periority");
 Serial.println(uxTaskPriorityGet(NULL));

      xTaskCreatePinnedToCore( startTask1,
                                "task 1",
                                1024,
                                NULL,
                                1,
                                &task_1,
                                app_cpu);

           xTaskCreatePinnedToCore( startTask2,
                                "task 2",
                                1024,
                                NULL,
                                2,
                                &task_2,
                                app_cpu);



 }


void loop() {
  


}
esp:0
esp:2
esp:4
esp:5
esp:12
esp:13
esp:14
esp:15
esp:16
esp:17
esp:18
esp:19
esp:21
esp:22
esp:23
esp:25
esp:26
esp:27
esp:32
esp:33
esp:34
esp:35
esp:3V3
esp:EN
esp:VP
esp:VN
esp:GND.1
esp:D2
esp:D3
esp:CMD
esp:5V
esp:GND.2
esp:TX
esp:RX
esp:GND.3
esp:D1
esp:D0
esp:CLK
led1:A
led1:C