from machine import Pin
import time

# Pin definitions
LED1_PIN = 2
LED2_PIN = 3
BTN1_PIN = 4
BTN2_PIN = 5
BTN3_PIN = 6
DEBOUNCE_DELAY = 150  # milliseconds

# Setup pins
led1 = Pin(LED1_PIN, Pin.OUT)
led2 = Pin(LED2_PIN, Pin.OUT)
btn1 = Pin(BTN1_PIN, Pin.IN, Pin.PULL_UP)
btn2 = Pin(BTN2_PIN, Pin.IN, Pin.PULL_UP)
btn3 = Pin(BTN3_PIN, Pin.IN, Pin.PULL_UP)

# Initial states
led1_state = False
led2_state = False
last_debounce_time_btn1 = 0
last_debounce_time_btn2 = 0
last_debounce_time_btn3 = 0

# Set initial LED states
led1.value(led1_state)
led2.value(led2_state)

def handle_button(button, last_debounce_time, led_state, led_pin):
    """Handle button press to toggle LED state with debouncing"""
    if button.value() == 0:  # Button pressed (LOW)
        current_time = time.ticks_ms()
        if time.ticks_diff(current_time, last_debounce_time) > DEBOUNCE_DELAY:
            led_state = not led_state
            led_pin.value(led_state)
            last_debounce_time = current_time
            time.sleep(2)  # 2-second delay after successful press
    
    return led_state, last_debounce_time

def handle_reset_button(button, last_debounce_time):
    """Handle reset button press to turn off both LEDs"""
    global led1_state, led2_state
    
    if button.value() == 0:  # Button pressed (LOW)
        current_time = time.ticks_ms()
        if time.ticks_diff(current_time, last_debounce_time) > DEBOUNCE_DELAY:
            led1_state = False
            led2_state = False
            led1.value(led1_state)
            led2.value(led2_state)
            last_debounce_time = current_time
            time.sleep(2)  # 2-second delay after successful press
    
    return last_debounce_time

# Main loop
while True:
    led1_state, last_debounce_time_btn1 = handle_button(btn1, last_debounce_time_btn1, led1_state, led1)
    led2_state, last_debounce_time_btn2 = handle_button(btn2, last_debounce_time_btn2, led2_state, led2)
    last_debounce_time_btn3 = handle_reset_button(btn3, last_debounce_time_btn3)
BOOTSELLED1239USBRaspberryPiPico©2020RP2-8020/21P64M15.00TTT