knx/examples/knx-linux-coupler/CMakeLists.txt

150 lines
5.4 KiB
CMake
Raw Normal View History

Add coupler support (#79) * save work. * save work * save work * save work * save work * Remember which interface received the cemi frame * save work * save work * save work * Use default value from PID_ROUTING_COUNT * Add simple alternative to std::function without smart pointers or move semantics * Remove include * Add more comments about cleanup * save work * Remove forgotten code. * Move crc16Ccitt to bits.c as it also used for PID_MCB * save work * move comment * save work * save work * save work * save work * save work * save work * save work * derive from TableObject instead of InterfaceObject * save work * save work * Fix wrong pointer arithmetic in TableObject * Filter table setting/clearing * move comment * save work * save work * save work * handle SBC on closed media * save work * move coupler example to different dir * Restore device example for linux * save work * Remove MEDIUM_TYPE and use MASK_VERSION * save work * save work * save work * save work * save work * save work * save work * save work * save work * save work * save work * save work * save work * save work * Replace MEDIUM_TYPE by MASK_VERSION * Remove adafruit/travis-ci tests * Disable travis ci cache for platformio * Fix missing changes * Fix cemi server and add missing MASK_VERSION definitions * Enable platformio caching on travis ci again * Handle device address update for routing decision * source address is set in network layer and not in data link layer * Add remaining APCI types that are used with system broadcast * Add debug print for routing * Remove simple_functional * Fix CMakLists.txt * Use MASK_VERSION to conditionally compile code. * Remove fixed version reuqirement from platform esp8266 * Add demo-coupler for MCUs * Remove simple_functional.h from demo knx-linux * Enable CI for coupler demos * Correct path for knx-linux-coupler * Fix knx_facade.h * Refactor NetworkLayer to use getInterface() for devices and getPrimaryInterface(), getSecondaryInterface() for couplers * Add platformio configs for other currently possible mask/platform combinations * Add class diagrams and remove obsolete includes * Add some minimal docs
2020-09-06 21:41:34 +02:00
cmake_minimum_required(VERSION 2.7)
project(knx-linux-coupler)
set(LIBRARIES_FROM_REFERENCES "")
set(SOURCES
../../src/knx/address_table_object.cpp
Add coupler support (#79) * save work. * save work * save work * save work * save work * Remember which interface received the cemi frame * save work * save work * save work * Use default value from PID_ROUTING_COUNT * Add simple alternative to std::function without smart pointers or move semantics * Remove include * Add more comments about cleanup * save work * Remove forgotten code. * Move crc16Ccitt to bits.c as it also used for PID_MCB * save work * move comment * save work * save work * save work * save work * save work * save work * save work * derive from TableObject instead of InterfaceObject * save work * save work * Fix wrong pointer arithmetic in TableObject * Filter table setting/clearing * move comment * save work * save work * save work * handle SBC on closed media * save work * move coupler example to different dir * Restore device example for linux * save work * Remove MEDIUM_TYPE and use MASK_VERSION * save work * save work * save work * save work * save work * save work * save work * save work * save work * save work * save work * save work * save work * save work * Replace MEDIUM_TYPE by MASK_VERSION * Remove adafruit/travis-ci tests * Disable travis ci cache for platformio * Fix missing changes * Fix cemi server and add missing MASK_VERSION definitions * Enable platformio caching on travis ci again * Handle device address update for routing decision * source address is set in network layer and not in data link layer * Add remaining APCI types that are used with system broadcast * Add debug print for routing * Remove simple_functional * Fix CMakLists.txt * Use MASK_VERSION to conditionally compile code. * Remove fixed version reuqirement from platform esp8266 * Add demo-coupler for MCUs * Remove simple_functional.h from demo knx-linux * Enable CI for coupler demos * Correct path for knx-linux-coupler * Fix knx_facade.h * Refactor NetworkLayer to use getInterface() for devices and getPrimaryInterface(), getSecondaryInterface() for couplers * Add platformio configs for other currently possible mask/platform combinations * Add class diagrams and remove obsolete includes * Add some minimal docs
2020-09-06 21:41:34 +02:00
../../src/knx/address_table_object.h
../../src/knx/aes.c
../../src/knx/aes.h
../../src/knx/aes.hpp
../../src/knx/apdu.cpp
../../src/knx/apdu.h
../../src/knx/application_layer.cpp
../../src/knx/application_layer.h
../../src/knx/application_program_object.cpp
../../src/knx/application_program_object.h
../../src/knx/association_table_object.cpp
../../src/knx/association_table_object.h
../../src/knx/bau.cpp
../../src/knx/bau.h
../../src/knx/bau07B0.cpp
../../src/knx/bau07B0.h
../../src/knx/bau091A.cpp
../../src/knx/bau091A.h
../../src/knx/bau27B0.cpp
../../src/knx/bau27B0.h
../../src/knx/bau2920.cpp
../../src/knx/bau2920.h
../../src/knx/bau57B0.cpp
../../src/knx/bau57B0.h
../../src/knx/bau_systemB.cpp
../../src/knx/bau_systemB.h
../../src/knx/bau_systemB_device.cpp
../../src/knx/bau_systemB_device.h
../../src/knx/bau_systemB_coupler.cpp
../../src/knx/bau_systemB_coupler.h
../../src/knx/bits.cpp
../../src/knx/bits.h
../../src/knx/callback_property.h
../../src/knx/cemi_frame.cpp
../../src/knx/cemi_frame.h
../../src/knx/cemi_server.cpp
../../src/knx/cemi_server.h
../../src/knx/cemi_server_object.cpp
../../src/knx/cemi_server_object.h
../../src/knx/config.h
../../src/knx/data_link_layer.cpp
../../src/knx/data_link_layer.h
../../src/knx/data_property.cpp
../../src/knx/data_property.h
../../src/knx/device_object.cpp
../../src/knx/device_object.h
../../src/knx/dpt.cpp
../../src/knx/dpt.h
../../src/knx/dptconvert.cpp
../../src/knx/dptconvert.h
../../src/knx/function_property.h
../../src/knx/group_object.cpp
../../src/knx/group_object.h
../../src/knx/group_object_table_object.cpp
../../src/knx/group_object_table_object.h
../../src/knx/interface_object.cpp
../../src/knx/interface_object.h
../../src/knx/ip_data_link_layer.cpp
../../src/knx/ip_data_link_layer.h
../../src/knx/ip_parameter_object.cpp
../../src/knx/ip_parameter_object.h
../../src/knx/knx_ip_device_information_dib.cpp
../../src/knx/knx_ip_device_information_dib.h
../../src/knx/knx_ip_dib.cpp
../../src/knx/knx_ip_dib.h
../../src/knx/knx_ip_frame.cpp
../../src/knx/knx_ip_frame.h
../../src/knx/knx_ip_routing_indication.cpp
../../src/knx/knx_ip_routing_indication.h
../../src/knx/knx_ip_search_request.cpp
../../src/knx/knx_ip_search_request.h
../../src/knx/knx_ip_search_response.cpp
../../src/knx/knx_ip_search_response.h
../../src/knx/knx_ip_supported_service_dib.cpp
../../src/knx/knx_ip_supported_service_dib.h
../../src/knx/ip_host_protocol_address_information.cpp
../../src/knx/ip_host_protocol_address_information.h
../../src/knx/knx_types.h
../../src/knx/knx_value.cpp
../../src/knx/knx_value.h
../../src/knx/memory.cpp
../../src/knx/memory.h
../../src/knx/network_layer.cpp
../../src/knx/network_layer.h
../../src/knx/network_layer_coupler.cpp
../../src/knx/network_layer_coupler.h
../../src/knx/network_layer_device.cpp
../../src/knx/network_layer_device.h
../../src/knx/network_layer_entity.cpp
../../src/knx/network_layer_entity.h
../../src/knx/npdu.cpp
../../src/knx/npdu.h
../../src/knx/platform.cpp
../../src/knx/platform.h
../../src/knx/property.cpp
../../src/knx/property.h
../../src/knx/rf_data_link_layer.cpp
../../src/knx/rf_data_link_layer.h
../../src/knx/rf_medium_object.cpp
../../src/knx/rf_medium_object.h
Add support for CC1310 platform based on SimpleLink SDK (#94) * Initial commit * Clean up * Remove display code * Change cmake build * Add SimpleLink SDK for CC13xx/CC26xx as submodule * Remove commented line from build.sh * Working build * Remove SDK submodule * Squashed 'examples/knx-cc1310/coresdk_cc13xx_cc26xx/' content from commit 0d78d32 git-subtree-dir: examples/knx-cc1310/coresdk_cc13xx_cc26xx git-subtree-split: 0d78d3280357416a5c0388148cda13717c9ffaa5 * Add more comments and enable Power_idleFunc() for NoRTOS variant. Internal SDK driver functions which have to wait for something will cause Power_idleFunc to be called instead of doing busy wait. * Move CC1310 platform init around * Optimize a bit more in debug build config as the binary does not fit into 128Kb flash otherwise. * Explicitly list each source/header file in build config. Use linker group to resolve circular dependencies. * Ignore vscode settings.json * Increase stacks size * Only compile CC1310 source code if #define DeviceFamily_CC13X0 * initial commit of CC1310 RF driver with first working RX version * Better handling of buttonUp() across platforms * Start cleanup * continue cleanup * Fix bau2920 compilation * Continue cleanup * Fix compilation in other examples * Fix compilation * htons() and ntohs() only for SAMD and STM32, but not for Linux and ESP8266 and ESP32 * htons(9 and ntohs() needed for CC13x0 * Continue cleanup * Add CC1310 platform to CI * Fix CI * Use more recent toolchain from ARM * Fix travis * Use Ubuntu Focal * Fix toolchain for travis * Fix package name * Fix toolchain * Add libstdc++-dev package * Add newlib packages * Remove commented commands from CI * Fix travis * Fix compilation of knxPython * Clean up linefeeds * Fix RX callback * Move RF CRC16-DNP to bits.cpp * Fix TX * Optimization: do not calc CRC for block1 again in rf_data_link_layer * Make newline optional in printHex * Cleanup. First working version: ETS5 programming of individual address via KNX/RF coupler. * Use LEDs and Buttons to control ProgMode and Flash Erase * Remove settings.json (VScode) * Add README.md * Update README.md * Update README.md * Fix typo
2020-11-10 21:52:38 +01:00
../../src/knx/rf_physical_layer_cc1101.cpp
../../src/knx/rf_physical_layer_cc1101.h
Add coupler support (#79) * save work. * save work * save work * save work * save work * Remember which interface received the cemi frame * save work * save work * save work * Use default value from PID_ROUTING_COUNT * Add simple alternative to std::function without smart pointers or move semantics * Remove include * Add more comments about cleanup * save work * Remove forgotten code. * Move crc16Ccitt to bits.c as it also used for PID_MCB * save work * move comment * save work * save work * save work * save work * save work * save work * save work * derive from TableObject instead of InterfaceObject * save work * save work * Fix wrong pointer arithmetic in TableObject * Filter table setting/clearing * move comment * save work * save work * save work * handle SBC on closed media * save work * move coupler example to different dir * Restore device example for linux * save work * Remove MEDIUM_TYPE and use MASK_VERSION * save work * save work * save work * save work * save work * save work * save work * save work * save work * save work * save work * save work * save work * save work * Replace MEDIUM_TYPE by MASK_VERSION * Remove adafruit/travis-ci tests * Disable travis ci cache for platformio * Fix missing changes * Fix cemi server and add missing MASK_VERSION definitions * Enable platformio caching on travis ci again * Handle device address update for routing decision * source address is set in network layer and not in data link layer * Add remaining APCI types that are used with system broadcast * Add debug print for routing * Remove simple_functional * Fix CMakLists.txt * Use MASK_VERSION to conditionally compile code. * Remove fixed version reuqirement from platform esp8266 * Add demo-coupler for MCUs * Remove simple_functional.h from demo knx-linux * Enable CI for coupler demos * Correct path for knx-linux-coupler * Fix knx_facade.h * Refactor NetworkLayer to use getInterface() for devices and getPrimaryInterface(), getSecondaryInterface() for couplers * Add platformio configs for other currently possible mask/platform combinations * Add class diagrams and remove obsolete includes * Add some minimal docs
2020-09-06 21:41:34 +02:00
../../src/knx/rf_physical_layer.h
../../src/knx/router_object.cpp
../../src/knx/router_object.h
../../src/knx/secure_application_layer.cpp
../../src/knx/secure_application_layer.h
../../src/knx/security_interface_object.cpp
../../src/knx/security_interface_object.h
../../src/knx/simple_map.h
../../src/knx/save_restore.h
../../src/knx/table_object.cpp
../../src/knx/table_object.h
../../src/knx/tpdu.cpp
../../src/knx/tpdu.h
../../src/knx/tpuart_data_link_layer.cpp
../../src/knx/tpuart_data_link_layer.h
../../src/knx/transport_layer.cpp
../../src/knx/transport_layer.h
../../src/knx/usb_tunnel_interface.cpp
../../src/knx/usb_tunnel_interface.h
../../src/knx_facade.cpp
../../src/knx_facade.h
../../src/linux_platform.cpp
../../src/linux_platform.h
fdsk.cpp
fdsk.h
main.cpp)
Add coupler support (#79) * save work. * save work * save work * save work * save work * Remember which interface received the cemi frame * save work * save work * save work * Use default value from PID_ROUTING_COUNT * Add simple alternative to std::function without smart pointers or move semantics * Remove include * Add more comments about cleanup * save work * Remove forgotten code. * Move crc16Ccitt to bits.c as it also used for PID_MCB * save work * move comment * save work * save work * save work * save work * save work * save work * save work * derive from TableObject instead of InterfaceObject * save work * save work * Fix wrong pointer arithmetic in TableObject * Filter table setting/clearing * move comment * save work * save work * save work * handle SBC on closed media * save work * move coupler example to different dir * Restore device example for linux * save work * Remove MEDIUM_TYPE and use MASK_VERSION * save work * save work * save work * save work * save work * save work * save work * save work * save work * save work * save work * save work * save work * save work * Replace MEDIUM_TYPE by MASK_VERSION * Remove adafruit/travis-ci tests * Disable travis ci cache for platformio * Fix missing changes * Fix cemi server and add missing MASK_VERSION definitions * Enable platformio caching on travis ci again * Handle device address update for routing decision * source address is set in network layer and not in data link layer * Add remaining APCI types that are used with system broadcast * Add debug print for routing * Remove simple_functional * Fix CMakLists.txt * Use MASK_VERSION to conditionally compile code. * Remove fixed version reuqirement from platform esp8266 * Add demo-coupler for MCUs * Remove simple_functional.h from demo knx-linux * Enable CI for coupler demos * Correct path for knx-linux-coupler * Fix knx_facade.h * Refactor NetworkLayer to use getInterface() for devices and getPrimaryInterface(), getSecondaryInterface() for couplers * Add platformio configs for other currently possible mask/platform combinations * Add class diagrams and remove obsolete includes * Add some minimal docs
2020-09-06 21:41:34 +02:00
include_directories(../../src)
Add coupler support (#79) * save work. * save work * save work * save work * save work * Remember which interface received the cemi frame * save work * save work * save work * Use default value from PID_ROUTING_COUNT * Add simple alternative to std::function without smart pointers or move semantics * Remove include * Add more comments about cleanup * save work * Remove forgotten code. * Move crc16Ccitt to bits.c as it also used for PID_MCB * save work * move comment * save work * save work * save work * save work * save work * save work * save work * derive from TableObject instead of InterfaceObject * save work * save work * Fix wrong pointer arithmetic in TableObject * Filter table setting/clearing * move comment * save work * save work * save work * handle SBC on closed media * save work * move coupler example to different dir * Restore device example for linux * save work * Remove MEDIUM_TYPE and use MASK_VERSION * save work * save work * save work * save work * save work * save work * save work * save work * save work * save work * save work * save work * save work * save work * Replace MEDIUM_TYPE by MASK_VERSION * Remove adafruit/travis-ci tests * Disable travis ci cache for platformio * Fix missing changes * Fix cemi server and add missing MASK_VERSION definitions * Enable platformio caching on travis ci again * Handle device address update for routing decision * source address is set in network layer and not in data link layer * Add remaining APCI types that are used with system broadcast * Add debug print for routing * Remove simple_functional * Fix CMakLists.txt * Use MASK_VERSION to conditionally compile code. * Remove fixed version reuqirement from platform esp8266 * Add demo-coupler for MCUs * Remove simple_functional.h from demo knx-linux * Enable CI for coupler demos * Correct path for knx-linux-coupler * Fix knx_facade.h * Refactor NetworkLayer to use getInterface() for devices and getPrimaryInterface(), getSecondaryInterface() for couplers * Add platformio configs for other currently possible mask/platform combinations * Add class diagrams and remove obsolete includes * Add some minimal docs
2020-09-06 21:41:34 +02:00
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Wall -Wno-unknown-pragmas -g -O0")
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Wall -Wno-unknown-pragmas -g -O0")
add_executable(knx-linux-iptp ${SOURCES})
target_link_libraries(knx-linux-iptp "${LIBRARIES_FROM_REFERENCES}")
set_property(TARGET knx-linux-iptp PROPERTY CXX_STANDARD 11)
target_compile_definitions(knx-linux-iptp PUBLIC -DMASK_VERSION=0x091A)
add_executable(knx-linux-tprf ${SOURCES})
target_link_libraries(knx-linux-tprf "${LIBRARIES_FROM_REFERENCES}")
set_property(TARGET knx-linux-tprf PROPERTY CXX_STANDARD 11)
target_compile_definitions(knx-linux-tprf PUBLIC -DMASK_VERSION=0x2920)