Files
artnetdmx/CMakeLists.txt
jimmyandCursor fea6dffa74 Add ArtNetDMX Pico W firmware with dual DMX and docs.
Art-Net to two RS-485 outputs over Wi-Fi (AP or STA with SoftAP fallback), web UI, mDNS, and QLC+/ArtPoll notes for unicast on STA.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-11 00:00:23 +12:00

55 lines
1.2 KiB
CMake

cmake_minimum_required(VERSION 3.13)
set(PICO_BOARD pico_w CACHE STRING "Board type")
set(PICO_CYW43_ARCH_THREADSAFE_BACKGROUND ON)
include(${CMAKE_CURRENT_LIST_DIR}/pico_sdk_import.cmake)
project(artnetdmx C CXX ASM)
set(CMAKE_C_STANDARD 11)
set(CMAKE_CXX_STANDARD 17)
pico_sdk_init()
add_executable(artnetdmx
src/main.c
src/config.c
src/channels.c
src/dmx_out.c
src/artnet.c
src/wifi_mgr.c
src/http_server.c
third_party/dhcpserver/dhcpserver.c
)
pico_generate_pio_header(artnetdmx ${CMAKE_CURRENT_LIST_DIR}/src/dmx_out.pio)
target_include_directories(artnetdmx PRIVATE
${CMAKE_CURRENT_LIST_DIR}/include
${CMAKE_CURRENT_LIST_DIR}
${CMAKE_CURRENT_LIST_DIR}/third_party/dhcpserver
)
target_compile_definitions(artnetdmx PRIVATE
PICO_CYW43_ARCH_THREADSAFE_BACKGROUND=1
)
target_link_libraries(artnetdmx
pico_stdlib
pico_cyw43_arch_lwip_threadsafe_background
pico_lwip_mdns
hardware_pio
hardware_dma
hardware_flash
hardware_sync
)
pico_configure_ip4_address(artnetdmx PRIVATE
CYW43_DEFAULT_IP_AP_ADDRESS 192.168.4.1
)
pico_enable_stdio_usb(artnetdmx 1)
pico_enable_stdio_uart(artnetdmx 0)
pico_add_extra_outputs(artnetdmx)