techmannih/nema34-mounted-stepper-controller
A 48 V USB‑C PD 3.1 EPR NEMA‑34 stepper controller PCB combining STM32/TMC5160 control, external MOSFET motor bridges, protected power and regenerative braking, USB data, telemetry, diagnostics, status LEDs, and buzzer alarms.
- Version
- 0.3.92
- License
- unset
- Stars
- 1
firmware/CMakeLists.txt
cmake_minimum_required(VERSION 3.20)
project(pd1180_epr_firmware_logic C)
set(CMAKE_C_STANDARD 11)
set(CMAKE_C_STANDARD_REQUIRED ON)
set(CMAKE_C_EXTENSIONS OFF)
add_library(pd1180_control STATIC
src/telemetry.c
src/power_domain.c
src/brake_preflight.c
src/control.c
src/pd_contract.c
src/tmc5160_config.c
)
target_include_directories(pd1180_control PUBLIC include)
target_compile_options(pd1180_control PRIVATE -Wall -Wextra -Werror -Wpedantic)
add_executable(pd1180_firmware_sim src/main.c)
target_link_libraries(pd1180_firmware_sim PRIVATE pd1180_control)
target_compile_options(pd1180_firmware_sim PRIVATE -Wall -Wextra -Werror -Wpedantic)
enable_testing()
add_executable(control_tests tests/test_control.c)
target_link_libraries(control_tests PRIVATE pd1180_control)
target_compile_options(control_tests PRIVATE -Wall -Wextra -Werror -Wpedantic)
add_test(NAME control_tests COMMAND control_tests)
add_executable(brake_preflight_tests tests/test_brake_preflight.c)
target_link_libraries(brake_preflight_tests PRIVATE pd1180_control)
add_test(NAME brake_preflight_tests COMMAND brake_preflight_tests)