// ใช้ไลบรารีที่จำเป็นสำหรับ ESP32
use esp_idf_hal::prelude::*;
use esp_idf_hal::gpio::*;
use esp_idf_hal::delay::Ets;

// ตั้งค่า GPIO Pins
const LEFT_LED_PIN: i32 = 2;
const RIGHT_LED_PIN: i32 = 3;
const BUTTON_PIN: i32 = 4;

fn main() {
    // เริ่มต้นระบบ GPIO
    let peripherals = Peripherals::take().unwrap();
    let pins = peripherals.pins;

    // กำหนด LED ซ้าย ขวา และปุ่มกด
    let mut left_led = pins.gpio2.into_output().unwrap();
    let mut right_led = pins.gpio3.into_output().unwrap();
    let button = pins.gpio4.into_input().unwrap();

    // ใช้ delay
    let mut delay = Ets {};

    loop {
        // อ่านสถานะปุ่ม
        if button.is_low().unwrap() {
            // กระพริบไฟซ้าย
            left_led.set_high().unwrap();
            delay.delay_ms(500u32);
            left_led.set_low().unwrap();

            // กระพริบไฟขวา
            right_led.set_high().unwrap();
            delay.delay_ms(500u32);
            right_led.set_low().unwrap();
        } else {
            // ปิดไฟทั้งสอง
            left_led.set_low().unwrap();
            right_led.set_low().unwrap();
        }
    }
}