AnasSarkiz/rp2040-usb-c-single-axis-dm542t-motion-controller--01a0e89c
A USB‑C RP2040 controller board with external QSPI flash, crystal clock, regulated 3.3/1.1/5 V power, boost-converted motor-driver supply, protected USB and limit inputs, status LEDs, reset/boot switches, and AO3400A MOSFET outputs for stepper-control signals.
- Version
- 0.1.0-prototype.19
- License
- unset
- Stars
- 0
firmware/CMakeLists.txt
cmake_minimum_required(VERSION 3.13...3.31)
set(PICO_BOARD pico)
set(PICO_NO_PICOTOOL 1)
include(vendor/pico-sdk/pico_sdk_init.cmake)
project(rp2040_dm542t_motion C CXX ASM)
set(CMAKE_C_STANDARD 11)
pico_sdk_init()
add_executable(motion_controller main.c motion.c usb_sleep.c power_policy.c usb_descriptors.c)
pico_generate_pio_header(motion_controller ${CMAKE_CURRENT_LIST_DIR}/step.pio)
target_compile_options(motion_controller PRIVATE -Wall -Wextra -Werror)
target_compile_definitions(motion_controller PRIVATE PICO_STDIO_USB_USE_DEFAULT_DESCRIPTORS=0 PICO_STDIO_USB_ENABLE_IRQ_BACKGROUND_TASK=0 PICO_FLASH_SPI_CLKDIV=4 PICO_STDIO_USB_ENABLE_RESET_VIA_BAUD_RATE=0 PICO_STDIO_USB_ENABLE_RESET_VIA_VENDOR_INTERFACE=0 PICO_STDIO_USB_STDOUT_TIMEOUT_US=0)
target_link_libraries(motion_controller pico_stdlib hardware_pio hardware_adc hardware_clocks hardware_watchdog)
pico_enable_stdio_usb(motion_controller 1)
pico_enable_stdio_uart(motion_controller 0)
pico_add_extra_outputs(motion_controller)