#![no_std]
#![no_main]

use esp_backtrace as _;
use esp_hal::{
    clock::CpuClock,
    delay::Delay,
    gpio::IO,
    peripherals::Peripherals,
    prelude::*,
    main,
};

#[main]
fn main() -> ! {
    // Inisialisasi konfigurasi ESP
    let config = esp_hal::Config::default().with_cpu_clock(CpuClock::max());
    let peripherals = esp_hal::init(config);
    let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);

    // Gunakan GPIO2 sebagai output (LED)
    let mut led = io.pins.gpio2.into_push_pull_output();

    // Inisialisasi delay
    let mut delay = Delay::new();

    loop {
        led.set_high().unwrap(); // LED nyala
        delay.delay_millis(1000);

        led.set_low().unwrap(); // LED mati
        delay.delay_millis(1000);
    }
}