CMakeLists.txt 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. # OpenPuck — Zephyr RTOS port.
  2. #
  3. # Migrated from the Arduino/Adafruit-nRF52/TinyUSB sketch in ../OpenPuck.
  4. # Build (from a west workspace with this repo reachable):
  5. # west build -b adafruit_feather_nrf52840 OpenPuckZephyr
  6. #
  7. # The bare-metal RADIO peripheral is driven directly (no BLE/802.15.4), so the
  8. # Bluetooth/IEEE802154/MPSL stacks are disabled in prj.conf and the RADIO IRQ is
  9. # owned by this app.
  10. cmake_minimum_required(VERSION 3.20.0)
  11. find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE})
  12. project(openpuck C CXX)
  13. target_include_directories(app PRIVATE
  14. ${CMAKE_CURRENT_SOURCE_DIR}/src
  15. ${CMAKE_CURRENT_SOURCE_DIR}/src/compat)
  16. target_sources(app PRIVATE
  17. src/main.c
  18. # compatibility layer
  19. src/compat/arduino_compat.cpp
  20. src/compat/littlefs_shim.cpp
  21. src/compat/usb_stub.cpp # inert USB backing (swap for usb_glue.cpp)
  22. # ported firmware modules
  23. src/config.cpp
  24. src/bonds.cpp
  25. src/identity.cpp
  26. src/triton.cpp
  27. src/gamepad_util.cpp
  28. src/radio.cpp
  29. src/rf_link.cpp
  30. src/rf_diag.cpp
  31. src/haptics.cpp
  32. src/status_led.cpp
  33. src/controllers.cpp
  34. src/puck_hid.cpp
  35. src/mode_lizard.cpp
  36. src/mode_switch_hori.cpp
  37. src/mode_switch_pro.cpp
  38. src/mode_ps5.cpp
  39. src/mode_hidgyro.cpp
  40. src/mode_xinput.cpp
  41. src/webusb_config.cpp
  42. src/serial_console.cpp
  43. src/usb_mount.cpp
  44. src/wake_hid.cpp
  45. )