36d10702da
- Introduced EtsDeviceRuntime class to manage device runtime functionalities including handling tunnel frames and function property commands. - Added support for individual address management and memory snapshot retrieval. - Updated EtsMemorySnapshot structure to include individual address. - Implemented identity application for DALI devices in the memory loader. - Enhanced CMakeLists.txt to include new source files and compile definitions. - Updated header files to include new dependencies and declarations. - Refactored existing memory loading logic to accommodate new device runtime features. Signed-off-by: Tony <tonylu@tony-cloud.com>
65 lines
1.7 KiB
CMake
65 lines
1.7 KiB
CMake
set(OPENKNX_ROOT "${CMAKE_CURRENT_LIST_DIR}/../../knx")
|
|
set(TPUART_ROOT "${CMAKE_CURRENT_LIST_DIR}/../../tpuart")
|
|
|
|
if(NOT EXISTS "${OPENKNX_ROOT}/src/knx/platform.h")
|
|
message(FATAL_ERROR "OpenKNX submodule is missing at ${OPENKNX_ROOT}")
|
|
endif()
|
|
|
|
if(NOT EXISTS "${TPUART_ROOT}/src/TPUart/DataLinkLayer.h")
|
|
message(FATAL_ERROR "TPUart submodule is missing at ${TPUART_ROOT}")
|
|
endif()
|
|
|
|
file(GLOB OPENKNX_SRCS
|
|
"${OPENKNX_ROOT}/src/knx/*.cpp"
|
|
)
|
|
|
|
set(TPUART_SRCS
|
|
"${TPUART_ROOT}/src/TPUart/DataLinkLayer.cpp"
|
|
"${TPUART_ROOT}/src/TPUart/Receiver.cpp"
|
|
"${TPUART_ROOT}/src/TPUart/RepetitionFilter.cpp"
|
|
"${TPUART_ROOT}/src/TPUart/RingBuffer.cpp"
|
|
"${TPUART_ROOT}/src/TPUart/SearchBuffer.cpp"
|
|
"${TPUART_ROOT}/src/TPUart/Statistics.cpp"
|
|
"${TPUART_ROOT}/src/TPUart/SystemState.cpp"
|
|
"${TPUART_ROOT}/src/TPUart/Transmitter.cpp"
|
|
"${TPUART_ROOT}/src/TPUart.cpp"
|
|
)
|
|
|
|
idf_component_register(
|
|
SRCS
|
|
"src/arduino_compat.cpp"
|
|
"src/esp_idf_platform.cpp"
|
|
"src/ets_device_runtime.cpp"
|
|
"src/ets_memory_loader.cpp"
|
|
"src/tpuart_uart_interface.cpp"
|
|
${OPENKNX_SRCS}
|
|
${TPUART_SRCS}
|
|
INCLUDE_DIRS
|
|
"include"
|
|
"${OPENKNX_ROOT}/src"
|
|
"${TPUART_ROOT}/src"
|
|
REQUIRES
|
|
esp_driver_gpio
|
|
esp_driver_uart
|
|
esp_netif
|
|
esp_timer
|
|
esp_wifi
|
|
freertos
|
|
log
|
|
lwip
|
|
nvs_flash
|
|
)
|
|
|
|
target_compile_definitions(${COMPONENT_LIB} PUBLIC
|
|
MASK_VERSION=0x07B0
|
|
KNX_FLASH_SIZE=4096
|
|
KNX_NO_AUTOMATIC_GLOBAL_INSTANCE
|
|
KNX_NO_SPI
|
|
USE_CEMI_SERVER
|
|
)
|
|
|
|
target_compile_options(${COMPONENT_LIB} PRIVATE
|
|
-Wno-unused-parameter
|
|
)
|
|
|
|
set_property(TARGET ${COMPONENT_LIB} PROPERTY CXX_STANDARD 17) |