// ESP32 Code
#include <Arduino.h>

// 🔹 НАСТРОЙКА ПИНОВ СВЕТОДИОДОВ
// Измените эти номера на те, к которым подключены ваши LED1 и LED2
const int PIN_LED1 = 13;   // Например, встроенный светодиод или внешний на GPIO2
const int PIN_LED2 = 23;   // Внешний светодиод на GPIO4

// Буфер для приема одного байта команды
char receivedCmd = 0;

void setup() {
  // Настройка пинов светодиодов на выход
  pinMode(PIN_LED1, OUTPUT);
  pinMode(PIN_LED2, OUTPUT);
  
  // Изначально выключаем светодиоды
  digitalWrite(PIN_LED1, LOW);
  digitalWrite(PIN_LED2, LOW);

  // Инициализация UART для связи с ESP8266
  // Serial1: RX=16, TX=17
  Serial1.begin(9600, SERIAL_8N1, 16, 17);
  
  // Для отладки можно включить основной порт
  Serial.begin(9600);
  Serial.println("ESP32 Ready. Waiting for commands from ESP8266...");
}

void loop() {
  // Проверяем, пришли ли данные от ESP8266
  if (Serial1.available() > 0) {
    receivedCmd = Serial1.read();
    
    if (receivedCmd == '1') {
      // Команда LED_ON
      digitalWrite(PIN_LED1, HIGH);
      digitalWrite(PIN_LED2, HIGH);
      Serial.println("LEDs turned ON");
    } 
    else if (receivedCmd == '0') {
      // Команда LED_OFF
      digitalWrite(PIN_LED1, LOW);
      digitalWrite(PIN_LED2, LOW);
      Serial.println("LEDs turned OFF");
    }
  }
}