diff --git a/drivers/CMakeLists.txt b/drivers/CMakeLists.txt index 88d0b099..948b56ed 100644 --- a/drivers/CMakeLists.txt +++ b/drivers/CMakeLists.txt @@ -19,4 +19,5 @@ add_subdirectory(bme68x) add_subdirectory(bmp280) add_subdirectory(bme280) add_subdirectory(button) +add_subdirectory(plasma) add_subdirectory(rgbled) diff --git a/drivers/plasma/CMakeLists.txt b/drivers/plasma/CMakeLists.txt new file mode 100644 index 00000000..3f66aef6 --- /dev/null +++ b/drivers/plasma/CMakeLists.txt @@ -0,0 +1 @@ +include(plasma.cmake) \ No newline at end of file diff --git a/libraries/plasma2040/apa102.cpp b/drivers/plasma/apa102.cpp similarity index 100% rename from libraries/plasma2040/apa102.cpp rename to drivers/plasma/apa102.cpp diff --git a/libraries/plasma2040/apa102.hpp b/drivers/plasma/apa102.hpp similarity index 100% rename from libraries/plasma2040/apa102.hpp rename to drivers/plasma/apa102.hpp diff --git a/libraries/plasma2040/apa102.pio b/drivers/plasma/apa102.pio similarity index 100% rename from libraries/plasma2040/apa102.pio rename to drivers/plasma/apa102.pio diff --git a/drivers/plasma/plasma.cmake b/drivers/plasma/plasma.cmake new file mode 100644 index 00000000..8c3a948c --- /dev/null +++ b/drivers/plasma/plasma.cmake @@ -0,0 +1,18 @@ +set(DRIVER_NAME plasma) +add_library(${DRIVER_NAME} INTERFACE) + +target_sources(${DRIVER_NAME} INTERFACE + ${CMAKE_CURRENT_LIST_DIR}/apa102.cpp + ${CMAKE_CURRENT_LIST_DIR}/ws2812.cpp +) + +target_include_directories(${DRIVER_NAME} INTERFACE ${CMAKE_CURRENT_LIST_DIR}) + +target_link_libraries(${DRIVER_NAME} INTERFACE + pico_stdlib + hardware_pio + hardware_dma + ) + +pico_generate_pio_header(${DRIVER_NAME} ${CMAKE_CURRENT_LIST_DIR}/apa102.pio) +pico_generate_pio_header(${DRIVER_NAME} ${CMAKE_CURRENT_LIST_DIR}/ws2812.pio) \ No newline at end of file diff --git a/libraries/plasma2040/ws2812.cpp b/drivers/plasma/ws2812.cpp similarity index 100% rename from libraries/plasma2040/ws2812.cpp rename to drivers/plasma/ws2812.cpp diff --git a/libraries/plasma2040/ws2812.hpp b/drivers/plasma/ws2812.hpp similarity index 100% rename from libraries/plasma2040/ws2812.hpp rename to drivers/plasma/ws2812.hpp diff --git a/libraries/plasma2040/ws2812.pio b/drivers/plasma/ws2812.pio similarity index 100% rename from libraries/plasma2040/ws2812.pio rename to drivers/plasma/ws2812.pio diff --git a/libraries/plasma2040/plasma2040.cmake b/libraries/plasma2040/plasma2040.cmake index 55abb9b0..cebcfe6d 100644 --- a/libraries/plasma2040/plasma2040.cmake +++ b/libraries/plasma2040/plasma2040.cmake @@ -1,17 +1,6 @@ add_library(plasma2040 INTERFACE) -target_sources(plasma2040 INTERFACE - ${CMAKE_CURRENT_LIST_DIR}/apa102.cpp - ${CMAKE_CURRENT_LIST_DIR}/ws2812.cpp -) - target_include_directories(plasma2040 INTERFACE ${CMAKE_CURRENT_LIST_DIR}) -target_link_libraries(plasma2040 INTERFACE - pico_stdlib - hardware_pio - hardware_dma - ) - -pico_generate_pio_header(plasma2040 ${CMAKE_CURRENT_LIST_DIR}/apa102.pio) -pico_generate_pio_header(plasma2040 ${CMAKE_CURRENT_LIST_DIR}/ws2812.pio) \ No newline at end of file +# Pull in pico libraries that we need +target_link_libraries(plasma2040 INTERFACE pico_stdlib plasma) \ No newline at end of file diff --git a/micropython/modules/plasma_2040/micropython.cmake b/micropython/modules/plasma_2040/micropython.cmake index 662521a1..4cd79faf 100644 --- a/micropython/modules/plasma_2040/micropython.cmake +++ b/micropython/modules/plasma_2040/micropython.cmake @@ -5,14 +5,15 @@ add_library(usermod_${MOD_NAME} INTERFACE) target_sources(usermod_${MOD_NAME} INTERFACE ${CMAKE_CURRENT_LIST_DIR}/${MOD_NAME}.c ${CMAKE_CURRENT_LIST_DIR}/${MOD_NAME}.cpp - ${CMAKE_CURRENT_LIST_DIR}/../../../libraries/plasma2040/apa102.cpp - ${CMAKE_CURRENT_LIST_DIR}/../../../libraries/plasma2040/ws2812.cpp + ${CMAKE_CURRENT_LIST_DIR}/../../../drivers/plasma/apa102.cpp + ${CMAKE_CURRENT_LIST_DIR}/../../../drivers/plasma/ws2812.cpp ) -pico_generate_pio_header(usermod_${MOD_NAME} ${CMAKE_CURRENT_LIST_DIR}/../../../libraries/plasma2040/apa102.pio) -pico_generate_pio_header(usermod_${MOD_NAME} ${CMAKE_CURRENT_LIST_DIR}/../../../libraries/plasma2040/ws2812.pio) +pico_generate_pio_header(usermod_${MOD_NAME} ${CMAKE_CURRENT_LIST_DIR}/../../../drivers/plasma/apa102.pio) +pico_generate_pio_header(usermod_${MOD_NAME} ${CMAKE_CURRENT_LIST_DIR}/../../../drivers/plasma/ws2812.pio) target_include_directories(usermod_${MOD_NAME} INTERFACE ${CMAKE_CURRENT_LIST_DIR} + ${CMAKE_CURRENT_LIST_DIR}/../../../drivers/plasma/ ${CMAKE_CURRENT_LIST_DIR}/../../../libraries/plasma2040/ )