cmake_minimum_required(VERSION 3.13)

# Pico 1 W: RP2040 + CYW43439.
set(PICO_BOARD pico_w)

include(pico_sdk_import.cmake)

project(ampel C CXX ASM)

pico_sdk_init()

add_executable(ampel
    ampel.c
    pwm.c
    hw_pwm.c
    pio_pwm.c
)

# PIO-Assembler: generiert pio_pwm.pio.h in den Build-Ordner.
pico_generate_pio_header(ampel ${CMAKE_CURRENT_LIST_DIR}/pio_pwm.pio)

target_link_libraries(ampel
    pico_stdlib
    pico_cyw43_arch_none
    hardware_pwm
    hardware_pio
    hardware_clocks
)

# stdio ueber USB-CDC — praktisch fuers Debuggen ueber tio.
pico_enable_stdio_usb(ampel 1)
pico_enable_stdio_uart(ampel 0)

pico_add_extra_outputs(ampel)
