Files
RP2350_MIDI_Lighter/Firmware/CMakeLists.txt
Chris 128d42c586 - Fixed drawing of round objects (Circles, Rounded Rects) using a lookup table
- Added function to read out the display_buffer via USB-Serial
 - Added basic structure and files for later complete firmware (still in progress)
 - Added Doc folder with schematic in it
 - Added Python script and batch file to read out the display buffer and open the image in gimp
2025-09-07 08:55:39 +02:00

137 lines
3.1 KiB
CMake

# Generated Cmake Pico project file
cmake_minimum_required(VERSION 3.13)
set(CMAKE_C_STANDARD 11)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
# Initialise pico_sdk from installed location
# (note this can come from environment, CMake cache etc)
# == DO NOT EDIT THE FOLLOWING LINES for the Raspberry Pi Pico VS Code Extension to work ==
if(WIN32)
set(USERHOME $ENV{USERPROFILE})
else()
set(USERHOME $ENV{HOME})
endif()
set(sdkVersion 2.2.0)
set(toolchainVersion 14_2_Rel1)
set(picotoolVersion 2.2.0)
set(picoVscode ${USERHOME}/.pico-sdk/cmake/pico-vscode.cmake)
if (EXISTS ${picoVscode})
include(${picoVscode})
endif()
# ====================================================================================
set(PICO_BOARD pico2 CACHE STRING "Board type")
# Pull in Raspberry Pi Pico SDK (must be before project)
include(pico_sdk_import.cmake)
project(Firmware C CXX ASM)
# Initialise the Raspberry Pi Pico SDK
pico_sdk_init()
# Add executable. Default name is the project name, version 0.1
add_custom_command(OUTPUT Build_Number
# PRE_BUILD
COMMAND cmd /c increment_build_number.bat
)
add_custom_target(fakeTarget1 ALL
DEPENDS Build_Number
)
# Add executable. Default name is the project name, version 0.1
aux_source_directory(Images/ IMAGE_SOURCES)
include_directories(Images/)
aux_source_directory(Fonts/ FONT_SOURCES)
include_directories(Fonts/)
aux_source_directory(Screens_Display/ SCREEN_DISPLAY_SOURCES)
include_directories(Screens_Display/)
add_executable(Firmware
main.c
PWM.c
UART0.c
I2C_Master.c
USB_Serial.c
Hue.c
Easings.c
Command.c
UI_Control.c
Mode_Manager.c
MIDI_Note_List.c
INA260.c
Switch.c
Rotary_Encoder.c
EEPROM_M24C64.c
Core1.c
Core1_ADC.c
Core1_LED_Enable.c
Core1_LED_Control.c
Core1_MIDI_Receiver.c
Core1_Light_Controller.c
Display_Default_Configurations.c
Display_Message_Box_Icons.c
Display_Color.c
Display_Font.c
Display_Image.c
Display_Init.c
Display_Touch.c
Display_Objects.c
Display_Shapes.c
Display_SPI.c
Display.c
Screen_Variables.c
${IMAGE_SOURCES}
${FONT_SOURCES}
${SCREEN_DISPLAY_SOURCES}
)
pico_set_program_name(Firmware "Firmware")
pico_set_program_version(Firmware "0.1")
# Modify the below lines to enable/disable output over UART/USB
pico_enable_stdio_uart(Firmware 0)
pico_enable_stdio_usb(Firmware 1)
set_property(TARGET Firmware APPEND_STRING PROPERTY LINK_FLAGS "-Wl,--print-memory-usage")
# Add the standard library to the build
target_link_libraries(Firmware
pico_stdlib)
# Add the standard include files to the build
target_include_directories(Firmware PRIVATE
${CMAKE_CURRENT_LIST_DIR}
)
# Add any user requested libraries
target_link_libraries(Firmware
hardware_spi
hardware_i2c
hardware_dma
hardware_pwm
hardware_adc
hardware_interp
hardware_timer
hardware_watchdog
hardware_clocks
hardware_uart
pico_multicore
)
pico_add_extra_outputs(Firmware)