Skip to content

Commit

Permalink
Cmake knows to update built time
Browse files Browse the repository at this point in the history
  • Loading branch information
whowechina committed May 19, 2024
1 parent 7f97e85 commit f59fecd
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 34 deletions.
Binary file modified Production/firmware/mai_pico.uf2
Binary file not shown.
71 changes: 37 additions & 34 deletions firmware/src/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,34 +1,37 @@
set(BTSTACK_ROOT ${PICO_SDK_PATH}/lib/btstack)
set(LWIP_ROOT ${PICO_SDK_PATH}/lib/lwip)

function(make_firmware board board_def)
pico_sdk_init()
add_executable(${board}
main.c touch.c button.c rgb.c save.c config.c cli.c commands.c io.c hid.c
mpr121.c usb_descriptors.c)
target_compile_definitions(${board} PUBLIC ${board_def})
pico_enable_stdio_usb(${board} 1)
pico_enable_stdio_uart(${board} 0)

pico_generate_pio_header(${board} ${CMAKE_CURRENT_LIST_DIR}/ws2812.pio)

target_compile_options(${board} PRIVATE -Wfatal-errors -O3)
target_include_directories(${board} PRIVATE ${CMAKE_CURRENT_LIST_DIR})
target_include_directories(${board} PRIVATE
${BTSTACK_ROOT}/src
${LWIP_ROOT}/src/include)

target_link_libraries(${board} PRIVATE
aic
pico_multicore pico_stdlib hardware_pio hardware_pwm hardware_flash
hardware_adc hardware_i2c hardware_watchdog pico_unique_id
tinyusb_device tinyusb_board)

pico_add_extra_outputs(${board})

add_custom_command(TARGET ${board} POST_BUILD
COMMAND cp ${board}.uf2 ${CMAKE_CURRENT_LIST_DIR}/..)
endfunction()

make_firmware(mai_pico BOARD_MAI_PICO)

set(BTSTACK_ROOT ${PICO_SDK_PATH}/lib/btstack)
set(LWIP_ROOT ${PICO_SDK_PATH}/lib/lwip)

function(make_firmware board board_def)
pico_sdk_init()
add_executable(${board}
main.c touch.c button.c rgb.c save.c config.c cli.c commands.c io.c hid.c
mpr121.c usb_descriptors.c)
target_compile_definitions(${board} PUBLIC ${board_def})
pico_enable_stdio_usb(${board} 1)
pico_enable_stdio_uart(${board} 0)

pico_generate_pio_header(${board} ${CMAKE_CURRENT_LIST_DIR}/ws2812.pio)

target_compile_options(${board} PRIVATE -Wfatal-errors -O3)
target_include_directories(${board} PRIVATE ${CMAKE_CURRENT_LIST_DIR})
target_include_directories(${board} PRIVATE
${BTSTACK_ROOT}/src
${LWIP_ROOT}/src/include)

target_link_libraries(${board} PRIVATE
aic
pico_multicore pico_stdlib hardware_pio hardware_pwm hardware_flash
hardware_adc hardware_i2c hardware_watchdog pico_unique_id
tinyusb_device tinyusb_board)

pico_add_extra_outputs(${board})

add_custom_command(TARGET ${board} PRE_BUILD
COMMAND touch ${CMAKE_CURRENT_SOURCE_DIR}/cli.c)

add_custom_command(TARGET ${board} POST_BUILD
COMMAND cp ${board}.uf2 ${CMAKE_CURRENT_LIST_DIR}/..)
endfunction()

make_firmware(mai_pico BOARD_MAI_PICO)

0 comments on commit f59fecd

Please sign in to comment.