From 06e2c11d967cff966529c586913a6136eab2c720 Mon Sep 17 00:00:00 2001 From: Thomas Kunze Date: Wed, 28 Oct 2020 21:35:24 +0100 Subject: [PATCH] clean up visual studio files and add root cmake --- .gitattributes | 63 -- .gitmodules | 4 - .vscode/settings.json | 4 + CMakeLists.txt | 3 + examples/knx-demo/.gitignore | 2 - examples/knx-linux-coupler/CMakeSettings.json | 19 - examples/knx-linux-coupler/gcc_Debug.h | 889 ----------------- examples/knx-linux-coupler/gcc_Release.h | 895 ----------------- .../knx-linux-Debug.vgdbsettings | 179 ---- examples/knx-linux-coupler/knx-linux.vcxproj | 188 ---- .../knx-linux.vcxproj.filters | 353 ------- .../knx-linux/.vscode/c_cpp_properties.json | 17 + examples/knx-linux/CMakeSettings.json | 19 - examples/knx-linux/gcc_Debug.h | 889 ----------------- examples/knx-linux/gcc_Release.h | 895 ----------------- .../knx-linux/knx-linux-Debug.vgdbsettings | 179 ---- examples/knx-linux/knx-linux.vcxproj | 188 ---- examples/knx-linux/knx-linux.vcxproj.filters | 353 ------- examples/knxPython/CMakeLists.txt | 163 +++- examples/knxPython/CMakeLists.txt.old | 11 - examples/knxPython/CMakeSettings.json | 20 - examples/knxPython/gcc_Debug.h | 893 ----------------- examples/knxPython/gcc_Release.h | 896 ------------------ .../knxPython/knxPython-Debug.vgdbsettings | 174 ---- .../knxPython/knxPython-Release.vgdbsettings | 137 --- examples/knxPython/knxPython.vcxproj | 143 --- examples/knxPython/knxPython.vcxproj.filters | 224 ----- examples/knxPython/knxmodule.cpp | 2 +- examples/knxPython/pybind11/.readthedocs.yml | 3 - .../pybind11/docs/_static/theme_overrides.css | 11 - .../docs/advanced/cast/functional.rst | 109 --- .../pybind11/docs/advanced/cast/strings.rst | 305 ------ .../pybind11/docs/advanced/pycpp/index.rst | 13 - .../pybind11/docs/advanced/smart_ptrs.rst | 173 ---- .../knxPython/pybind11/docs/pybind11-logo.png | Bin 58510 -> 0 bytes .../docs/pybind11_vs_boost_python1.png | Bin 44653 -> 0 bytes .../docs/pybind11_vs_boost_python1.svg | 427 --------- .../docs/pybind11_vs_boost_python2.png | Bin 41121 -> 0 bytes .../docs/pybind11_vs_boost_python2.svg | 427 --------- .../pybind11/include/pybind11/common.h | 2 - examples/knxPython/pybind11/tests/object.h | 175 ---- .../tests/pybind11_cross_module_tests.cpp | 123 --- .../pybind11/tests/test_cmake_build/main.cpp | 6 - .../pybind11/tests/test_docstring_options.cpp | 61 -- .../pybind11/tests/test_embed/catch.cpp | 22 - .../tests/test_embed/external_module.cpp | 23 - .../pybind11/tests/test_pickling.cpp | 130 --- visualstudio/knx-bme680.vgdbproj | 277 ------ visualstudio/knx-demo.vgdbproj | 424 --------- visualstudio/knx-hdc1008.vgdbproj | 171 ---- visualstudio/knx-sonoffS20.vgdbproj | 387 -------- visualstudio/knx-vito.vgdbproj | 220 ----- visualstudio/knx.sln | 280 ------ 53 files changed, 154 insertions(+), 11417 deletions(-) delete mode 100644 .gitattributes delete mode 100644 .gitmodules create mode 100644 .vscode/settings.json create mode 100644 CMakeLists.txt delete mode 100644 examples/knx-demo/.gitignore delete mode 100644 examples/knx-linux-coupler/CMakeSettings.json delete mode 100644 examples/knx-linux-coupler/gcc_Debug.h delete mode 100644 examples/knx-linux-coupler/gcc_Release.h delete mode 100644 examples/knx-linux-coupler/knx-linux-Debug.vgdbsettings delete mode 100644 examples/knx-linux-coupler/knx-linux.vcxproj delete mode 100644 examples/knx-linux-coupler/knx-linux.vcxproj.filters create mode 100644 examples/knx-linux/.vscode/c_cpp_properties.json delete mode 100644 examples/knx-linux/CMakeSettings.json delete mode 100644 examples/knx-linux/gcc_Debug.h delete mode 100644 examples/knx-linux/gcc_Release.h delete mode 100644 examples/knx-linux/knx-linux-Debug.vgdbsettings delete mode 100644 examples/knx-linux/knx-linux.vcxproj delete mode 100644 examples/knx-linux/knx-linux.vcxproj.filters delete mode 100644 examples/knxPython/CMakeLists.txt.old delete mode 100644 examples/knxPython/CMakeSettings.json delete mode 100644 examples/knxPython/gcc_Debug.h delete mode 100644 examples/knxPython/gcc_Release.h delete mode 100644 examples/knxPython/knxPython-Debug.vgdbsettings delete mode 100644 examples/knxPython/knxPython-Release.vgdbsettings delete mode 100644 examples/knxPython/knxPython.vcxproj delete mode 100644 examples/knxPython/knxPython.vcxproj.filters delete mode 100644 examples/knxPython/pybind11/.readthedocs.yml delete mode 100644 examples/knxPython/pybind11/docs/_static/theme_overrides.css delete mode 100644 examples/knxPython/pybind11/docs/advanced/cast/functional.rst delete mode 100644 examples/knxPython/pybind11/docs/advanced/cast/strings.rst delete mode 100644 examples/knxPython/pybind11/docs/advanced/pycpp/index.rst delete mode 100644 examples/knxPython/pybind11/docs/advanced/smart_ptrs.rst delete mode 100644 examples/knxPython/pybind11/docs/pybind11-logo.png delete mode 100644 examples/knxPython/pybind11/docs/pybind11_vs_boost_python1.png delete mode 100644 examples/knxPython/pybind11/docs/pybind11_vs_boost_python1.svg delete mode 100644 examples/knxPython/pybind11/docs/pybind11_vs_boost_python2.png delete mode 100644 examples/knxPython/pybind11/docs/pybind11_vs_boost_python2.svg delete mode 100644 examples/knxPython/pybind11/include/pybind11/common.h delete mode 100644 examples/knxPython/pybind11/tests/object.h delete mode 100644 examples/knxPython/pybind11/tests/pybind11_cross_module_tests.cpp delete mode 100644 examples/knxPython/pybind11/tests/test_cmake_build/main.cpp delete mode 100644 examples/knxPython/pybind11/tests/test_docstring_options.cpp delete mode 100644 examples/knxPython/pybind11/tests/test_embed/catch.cpp delete mode 100644 examples/knxPython/pybind11/tests/test_embed/external_module.cpp delete mode 100644 examples/knxPython/pybind11/tests/test_pickling.cpp delete mode 100644 visualstudio/knx-bme680.vgdbproj delete mode 100644 visualstudio/knx-demo.vgdbproj delete mode 100644 visualstudio/knx-hdc1008.vgdbproj delete mode 100644 visualstudio/knx-sonoffS20.vgdbproj delete mode 100644 visualstudio/knx-vito.vgdbproj delete mode 100644 visualstudio/knx.sln diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 1ff0c42..0000000 --- a/.gitattributes +++ /dev/null @@ -1,63 +0,0 @@ -############################################################################### -# Set default behavior to automatically normalize line endings. -############################################################################### -* text=auto - -############################################################################### -# Set default behavior for command prompt diff. -# -# This is need for earlier builds of msysgit that does not have it on by -# default for csharp files. -# Note: This is only used by command line -############################################################################### -#*.cs diff=csharp - -############################################################################### -# Set the merge driver for project and solution files -# -# Merging from the command prompt will add diff markers to the files if there -# are conflicts (Merging from VS is not affected by the settings below, in VS -# the diff markers are never inserted). Diff markers may cause the following -# file extensions to fail to load in VS. An alternative would be to treat -# these files as binary and thus will always conflict and require user -# intervention with every merge. To do so, just uncomment the entries below -############################################################################### -#*.sln merge=binary -#*.csproj merge=binary -#*.vbproj merge=binary -#*.vcxproj merge=binary -#*.vcproj merge=binary -#*.dbproj merge=binary -#*.fsproj merge=binary -#*.lsproj merge=binary -#*.wixproj merge=binary -#*.modelproj merge=binary -#*.sqlproj merge=binary -#*.wwaproj merge=binary - -############################################################################### -# behavior for image files -# -# image files are treated as binary by default. -############################################################################### -#*.jpg binary -#*.png binary -#*.gif binary - -############################################################################### -# diff behavior for common document formats -# -# Convert binary document formats to text before diffing them. This feature -# is only available from the command line. Turn it on by uncommenting the -# entries below. -############################################################################### -#*.doc diff=astextplain -#*.DOC diff=astextplain -#*.docx diff=astextplain -#*.DOCX diff=astextplain -#*.dot diff=astextplain -#*.DOT diff=astextplain -#*.pdf diff=astextplain -#*.PDF diff=astextplain -#*.rtf diff=astextplain -#*.RTF diff=astextplain diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index 7b66ef9..0000000 --- a/.gitmodules +++ /dev/null @@ -1,4 +0,0 @@ -[submodule "knxPython/pybind11"] - path = knxPython/pybind11 - url = https://github.com/pybind/pybind11.git - branch = stable diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..bef847b --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,4 @@ +{ + "cmake.sourceDirectory": "${workspaceFolder}/.", + "C_Cpp.default.configurationProvider": "ms-vscode.cmake-tools" +} \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..85fb97a --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,3 @@ +add_subdirectory(examples/knx-linux) +add_subdirectory(examples/knx-linux-coupler) +#add_subdirectory(examples/knxPython) \ No newline at end of file diff --git a/examples/knx-demo/.gitignore b/examples/knx-demo/.gitignore deleted file mode 100644 index b9f3806..0000000 --- a/examples/knx-demo/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -.pio -.vscode diff --git a/examples/knx-linux-coupler/CMakeSettings.json b/examples/knx-linux-coupler/CMakeSettings.json deleted file mode 100644 index 22985a0..0000000 --- a/examples/knx-linux-coupler/CMakeSettings.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "configurations": [ - { - "name": "WSL-Debug", - "generator": "Unix Makefiles", - "configurationType": "Debug", - "buildRoot": "${projectDir}\\out\\build\\${name}", - "installRoot": "${projectDir}\\out\\install\\${name}", - "cmakeExecutable": "/usr/bin/cmake", - "cmakeCommandArgs": "", - "buildCommandArgs": "", - "ctestCommandArgs": "", - "inheritEnvironments": [ "linux_x64" ], - "wslPath": "${defaultWSLPath}", - "addressSanitizerRuntimeFlags": "detect_leaks=0", - "variables": [] - } - ] -} \ No newline at end of file diff --git a/examples/knx-linux-coupler/gcc_Debug.h b/examples/knx-linux-coupler/gcc_Debug.h deleted file mode 100644 index e4f1569..0000000 --- a/examples/knx-linux-coupler/gcc_Debug.h +++ /dev/null @@ -1,889 +0,0 @@ -/* - This file is only used by IntelliSense (VisualStudio code suggestion system) - DO NOT INCLUDE THIS FILE FROM YOUR ACTUAL SOURCE FILES. - This file lists the preprocessor macros extracted from your GCC. - It is needed for IntelliSense to parse other header files correctly. -*/ -#if defined(_MSC_VER) || defined (__SYSPROGS_CODESENSE__) -#pragma clang diagnostic push - -#pragma clang diagnostic ignored "-Wreserved-id-macro" -#ifndef __DBL_MIN_EXP__ -#define __DBL_MIN_EXP__ (-1021) -#endif -#ifndef __cpp_attributes -#define __cpp_attributes 200809 -#endif -#ifndef __UINT_LEAST16_MAX__ -#define __UINT_LEAST16_MAX__ 0xffff -#endif -#ifndef __ATOMIC_ACQUIRE -#define __ATOMIC_ACQUIRE 2 -#endif -#ifndef __FLT_MIN__ -#define __FLT_MIN__ 1.17549435082228750797e-38F -#endif -#ifndef __GCC_IEC_559_COMPLEX -#define __GCC_IEC_559_COMPLEX 2 -#endif -#ifndef __cpp_aggregate_nsdmi -#define __cpp_aggregate_nsdmi 201304 -#endif -#ifndef __UINT_LEAST8_TYPE__ -#define __UINT_LEAST8_TYPE__ unsigned char -#endif -#ifndef __SIZEOF_FLOAT80__ -#define __SIZEOF_FLOAT80__ 16 -#endif -#ifndef __CHAR_BIT__ -#define __CHAR_BIT__ 8 -#endif -#ifndef __UINT8_MAX__ -#define __UINT8_MAX__ 0xff -#endif -#ifndef __WINT_MAX__ -#define __WINT_MAX__ 0xffffffffU -#endif -#ifndef __cpp_static_assert -#define __cpp_static_assert 200410 -#endif -#ifndef __ORDER_LITTLE_ENDIAN__ -#define __ORDER_LITTLE_ENDIAN__ 1234 -#endif -#ifndef __SIZE_MAX__ -#define __SIZE_MAX__ 0xffffffffffffffffUL -#endif -#ifndef __WCHAR_MAX__ -#define __WCHAR_MAX__ 0x7fffffff -#endif -#ifndef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 -#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1 -#endif -#ifndef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 -#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1 -#endif -#ifndef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 -#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1 -#endif -#ifndef __DBL_DENORM_MIN__ -#define __DBL_DENORM_MIN__ double(4.94065645841246544177e-324L) -#endif -#ifndef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 -#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1 -#endif -#ifndef __GCC_ATOMIC_CHAR_LOCK_FREE -#define __GCC_ATOMIC_CHAR_LOCK_FREE 2 -#endif -#ifndef __GCC_IEC_559 -#define __GCC_IEC_559 2 -#endif -#ifndef __FLT_EVAL_METHOD__ -#define __FLT_EVAL_METHOD__ 0 -#endif -#ifndef __unix__ -#define __unix__ 1 -#endif -#ifndef __cpp_binary_literals -#define __cpp_binary_literals 201304 -#endif -#ifndef __GCC_ATOMIC_CHAR32_T_LOCK_FREE -#define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2 -#endif -#ifndef __x86_64 -#define __x86_64 1 -#endif -#ifndef __cpp_variadic_templates -#define __cpp_variadic_templates 200704 -#endif -#ifndef __UINT_FAST64_MAX__ -#define __UINT_FAST64_MAX__ 0xffffffffffffffffUL -#endif -#ifndef __SIG_ATOMIC_TYPE__ -#define __SIG_ATOMIC_TYPE__ int -#endif -#ifndef __DBL_MIN_10_EXP__ -#define __DBL_MIN_10_EXP__ (-307) -#endif -#ifndef __FINITE_MATH_ONLY__ -#define __FINITE_MATH_ONLY__ 0 -#endif -#ifndef __cpp_variable_templates -#define __cpp_variable_templates 201304 -#endif -#ifndef __GNUC_PATCHLEVEL__ -#define __GNUC_PATCHLEVEL__ 0 -#endif -#ifndef __UINT_FAST8_MAX__ -#define __UINT_FAST8_MAX__ 0xff -#endif -#ifndef __DEC64_MAX_EXP__ -#define __DEC64_MAX_EXP__ 385 -#endif -#ifndef __UINT_LEAST64_MAX__ -#define __UINT_LEAST64_MAX__ 0xffffffffffffffffUL -#endif -#ifndef __SHRT_MAX__ -#define __SHRT_MAX__ 0x7fff -#endif -#ifndef __LDBL_MAX__ -#define __LDBL_MAX__ 1.18973149535723176502e+4932L -#endif -#ifndef __UINT_LEAST8_MAX__ -#define __UINT_LEAST8_MAX__ 0xff -#endif -#ifndef __GCC_ATOMIC_BOOL_LOCK_FREE -#define __GCC_ATOMIC_BOOL_LOCK_FREE 2 -#endif -#ifndef __UINTMAX_TYPE__ -#define __UINTMAX_TYPE__ long unsigned int -#endif -#ifndef __linux -#define __linux 1 -#endif -#ifndef __DEC32_EPSILON__ -#define __DEC32_EPSILON__ 1E-6DF -#endif -#ifndef __unix -#define __unix 1 -#endif -#ifndef __UINT32_MAX__ -#define __UINT32_MAX__ 0xffffffffU -#endif -#if !defined(__GXX_EXPERIMENTAL_CXX0X__) && defined(__SYSPROGS_CODESENSE__) -#define __GXX_EXPERIMENTAL_CXX0X__ 1 -#endif -#ifndef __LDBL_MAX_EXP__ -#define __LDBL_MAX_EXP__ 16384 -#endif -#ifndef __WINT_MIN__ -#define __WINT_MIN__ 0U -#endif -#ifndef __linux__ -#define __linux__ 1 -#endif -#ifndef __SCHAR_MAX__ -#define __SCHAR_MAX__ 0x7f -#endif -#ifndef __WCHAR_MIN__ -#define __WCHAR_MIN__ (-__WCHAR_MAX__ - 1) -#endif -#ifndef __DBL_DIG__ -#define __DBL_DIG__ 15 -#endif -#ifndef __GCC_ATOMIC_POINTER_LOCK_FREE -#define __GCC_ATOMIC_POINTER_LOCK_FREE 2 -#endif -#ifndef __SIZEOF_INT__ -#define __SIZEOF_INT__ 4 -#endif -#ifndef __SIZEOF_POINTER__ -#define __SIZEOF_POINTER__ 8 -#endif -#ifndef __GCC_ATOMIC_CHAR16_T_LOCK_FREE -#define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2 -#endif -#ifndef __USER_LABEL_PREFIX__ -#define __USER_LABEL_PREFIX__ -#endif -#ifndef __STDC_HOSTED__ -#define __STDC_HOSTED__ 1 -#endif -#ifndef __LDBL_HAS_INFINITY__ -#define __LDBL_HAS_INFINITY__ 1 -#endif -#ifndef __FLT_EPSILON__ -#define __FLT_EPSILON__ 1.19209289550781250000e-7F -#endif -#ifndef __GXX_WEAK__ -#define __GXX_WEAK__ 1 -#endif -#ifndef __LDBL_MIN__ -#define __LDBL_MIN__ 3.36210314311209350626e-4932L -#endif -#ifndef __DEC32_MAX__ -#define __DEC32_MAX__ 9.999999E96DF -#endif -#ifndef __INT32_MAX__ -#define __INT32_MAX__ 0x7fffffff -#endif -#ifndef __SIZEOF_LONG__ -#define __SIZEOF_LONG__ 8 -#endif -#ifndef __STDC_IEC_559__ -#define __STDC_IEC_559__ 1 -#endif -#ifndef __STDC_ISO_10646__ -#define __STDC_ISO_10646__ 201605L -#endif -#ifndef __DECIMAL_DIG__ -#define __DECIMAL_DIG__ 21 -#endif -#ifndef __gnu_linux__ -#define __gnu_linux__ 1 -#endif -#ifndef __LDBL_HAS_QUIET_NAN__ -#define __LDBL_HAS_QUIET_NAN__ 1 -#endif -#ifndef __GNUC__ -#define __GNUC__ 6 -#endif -#ifndef __GXX_RTTI -#define __GXX_RTTI 1 -#endif -#ifndef __pie__ -#define __pie__ 2 -#endif -#ifndef __MMX__ -#define __MMX__ 1 -#endif -#ifndef __cpp_delegating_constructors -#define __cpp_delegating_constructors 200604 -#endif -#ifndef __FLT_HAS_DENORM__ -#define __FLT_HAS_DENORM__ 1 -#endif -#ifndef __SIZEOF_LONG_DOUBLE__ -#define __SIZEOF_LONG_DOUBLE__ 16 -#endif -#ifndef __BIGGEST_ALIGNMENT__ -#define __BIGGEST_ALIGNMENT__ 16 -#endif -#ifndef __STDC_UTF_16__ -#define __STDC_UTF_16__ 1 -#endif -#ifndef __DBL_MAX__ -#define __DBL_MAX__ double(1.79769313486231570815e+308L) -#endif -#ifndef __cpp_raw_strings -#define __cpp_raw_strings 200710 -#endif -#ifndef __INT_FAST32_MAX__ -#define __INT_FAST32_MAX__ 0x7fffffffffffffffL -#endif -#ifndef __DBL_HAS_INFINITY__ -#define __DBL_HAS_INFINITY__ 1 -#endif -#ifndef __INT64_MAX__ -#define __INT64_MAX__ 0x7fffffffffffffffL -#endif -#ifndef __DEC32_MIN_EXP__ -#define __DEC32_MIN_EXP__ (-94) -#endif -#ifndef __INT_FAST16_TYPE__ -#define __INT_FAST16_TYPE__ long int -#endif -#ifndef __LDBL_HAS_DENORM__ -#define __LDBL_HAS_DENORM__ 1 -#endif -//VS2005-2012 treats all files as C++, while VS2013+ can treat C files correctly. -#if defined(_MSC_VER) && (_MSC_VER < 1800 || defined(__cplusplus)) -#undef __cplusplus -#define __cplusplus 201402L -#endif -#ifndef __cpp_ref_qualifiers -#define __cpp_ref_qualifiers 200710 -#endif -#ifndef __DEC128_MAX__ -#define __DEC128_MAX__ 9.999999999999999999999999999999999E6144DL -#endif -#ifndef __INT_LEAST32_MAX__ -#define __INT_LEAST32_MAX__ 0x7fffffff -#endif -#ifndef __DEC32_MIN__ -#define __DEC32_MIN__ 1E-95DF -#endif -#ifndef __DEPRECATED -#define __DEPRECATED 1 -#endif -#ifndef __cpp_rvalue_references -#define __cpp_rvalue_references 200610 -#endif -#ifndef __DBL_MAX_EXP__ -#define __DBL_MAX_EXP__ 1024 -#endif -#ifndef __DEC128_EPSILON__ -#define __DEC128_EPSILON__ 1E-33DL -#endif -#ifndef __SSE2_MATH__ -#define __SSE2_MATH__ 1 -#endif -#ifndef __ATOMIC_HLE_RELEASE -#define __ATOMIC_HLE_RELEASE 131072 -#endif -#ifndef __PTRDIFF_MAX__ -#define __PTRDIFF_MAX__ 0x7fffffffffffffffL -#endif -#ifndef __amd64 -#define __amd64 1 -#endif -#ifndef __STDC_NO_THREADS__ -#define __STDC_NO_THREADS__ 1 -#endif -#ifndef __ATOMIC_HLE_ACQUIRE -#define __ATOMIC_HLE_ACQUIRE 65536 -#endif -#ifndef __GNUG__ -#define __GNUG__ 6 -#endif -#ifndef __LONG_LONG_MAX__ -#define __LONG_LONG_MAX__ 0x7fffffffffffffffLL -#endif -#ifndef __SIZEOF_SIZE_T__ -#define __SIZEOF_SIZE_T__ 8 -#endif -#ifndef __cpp_rvalue_reference -#define __cpp_rvalue_reference 200610 -#endif -#ifndef __cpp_nsdmi -#define __cpp_nsdmi 200809 -#endif -#ifndef __SIZEOF_WINT_T__ -#define __SIZEOF_WINT_T__ 4 -#endif -#ifndef __cpp_initializer_lists -#define __cpp_initializer_lists 200806 -#endif -#ifndef __cpp_hex_float -#define __cpp_hex_float 201603 -#endif -#ifndef __GCC_HAVE_DWARF2_CFI_ASM -#define __GCC_HAVE_DWARF2_CFI_ASM 1 -#endif -#ifndef __GXX_ABI_VERSION -#define __GXX_ABI_VERSION 1010 -#endif -#ifndef __FLT_MIN_EXP__ -#define __FLT_MIN_EXP__ (-125) -#endif -#ifndef __cpp_lambdas -#define __cpp_lambdas 200907 -#endif -#ifndef __INT_FAST64_TYPE__ -#define __INT_FAST64_TYPE__ long int -#endif -#ifndef __DBL_MIN__ -#define __DBL_MIN__ double(2.22507385850720138309e-308L) -#endif -#ifndef __PIE__ -#define __PIE__ 2 -#endif -#ifndef __LP64__ -#define __LP64__ 1 -#endif -#ifndef __DECIMAL_BID_FORMAT__ -#define __DECIMAL_BID_FORMAT__ 1 -#endif -#ifndef __DEC128_MIN__ -#define __DEC128_MIN__ 1E-6143DL -#endif -#ifndef __REGISTER_PREFIX__ -#define __REGISTER_PREFIX__ -#endif -#ifndef __UINT16_MAX__ -#define __UINT16_MAX__ 0xffff -#endif -#ifndef __DBL_HAS_DENORM__ -#define __DBL_HAS_DENORM__ 1 -#endif -#ifndef __UINT8_TYPE__ -#define __UINT8_TYPE__ unsigned char -#endif -#ifndef __NO_INLINE__ -#define __NO_INLINE__ 1 -#endif -#ifndef __FLT_MANT_DIG__ -#define __FLT_MANT_DIG__ 24 -#endif -#ifndef __VERSION__ -#define __VERSION__ "6.3.0 20170516" -#endif -#ifndef __cpp_unicode_characters -#define __cpp_unicode_characters 200704 -#endif -#ifndef _STDC_PREDEF_H -#define _STDC_PREDEF_H 1 -#endif -#ifndef __cpp_decltype_auto -#define __cpp_decltype_auto 201304 -#endif -#ifndef __GCC_ATOMIC_INT_LOCK_FREE -#define __GCC_ATOMIC_INT_LOCK_FREE 2 -#endif -#ifndef __FLOAT_WORD_ORDER__ -#define __FLOAT_WORD_ORDER__ __ORDER_LITTLE_ENDIAN__ -#endif -#ifndef __STDC_IEC_559_COMPLEX__ -#define __STDC_IEC_559_COMPLEX__ 1 -#endif -#ifndef __DEC64_EPSILON__ -#define __DEC64_EPSILON__ 1E-15DD -#endif -#ifndef __ORDER_PDP_ENDIAN__ -#define __ORDER_PDP_ENDIAN__ 3412 -#endif -#ifndef __DEC128_MIN_EXP__ -#define __DEC128_MIN_EXP__ (-6142) -#endif -#ifndef __INT_FAST32_TYPE__ -#define __INT_FAST32_TYPE__ long int -#endif -#ifndef __UINT_LEAST16_TYPE__ -#define __UINT_LEAST16_TYPE__ short unsigned int -#endif -#ifndef unix -#define unix 1 -#endif -#ifndef __INT16_MAX__ -#define __INT16_MAX__ 0x7fff -#endif -#ifndef __cpp_rtti -#define __cpp_rtti 199711 -#endif -#ifndef __SIZE_TYPE__ -#define __SIZE_TYPE__ long unsigned int -#endif -#ifndef __UINT64_MAX__ -#define __UINT64_MAX__ 0xffffffffffffffffUL -#endif -#ifndef __INT8_TYPE__ -#define __INT8_TYPE__ signed char -#endif -#ifndef __cpp_digit_separators -#define __cpp_digit_separators 201309 -#endif -#ifndef __ELF__ -#define __ELF__ 1 -#endif -#ifndef __GCC_ASM_FLAG_OUTPUTS__ -#define __GCC_ASM_FLAG_OUTPUTS__ 1 -#endif -#ifndef __FLT_RADIX__ -#define __FLT_RADIX__ 2 -#endif -#ifndef __INT_LEAST16_TYPE__ -#define __INT_LEAST16_TYPE__ short int -#endif -#ifndef __LDBL_EPSILON__ -#define __LDBL_EPSILON__ 1.08420217248550443401e-19L -#endif -#ifndef __GLIBCXX_BITSIZE_INT_N_0 -#define __GLIBCXX_BITSIZE_INT_N_0 128 -#endif -#ifndef __k8 -#define __k8 1 -#endif -#ifndef __SIG_ATOMIC_MAX__ -#define __SIG_ATOMIC_MAX__ 0x7fffffff -#endif -#ifndef __GCC_ATOMIC_WCHAR_T_LOCK_FREE -#define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2 -#endif -#ifndef __cpp_sized_deallocation -#define __cpp_sized_deallocation 201309 -#endif -#ifndef __SIZEOF_PTRDIFF_T__ -#define __SIZEOF_PTRDIFF_T__ 8 -#endif -#ifndef __x86_64__ -#define __x86_64__ 1 -#endif -#ifndef __DEC32_SUBNORMAL_MIN__ -#define __DEC32_SUBNORMAL_MIN__ 0.000001E-95DF -#endif -#ifndef __INT_FAST16_MAX__ -#define __INT_FAST16_MAX__ 0x7fffffffffffffffL -#endif -#ifndef __UINT_FAST32_MAX__ -#define __UINT_FAST32_MAX__ 0xffffffffffffffffUL -#endif -#ifndef __UINT_LEAST64_TYPE__ -#define __UINT_LEAST64_TYPE__ long unsigned int -#endif -#ifndef __FLT_HAS_QUIET_NAN__ -#define __FLT_HAS_QUIET_NAN__ 1 -#endif -#ifndef __FLT_MAX_10_EXP__ -#define __FLT_MAX_10_EXP__ 38 -#endif -#ifndef __LONG_MAX__ -#define __LONG_MAX__ 0x7fffffffffffffffL -#endif -#ifndef __DEC128_SUBNORMAL_MIN__ -#define __DEC128_SUBNORMAL_MIN__ 0.000000000000000000000000000000001E-6143DL -#endif -#ifndef __FLT_HAS_INFINITY__ -#define __FLT_HAS_INFINITY__ 1 -#endif -#ifndef __cpp_unicode_literals -#define __cpp_unicode_literals 200710 -#endif -#ifndef __UINT_FAST16_TYPE__ -#define __UINT_FAST16_TYPE__ long unsigned int -#endif -#ifndef __DEC64_MAX__ -#define __DEC64_MAX__ 9.999999999999999E384DD -#endif -#ifndef __CHAR16_TYPE__ -#define __CHAR16_TYPE__ short unsigned int -#endif -#ifndef __PRAGMA_REDEFINE_EXTNAME -#define __PRAGMA_REDEFINE_EXTNAME 1 -#endif -#ifndef __SEG_FS -#define __SEG_FS 1 -#endif -#ifndef __INT_LEAST16_MAX__ -#define __INT_LEAST16_MAX__ 0x7fff -#endif -#ifndef __DEC64_MANT_DIG__ -#define __DEC64_MANT_DIG__ 16 -#endif -#ifndef __UINT_LEAST32_MAX__ -#define __UINT_LEAST32_MAX__ 0xffffffffU -#endif -#ifndef __SEG_GS -#define __SEG_GS 1 -#endif -#ifndef __GCC_ATOMIC_LONG_LOCK_FREE -#define __GCC_ATOMIC_LONG_LOCK_FREE 2 -#endif -#ifndef __INT_LEAST64_TYPE__ -#define __INT_LEAST64_TYPE__ long int -#endif -#ifndef __INT16_TYPE__ -#define __INT16_TYPE__ short int -#endif -#ifndef __INT_LEAST8_TYPE__ -#define __INT_LEAST8_TYPE__ signed char -#endif -#ifndef __DEC32_MAX_EXP__ -#define __DEC32_MAX_EXP__ 97 -#endif -#ifndef __INT_FAST8_MAX__ -#define __INT_FAST8_MAX__ 0x7f -#endif -#ifndef __INTPTR_MAX__ -#define __INTPTR_MAX__ 0x7fffffffffffffffL -#endif -#ifndef linux -#define linux 1 -#endif -#ifndef __cpp_range_based_for -#define __cpp_range_based_for 200907 -#endif -#ifndef __SSE2__ -#define __SSE2__ 1 -#endif -#ifndef __EXCEPTIONS -#define __EXCEPTIONS 1 -#endif -#ifndef __LDBL_MANT_DIG__ -#define __LDBL_MANT_DIG__ 64 -#endif -#ifndef __DBL_HAS_QUIET_NAN__ -#define __DBL_HAS_QUIET_NAN__ 1 -#endif -#ifndef __SIG_ATOMIC_MIN__ -#define __SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1) -#endif -#ifndef __code_model_small__ -#define __code_model_small__ 1 -#endif -#ifndef __cpp_return_type_deduction -#define __cpp_return_type_deduction 201304 -#endif -#ifndef __k8__ -#define __k8__ 1 -#endif -#ifndef __INTPTR_TYPE__ -#define __INTPTR_TYPE__ long int -#endif -#ifndef __UINT16_TYPE__ -#define __UINT16_TYPE__ short unsigned int -#endif -#ifndef __WCHAR_TYPE__ -#define __WCHAR_TYPE__ int -#endif -#ifndef __SIZEOF_FLOAT__ -#define __SIZEOF_FLOAT__ 4 -#endif -#ifndef __pic__ -#define __pic__ 2 -#endif -#ifndef __UINTPTR_MAX__ -#define __UINTPTR_MAX__ 0xffffffffffffffffUL -#endif -#ifndef __DEC64_MIN_EXP__ -#define __DEC64_MIN_EXP__ (-382) -#endif -#ifndef __cpp_decltype -#define __cpp_decltype 200707 -#endif -#ifndef __INT_FAST64_MAX__ -#define __INT_FAST64_MAX__ 0x7fffffffffffffffL -#endif -#ifndef __GCC_ATOMIC_TEST_AND_SET_TRUEVAL -#define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1 -#endif -#ifndef __FLT_DIG__ -#define __FLT_DIG__ 6 -#endif -#ifndef __UINT_FAST64_TYPE__ -#define __UINT_FAST64_TYPE__ long unsigned int -#endif -#ifndef __INT_MAX__ -#define __INT_MAX__ 0x7fffffff -#endif -#ifndef __amd64__ -#define __amd64__ 1 -#endif -#ifndef __INT64_TYPE__ -#define __INT64_TYPE__ long int -#endif -#ifndef __FLT_MAX_EXP__ -#define __FLT_MAX_EXP__ 128 -#endif -#ifndef __ORDER_BIG_ENDIAN__ -#define __ORDER_BIG_ENDIAN__ 4321 -#endif -#ifndef __DBL_MANT_DIG__ -#define __DBL_MANT_DIG__ 53 -#endif -#ifndef __cpp_inheriting_constructors -#define __cpp_inheriting_constructors 200802 -#endif -#ifndef __SIZEOF_FLOAT128__ -#define __SIZEOF_FLOAT128__ 16 -#endif -#ifndef __INT_LEAST64_MAX__ -#define __INT_LEAST64_MAX__ 0x7fffffffffffffffL -#endif -#ifndef __DEC64_MIN__ -#define __DEC64_MIN__ 1E-383DD -#endif -#ifndef __WINT_TYPE__ -#define __WINT_TYPE__ unsigned int -#endif -#ifndef __UINT_LEAST32_TYPE__ -#define __UINT_LEAST32_TYPE__ unsigned int -#endif -#ifndef __SIZEOF_SHORT__ -#define __SIZEOF_SHORT__ 2 -#endif -#ifndef __SSE__ -#define __SSE__ 1 -#endif -#ifndef __LDBL_MIN_EXP__ -#define __LDBL_MIN_EXP__ (-16381) -#endif -#ifndef __INT_LEAST8_MAX__ -#define __INT_LEAST8_MAX__ 0x7f -#endif -#ifndef __SIZEOF_INT128__ -#define __SIZEOF_INT128__ 16 -#endif -#ifndef __LDBL_MAX_10_EXP__ -#define __LDBL_MAX_10_EXP__ 4932 -#endif -#ifndef __ATOMIC_RELAXED -#define __ATOMIC_RELAXED 0 -#endif -#ifndef __DBL_EPSILON__ -#define __DBL_EPSILON__ double(2.22044604925031308085e-16L) -#endif -#ifndef _LP64 -#define _LP64 1 -#endif -#ifndef __INT_LEAST32_TYPE__ -#define __INT_LEAST32_TYPE__ int -#endif -#ifndef __SIZEOF_WCHAR_T__ -#define __SIZEOF_WCHAR_T__ 4 -#endif -#ifndef __UINT64_TYPE__ -#define __UINT64_TYPE__ long unsigned int -#endif -#ifndef __INT_FAST8_TYPE__ -#define __INT_FAST8_TYPE__ signed char -#endif -#ifndef __GNUC_STDC_INLINE__ -#define __GNUC_STDC_INLINE__ 1 -#endif -#ifndef __DBL_DECIMAL_DIG__ -#define __DBL_DECIMAL_DIG__ 17 -#endif -#ifndef __STDC_UTF_32__ -#define __STDC_UTF_32__ 1 -#endif -#ifndef __FXSR__ -#define __FXSR__ 1 -#endif -#ifndef __DEC_EVAL_METHOD__ -#define __DEC_EVAL_METHOD__ 2 -#endif -#ifndef __cpp_runtime_arrays -#define __cpp_runtime_arrays 198712 -#endif -#ifndef __INTMAX_MAX__ -#define __INTMAX_MAX__ 0x7fffffffffffffffL -#endif -#ifndef __cpp_alias_templates -#define __cpp_alias_templates 200704 -#endif -#ifndef __BYTE_ORDER__ -#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__ -#endif -#ifndef __FLT_DENORM_MIN__ -#define __FLT_DENORM_MIN__ 1.40129846432481707092e-45F -#endif -#ifndef __INT8_MAX__ -#define __INT8_MAX__ 0x7f -#endif -#ifndef __PIC__ -#define __PIC__ 2 -#endif -#ifndef __UINT_FAST32_TYPE__ -#define __UINT_FAST32_TYPE__ long unsigned int -#endif -#ifndef __CHAR32_TYPE__ -#define __CHAR32_TYPE__ unsigned int -#endif -#ifndef __FLT_MAX__ -#define __FLT_MAX__ 3.40282346638528859812e+38F -#endif -#ifndef __cpp_constexpr -#define __cpp_constexpr 201304 -#endif -#ifndef __INT32_TYPE__ -#define __INT32_TYPE__ int -#endif -#ifndef __SIZEOF_DOUBLE__ -#define __SIZEOF_DOUBLE__ 8 -#endif -#ifndef __cpp_exceptions -#define __cpp_exceptions 199711 -#endif -#ifndef __INTMAX_TYPE__ -#define __INTMAX_TYPE__ long int -#endif -#ifndef __DEC128_MAX_EXP__ -#define __DEC128_MAX_EXP__ 6145 -#endif -#ifndef __ATOMIC_CONSUME -#define __ATOMIC_CONSUME 1 -#endif -#ifndef __GNUC_MINOR__ -#define __GNUC_MINOR__ 3 -#endif -#ifndef __GLIBCXX_TYPE_INT_N_0 -#define __GLIBCXX_TYPE_INT_N_0 __int128 -#endif -#ifndef __UINTMAX_MAX__ -#define __UINTMAX_MAX__ 0xffffffffffffffffUL -#endif -#ifndef __DEC32_MANT_DIG__ -#define __DEC32_MANT_DIG__ 7 -#endif -#ifndef __DBL_MAX_10_EXP__ -#define __DBL_MAX_10_EXP__ 308 -#endif -#ifndef __LDBL_DENORM_MIN__ -#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L -#endif -#ifndef __cpp_generic_lambdas -#define __cpp_generic_lambdas 201304 -#endif -#ifndef __STDC__ -#define __STDC__ 1 -#endif -#ifndef __PTRDIFF_TYPE__ -#define __PTRDIFF_TYPE__ long int -#endif -#ifndef __ATOMIC_SEQ_CST -#define __ATOMIC_SEQ_CST 5 -#endif -#ifndef __UINT32_TYPE__ -#define __UINT32_TYPE__ unsigned int -#endif -#ifndef __UINTPTR_TYPE__ -#define __UINTPTR_TYPE__ long unsigned int -#endif -#ifndef __DEC64_SUBNORMAL_MIN__ -#define __DEC64_SUBNORMAL_MIN__ 0.000000000000001E-383DD -#endif -#ifndef __DEC128_MANT_DIG__ -#define __DEC128_MANT_DIG__ 34 -#endif -#ifndef __LDBL_MIN_10_EXP__ -#define __LDBL_MIN_10_EXP__ (-4931) -#endif -#ifndef __SSE_MATH__ -#define __SSE_MATH__ 1 -#endif -#ifndef __SIZEOF_LONG_LONG__ -#define __SIZEOF_LONG_LONG__ 8 -#endif -#ifndef __cpp_user_defined_literals -#define __cpp_user_defined_literals 200809 -#endif -#ifndef __GCC_ATOMIC_LLONG_LOCK_FREE -#define __GCC_ATOMIC_LLONG_LOCK_FREE 2 -#endif -#ifndef __LDBL_DIG__ -#define __LDBL_DIG__ 18 -#endif -#ifndef __FLT_DECIMAL_DIG__ -#define __FLT_DECIMAL_DIG__ 9 -#endif -#ifndef __UINT_FAST16_MAX__ -#define __UINT_FAST16_MAX__ 0xffffffffffffffffUL -#endif -#ifndef __FLT_MIN_10_EXP__ -#define __FLT_MIN_10_EXP__ (-37) -#endif -#ifndef __GCC_ATOMIC_SHORT_LOCK_FREE -#define __GCC_ATOMIC_SHORT_LOCK_FREE 2 -#endif -#ifndef __UINT_FAST8_TYPE__ -#define __UINT_FAST8_TYPE__ unsigned char -#endif -#ifndef _GNU_SOURCE -#define _GNU_SOURCE 1 -#endif -#ifndef __cpp_init_captures -#define __cpp_init_captures 201304 -#endif -#ifndef __ATOMIC_ACQ_REL -#define __ATOMIC_ACQ_REL 4 -#endif -#ifndef __ATOMIC_RELEASE -#define __ATOMIC_RELEASE 3 -#endif -#endif - -// --- Include directories begin --- // -///usr/include/c++/6 -///usr/include/x86_64-linux-gnu/c++/6 -///usr/include/c++/6/backward -///usr/lib/gcc/x86_64-linux-gnu/6/include -///usr/local/include -///usr/lib/gcc/x86_64-linux-gnu/6/include-fixed -///usr/include/x86_64-linux-gnu -///usr/include -// --- Include directories end --- // - - -// --- Library directories begin --- // -///usr/lib/gcc/x86_64-linux-gnu/6/ -///usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/ -///usr/lib/gcc/x86_64-linux-gnu/6/../../../../lib/ -///lib/x86_64-linux-gnu/ -///lib/../lib/ -///usr/lib/x86_64-linux-gnu/ -///usr/lib/../lib/ -///usr/lib/gcc/x86_64-linux-gnu/6/../../../ -///lib/ -///usr/lib/ -// --- Library directories begin --- // - -#pragma clang diagnostic pop diff --git a/examples/knx-linux-coupler/gcc_Release.h b/examples/knx-linux-coupler/gcc_Release.h deleted file mode 100644 index 5f82ca2..0000000 --- a/examples/knx-linux-coupler/gcc_Release.h +++ /dev/null @@ -1,895 +0,0 @@ -/* - This file is only used by IntelliSense (VisualStudio code suggestion system) - DO NOT INCLUDE THIS FILE FROM YOUR ACTUAL SOURCE FILES. - This file lists the preprocessor macros extracted from your GCC. - It is needed for IntelliSense to parse other header files correctly. -*/ -#if defined(_MSC_VER) || defined (__SYSPROGS_CODESENSE__) -#pragma clang diagnostic push - -#pragma clang diagnostic ignored "-Wreserved-id-macro" -#ifndef __DBL_MIN_EXP__ -#define __DBL_MIN_EXP__ (-1021) -#endif -#ifndef __cpp_attributes -#define __cpp_attributes 200809 -#endif -#ifndef __UINT_LEAST16_MAX__ -#define __UINT_LEAST16_MAX__ 0xffff -#endif -#ifndef __ATOMIC_ACQUIRE -#define __ATOMIC_ACQUIRE 2 -#endif -#ifndef __FLT_MIN__ -#define __FLT_MIN__ 1.17549435082228750797e-38F -#endif -#ifndef __GCC_IEC_559_COMPLEX -#define __GCC_IEC_559_COMPLEX 2 -#endif -#ifndef __cpp_aggregate_nsdmi -#define __cpp_aggregate_nsdmi 201304 -#endif -#ifndef __UINT_LEAST8_TYPE__ -#define __UINT_LEAST8_TYPE__ unsigned char -#endif -#ifndef __SIZEOF_FLOAT80__ -#define __SIZEOF_FLOAT80__ 16 -#endif -#ifndef __CHAR_BIT__ -#define __CHAR_BIT__ 8 -#endif -#ifndef __UINT8_MAX__ -#define __UINT8_MAX__ 0xff -#endif -#ifndef __WINT_MAX__ -#define __WINT_MAX__ 0xffffffffU -#endif -#ifndef __cpp_static_assert -#define __cpp_static_assert 200410 -#endif -#ifndef __ORDER_LITTLE_ENDIAN__ -#define __ORDER_LITTLE_ENDIAN__ 1234 -#endif -#ifndef __SIZE_MAX__ -#define __SIZE_MAX__ 0xffffffffffffffffUL -#endif -#ifndef __WCHAR_MAX__ -#define __WCHAR_MAX__ 0x7fffffff -#endif -#ifndef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 -#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1 -#endif -#ifndef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 -#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1 -#endif -#ifndef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 -#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1 -#endif -#ifndef __DBL_DENORM_MIN__ -#define __DBL_DENORM_MIN__ double(4.94065645841246544177e-324L) -#endif -#ifndef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 -#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1 -#endif -#ifndef __GCC_ATOMIC_CHAR_LOCK_FREE -#define __GCC_ATOMIC_CHAR_LOCK_FREE 2 -#endif -#ifndef __GCC_IEC_559 -#define __GCC_IEC_559 2 -#endif -#ifndef __FLT_EVAL_METHOD__ -#define __FLT_EVAL_METHOD__ 0 -#endif -#ifndef __unix__ -#define __unix__ 1 -#endif -#ifndef __cpp_binary_literals -#define __cpp_binary_literals 201304 -#endif -#ifndef __GCC_ATOMIC_CHAR32_T_LOCK_FREE -#define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2 -#endif -#ifndef __x86_64 -#define __x86_64 1 -#endif -#ifndef __cpp_variadic_templates -#define __cpp_variadic_templates 200704 -#endif -#ifndef __UINT_FAST64_MAX__ -#define __UINT_FAST64_MAX__ 0xffffffffffffffffUL -#endif -#ifndef __SIG_ATOMIC_TYPE__ -#define __SIG_ATOMIC_TYPE__ int -#endif -#ifndef __DBL_MIN_10_EXP__ -#define __DBL_MIN_10_EXP__ (-307) -#endif -#ifndef __FINITE_MATH_ONLY__ -#define __FINITE_MATH_ONLY__ 0 -#endif -#ifndef __cpp_variable_templates -#define __cpp_variable_templates 201304 -#endif -#ifndef __GNUC_PATCHLEVEL__ -#define __GNUC_PATCHLEVEL__ 0 -#endif -#ifndef __UINT_FAST8_MAX__ -#define __UINT_FAST8_MAX__ 0xff -#endif -#ifndef __DEC64_MAX_EXP__ -#define __DEC64_MAX_EXP__ 385 -#endif -#ifndef __UINT_LEAST64_MAX__ -#define __UINT_LEAST64_MAX__ 0xffffffffffffffffUL -#endif -#ifndef __SHRT_MAX__ -#define __SHRT_MAX__ 0x7fff -#endif -#ifndef __LDBL_MAX__ -#define __LDBL_MAX__ 1.18973149535723176502e+4932L -#endif -#ifndef __UINT_LEAST8_MAX__ -#define __UINT_LEAST8_MAX__ 0xff -#endif -#ifndef __GCC_ATOMIC_BOOL_LOCK_FREE -#define __GCC_ATOMIC_BOOL_LOCK_FREE 2 -#endif -#ifndef __UINTMAX_TYPE__ -#define __UINTMAX_TYPE__ long unsigned int -#endif -#ifndef __linux -#define __linux 1 -#endif -#ifndef __DEC32_EPSILON__ -#define __DEC32_EPSILON__ 1E-6DF -#endif -#ifndef __unix -#define __unix 1 -#endif -#ifndef __UINT32_MAX__ -#define __UINT32_MAX__ 0xffffffffU -#endif -#if !defined(__GXX_EXPERIMENTAL_CXX0X__) && defined(__SYSPROGS_CODESENSE__) -#define __GXX_EXPERIMENTAL_CXX0X__ 1 -#endif -#ifndef __LDBL_MAX_EXP__ -#define __LDBL_MAX_EXP__ 16384 -#endif -#ifndef __WINT_MIN__ -#define __WINT_MIN__ 0U -#endif -#ifndef __linux__ -#define __linux__ 1 -#endif -#ifndef __SCHAR_MAX__ -#define __SCHAR_MAX__ 0x7f -#endif -#ifndef __WCHAR_MIN__ -#define __WCHAR_MIN__ (-__WCHAR_MAX__ - 1) -#endif -#ifndef __DBL_DIG__ -#define __DBL_DIG__ 15 -#endif -#ifndef __GCC_ATOMIC_POINTER_LOCK_FREE -#define __GCC_ATOMIC_POINTER_LOCK_FREE 2 -#endif -#ifndef __SIZEOF_INT__ -#define __SIZEOF_INT__ 4 -#endif -#ifndef __SIZEOF_POINTER__ -#define __SIZEOF_POINTER__ 8 -#endif -#ifndef __GCC_ATOMIC_CHAR16_T_LOCK_FREE -#define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2 -#endif -#ifndef __USER_LABEL_PREFIX__ -#define __USER_LABEL_PREFIX__ -#endif -#ifndef __STDC_HOSTED__ -#define __STDC_HOSTED__ 1 -#endif -#ifndef __LDBL_HAS_INFINITY__ -#define __LDBL_HAS_INFINITY__ 1 -#endif -#ifndef __FLT_EPSILON__ -#define __FLT_EPSILON__ 1.19209289550781250000e-7F -#endif -#ifndef __GXX_WEAK__ -#define __GXX_WEAK__ 1 -#endif -#ifndef __LDBL_MIN__ -#define __LDBL_MIN__ 3.36210314311209350626e-4932L -#endif -#ifndef __DEC32_MAX__ -#define __DEC32_MAX__ 9.999999E96DF -#endif -#ifndef __INT32_MAX__ -#define __INT32_MAX__ 0x7fffffff -#endif -#ifndef __SIZEOF_LONG__ -#define __SIZEOF_LONG__ 8 -#endif -#ifndef __STDC_IEC_559__ -#define __STDC_IEC_559__ 1 -#endif -#ifndef __STDC_ISO_10646__ -#define __STDC_ISO_10646__ 201605L -#endif -#ifndef __DECIMAL_DIG__ -#define __DECIMAL_DIG__ 21 -#endif -#ifndef __gnu_linux__ -#define __gnu_linux__ 1 -#endif -#ifndef __LDBL_HAS_QUIET_NAN__ -#define __LDBL_HAS_QUIET_NAN__ 1 -#endif -#ifndef __GNUC__ -#define __GNUC__ 6 -#endif -#ifndef __GXX_RTTI -#define __GXX_RTTI 1 -#endif -#ifndef __pie__ -#define __pie__ 2 -#endif -#ifndef __MMX__ -#define __MMX__ 1 -#endif -#ifndef __cpp_delegating_constructors -#define __cpp_delegating_constructors 200604 -#endif -#ifndef __FLT_HAS_DENORM__ -#define __FLT_HAS_DENORM__ 1 -#endif -#ifndef __SIZEOF_LONG_DOUBLE__ -#define __SIZEOF_LONG_DOUBLE__ 16 -#endif -#ifndef __BIGGEST_ALIGNMENT__ -#define __BIGGEST_ALIGNMENT__ 16 -#endif -#ifndef __STDC_UTF_16__ -#define __STDC_UTF_16__ 1 -#endif -#ifndef __DBL_MAX__ -#define __DBL_MAX__ double(1.79769313486231570815e+308L) -#endif -#ifndef __cpp_raw_strings -#define __cpp_raw_strings 200710 -#endif -#ifndef __INT_FAST32_MAX__ -#define __INT_FAST32_MAX__ 0x7fffffffffffffffL -#endif -#ifndef __DBL_HAS_INFINITY__ -#define __DBL_HAS_INFINITY__ 1 -#endif -#ifndef __INT64_MAX__ -#define __INT64_MAX__ 0x7fffffffffffffffL -#endif -#ifndef __DEC32_MIN_EXP__ -#define __DEC32_MIN_EXP__ (-94) -#endif -#ifndef __INT_FAST16_TYPE__ -#define __INT_FAST16_TYPE__ long int -#endif -#ifndef __LDBL_HAS_DENORM__ -#define __LDBL_HAS_DENORM__ 1 -#endif -//VS2005-2012 treats all files as C++, while VS2013+ can treat C files correctly. -#if defined(_MSC_VER) && (_MSC_VER < 1800 || defined(__cplusplus)) -#undef __cplusplus -#define __cplusplus 201402L -#endif -#ifndef __cpp_ref_qualifiers -#define __cpp_ref_qualifiers 200710 -#endif -#ifndef __DEC128_MAX__ -#define __DEC128_MAX__ 9.999999999999999999999999999999999E6144DL -#endif -#ifndef __INT_LEAST32_MAX__ -#define __INT_LEAST32_MAX__ 0x7fffffff -#endif -#ifndef __DEC32_MIN__ -#define __DEC32_MIN__ 1E-95DF -#endif -#ifndef __DEPRECATED -#define __DEPRECATED 1 -#endif -#ifndef __cpp_rvalue_references -#define __cpp_rvalue_references 200610 -#endif -#ifndef __DBL_MAX_EXP__ -#define __DBL_MAX_EXP__ 1024 -#endif -#ifndef __DEC128_EPSILON__ -#define __DEC128_EPSILON__ 1E-33DL -#endif -#ifndef __SSE2_MATH__ -#define __SSE2_MATH__ 1 -#endif -#ifndef __ATOMIC_HLE_RELEASE -#define __ATOMIC_HLE_RELEASE 131072 -#endif -#ifndef __PTRDIFF_MAX__ -#define __PTRDIFF_MAX__ 0x7fffffffffffffffL -#endif -#ifndef __amd64 -#define __amd64 1 -#endif -#ifndef __STDC_NO_THREADS__ -#define __STDC_NO_THREADS__ 1 -#endif -#ifndef __ATOMIC_HLE_ACQUIRE -#define __ATOMIC_HLE_ACQUIRE 65536 -#endif -#ifndef __GNUG__ -#define __GNUG__ 6 -#endif -#ifndef __LONG_LONG_MAX__ -#define __LONG_LONG_MAX__ 0x7fffffffffffffffLL -#endif -#ifndef __SIZEOF_SIZE_T__ -#define __SIZEOF_SIZE_T__ 8 -#endif -#ifndef __cpp_rvalue_reference -#define __cpp_rvalue_reference 200610 -#endif -#ifndef __cpp_nsdmi -#define __cpp_nsdmi 200809 -#endif -#ifndef __SIZEOF_WINT_T__ -#define __SIZEOF_WINT_T__ 4 -#endif -#ifndef __cpp_initializer_lists -#define __cpp_initializer_lists 200806 -#endif -#ifndef __cpp_hex_float -#define __cpp_hex_float 201603 -#endif -#ifndef __GCC_HAVE_DWARF2_CFI_ASM -#define __GCC_HAVE_DWARF2_CFI_ASM 1 -#endif -#ifndef __GXX_ABI_VERSION -#define __GXX_ABI_VERSION 1010 -#endif -#ifndef __FLT_MIN_EXP__ -#define __FLT_MIN_EXP__ (-125) -#endif -#ifndef __cpp_lambdas -#define __cpp_lambdas 200907 -#endif -#ifndef __INT_FAST64_TYPE__ -#define __INT_FAST64_TYPE__ long int -#endif -#ifndef __DBL_MIN__ -#define __DBL_MIN__ double(2.22507385850720138309e-308L) -#endif -#ifndef __PIE__ -#define __PIE__ 2 -#endif -#ifndef __LP64__ -#define __LP64__ 1 -#endif -#ifndef __DECIMAL_BID_FORMAT__ -#define __DECIMAL_BID_FORMAT__ 1 -#endif -#ifndef __DEC128_MIN__ -#define __DEC128_MIN__ 1E-6143DL -#endif -#ifndef __REGISTER_PREFIX__ -#define __REGISTER_PREFIX__ -#endif -#ifndef __UINT16_MAX__ -#define __UINT16_MAX__ 0xffff -#endif -#ifndef __DBL_HAS_DENORM__ -#define __DBL_HAS_DENORM__ 1 -#endif -#ifndef __UINT8_TYPE__ -#define __UINT8_TYPE__ unsigned char -#endif -#ifndef __NO_INLINE__ -#define __NO_INLINE__ 1 -#endif -#ifndef __FLT_MANT_DIG__ -#define __FLT_MANT_DIG__ 24 -#endif -#ifndef __VERSION__ -#define __VERSION__ "6.3.0 20170516" -#endif -#ifndef __cpp_unicode_characters -#define __cpp_unicode_characters 200704 -#endif -#ifndef _STDC_PREDEF_H -#define _STDC_PREDEF_H 1 -#endif -#ifndef __cpp_decltype_auto -#define __cpp_decltype_auto 201304 -#endif -#ifndef __GCC_ATOMIC_INT_LOCK_FREE -#define __GCC_ATOMIC_INT_LOCK_FREE 2 -#endif -#ifndef __FLOAT_WORD_ORDER__ -#define __FLOAT_WORD_ORDER__ __ORDER_LITTLE_ENDIAN__ -#endif -#ifndef __STDC_IEC_559_COMPLEX__ -#define __STDC_IEC_559_COMPLEX__ 1 -#endif -#ifndef __DEC64_EPSILON__ -#define __DEC64_EPSILON__ 1E-15DD -#endif -#ifndef __ORDER_PDP_ENDIAN__ -#define __ORDER_PDP_ENDIAN__ 3412 -#endif -#ifndef __DEC128_MIN_EXP__ -#define __DEC128_MIN_EXP__ (-6142) -#endif -#ifndef __INT_FAST32_TYPE__ -#define __INT_FAST32_TYPE__ long int -#endif -#ifndef __UINT_LEAST16_TYPE__ -#define __UINT_LEAST16_TYPE__ short unsigned int -#endif -#ifndef unix -#define unix 1 -#endif -#ifndef __INT16_MAX__ -#define __INT16_MAX__ 0x7fff -#endif -#ifndef __cpp_rtti -#define __cpp_rtti 199711 -#endif -#ifndef __SIZE_TYPE__ -#define __SIZE_TYPE__ long unsigned int -#endif -#ifndef __UINT64_MAX__ -#define __UINT64_MAX__ 0xffffffffffffffffUL -#endif -#ifndef __INT8_TYPE__ -#define __INT8_TYPE__ signed char -#endif -#ifndef __cpp_digit_separators -#define __cpp_digit_separators 201309 -#endif -#ifndef __ELF__ -#define __ELF__ 1 -#endif -#ifndef __GCC_ASM_FLAG_OUTPUTS__ -#define __GCC_ASM_FLAG_OUTPUTS__ 1 -#endif -#ifndef __FLT_RADIX__ -#define __FLT_RADIX__ 2 -#endif -#ifndef __INT_LEAST16_TYPE__ -#define __INT_LEAST16_TYPE__ short int -#endif -#ifndef __LDBL_EPSILON__ -#define __LDBL_EPSILON__ 1.08420217248550443401e-19L -#endif -#ifndef __GLIBCXX_BITSIZE_INT_N_0 -#define __GLIBCXX_BITSIZE_INT_N_0 128 -#endif -#ifndef __k8 -#define __k8 1 -#endif -#ifndef __SIG_ATOMIC_MAX__ -#define __SIG_ATOMIC_MAX__ 0x7fffffff -#endif -#ifndef __GCC_ATOMIC_WCHAR_T_LOCK_FREE -#define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2 -#endif -#ifndef __cpp_sized_deallocation -#define __cpp_sized_deallocation 201309 -#endif -#ifndef __SIZEOF_PTRDIFF_T__ -#define __SIZEOF_PTRDIFF_T__ 8 -#endif -#ifndef __x86_64__ -#define __x86_64__ 1 -#endif -#ifndef __DEC32_SUBNORMAL_MIN__ -#define __DEC32_SUBNORMAL_MIN__ 0.000001E-95DF -#endif -#ifndef __INT_FAST16_MAX__ -#define __INT_FAST16_MAX__ 0x7fffffffffffffffL -#endif -#ifndef __UINT_FAST32_MAX__ -#define __UINT_FAST32_MAX__ 0xffffffffffffffffUL -#endif -#ifndef __UINT_LEAST64_TYPE__ -#define __UINT_LEAST64_TYPE__ long unsigned int -#endif -#ifndef __FLT_HAS_QUIET_NAN__ -#define __FLT_HAS_QUIET_NAN__ 1 -#endif -#ifndef __FLT_MAX_10_EXP__ -#define __FLT_MAX_10_EXP__ 38 -#endif -#ifndef __LONG_MAX__ -#define __LONG_MAX__ 0x7fffffffffffffffL -#endif -#ifndef __DEC128_SUBNORMAL_MIN__ -#define __DEC128_SUBNORMAL_MIN__ 0.000000000000000000000000000000001E-6143DL -#endif -#ifndef __FLT_HAS_INFINITY__ -#define __FLT_HAS_INFINITY__ 1 -#endif -#ifndef __cpp_unicode_literals -#define __cpp_unicode_literals 200710 -#endif -#ifndef __UINT_FAST16_TYPE__ -#define __UINT_FAST16_TYPE__ long unsigned int -#endif -#ifndef __DEC64_MAX__ -#define __DEC64_MAX__ 9.999999999999999E384DD -#endif -#ifndef __CHAR16_TYPE__ -#define __CHAR16_TYPE__ short unsigned int -#endif -#ifndef __PRAGMA_REDEFINE_EXTNAME -#define __PRAGMA_REDEFINE_EXTNAME 1 -#endif -#ifndef __SEG_FS -#define __SEG_FS 1 -#endif -#ifndef __INT_LEAST16_MAX__ -#define __INT_LEAST16_MAX__ 0x7fff -#endif -#ifndef __DEC64_MANT_DIG__ -#define __DEC64_MANT_DIG__ 16 -#endif -#ifndef __UINT_LEAST32_MAX__ -#define __UINT_LEAST32_MAX__ 0xffffffffU -#endif -#ifndef __SEG_GS -#define __SEG_GS 1 -#endif -#ifndef __GCC_ATOMIC_LONG_LOCK_FREE -#define __GCC_ATOMIC_LONG_LOCK_FREE 2 -#endif -#ifndef __INT_LEAST64_TYPE__ -#define __INT_LEAST64_TYPE__ long int -#endif -#ifndef __INT16_TYPE__ -#define __INT16_TYPE__ short int -#endif -#ifndef __INT_LEAST8_TYPE__ -#define __INT_LEAST8_TYPE__ signed char -#endif -#ifndef __DEC32_MAX_EXP__ -#define __DEC32_MAX_EXP__ 97 -#endif -#ifndef __INT_FAST8_MAX__ -#define __INT_FAST8_MAX__ 0x7f -#endif -#ifndef __INTPTR_MAX__ -#define __INTPTR_MAX__ 0x7fffffffffffffffL -#endif -#ifndef linux -#define linux 1 -#endif -#ifndef __cpp_range_based_for -#define __cpp_range_based_for 200907 -#endif -#ifndef __SSE2__ -#define __SSE2__ 1 -#endif -#ifndef __EXCEPTIONS -#define __EXCEPTIONS 1 -#endif -#ifndef __LDBL_MANT_DIG__ -#define __LDBL_MANT_DIG__ 64 -#endif -#ifndef __DBL_HAS_QUIET_NAN__ -#define __DBL_HAS_QUIET_NAN__ 1 -#endif -#ifndef __SIG_ATOMIC_MIN__ -#define __SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1) -#endif -#ifndef __code_model_small__ -#define __code_model_small__ 1 -#endif -#ifndef __cpp_return_type_deduction -#define __cpp_return_type_deduction 201304 -#endif -#ifndef __k8__ -#define __k8__ 1 -#endif -#ifndef __INTPTR_TYPE__ -#define __INTPTR_TYPE__ long int -#endif -#ifndef __UINT16_TYPE__ -#define __UINT16_TYPE__ short unsigned int -#endif -#ifndef __WCHAR_TYPE__ -#define __WCHAR_TYPE__ int -#endif -#ifndef __SIZEOF_FLOAT__ -#define __SIZEOF_FLOAT__ 4 -#endif -#ifndef __pic__ -#define __pic__ 2 -#endif -#ifndef __UINTPTR_MAX__ -#define __UINTPTR_MAX__ 0xffffffffffffffffUL -#endif -#ifndef __DEC64_MIN_EXP__ -#define __DEC64_MIN_EXP__ (-382) -#endif -#ifndef __cpp_decltype -#define __cpp_decltype 200707 -#endif -#ifndef __INT_FAST64_MAX__ -#define __INT_FAST64_MAX__ 0x7fffffffffffffffL -#endif -#ifndef __GCC_ATOMIC_TEST_AND_SET_TRUEVAL -#define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1 -#endif -#ifndef __FLT_DIG__ -#define __FLT_DIG__ 6 -#endif -#ifndef __UINT_FAST64_TYPE__ -#define __UINT_FAST64_TYPE__ long unsigned int -#endif -#ifndef __INT_MAX__ -#define __INT_MAX__ 0x7fffffff -#endif -#ifndef __amd64__ -#define __amd64__ 1 -#endif -#ifndef __INT64_TYPE__ -#define __INT64_TYPE__ long int -#endif -#ifndef __FLT_MAX_EXP__ -#define __FLT_MAX_EXP__ 128 -#endif -#ifndef __ORDER_BIG_ENDIAN__ -#define __ORDER_BIG_ENDIAN__ 4321 -#endif -#ifndef __DBL_MANT_DIG__ -#define __DBL_MANT_DIG__ 53 -#endif -#ifndef __cpp_inheriting_constructors -#define __cpp_inheriting_constructors 200802 -#endif -#ifndef __SIZEOF_FLOAT128__ -#define __SIZEOF_FLOAT128__ 16 -#endif -#ifndef __INT_LEAST64_MAX__ -#define __INT_LEAST64_MAX__ 0x7fffffffffffffffL -#endif -#ifndef __DEC64_MIN__ -#define __DEC64_MIN__ 1E-383DD -#endif -#ifndef __WINT_TYPE__ -#define __WINT_TYPE__ unsigned int -#endif -#ifndef __UINT_LEAST32_TYPE__ -#define __UINT_LEAST32_TYPE__ unsigned int -#endif -#ifndef __SIZEOF_SHORT__ -#define __SIZEOF_SHORT__ 2 -#endif -#ifndef __SSE__ -#define __SSE__ 1 -#endif -#ifndef __LDBL_MIN_EXP__ -#define __LDBL_MIN_EXP__ (-16381) -#endif -#ifndef __INT_LEAST8_MAX__ -#define __INT_LEAST8_MAX__ 0x7f -#endif -#ifndef __SIZEOF_INT128__ -#define __SIZEOF_INT128__ 16 -#endif -#ifndef __LDBL_MAX_10_EXP__ -#define __LDBL_MAX_10_EXP__ 4932 -#endif -#ifndef __ATOMIC_RELAXED -#define __ATOMIC_RELAXED 0 -#endif -#ifndef __DBL_EPSILON__ -#define __DBL_EPSILON__ double(2.22044604925031308085e-16L) -#endif -#ifndef _LP64 -#define _LP64 1 -#endif -#ifndef __INT_LEAST32_TYPE__ -#define __INT_LEAST32_TYPE__ int -#endif -#ifndef __SIZEOF_WCHAR_T__ -#define __SIZEOF_WCHAR_T__ 4 -#endif -#ifndef __UINT64_TYPE__ -#define __UINT64_TYPE__ long unsigned int -#endif -#ifndef __INT_FAST8_TYPE__ -#define __INT_FAST8_TYPE__ signed char -#endif -#ifndef __GNUC_STDC_INLINE__ -#define __GNUC_STDC_INLINE__ 1 -#endif -#ifndef __DBL_DECIMAL_DIG__ -#define __DBL_DECIMAL_DIG__ 17 -#endif -#ifndef __STDC_UTF_32__ -#define __STDC_UTF_32__ 1 -#endif -#ifndef __FXSR__ -#define __FXSR__ 1 -#endif -#ifndef __DEC_EVAL_METHOD__ -#define __DEC_EVAL_METHOD__ 2 -#endif -#ifndef __cpp_runtime_arrays -#define __cpp_runtime_arrays 198712 -#endif -#ifndef __INTMAX_MAX__ -#define __INTMAX_MAX__ 0x7fffffffffffffffL -#endif -#ifndef __cpp_alias_templates -#define __cpp_alias_templates 200704 -#endif -#ifndef __BYTE_ORDER__ -#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__ -#endif -#ifndef __FLT_DENORM_MIN__ -#define __FLT_DENORM_MIN__ 1.40129846432481707092e-45F -#endif -#ifndef __INT8_MAX__ -#define __INT8_MAX__ 0x7f -#endif -#ifndef __PIC__ -#define __PIC__ 2 -#endif -#ifndef __UINT_FAST32_TYPE__ -#define __UINT_FAST32_TYPE__ long unsigned int -#endif -#ifndef __CHAR32_TYPE__ -#define __CHAR32_TYPE__ unsigned int -#endif -#ifndef __FLT_MAX__ -#define __FLT_MAX__ 3.40282346638528859812e+38F -#endif -#ifndef __cpp_constexpr -#define __cpp_constexpr 201304 -#endif -#ifndef __INT32_TYPE__ -#define __INT32_TYPE__ int -#endif -#ifndef __SIZEOF_DOUBLE__ -#define __SIZEOF_DOUBLE__ 8 -#endif -#ifndef __cpp_exceptions -#define __cpp_exceptions 199711 -#endif -#ifndef __INTMAX_TYPE__ -#define __INTMAX_TYPE__ long int -#endif -#ifndef __DEC128_MAX_EXP__ -#define __DEC128_MAX_EXP__ 6145 -#endif -#ifndef __ATOMIC_CONSUME -#define __ATOMIC_CONSUME 1 -#endif -#ifndef __GNUC_MINOR__ -#define __GNUC_MINOR__ 3 -#endif -#ifndef __GLIBCXX_TYPE_INT_N_0 -#define __GLIBCXX_TYPE_INT_N_0 __int128 -#endif -#ifndef __UINTMAX_MAX__ -#define __UINTMAX_MAX__ 0xffffffffffffffffUL -#endif -#ifndef __DEC32_MANT_DIG__ -#define __DEC32_MANT_DIG__ 7 -#endif -#ifndef __DBL_MAX_10_EXP__ -#define __DBL_MAX_10_EXP__ 308 -#endif -#ifndef __LDBL_DENORM_MIN__ -#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L -#endif -#ifndef __cpp_generic_lambdas -#define __cpp_generic_lambdas 201304 -#endif -#ifndef __STDC__ -#define __STDC__ 1 -#endif -#ifndef __PTRDIFF_TYPE__ -#define __PTRDIFF_TYPE__ long int -#endif -#ifndef __ATOMIC_SEQ_CST -#define __ATOMIC_SEQ_CST 5 -#endif -#ifndef __UINT32_TYPE__ -#define __UINT32_TYPE__ unsigned int -#endif -#ifndef __UINTPTR_TYPE__ -#define __UINTPTR_TYPE__ long unsigned int -#endif -#ifndef __DEC64_SUBNORMAL_MIN__ -#define __DEC64_SUBNORMAL_MIN__ 0.000000000000001E-383DD -#endif -#ifndef __DEC128_MANT_DIG__ -#define __DEC128_MANT_DIG__ 34 -#endif -#ifndef __LDBL_MIN_10_EXP__ -#define __LDBL_MIN_10_EXP__ (-4931) -#endif -#ifndef __SSE_MATH__ -#define __SSE_MATH__ 1 -#endif -#ifndef __SIZEOF_LONG_LONG__ -#define __SIZEOF_LONG_LONG__ 8 -#endif -#ifndef __cpp_user_defined_literals -#define __cpp_user_defined_literals 200809 -#endif -#ifndef __GCC_ATOMIC_LLONG_LOCK_FREE -#define __GCC_ATOMIC_LLONG_LOCK_FREE 2 -#endif -#ifndef __LDBL_DIG__ -#define __LDBL_DIG__ 18 -#endif -#ifndef __FLT_DECIMAL_DIG__ -#define __FLT_DECIMAL_DIG__ 9 -#endif -#ifndef __UINT_FAST16_MAX__ -#define __UINT_FAST16_MAX__ 0xffffffffffffffffUL -#endif -#ifndef __FLT_MIN_10_EXP__ -#define __FLT_MIN_10_EXP__ (-37) -#endif -#ifndef __GCC_ATOMIC_SHORT_LOCK_FREE -#define __GCC_ATOMIC_SHORT_LOCK_FREE 2 -#endif -#ifndef __UINT_FAST8_TYPE__ -#define __UINT_FAST8_TYPE__ unsigned char -#endif -#ifndef _GNU_SOURCE -#define _GNU_SOURCE 1 -#endif -#ifndef __cpp_init_captures -#define __cpp_init_captures 201304 -#endif -#ifndef __ATOMIC_ACQ_REL -#define __ATOMIC_ACQ_REL 4 -#endif -#ifndef __ATOMIC_RELEASE -#define __ATOMIC_RELEASE 3 -#endif -#ifndef NDEBUG -#define NDEBUG 1 -#endif -#ifndef RELEASE -#define RELEASE 1 -#endif -#endif - -// --- Include directories begin --- // -///usr/include/c++/6 -///usr/include/x86_64-linux-gnu/c++/6 -///usr/include/c++/6/backward -///usr/lib/gcc/x86_64-linux-gnu/6/include -///usr/local/include -///usr/lib/gcc/x86_64-linux-gnu/6/include-fixed -///usr/include/x86_64-linux-gnu -///usr/include -// --- Include directories end --- // - - -// --- Library directories begin --- // -///usr/lib/gcc/x86_64-linux-gnu/6/ -///usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/ -///usr/lib/gcc/x86_64-linux-gnu/6/../../../../lib/ -///lib/x86_64-linux-gnu/ -///lib/../lib/ -///usr/lib/x86_64-linux-gnu/ -///usr/lib/../lib/ -///usr/lib/gcc/x86_64-linux-gnu/6/../../../ -///lib/ -///usr/lib/ -// --- Library directories begin --- // - -#pragma clang diagnostic pop diff --git a/examples/knx-linux-coupler/knx-linux-Debug.vgdbsettings b/examples/knx-linux-coupler/knx-linux-Debug.vgdbsettings deleted file mode 100644 index 5c17819..0000000 --- a/examples/knx-linux-coupler/knx-linux-Debug.vgdbsettings +++ /dev/null @@ -1,179 +0,0 @@ - - - Debug - - - - RemoteUnix - - - Immerlund - SSH - tkunze - - - false - - Suzail - SSH - tkunze - - $(ProjectDir)\..\.. - /home/tkunze/vgdb/knx-linux - - *.cpp - *.h - *.hpp - *.c - *.cc - *.cxx - *.mak - Makefile - *.txt - *.cmake - CMakeLists.txt - *.cmake - - false - true - - true - true - - Outgoing - false - Always - - - false - false - false - false - false - $(ProjectDir) - - - - com.sysprogs.toolchain.default-gcc - - 0 - - - examples/knx-linux - DEBUG - Debug - knx-linux - - false - - BuildMachine - BuiltinShortcut - - $(ToolchainMake) - $(ToolchainMakeArgs) - $(BuildDir) - - - - false - - BuildMachine - BuiltinShortcut - - $(ToolchainCMake) - $(BuildDir) - - - false - false - false - false - RemoveBuildDirectory - - - - - - - - - - - - - Default - - - - true - - - - - True - -DMEDIUM_TYPE=5 - - true - true - - Silent - true - true - true - - true - ..\.clang-format - ClangFormat - - - false - - - - - - - - - false - false - false - false - false - false - false - false - false - - false - false - false - false - false - false - true - false - None - false - false - main - true - false - false - false - 0 - - - $(TargetPath) - 2000 - - - false - Local - false - false - Auto - true - false - - \ No newline at end of file diff --git a/examples/knx-linux-coupler/knx-linux.vcxproj b/examples/knx-linux-coupler/knx-linux.vcxproj deleted file mode 100644 index cdc925d..0000000 --- a/examples/knx-linux-coupler/knx-linux.vcxproj +++ /dev/null @@ -1,188 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - 16.0 - {456D87B3-1DFE-4724-BDEF-17E0FDB55A61} - - - - Makefile - true - v142 - - - Makefile - false - v142 - - - com.sysprogs.toolchain.default-gcc - - - - - - - - - - - - - - - - - - $(LOCALAPPDATA)\VisualGDB\RemoteSourceCache\Suzail\0000\include\c++\6;$(LOCALAPPDATA)\VisualGDB\RemoteSourceCache\Suzail\0000\include\x86_64-linux-gnu\c++\6;$(LOCALAPPDATA)\VisualGDB\RemoteSourceCache\Suzail\0000\include\c++\6\backward;$(LOCALAPPDATA)\VisualGDB\RemoteSourceCache\Suzail\0003\include;$(LOCALAPPDATA)\VisualGDB\RemoteSourceCache\Suzail\0005\include;$(LOCALAPPDATA)\VisualGDB\RemoteSourceCache\Suzail\0004\include-fixed;$(LOCALAPPDATA)\VisualGDB\RemoteSourceCache\Suzail\0000\include\x86_64-linux-gnu;$(LOCALAPPDATA)\VisualGDB\RemoteSourceCache\Suzail\0000\include;..\src;$(NMakeIncludeSearchPath) - $(ProjectDir)\gcc_Debug.h;$(VISUALGDB_DIR)\gcc_compat.h;$(NMakeForcedIncludes) - "$(VISUALGDB_DIR)\VisualGDB.exe" /build "$(ProjectPath)" "/solution:$(SolutionPath)" "/config:$(Configuration)" "/platform:$(Platform)" - "$(VISUALGDB_DIR)\VisualGDB.exe" /clean "$(ProjectPath)" "/solution:$(SolutionPath)" "/config:$(Configuration)" "/platform:$(Platform)" - "$(VISUALGDB_DIR)\VisualGDB.exe" /rebuild "$(ProjectPath)" "/solution:$(SolutionPath)" "/config:$(Configuration)" "/platform:$(Platform)" - $(ProjectDir)knx-linux-Debug.vgdbsettings - - - - __VisualGDB_CFG_Debug;$(NMakePreprocessorDefinitions) - - - $(LOCALAPPDATA)\VisualGDB\RemoteSourceCache\Suzail\0000\include\c++\6;$(LOCALAPPDATA)\VisualGDB\RemoteSourceCache\Suzail\0000\include\x86_64-linux-gnu\c++\6;$(LOCALAPPDATA)\VisualGDB\RemoteSourceCache\Suzail\0000\include\c++\6\backward;$(LOCALAPPDATA)\VisualGDB\RemoteSourceCache\Suzail\0003\include;$(LOCALAPPDATA)\VisualGDB\RemoteSourceCache\Suzail\0005\include;$(LOCALAPPDATA)\VisualGDB\RemoteSourceCache\Suzail\0004\include-fixed;$(LOCALAPPDATA)\VisualGDB\RemoteSourceCache\Suzail\0000\include\x86_64-linux-gnu;$(LOCALAPPDATA)\VisualGDB\RemoteSourceCache\Suzail\0000\include;$(NMakeIncludeSearchPath) - $(ProjectDir)\gcc_Release.h;$(VISUALGDB_DIR)\gcc_compat.h;$(NMakeForcedIncludes) - __VisualGDB_CFG_Release;$(NMakePreprocessorDefinitions) - "$(VISUALGDB_DIR)\VisualGDB.exe" /build "$(ProjectPath)" "/solution:$(SolutionPath)" "/config:$(Configuration)" "/platform:$(Platform)" - "$(VISUALGDB_DIR)\VisualGDB.exe" /clean "$(ProjectPath)" "/solution:$(SolutionPath)" "/config:$(Configuration)" "/platform:$(Platform)" - "$(VISUALGDB_DIR)\VisualGDB.exe" /rebuild "$(ProjectPath)" "/solution:$(SolutionPath)" "/config:$(Configuration)" "/platform:$(Platform)" - $(ProjectDir)knx-linux-Release.vgdbsettings - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/examples/knx-linux-coupler/knx-linux.vcxproj.filters b/examples/knx-linux-coupler/knx-linux.vcxproj.filters deleted file mode 100644 index 6b44be3..0000000 --- a/examples/knx-linux-coupler/knx-linux.vcxproj.filters +++ /dev/null @@ -1,353 +0,0 @@ - - - - - {29de078d-e84a-4e6d-92cb-26384b285546} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {d598f99b-b8fc-4ed9-8a7e-0a047e95dd6a} - h;hpp;hxx;hm;inl;inc;xsd - - - {ca59d480-df76-48f4-984e-06d3c358cbc3} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav - - - {b4d51fcc-4baa-41f7-a703-7beb0174c220} - - - {3dbcfef7-ce75-49d5-bb03-d72ec2dd20bd} - - - {726bfac3-c98a-4508-9595-11dab7ffc9d0} - - - - - Source files - - - VisualGDB settings - - - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files - - - Header files - - - Header files - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - - - Source files - - - Source files - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - \ No newline at end of file diff --git a/examples/knx-linux/.vscode/c_cpp_properties.json b/examples/knx-linux/.vscode/c_cpp_properties.json new file mode 100644 index 0000000..63fab97 --- /dev/null +++ b/examples/knx-linux/.vscode/c_cpp_properties.json @@ -0,0 +1,17 @@ +{ + "configurations": [ + { + "name": "Linux", + "includePath": [ + "${workspaceFolder}", + "../../src" + ], + "defines": [], + "compilerPath": "/usr/bin/gcc", + "cStandard": "gnu11", + "cppStandard": "gnu++14", + "intelliSenseMode": "gcc-arm" + } + ], + "version": 4 +} \ No newline at end of file diff --git a/examples/knx-linux/CMakeSettings.json b/examples/knx-linux/CMakeSettings.json deleted file mode 100644 index 22985a0..0000000 --- a/examples/knx-linux/CMakeSettings.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "configurations": [ - { - "name": "WSL-Debug", - "generator": "Unix Makefiles", - "configurationType": "Debug", - "buildRoot": "${projectDir}\\out\\build\\${name}", - "installRoot": "${projectDir}\\out\\install\\${name}", - "cmakeExecutable": "/usr/bin/cmake", - "cmakeCommandArgs": "", - "buildCommandArgs": "", - "ctestCommandArgs": "", - "inheritEnvironments": [ "linux_x64" ], - "wslPath": "${defaultWSLPath}", - "addressSanitizerRuntimeFlags": "detect_leaks=0", - "variables": [] - } - ] -} \ No newline at end of file diff --git a/examples/knx-linux/gcc_Debug.h b/examples/knx-linux/gcc_Debug.h deleted file mode 100644 index e4f1569..0000000 --- a/examples/knx-linux/gcc_Debug.h +++ /dev/null @@ -1,889 +0,0 @@ -/* - This file is only used by IntelliSense (VisualStudio code suggestion system) - DO NOT INCLUDE THIS FILE FROM YOUR ACTUAL SOURCE FILES. - This file lists the preprocessor macros extracted from your GCC. - It is needed for IntelliSense to parse other header files correctly. -*/ -#if defined(_MSC_VER) || defined (__SYSPROGS_CODESENSE__) -#pragma clang diagnostic push - -#pragma clang diagnostic ignored "-Wreserved-id-macro" -#ifndef __DBL_MIN_EXP__ -#define __DBL_MIN_EXP__ (-1021) -#endif -#ifndef __cpp_attributes -#define __cpp_attributes 200809 -#endif -#ifndef __UINT_LEAST16_MAX__ -#define __UINT_LEAST16_MAX__ 0xffff -#endif -#ifndef __ATOMIC_ACQUIRE -#define __ATOMIC_ACQUIRE 2 -#endif -#ifndef __FLT_MIN__ -#define __FLT_MIN__ 1.17549435082228750797e-38F -#endif -#ifndef __GCC_IEC_559_COMPLEX -#define __GCC_IEC_559_COMPLEX 2 -#endif -#ifndef __cpp_aggregate_nsdmi -#define __cpp_aggregate_nsdmi 201304 -#endif -#ifndef __UINT_LEAST8_TYPE__ -#define __UINT_LEAST8_TYPE__ unsigned char -#endif -#ifndef __SIZEOF_FLOAT80__ -#define __SIZEOF_FLOAT80__ 16 -#endif -#ifndef __CHAR_BIT__ -#define __CHAR_BIT__ 8 -#endif -#ifndef __UINT8_MAX__ -#define __UINT8_MAX__ 0xff -#endif -#ifndef __WINT_MAX__ -#define __WINT_MAX__ 0xffffffffU -#endif -#ifndef __cpp_static_assert -#define __cpp_static_assert 200410 -#endif -#ifndef __ORDER_LITTLE_ENDIAN__ -#define __ORDER_LITTLE_ENDIAN__ 1234 -#endif -#ifndef __SIZE_MAX__ -#define __SIZE_MAX__ 0xffffffffffffffffUL -#endif -#ifndef __WCHAR_MAX__ -#define __WCHAR_MAX__ 0x7fffffff -#endif -#ifndef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 -#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1 -#endif -#ifndef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 -#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1 -#endif -#ifndef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 -#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1 -#endif -#ifndef __DBL_DENORM_MIN__ -#define __DBL_DENORM_MIN__ double(4.94065645841246544177e-324L) -#endif -#ifndef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 -#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1 -#endif -#ifndef __GCC_ATOMIC_CHAR_LOCK_FREE -#define __GCC_ATOMIC_CHAR_LOCK_FREE 2 -#endif -#ifndef __GCC_IEC_559 -#define __GCC_IEC_559 2 -#endif -#ifndef __FLT_EVAL_METHOD__ -#define __FLT_EVAL_METHOD__ 0 -#endif -#ifndef __unix__ -#define __unix__ 1 -#endif -#ifndef __cpp_binary_literals -#define __cpp_binary_literals 201304 -#endif -#ifndef __GCC_ATOMIC_CHAR32_T_LOCK_FREE -#define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2 -#endif -#ifndef __x86_64 -#define __x86_64 1 -#endif -#ifndef __cpp_variadic_templates -#define __cpp_variadic_templates 200704 -#endif -#ifndef __UINT_FAST64_MAX__ -#define __UINT_FAST64_MAX__ 0xffffffffffffffffUL -#endif -#ifndef __SIG_ATOMIC_TYPE__ -#define __SIG_ATOMIC_TYPE__ int -#endif -#ifndef __DBL_MIN_10_EXP__ -#define __DBL_MIN_10_EXP__ (-307) -#endif -#ifndef __FINITE_MATH_ONLY__ -#define __FINITE_MATH_ONLY__ 0 -#endif -#ifndef __cpp_variable_templates -#define __cpp_variable_templates 201304 -#endif -#ifndef __GNUC_PATCHLEVEL__ -#define __GNUC_PATCHLEVEL__ 0 -#endif -#ifndef __UINT_FAST8_MAX__ -#define __UINT_FAST8_MAX__ 0xff -#endif -#ifndef __DEC64_MAX_EXP__ -#define __DEC64_MAX_EXP__ 385 -#endif -#ifndef __UINT_LEAST64_MAX__ -#define __UINT_LEAST64_MAX__ 0xffffffffffffffffUL -#endif -#ifndef __SHRT_MAX__ -#define __SHRT_MAX__ 0x7fff -#endif -#ifndef __LDBL_MAX__ -#define __LDBL_MAX__ 1.18973149535723176502e+4932L -#endif -#ifndef __UINT_LEAST8_MAX__ -#define __UINT_LEAST8_MAX__ 0xff -#endif -#ifndef __GCC_ATOMIC_BOOL_LOCK_FREE -#define __GCC_ATOMIC_BOOL_LOCK_FREE 2 -#endif -#ifndef __UINTMAX_TYPE__ -#define __UINTMAX_TYPE__ long unsigned int -#endif -#ifndef __linux -#define __linux 1 -#endif -#ifndef __DEC32_EPSILON__ -#define __DEC32_EPSILON__ 1E-6DF -#endif -#ifndef __unix -#define __unix 1 -#endif -#ifndef __UINT32_MAX__ -#define __UINT32_MAX__ 0xffffffffU -#endif -#if !defined(__GXX_EXPERIMENTAL_CXX0X__) && defined(__SYSPROGS_CODESENSE__) -#define __GXX_EXPERIMENTAL_CXX0X__ 1 -#endif -#ifndef __LDBL_MAX_EXP__ -#define __LDBL_MAX_EXP__ 16384 -#endif -#ifndef __WINT_MIN__ -#define __WINT_MIN__ 0U -#endif -#ifndef __linux__ -#define __linux__ 1 -#endif -#ifndef __SCHAR_MAX__ -#define __SCHAR_MAX__ 0x7f -#endif -#ifndef __WCHAR_MIN__ -#define __WCHAR_MIN__ (-__WCHAR_MAX__ - 1) -#endif -#ifndef __DBL_DIG__ -#define __DBL_DIG__ 15 -#endif -#ifndef __GCC_ATOMIC_POINTER_LOCK_FREE -#define __GCC_ATOMIC_POINTER_LOCK_FREE 2 -#endif -#ifndef __SIZEOF_INT__ -#define __SIZEOF_INT__ 4 -#endif -#ifndef __SIZEOF_POINTER__ -#define __SIZEOF_POINTER__ 8 -#endif -#ifndef __GCC_ATOMIC_CHAR16_T_LOCK_FREE -#define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2 -#endif -#ifndef __USER_LABEL_PREFIX__ -#define __USER_LABEL_PREFIX__ -#endif -#ifndef __STDC_HOSTED__ -#define __STDC_HOSTED__ 1 -#endif -#ifndef __LDBL_HAS_INFINITY__ -#define __LDBL_HAS_INFINITY__ 1 -#endif -#ifndef __FLT_EPSILON__ -#define __FLT_EPSILON__ 1.19209289550781250000e-7F -#endif -#ifndef __GXX_WEAK__ -#define __GXX_WEAK__ 1 -#endif -#ifndef __LDBL_MIN__ -#define __LDBL_MIN__ 3.36210314311209350626e-4932L -#endif -#ifndef __DEC32_MAX__ -#define __DEC32_MAX__ 9.999999E96DF -#endif -#ifndef __INT32_MAX__ -#define __INT32_MAX__ 0x7fffffff -#endif -#ifndef __SIZEOF_LONG__ -#define __SIZEOF_LONG__ 8 -#endif -#ifndef __STDC_IEC_559__ -#define __STDC_IEC_559__ 1 -#endif -#ifndef __STDC_ISO_10646__ -#define __STDC_ISO_10646__ 201605L -#endif -#ifndef __DECIMAL_DIG__ -#define __DECIMAL_DIG__ 21 -#endif -#ifndef __gnu_linux__ -#define __gnu_linux__ 1 -#endif -#ifndef __LDBL_HAS_QUIET_NAN__ -#define __LDBL_HAS_QUIET_NAN__ 1 -#endif -#ifndef __GNUC__ -#define __GNUC__ 6 -#endif -#ifndef __GXX_RTTI -#define __GXX_RTTI 1 -#endif -#ifndef __pie__ -#define __pie__ 2 -#endif -#ifndef __MMX__ -#define __MMX__ 1 -#endif -#ifndef __cpp_delegating_constructors -#define __cpp_delegating_constructors 200604 -#endif -#ifndef __FLT_HAS_DENORM__ -#define __FLT_HAS_DENORM__ 1 -#endif -#ifndef __SIZEOF_LONG_DOUBLE__ -#define __SIZEOF_LONG_DOUBLE__ 16 -#endif -#ifndef __BIGGEST_ALIGNMENT__ -#define __BIGGEST_ALIGNMENT__ 16 -#endif -#ifndef __STDC_UTF_16__ -#define __STDC_UTF_16__ 1 -#endif -#ifndef __DBL_MAX__ -#define __DBL_MAX__ double(1.79769313486231570815e+308L) -#endif -#ifndef __cpp_raw_strings -#define __cpp_raw_strings 200710 -#endif -#ifndef __INT_FAST32_MAX__ -#define __INT_FAST32_MAX__ 0x7fffffffffffffffL -#endif -#ifndef __DBL_HAS_INFINITY__ -#define __DBL_HAS_INFINITY__ 1 -#endif -#ifndef __INT64_MAX__ -#define __INT64_MAX__ 0x7fffffffffffffffL -#endif -#ifndef __DEC32_MIN_EXP__ -#define __DEC32_MIN_EXP__ (-94) -#endif -#ifndef __INT_FAST16_TYPE__ -#define __INT_FAST16_TYPE__ long int -#endif -#ifndef __LDBL_HAS_DENORM__ -#define __LDBL_HAS_DENORM__ 1 -#endif -//VS2005-2012 treats all files as C++, while VS2013+ can treat C files correctly. -#if defined(_MSC_VER) && (_MSC_VER < 1800 || defined(__cplusplus)) -#undef __cplusplus -#define __cplusplus 201402L -#endif -#ifndef __cpp_ref_qualifiers -#define __cpp_ref_qualifiers 200710 -#endif -#ifndef __DEC128_MAX__ -#define __DEC128_MAX__ 9.999999999999999999999999999999999E6144DL -#endif -#ifndef __INT_LEAST32_MAX__ -#define __INT_LEAST32_MAX__ 0x7fffffff -#endif -#ifndef __DEC32_MIN__ -#define __DEC32_MIN__ 1E-95DF -#endif -#ifndef __DEPRECATED -#define __DEPRECATED 1 -#endif -#ifndef __cpp_rvalue_references -#define __cpp_rvalue_references 200610 -#endif -#ifndef __DBL_MAX_EXP__ -#define __DBL_MAX_EXP__ 1024 -#endif -#ifndef __DEC128_EPSILON__ -#define __DEC128_EPSILON__ 1E-33DL -#endif -#ifndef __SSE2_MATH__ -#define __SSE2_MATH__ 1 -#endif -#ifndef __ATOMIC_HLE_RELEASE -#define __ATOMIC_HLE_RELEASE 131072 -#endif -#ifndef __PTRDIFF_MAX__ -#define __PTRDIFF_MAX__ 0x7fffffffffffffffL -#endif -#ifndef __amd64 -#define __amd64 1 -#endif -#ifndef __STDC_NO_THREADS__ -#define __STDC_NO_THREADS__ 1 -#endif -#ifndef __ATOMIC_HLE_ACQUIRE -#define __ATOMIC_HLE_ACQUIRE 65536 -#endif -#ifndef __GNUG__ -#define __GNUG__ 6 -#endif -#ifndef __LONG_LONG_MAX__ -#define __LONG_LONG_MAX__ 0x7fffffffffffffffLL -#endif -#ifndef __SIZEOF_SIZE_T__ -#define __SIZEOF_SIZE_T__ 8 -#endif -#ifndef __cpp_rvalue_reference -#define __cpp_rvalue_reference 200610 -#endif -#ifndef __cpp_nsdmi -#define __cpp_nsdmi 200809 -#endif -#ifndef __SIZEOF_WINT_T__ -#define __SIZEOF_WINT_T__ 4 -#endif -#ifndef __cpp_initializer_lists -#define __cpp_initializer_lists 200806 -#endif -#ifndef __cpp_hex_float -#define __cpp_hex_float 201603 -#endif -#ifndef __GCC_HAVE_DWARF2_CFI_ASM -#define __GCC_HAVE_DWARF2_CFI_ASM 1 -#endif -#ifndef __GXX_ABI_VERSION -#define __GXX_ABI_VERSION 1010 -#endif -#ifndef __FLT_MIN_EXP__ -#define __FLT_MIN_EXP__ (-125) -#endif -#ifndef __cpp_lambdas -#define __cpp_lambdas 200907 -#endif -#ifndef __INT_FAST64_TYPE__ -#define __INT_FAST64_TYPE__ long int -#endif -#ifndef __DBL_MIN__ -#define __DBL_MIN__ double(2.22507385850720138309e-308L) -#endif -#ifndef __PIE__ -#define __PIE__ 2 -#endif -#ifndef __LP64__ -#define __LP64__ 1 -#endif -#ifndef __DECIMAL_BID_FORMAT__ -#define __DECIMAL_BID_FORMAT__ 1 -#endif -#ifndef __DEC128_MIN__ -#define __DEC128_MIN__ 1E-6143DL -#endif -#ifndef __REGISTER_PREFIX__ -#define __REGISTER_PREFIX__ -#endif -#ifndef __UINT16_MAX__ -#define __UINT16_MAX__ 0xffff -#endif -#ifndef __DBL_HAS_DENORM__ -#define __DBL_HAS_DENORM__ 1 -#endif -#ifndef __UINT8_TYPE__ -#define __UINT8_TYPE__ unsigned char -#endif -#ifndef __NO_INLINE__ -#define __NO_INLINE__ 1 -#endif -#ifndef __FLT_MANT_DIG__ -#define __FLT_MANT_DIG__ 24 -#endif -#ifndef __VERSION__ -#define __VERSION__ "6.3.0 20170516" -#endif -#ifndef __cpp_unicode_characters -#define __cpp_unicode_characters 200704 -#endif -#ifndef _STDC_PREDEF_H -#define _STDC_PREDEF_H 1 -#endif -#ifndef __cpp_decltype_auto -#define __cpp_decltype_auto 201304 -#endif -#ifndef __GCC_ATOMIC_INT_LOCK_FREE -#define __GCC_ATOMIC_INT_LOCK_FREE 2 -#endif -#ifndef __FLOAT_WORD_ORDER__ -#define __FLOAT_WORD_ORDER__ __ORDER_LITTLE_ENDIAN__ -#endif -#ifndef __STDC_IEC_559_COMPLEX__ -#define __STDC_IEC_559_COMPLEX__ 1 -#endif -#ifndef __DEC64_EPSILON__ -#define __DEC64_EPSILON__ 1E-15DD -#endif -#ifndef __ORDER_PDP_ENDIAN__ -#define __ORDER_PDP_ENDIAN__ 3412 -#endif -#ifndef __DEC128_MIN_EXP__ -#define __DEC128_MIN_EXP__ (-6142) -#endif -#ifndef __INT_FAST32_TYPE__ -#define __INT_FAST32_TYPE__ long int -#endif -#ifndef __UINT_LEAST16_TYPE__ -#define __UINT_LEAST16_TYPE__ short unsigned int -#endif -#ifndef unix -#define unix 1 -#endif -#ifndef __INT16_MAX__ -#define __INT16_MAX__ 0x7fff -#endif -#ifndef __cpp_rtti -#define __cpp_rtti 199711 -#endif -#ifndef __SIZE_TYPE__ -#define __SIZE_TYPE__ long unsigned int -#endif -#ifndef __UINT64_MAX__ -#define __UINT64_MAX__ 0xffffffffffffffffUL -#endif -#ifndef __INT8_TYPE__ -#define __INT8_TYPE__ signed char -#endif -#ifndef __cpp_digit_separators -#define __cpp_digit_separators 201309 -#endif -#ifndef __ELF__ -#define __ELF__ 1 -#endif -#ifndef __GCC_ASM_FLAG_OUTPUTS__ -#define __GCC_ASM_FLAG_OUTPUTS__ 1 -#endif -#ifndef __FLT_RADIX__ -#define __FLT_RADIX__ 2 -#endif -#ifndef __INT_LEAST16_TYPE__ -#define __INT_LEAST16_TYPE__ short int -#endif -#ifndef __LDBL_EPSILON__ -#define __LDBL_EPSILON__ 1.08420217248550443401e-19L -#endif -#ifndef __GLIBCXX_BITSIZE_INT_N_0 -#define __GLIBCXX_BITSIZE_INT_N_0 128 -#endif -#ifndef __k8 -#define __k8 1 -#endif -#ifndef __SIG_ATOMIC_MAX__ -#define __SIG_ATOMIC_MAX__ 0x7fffffff -#endif -#ifndef __GCC_ATOMIC_WCHAR_T_LOCK_FREE -#define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2 -#endif -#ifndef __cpp_sized_deallocation -#define __cpp_sized_deallocation 201309 -#endif -#ifndef __SIZEOF_PTRDIFF_T__ -#define __SIZEOF_PTRDIFF_T__ 8 -#endif -#ifndef __x86_64__ -#define __x86_64__ 1 -#endif -#ifndef __DEC32_SUBNORMAL_MIN__ -#define __DEC32_SUBNORMAL_MIN__ 0.000001E-95DF -#endif -#ifndef __INT_FAST16_MAX__ -#define __INT_FAST16_MAX__ 0x7fffffffffffffffL -#endif -#ifndef __UINT_FAST32_MAX__ -#define __UINT_FAST32_MAX__ 0xffffffffffffffffUL -#endif -#ifndef __UINT_LEAST64_TYPE__ -#define __UINT_LEAST64_TYPE__ long unsigned int -#endif -#ifndef __FLT_HAS_QUIET_NAN__ -#define __FLT_HAS_QUIET_NAN__ 1 -#endif -#ifndef __FLT_MAX_10_EXP__ -#define __FLT_MAX_10_EXP__ 38 -#endif -#ifndef __LONG_MAX__ -#define __LONG_MAX__ 0x7fffffffffffffffL -#endif -#ifndef __DEC128_SUBNORMAL_MIN__ -#define __DEC128_SUBNORMAL_MIN__ 0.000000000000000000000000000000001E-6143DL -#endif -#ifndef __FLT_HAS_INFINITY__ -#define __FLT_HAS_INFINITY__ 1 -#endif -#ifndef __cpp_unicode_literals -#define __cpp_unicode_literals 200710 -#endif -#ifndef __UINT_FAST16_TYPE__ -#define __UINT_FAST16_TYPE__ long unsigned int -#endif -#ifndef __DEC64_MAX__ -#define __DEC64_MAX__ 9.999999999999999E384DD -#endif -#ifndef __CHAR16_TYPE__ -#define __CHAR16_TYPE__ short unsigned int -#endif -#ifndef __PRAGMA_REDEFINE_EXTNAME -#define __PRAGMA_REDEFINE_EXTNAME 1 -#endif -#ifndef __SEG_FS -#define __SEG_FS 1 -#endif -#ifndef __INT_LEAST16_MAX__ -#define __INT_LEAST16_MAX__ 0x7fff -#endif -#ifndef __DEC64_MANT_DIG__ -#define __DEC64_MANT_DIG__ 16 -#endif -#ifndef __UINT_LEAST32_MAX__ -#define __UINT_LEAST32_MAX__ 0xffffffffU -#endif -#ifndef __SEG_GS -#define __SEG_GS 1 -#endif -#ifndef __GCC_ATOMIC_LONG_LOCK_FREE -#define __GCC_ATOMIC_LONG_LOCK_FREE 2 -#endif -#ifndef __INT_LEAST64_TYPE__ -#define __INT_LEAST64_TYPE__ long int -#endif -#ifndef __INT16_TYPE__ -#define __INT16_TYPE__ short int -#endif -#ifndef __INT_LEAST8_TYPE__ -#define __INT_LEAST8_TYPE__ signed char -#endif -#ifndef __DEC32_MAX_EXP__ -#define __DEC32_MAX_EXP__ 97 -#endif -#ifndef __INT_FAST8_MAX__ -#define __INT_FAST8_MAX__ 0x7f -#endif -#ifndef __INTPTR_MAX__ -#define __INTPTR_MAX__ 0x7fffffffffffffffL -#endif -#ifndef linux -#define linux 1 -#endif -#ifndef __cpp_range_based_for -#define __cpp_range_based_for 200907 -#endif -#ifndef __SSE2__ -#define __SSE2__ 1 -#endif -#ifndef __EXCEPTIONS -#define __EXCEPTIONS 1 -#endif -#ifndef __LDBL_MANT_DIG__ -#define __LDBL_MANT_DIG__ 64 -#endif -#ifndef __DBL_HAS_QUIET_NAN__ -#define __DBL_HAS_QUIET_NAN__ 1 -#endif -#ifndef __SIG_ATOMIC_MIN__ -#define __SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1) -#endif -#ifndef __code_model_small__ -#define __code_model_small__ 1 -#endif -#ifndef __cpp_return_type_deduction -#define __cpp_return_type_deduction 201304 -#endif -#ifndef __k8__ -#define __k8__ 1 -#endif -#ifndef __INTPTR_TYPE__ -#define __INTPTR_TYPE__ long int -#endif -#ifndef __UINT16_TYPE__ -#define __UINT16_TYPE__ short unsigned int -#endif -#ifndef __WCHAR_TYPE__ -#define __WCHAR_TYPE__ int -#endif -#ifndef __SIZEOF_FLOAT__ -#define __SIZEOF_FLOAT__ 4 -#endif -#ifndef __pic__ -#define __pic__ 2 -#endif -#ifndef __UINTPTR_MAX__ -#define __UINTPTR_MAX__ 0xffffffffffffffffUL -#endif -#ifndef __DEC64_MIN_EXP__ -#define __DEC64_MIN_EXP__ (-382) -#endif -#ifndef __cpp_decltype -#define __cpp_decltype 200707 -#endif -#ifndef __INT_FAST64_MAX__ -#define __INT_FAST64_MAX__ 0x7fffffffffffffffL -#endif -#ifndef __GCC_ATOMIC_TEST_AND_SET_TRUEVAL -#define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1 -#endif -#ifndef __FLT_DIG__ -#define __FLT_DIG__ 6 -#endif -#ifndef __UINT_FAST64_TYPE__ -#define __UINT_FAST64_TYPE__ long unsigned int -#endif -#ifndef __INT_MAX__ -#define __INT_MAX__ 0x7fffffff -#endif -#ifndef __amd64__ -#define __amd64__ 1 -#endif -#ifndef __INT64_TYPE__ -#define __INT64_TYPE__ long int -#endif -#ifndef __FLT_MAX_EXP__ -#define __FLT_MAX_EXP__ 128 -#endif -#ifndef __ORDER_BIG_ENDIAN__ -#define __ORDER_BIG_ENDIAN__ 4321 -#endif -#ifndef __DBL_MANT_DIG__ -#define __DBL_MANT_DIG__ 53 -#endif -#ifndef __cpp_inheriting_constructors -#define __cpp_inheriting_constructors 200802 -#endif -#ifndef __SIZEOF_FLOAT128__ -#define __SIZEOF_FLOAT128__ 16 -#endif -#ifndef __INT_LEAST64_MAX__ -#define __INT_LEAST64_MAX__ 0x7fffffffffffffffL -#endif -#ifndef __DEC64_MIN__ -#define __DEC64_MIN__ 1E-383DD -#endif -#ifndef __WINT_TYPE__ -#define __WINT_TYPE__ unsigned int -#endif -#ifndef __UINT_LEAST32_TYPE__ -#define __UINT_LEAST32_TYPE__ unsigned int -#endif -#ifndef __SIZEOF_SHORT__ -#define __SIZEOF_SHORT__ 2 -#endif -#ifndef __SSE__ -#define __SSE__ 1 -#endif -#ifndef __LDBL_MIN_EXP__ -#define __LDBL_MIN_EXP__ (-16381) -#endif -#ifndef __INT_LEAST8_MAX__ -#define __INT_LEAST8_MAX__ 0x7f -#endif -#ifndef __SIZEOF_INT128__ -#define __SIZEOF_INT128__ 16 -#endif -#ifndef __LDBL_MAX_10_EXP__ -#define __LDBL_MAX_10_EXP__ 4932 -#endif -#ifndef __ATOMIC_RELAXED -#define __ATOMIC_RELAXED 0 -#endif -#ifndef __DBL_EPSILON__ -#define __DBL_EPSILON__ double(2.22044604925031308085e-16L) -#endif -#ifndef _LP64 -#define _LP64 1 -#endif -#ifndef __INT_LEAST32_TYPE__ -#define __INT_LEAST32_TYPE__ int -#endif -#ifndef __SIZEOF_WCHAR_T__ -#define __SIZEOF_WCHAR_T__ 4 -#endif -#ifndef __UINT64_TYPE__ -#define __UINT64_TYPE__ long unsigned int -#endif -#ifndef __INT_FAST8_TYPE__ -#define __INT_FAST8_TYPE__ signed char -#endif -#ifndef __GNUC_STDC_INLINE__ -#define __GNUC_STDC_INLINE__ 1 -#endif -#ifndef __DBL_DECIMAL_DIG__ -#define __DBL_DECIMAL_DIG__ 17 -#endif -#ifndef __STDC_UTF_32__ -#define __STDC_UTF_32__ 1 -#endif -#ifndef __FXSR__ -#define __FXSR__ 1 -#endif -#ifndef __DEC_EVAL_METHOD__ -#define __DEC_EVAL_METHOD__ 2 -#endif -#ifndef __cpp_runtime_arrays -#define __cpp_runtime_arrays 198712 -#endif -#ifndef __INTMAX_MAX__ -#define __INTMAX_MAX__ 0x7fffffffffffffffL -#endif -#ifndef __cpp_alias_templates -#define __cpp_alias_templates 200704 -#endif -#ifndef __BYTE_ORDER__ -#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__ -#endif -#ifndef __FLT_DENORM_MIN__ -#define __FLT_DENORM_MIN__ 1.40129846432481707092e-45F -#endif -#ifndef __INT8_MAX__ -#define __INT8_MAX__ 0x7f -#endif -#ifndef __PIC__ -#define __PIC__ 2 -#endif -#ifndef __UINT_FAST32_TYPE__ -#define __UINT_FAST32_TYPE__ long unsigned int -#endif -#ifndef __CHAR32_TYPE__ -#define __CHAR32_TYPE__ unsigned int -#endif -#ifndef __FLT_MAX__ -#define __FLT_MAX__ 3.40282346638528859812e+38F -#endif -#ifndef __cpp_constexpr -#define __cpp_constexpr 201304 -#endif -#ifndef __INT32_TYPE__ -#define __INT32_TYPE__ int -#endif -#ifndef __SIZEOF_DOUBLE__ -#define __SIZEOF_DOUBLE__ 8 -#endif -#ifndef __cpp_exceptions -#define __cpp_exceptions 199711 -#endif -#ifndef __INTMAX_TYPE__ -#define __INTMAX_TYPE__ long int -#endif -#ifndef __DEC128_MAX_EXP__ -#define __DEC128_MAX_EXP__ 6145 -#endif -#ifndef __ATOMIC_CONSUME -#define __ATOMIC_CONSUME 1 -#endif -#ifndef __GNUC_MINOR__ -#define __GNUC_MINOR__ 3 -#endif -#ifndef __GLIBCXX_TYPE_INT_N_0 -#define __GLIBCXX_TYPE_INT_N_0 __int128 -#endif -#ifndef __UINTMAX_MAX__ -#define __UINTMAX_MAX__ 0xffffffffffffffffUL -#endif -#ifndef __DEC32_MANT_DIG__ -#define __DEC32_MANT_DIG__ 7 -#endif -#ifndef __DBL_MAX_10_EXP__ -#define __DBL_MAX_10_EXP__ 308 -#endif -#ifndef __LDBL_DENORM_MIN__ -#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L -#endif -#ifndef __cpp_generic_lambdas -#define __cpp_generic_lambdas 201304 -#endif -#ifndef __STDC__ -#define __STDC__ 1 -#endif -#ifndef __PTRDIFF_TYPE__ -#define __PTRDIFF_TYPE__ long int -#endif -#ifndef __ATOMIC_SEQ_CST -#define __ATOMIC_SEQ_CST 5 -#endif -#ifndef __UINT32_TYPE__ -#define __UINT32_TYPE__ unsigned int -#endif -#ifndef __UINTPTR_TYPE__ -#define __UINTPTR_TYPE__ long unsigned int -#endif -#ifndef __DEC64_SUBNORMAL_MIN__ -#define __DEC64_SUBNORMAL_MIN__ 0.000000000000001E-383DD -#endif -#ifndef __DEC128_MANT_DIG__ -#define __DEC128_MANT_DIG__ 34 -#endif -#ifndef __LDBL_MIN_10_EXP__ -#define __LDBL_MIN_10_EXP__ (-4931) -#endif -#ifndef __SSE_MATH__ -#define __SSE_MATH__ 1 -#endif -#ifndef __SIZEOF_LONG_LONG__ -#define __SIZEOF_LONG_LONG__ 8 -#endif -#ifndef __cpp_user_defined_literals -#define __cpp_user_defined_literals 200809 -#endif -#ifndef __GCC_ATOMIC_LLONG_LOCK_FREE -#define __GCC_ATOMIC_LLONG_LOCK_FREE 2 -#endif -#ifndef __LDBL_DIG__ -#define __LDBL_DIG__ 18 -#endif -#ifndef __FLT_DECIMAL_DIG__ -#define __FLT_DECIMAL_DIG__ 9 -#endif -#ifndef __UINT_FAST16_MAX__ -#define __UINT_FAST16_MAX__ 0xffffffffffffffffUL -#endif -#ifndef __FLT_MIN_10_EXP__ -#define __FLT_MIN_10_EXP__ (-37) -#endif -#ifndef __GCC_ATOMIC_SHORT_LOCK_FREE -#define __GCC_ATOMIC_SHORT_LOCK_FREE 2 -#endif -#ifndef __UINT_FAST8_TYPE__ -#define __UINT_FAST8_TYPE__ unsigned char -#endif -#ifndef _GNU_SOURCE -#define _GNU_SOURCE 1 -#endif -#ifndef __cpp_init_captures -#define __cpp_init_captures 201304 -#endif -#ifndef __ATOMIC_ACQ_REL -#define __ATOMIC_ACQ_REL 4 -#endif -#ifndef __ATOMIC_RELEASE -#define __ATOMIC_RELEASE 3 -#endif -#endif - -// --- Include directories begin --- // -///usr/include/c++/6 -///usr/include/x86_64-linux-gnu/c++/6 -///usr/include/c++/6/backward -///usr/lib/gcc/x86_64-linux-gnu/6/include -///usr/local/include -///usr/lib/gcc/x86_64-linux-gnu/6/include-fixed -///usr/include/x86_64-linux-gnu -///usr/include -// --- Include directories end --- // - - -// --- Library directories begin --- // -///usr/lib/gcc/x86_64-linux-gnu/6/ -///usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/ -///usr/lib/gcc/x86_64-linux-gnu/6/../../../../lib/ -///lib/x86_64-linux-gnu/ -///lib/../lib/ -///usr/lib/x86_64-linux-gnu/ -///usr/lib/../lib/ -///usr/lib/gcc/x86_64-linux-gnu/6/../../../ -///lib/ -///usr/lib/ -// --- Library directories begin --- // - -#pragma clang diagnostic pop diff --git a/examples/knx-linux/gcc_Release.h b/examples/knx-linux/gcc_Release.h deleted file mode 100644 index 5f82ca2..0000000 --- a/examples/knx-linux/gcc_Release.h +++ /dev/null @@ -1,895 +0,0 @@ -/* - This file is only used by IntelliSense (VisualStudio code suggestion system) - DO NOT INCLUDE THIS FILE FROM YOUR ACTUAL SOURCE FILES. - This file lists the preprocessor macros extracted from your GCC. - It is needed for IntelliSense to parse other header files correctly. -*/ -#if defined(_MSC_VER) || defined (__SYSPROGS_CODESENSE__) -#pragma clang diagnostic push - -#pragma clang diagnostic ignored "-Wreserved-id-macro" -#ifndef __DBL_MIN_EXP__ -#define __DBL_MIN_EXP__ (-1021) -#endif -#ifndef __cpp_attributes -#define __cpp_attributes 200809 -#endif -#ifndef __UINT_LEAST16_MAX__ -#define __UINT_LEAST16_MAX__ 0xffff -#endif -#ifndef __ATOMIC_ACQUIRE -#define __ATOMIC_ACQUIRE 2 -#endif -#ifndef __FLT_MIN__ -#define __FLT_MIN__ 1.17549435082228750797e-38F -#endif -#ifndef __GCC_IEC_559_COMPLEX -#define __GCC_IEC_559_COMPLEX 2 -#endif -#ifndef __cpp_aggregate_nsdmi -#define __cpp_aggregate_nsdmi 201304 -#endif -#ifndef __UINT_LEAST8_TYPE__ -#define __UINT_LEAST8_TYPE__ unsigned char -#endif -#ifndef __SIZEOF_FLOAT80__ -#define __SIZEOF_FLOAT80__ 16 -#endif -#ifndef __CHAR_BIT__ -#define __CHAR_BIT__ 8 -#endif -#ifndef __UINT8_MAX__ -#define __UINT8_MAX__ 0xff -#endif -#ifndef __WINT_MAX__ -#define __WINT_MAX__ 0xffffffffU -#endif -#ifndef __cpp_static_assert -#define __cpp_static_assert 200410 -#endif -#ifndef __ORDER_LITTLE_ENDIAN__ -#define __ORDER_LITTLE_ENDIAN__ 1234 -#endif -#ifndef __SIZE_MAX__ -#define __SIZE_MAX__ 0xffffffffffffffffUL -#endif -#ifndef __WCHAR_MAX__ -#define __WCHAR_MAX__ 0x7fffffff -#endif -#ifndef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 -#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1 -#endif -#ifndef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 -#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1 -#endif -#ifndef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 -#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1 -#endif -#ifndef __DBL_DENORM_MIN__ -#define __DBL_DENORM_MIN__ double(4.94065645841246544177e-324L) -#endif -#ifndef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 -#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1 -#endif -#ifndef __GCC_ATOMIC_CHAR_LOCK_FREE -#define __GCC_ATOMIC_CHAR_LOCK_FREE 2 -#endif -#ifndef __GCC_IEC_559 -#define __GCC_IEC_559 2 -#endif -#ifndef __FLT_EVAL_METHOD__ -#define __FLT_EVAL_METHOD__ 0 -#endif -#ifndef __unix__ -#define __unix__ 1 -#endif -#ifndef __cpp_binary_literals -#define __cpp_binary_literals 201304 -#endif -#ifndef __GCC_ATOMIC_CHAR32_T_LOCK_FREE -#define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2 -#endif -#ifndef __x86_64 -#define __x86_64 1 -#endif -#ifndef __cpp_variadic_templates -#define __cpp_variadic_templates 200704 -#endif -#ifndef __UINT_FAST64_MAX__ -#define __UINT_FAST64_MAX__ 0xffffffffffffffffUL -#endif -#ifndef __SIG_ATOMIC_TYPE__ -#define __SIG_ATOMIC_TYPE__ int -#endif -#ifndef __DBL_MIN_10_EXP__ -#define __DBL_MIN_10_EXP__ (-307) -#endif -#ifndef __FINITE_MATH_ONLY__ -#define __FINITE_MATH_ONLY__ 0 -#endif -#ifndef __cpp_variable_templates -#define __cpp_variable_templates 201304 -#endif -#ifndef __GNUC_PATCHLEVEL__ -#define __GNUC_PATCHLEVEL__ 0 -#endif -#ifndef __UINT_FAST8_MAX__ -#define __UINT_FAST8_MAX__ 0xff -#endif -#ifndef __DEC64_MAX_EXP__ -#define __DEC64_MAX_EXP__ 385 -#endif -#ifndef __UINT_LEAST64_MAX__ -#define __UINT_LEAST64_MAX__ 0xffffffffffffffffUL -#endif -#ifndef __SHRT_MAX__ -#define __SHRT_MAX__ 0x7fff -#endif -#ifndef __LDBL_MAX__ -#define __LDBL_MAX__ 1.18973149535723176502e+4932L -#endif -#ifndef __UINT_LEAST8_MAX__ -#define __UINT_LEAST8_MAX__ 0xff -#endif -#ifndef __GCC_ATOMIC_BOOL_LOCK_FREE -#define __GCC_ATOMIC_BOOL_LOCK_FREE 2 -#endif -#ifndef __UINTMAX_TYPE__ -#define __UINTMAX_TYPE__ long unsigned int -#endif -#ifndef __linux -#define __linux 1 -#endif -#ifndef __DEC32_EPSILON__ -#define __DEC32_EPSILON__ 1E-6DF -#endif -#ifndef __unix -#define __unix 1 -#endif -#ifndef __UINT32_MAX__ -#define __UINT32_MAX__ 0xffffffffU -#endif -#if !defined(__GXX_EXPERIMENTAL_CXX0X__) && defined(__SYSPROGS_CODESENSE__) -#define __GXX_EXPERIMENTAL_CXX0X__ 1 -#endif -#ifndef __LDBL_MAX_EXP__ -#define __LDBL_MAX_EXP__ 16384 -#endif -#ifndef __WINT_MIN__ -#define __WINT_MIN__ 0U -#endif -#ifndef __linux__ -#define __linux__ 1 -#endif -#ifndef __SCHAR_MAX__ -#define __SCHAR_MAX__ 0x7f -#endif -#ifndef __WCHAR_MIN__ -#define __WCHAR_MIN__ (-__WCHAR_MAX__ - 1) -#endif -#ifndef __DBL_DIG__ -#define __DBL_DIG__ 15 -#endif -#ifndef __GCC_ATOMIC_POINTER_LOCK_FREE -#define __GCC_ATOMIC_POINTER_LOCK_FREE 2 -#endif -#ifndef __SIZEOF_INT__ -#define __SIZEOF_INT__ 4 -#endif -#ifndef __SIZEOF_POINTER__ -#define __SIZEOF_POINTER__ 8 -#endif -#ifndef __GCC_ATOMIC_CHAR16_T_LOCK_FREE -#define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2 -#endif -#ifndef __USER_LABEL_PREFIX__ -#define __USER_LABEL_PREFIX__ -#endif -#ifndef __STDC_HOSTED__ -#define __STDC_HOSTED__ 1 -#endif -#ifndef __LDBL_HAS_INFINITY__ -#define __LDBL_HAS_INFINITY__ 1 -#endif -#ifndef __FLT_EPSILON__ -#define __FLT_EPSILON__ 1.19209289550781250000e-7F -#endif -#ifndef __GXX_WEAK__ -#define __GXX_WEAK__ 1 -#endif -#ifndef __LDBL_MIN__ -#define __LDBL_MIN__ 3.36210314311209350626e-4932L -#endif -#ifndef __DEC32_MAX__ -#define __DEC32_MAX__ 9.999999E96DF -#endif -#ifndef __INT32_MAX__ -#define __INT32_MAX__ 0x7fffffff -#endif -#ifndef __SIZEOF_LONG__ -#define __SIZEOF_LONG__ 8 -#endif -#ifndef __STDC_IEC_559__ -#define __STDC_IEC_559__ 1 -#endif -#ifndef __STDC_ISO_10646__ -#define __STDC_ISO_10646__ 201605L -#endif -#ifndef __DECIMAL_DIG__ -#define __DECIMAL_DIG__ 21 -#endif -#ifndef __gnu_linux__ -#define __gnu_linux__ 1 -#endif -#ifndef __LDBL_HAS_QUIET_NAN__ -#define __LDBL_HAS_QUIET_NAN__ 1 -#endif -#ifndef __GNUC__ -#define __GNUC__ 6 -#endif -#ifndef __GXX_RTTI -#define __GXX_RTTI 1 -#endif -#ifndef __pie__ -#define __pie__ 2 -#endif -#ifndef __MMX__ -#define __MMX__ 1 -#endif -#ifndef __cpp_delegating_constructors -#define __cpp_delegating_constructors 200604 -#endif -#ifndef __FLT_HAS_DENORM__ -#define __FLT_HAS_DENORM__ 1 -#endif -#ifndef __SIZEOF_LONG_DOUBLE__ -#define __SIZEOF_LONG_DOUBLE__ 16 -#endif -#ifndef __BIGGEST_ALIGNMENT__ -#define __BIGGEST_ALIGNMENT__ 16 -#endif -#ifndef __STDC_UTF_16__ -#define __STDC_UTF_16__ 1 -#endif -#ifndef __DBL_MAX__ -#define __DBL_MAX__ double(1.79769313486231570815e+308L) -#endif -#ifndef __cpp_raw_strings -#define __cpp_raw_strings 200710 -#endif -#ifndef __INT_FAST32_MAX__ -#define __INT_FAST32_MAX__ 0x7fffffffffffffffL -#endif -#ifndef __DBL_HAS_INFINITY__ -#define __DBL_HAS_INFINITY__ 1 -#endif -#ifndef __INT64_MAX__ -#define __INT64_MAX__ 0x7fffffffffffffffL -#endif -#ifndef __DEC32_MIN_EXP__ -#define __DEC32_MIN_EXP__ (-94) -#endif -#ifndef __INT_FAST16_TYPE__ -#define __INT_FAST16_TYPE__ long int -#endif -#ifndef __LDBL_HAS_DENORM__ -#define __LDBL_HAS_DENORM__ 1 -#endif -//VS2005-2012 treats all files as C++, while VS2013+ can treat C files correctly. -#if defined(_MSC_VER) && (_MSC_VER < 1800 || defined(__cplusplus)) -#undef __cplusplus -#define __cplusplus 201402L -#endif -#ifndef __cpp_ref_qualifiers -#define __cpp_ref_qualifiers 200710 -#endif -#ifndef __DEC128_MAX__ -#define __DEC128_MAX__ 9.999999999999999999999999999999999E6144DL -#endif -#ifndef __INT_LEAST32_MAX__ -#define __INT_LEAST32_MAX__ 0x7fffffff -#endif -#ifndef __DEC32_MIN__ -#define __DEC32_MIN__ 1E-95DF -#endif -#ifndef __DEPRECATED -#define __DEPRECATED 1 -#endif -#ifndef __cpp_rvalue_references -#define __cpp_rvalue_references 200610 -#endif -#ifndef __DBL_MAX_EXP__ -#define __DBL_MAX_EXP__ 1024 -#endif -#ifndef __DEC128_EPSILON__ -#define __DEC128_EPSILON__ 1E-33DL -#endif -#ifndef __SSE2_MATH__ -#define __SSE2_MATH__ 1 -#endif -#ifndef __ATOMIC_HLE_RELEASE -#define __ATOMIC_HLE_RELEASE 131072 -#endif -#ifndef __PTRDIFF_MAX__ -#define __PTRDIFF_MAX__ 0x7fffffffffffffffL -#endif -#ifndef __amd64 -#define __amd64 1 -#endif -#ifndef __STDC_NO_THREADS__ -#define __STDC_NO_THREADS__ 1 -#endif -#ifndef __ATOMIC_HLE_ACQUIRE -#define __ATOMIC_HLE_ACQUIRE 65536 -#endif -#ifndef __GNUG__ -#define __GNUG__ 6 -#endif -#ifndef __LONG_LONG_MAX__ -#define __LONG_LONG_MAX__ 0x7fffffffffffffffLL -#endif -#ifndef __SIZEOF_SIZE_T__ -#define __SIZEOF_SIZE_T__ 8 -#endif -#ifndef __cpp_rvalue_reference -#define __cpp_rvalue_reference 200610 -#endif -#ifndef __cpp_nsdmi -#define __cpp_nsdmi 200809 -#endif -#ifndef __SIZEOF_WINT_T__ -#define __SIZEOF_WINT_T__ 4 -#endif -#ifndef __cpp_initializer_lists -#define __cpp_initializer_lists 200806 -#endif -#ifndef __cpp_hex_float -#define __cpp_hex_float 201603 -#endif -#ifndef __GCC_HAVE_DWARF2_CFI_ASM -#define __GCC_HAVE_DWARF2_CFI_ASM 1 -#endif -#ifndef __GXX_ABI_VERSION -#define __GXX_ABI_VERSION 1010 -#endif -#ifndef __FLT_MIN_EXP__ -#define __FLT_MIN_EXP__ (-125) -#endif -#ifndef __cpp_lambdas -#define __cpp_lambdas 200907 -#endif -#ifndef __INT_FAST64_TYPE__ -#define __INT_FAST64_TYPE__ long int -#endif -#ifndef __DBL_MIN__ -#define __DBL_MIN__ double(2.22507385850720138309e-308L) -#endif -#ifndef __PIE__ -#define __PIE__ 2 -#endif -#ifndef __LP64__ -#define __LP64__ 1 -#endif -#ifndef __DECIMAL_BID_FORMAT__ -#define __DECIMAL_BID_FORMAT__ 1 -#endif -#ifndef __DEC128_MIN__ -#define __DEC128_MIN__ 1E-6143DL -#endif -#ifndef __REGISTER_PREFIX__ -#define __REGISTER_PREFIX__ -#endif -#ifndef __UINT16_MAX__ -#define __UINT16_MAX__ 0xffff -#endif -#ifndef __DBL_HAS_DENORM__ -#define __DBL_HAS_DENORM__ 1 -#endif -#ifndef __UINT8_TYPE__ -#define __UINT8_TYPE__ unsigned char -#endif -#ifndef __NO_INLINE__ -#define __NO_INLINE__ 1 -#endif -#ifndef __FLT_MANT_DIG__ -#define __FLT_MANT_DIG__ 24 -#endif -#ifndef __VERSION__ -#define __VERSION__ "6.3.0 20170516" -#endif -#ifndef __cpp_unicode_characters -#define __cpp_unicode_characters 200704 -#endif -#ifndef _STDC_PREDEF_H -#define _STDC_PREDEF_H 1 -#endif -#ifndef __cpp_decltype_auto -#define __cpp_decltype_auto 201304 -#endif -#ifndef __GCC_ATOMIC_INT_LOCK_FREE -#define __GCC_ATOMIC_INT_LOCK_FREE 2 -#endif -#ifndef __FLOAT_WORD_ORDER__ -#define __FLOAT_WORD_ORDER__ __ORDER_LITTLE_ENDIAN__ -#endif -#ifndef __STDC_IEC_559_COMPLEX__ -#define __STDC_IEC_559_COMPLEX__ 1 -#endif -#ifndef __DEC64_EPSILON__ -#define __DEC64_EPSILON__ 1E-15DD -#endif -#ifndef __ORDER_PDP_ENDIAN__ -#define __ORDER_PDP_ENDIAN__ 3412 -#endif -#ifndef __DEC128_MIN_EXP__ -#define __DEC128_MIN_EXP__ (-6142) -#endif -#ifndef __INT_FAST32_TYPE__ -#define __INT_FAST32_TYPE__ long int -#endif -#ifndef __UINT_LEAST16_TYPE__ -#define __UINT_LEAST16_TYPE__ short unsigned int -#endif -#ifndef unix -#define unix 1 -#endif -#ifndef __INT16_MAX__ -#define __INT16_MAX__ 0x7fff -#endif -#ifndef __cpp_rtti -#define __cpp_rtti 199711 -#endif -#ifndef __SIZE_TYPE__ -#define __SIZE_TYPE__ long unsigned int -#endif -#ifndef __UINT64_MAX__ -#define __UINT64_MAX__ 0xffffffffffffffffUL -#endif -#ifndef __INT8_TYPE__ -#define __INT8_TYPE__ signed char -#endif -#ifndef __cpp_digit_separators -#define __cpp_digit_separators 201309 -#endif -#ifndef __ELF__ -#define __ELF__ 1 -#endif -#ifndef __GCC_ASM_FLAG_OUTPUTS__ -#define __GCC_ASM_FLAG_OUTPUTS__ 1 -#endif -#ifndef __FLT_RADIX__ -#define __FLT_RADIX__ 2 -#endif -#ifndef __INT_LEAST16_TYPE__ -#define __INT_LEAST16_TYPE__ short int -#endif -#ifndef __LDBL_EPSILON__ -#define __LDBL_EPSILON__ 1.08420217248550443401e-19L -#endif -#ifndef __GLIBCXX_BITSIZE_INT_N_0 -#define __GLIBCXX_BITSIZE_INT_N_0 128 -#endif -#ifndef __k8 -#define __k8 1 -#endif -#ifndef __SIG_ATOMIC_MAX__ -#define __SIG_ATOMIC_MAX__ 0x7fffffff -#endif -#ifndef __GCC_ATOMIC_WCHAR_T_LOCK_FREE -#define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2 -#endif -#ifndef __cpp_sized_deallocation -#define __cpp_sized_deallocation 201309 -#endif -#ifndef __SIZEOF_PTRDIFF_T__ -#define __SIZEOF_PTRDIFF_T__ 8 -#endif -#ifndef __x86_64__ -#define __x86_64__ 1 -#endif -#ifndef __DEC32_SUBNORMAL_MIN__ -#define __DEC32_SUBNORMAL_MIN__ 0.000001E-95DF -#endif -#ifndef __INT_FAST16_MAX__ -#define __INT_FAST16_MAX__ 0x7fffffffffffffffL -#endif -#ifndef __UINT_FAST32_MAX__ -#define __UINT_FAST32_MAX__ 0xffffffffffffffffUL -#endif -#ifndef __UINT_LEAST64_TYPE__ -#define __UINT_LEAST64_TYPE__ long unsigned int -#endif -#ifndef __FLT_HAS_QUIET_NAN__ -#define __FLT_HAS_QUIET_NAN__ 1 -#endif -#ifndef __FLT_MAX_10_EXP__ -#define __FLT_MAX_10_EXP__ 38 -#endif -#ifndef __LONG_MAX__ -#define __LONG_MAX__ 0x7fffffffffffffffL -#endif -#ifndef __DEC128_SUBNORMAL_MIN__ -#define __DEC128_SUBNORMAL_MIN__ 0.000000000000000000000000000000001E-6143DL -#endif -#ifndef __FLT_HAS_INFINITY__ -#define __FLT_HAS_INFINITY__ 1 -#endif -#ifndef __cpp_unicode_literals -#define __cpp_unicode_literals 200710 -#endif -#ifndef __UINT_FAST16_TYPE__ -#define __UINT_FAST16_TYPE__ long unsigned int -#endif -#ifndef __DEC64_MAX__ -#define __DEC64_MAX__ 9.999999999999999E384DD -#endif -#ifndef __CHAR16_TYPE__ -#define __CHAR16_TYPE__ short unsigned int -#endif -#ifndef __PRAGMA_REDEFINE_EXTNAME -#define __PRAGMA_REDEFINE_EXTNAME 1 -#endif -#ifndef __SEG_FS -#define __SEG_FS 1 -#endif -#ifndef __INT_LEAST16_MAX__ -#define __INT_LEAST16_MAX__ 0x7fff -#endif -#ifndef __DEC64_MANT_DIG__ -#define __DEC64_MANT_DIG__ 16 -#endif -#ifndef __UINT_LEAST32_MAX__ -#define __UINT_LEAST32_MAX__ 0xffffffffU -#endif -#ifndef __SEG_GS -#define __SEG_GS 1 -#endif -#ifndef __GCC_ATOMIC_LONG_LOCK_FREE -#define __GCC_ATOMIC_LONG_LOCK_FREE 2 -#endif -#ifndef __INT_LEAST64_TYPE__ -#define __INT_LEAST64_TYPE__ long int -#endif -#ifndef __INT16_TYPE__ -#define __INT16_TYPE__ short int -#endif -#ifndef __INT_LEAST8_TYPE__ -#define __INT_LEAST8_TYPE__ signed char -#endif -#ifndef __DEC32_MAX_EXP__ -#define __DEC32_MAX_EXP__ 97 -#endif -#ifndef __INT_FAST8_MAX__ -#define __INT_FAST8_MAX__ 0x7f -#endif -#ifndef __INTPTR_MAX__ -#define __INTPTR_MAX__ 0x7fffffffffffffffL -#endif -#ifndef linux -#define linux 1 -#endif -#ifndef __cpp_range_based_for -#define __cpp_range_based_for 200907 -#endif -#ifndef __SSE2__ -#define __SSE2__ 1 -#endif -#ifndef __EXCEPTIONS -#define __EXCEPTIONS 1 -#endif -#ifndef __LDBL_MANT_DIG__ -#define __LDBL_MANT_DIG__ 64 -#endif -#ifndef __DBL_HAS_QUIET_NAN__ -#define __DBL_HAS_QUIET_NAN__ 1 -#endif -#ifndef __SIG_ATOMIC_MIN__ -#define __SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1) -#endif -#ifndef __code_model_small__ -#define __code_model_small__ 1 -#endif -#ifndef __cpp_return_type_deduction -#define __cpp_return_type_deduction 201304 -#endif -#ifndef __k8__ -#define __k8__ 1 -#endif -#ifndef __INTPTR_TYPE__ -#define __INTPTR_TYPE__ long int -#endif -#ifndef __UINT16_TYPE__ -#define __UINT16_TYPE__ short unsigned int -#endif -#ifndef __WCHAR_TYPE__ -#define __WCHAR_TYPE__ int -#endif -#ifndef __SIZEOF_FLOAT__ -#define __SIZEOF_FLOAT__ 4 -#endif -#ifndef __pic__ -#define __pic__ 2 -#endif -#ifndef __UINTPTR_MAX__ -#define __UINTPTR_MAX__ 0xffffffffffffffffUL -#endif -#ifndef __DEC64_MIN_EXP__ -#define __DEC64_MIN_EXP__ (-382) -#endif -#ifndef __cpp_decltype -#define __cpp_decltype 200707 -#endif -#ifndef __INT_FAST64_MAX__ -#define __INT_FAST64_MAX__ 0x7fffffffffffffffL -#endif -#ifndef __GCC_ATOMIC_TEST_AND_SET_TRUEVAL -#define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1 -#endif -#ifndef __FLT_DIG__ -#define __FLT_DIG__ 6 -#endif -#ifndef __UINT_FAST64_TYPE__ -#define __UINT_FAST64_TYPE__ long unsigned int -#endif -#ifndef __INT_MAX__ -#define __INT_MAX__ 0x7fffffff -#endif -#ifndef __amd64__ -#define __amd64__ 1 -#endif -#ifndef __INT64_TYPE__ -#define __INT64_TYPE__ long int -#endif -#ifndef __FLT_MAX_EXP__ -#define __FLT_MAX_EXP__ 128 -#endif -#ifndef __ORDER_BIG_ENDIAN__ -#define __ORDER_BIG_ENDIAN__ 4321 -#endif -#ifndef __DBL_MANT_DIG__ -#define __DBL_MANT_DIG__ 53 -#endif -#ifndef __cpp_inheriting_constructors -#define __cpp_inheriting_constructors 200802 -#endif -#ifndef __SIZEOF_FLOAT128__ -#define __SIZEOF_FLOAT128__ 16 -#endif -#ifndef __INT_LEAST64_MAX__ -#define __INT_LEAST64_MAX__ 0x7fffffffffffffffL -#endif -#ifndef __DEC64_MIN__ -#define __DEC64_MIN__ 1E-383DD -#endif -#ifndef __WINT_TYPE__ -#define __WINT_TYPE__ unsigned int -#endif -#ifndef __UINT_LEAST32_TYPE__ -#define __UINT_LEAST32_TYPE__ unsigned int -#endif -#ifndef __SIZEOF_SHORT__ -#define __SIZEOF_SHORT__ 2 -#endif -#ifndef __SSE__ -#define __SSE__ 1 -#endif -#ifndef __LDBL_MIN_EXP__ -#define __LDBL_MIN_EXP__ (-16381) -#endif -#ifndef __INT_LEAST8_MAX__ -#define __INT_LEAST8_MAX__ 0x7f -#endif -#ifndef __SIZEOF_INT128__ -#define __SIZEOF_INT128__ 16 -#endif -#ifndef __LDBL_MAX_10_EXP__ -#define __LDBL_MAX_10_EXP__ 4932 -#endif -#ifndef __ATOMIC_RELAXED -#define __ATOMIC_RELAXED 0 -#endif -#ifndef __DBL_EPSILON__ -#define __DBL_EPSILON__ double(2.22044604925031308085e-16L) -#endif -#ifndef _LP64 -#define _LP64 1 -#endif -#ifndef __INT_LEAST32_TYPE__ -#define __INT_LEAST32_TYPE__ int -#endif -#ifndef __SIZEOF_WCHAR_T__ -#define __SIZEOF_WCHAR_T__ 4 -#endif -#ifndef __UINT64_TYPE__ -#define __UINT64_TYPE__ long unsigned int -#endif -#ifndef __INT_FAST8_TYPE__ -#define __INT_FAST8_TYPE__ signed char -#endif -#ifndef __GNUC_STDC_INLINE__ -#define __GNUC_STDC_INLINE__ 1 -#endif -#ifndef __DBL_DECIMAL_DIG__ -#define __DBL_DECIMAL_DIG__ 17 -#endif -#ifndef __STDC_UTF_32__ -#define __STDC_UTF_32__ 1 -#endif -#ifndef __FXSR__ -#define __FXSR__ 1 -#endif -#ifndef __DEC_EVAL_METHOD__ -#define __DEC_EVAL_METHOD__ 2 -#endif -#ifndef __cpp_runtime_arrays -#define __cpp_runtime_arrays 198712 -#endif -#ifndef __INTMAX_MAX__ -#define __INTMAX_MAX__ 0x7fffffffffffffffL -#endif -#ifndef __cpp_alias_templates -#define __cpp_alias_templates 200704 -#endif -#ifndef __BYTE_ORDER__ -#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__ -#endif -#ifndef __FLT_DENORM_MIN__ -#define __FLT_DENORM_MIN__ 1.40129846432481707092e-45F -#endif -#ifndef __INT8_MAX__ -#define __INT8_MAX__ 0x7f -#endif -#ifndef __PIC__ -#define __PIC__ 2 -#endif -#ifndef __UINT_FAST32_TYPE__ -#define __UINT_FAST32_TYPE__ long unsigned int -#endif -#ifndef __CHAR32_TYPE__ -#define __CHAR32_TYPE__ unsigned int -#endif -#ifndef __FLT_MAX__ -#define __FLT_MAX__ 3.40282346638528859812e+38F -#endif -#ifndef __cpp_constexpr -#define __cpp_constexpr 201304 -#endif -#ifndef __INT32_TYPE__ -#define __INT32_TYPE__ int -#endif -#ifndef __SIZEOF_DOUBLE__ -#define __SIZEOF_DOUBLE__ 8 -#endif -#ifndef __cpp_exceptions -#define __cpp_exceptions 199711 -#endif -#ifndef __INTMAX_TYPE__ -#define __INTMAX_TYPE__ long int -#endif -#ifndef __DEC128_MAX_EXP__ -#define __DEC128_MAX_EXP__ 6145 -#endif -#ifndef __ATOMIC_CONSUME -#define __ATOMIC_CONSUME 1 -#endif -#ifndef __GNUC_MINOR__ -#define __GNUC_MINOR__ 3 -#endif -#ifndef __GLIBCXX_TYPE_INT_N_0 -#define __GLIBCXX_TYPE_INT_N_0 __int128 -#endif -#ifndef __UINTMAX_MAX__ -#define __UINTMAX_MAX__ 0xffffffffffffffffUL -#endif -#ifndef __DEC32_MANT_DIG__ -#define __DEC32_MANT_DIG__ 7 -#endif -#ifndef __DBL_MAX_10_EXP__ -#define __DBL_MAX_10_EXP__ 308 -#endif -#ifndef __LDBL_DENORM_MIN__ -#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L -#endif -#ifndef __cpp_generic_lambdas -#define __cpp_generic_lambdas 201304 -#endif -#ifndef __STDC__ -#define __STDC__ 1 -#endif -#ifndef __PTRDIFF_TYPE__ -#define __PTRDIFF_TYPE__ long int -#endif -#ifndef __ATOMIC_SEQ_CST -#define __ATOMIC_SEQ_CST 5 -#endif -#ifndef __UINT32_TYPE__ -#define __UINT32_TYPE__ unsigned int -#endif -#ifndef __UINTPTR_TYPE__ -#define __UINTPTR_TYPE__ long unsigned int -#endif -#ifndef __DEC64_SUBNORMAL_MIN__ -#define __DEC64_SUBNORMAL_MIN__ 0.000000000000001E-383DD -#endif -#ifndef __DEC128_MANT_DIG__ -#define __DEC128_MANT_DIG__ 34 -#endif -#ifndef __LDBL_MIN_10_EXP__ -#define __LDBL_MIN_10_EXP__ (-4931) -#endif -#ifndef __SSE_MATH__ -#define __SSE_MATH__ 1 -#endif -#ifndef __SIZEOF_LONG_LONG__ -#define __SIZEOF_LONG_LONG__ 8 -#endif -#ifndef __cpp_user_defined_literals -#define __cpp_user_defined_literals 200809 -#endif -#ifndef __GCC_ATOMIC_LLONG_LOCK_FREE -#define __GCC_ATOMIC_LLONG_LOCK_FREE 2 -#endif -#ifndef __LDBL_DIG__ -#define __LDBL_DIG__ 18 -#endif -#ifndef __FLT_DECIMAL_DIG__ -#define __FLT_DECIMAL_DIG__ 9 -#endif -#ifndef __UINT_FAST16_MAX__ -#define __UINT_FAST16_MAX__ 0xffffffffffffffffUL -#endif -#ifndef __FLT_MIN_10_EXP__ -#define __FLT_MIN_10_EXP__ (-37) -#endif -#ifndef __GCC_ATOMIC_SHORT_LOCK_FREE -#define __GCC_ATOMIC_SHORT_LOCK_FREE 2 -#endif -#ifndef __UINT_FAST8_TYPE__ -#define __UINT_FAST8_TYPE__ unsigned char -#endif -#ifndef _GNU_SOURCE -#define _GNU_SOURCE 1 -#endif -#ifndef __cpp_init_captures -#define __cpp_init_captures 201304 -#endif -#ifndef __ATOMIC_ACQ_REL -#define __ATOMIC_ACQ_REL 4 -#endif -#ifndef __ATOMIC_RELEASE -#define __ATOMIC_RELEASE 3 -#endif -#ifndef NDEBUG -#define NDEBUG 1 -#endif -#ifndef RELEASE -#define RELEASE 1 -#endif -#endif - -// --- Include directories begin --- // -///usr/include/c++/6 -///usr/include/x86_64-linux-gnu/c++/6 -///usr/include/c++/6/backward -///usr/lib/gcc/x86_64-linux-gnu/6/include -///usr/local/include -///usr/lib/gcc/x86_64-linux-gnu/6/include-fixed -///usr/include/x86_64-linux-gnu -///usr/include -// --- Include directories end --- // - - -// --- Library directories begin --- // -///usr/lib/gcc/x86_64-linux-gnu/6/ -///usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/ -///usr/lib/gcc/x86_64-linux-gnu/6/../../../../lib/ -///lib/x86_64-linux-gnu/ -///lib/../lib/ -///usr/lib/x86_64-linux-gnu/ -///usr/lib/../lib/ -///usr/lib/gcc/x86_64-linux-gnu/6/../../../ -///lib/ -///usr/lib/ -// --- Library directories begin --- // - -#pragma clang diagnostic pop diff --git a/examples/knx-linux/knx-linux-Debug.vgdbsettings b/examples/knx-linux/knx-linux-Debug.vgdbsettings deleted file mode 100644 index 5c17819..0000000 --- a/examples/knx-linux/knx-linux-Debug.vgdbsettings +++ /dev/null @@ -1,179 +0,0 @@ - - - Debug - - - - RemoteUnix - - - Immerlund - SSH - tkunze - - - false - - Suzail - SSH - tkunze - - $(ProjectDir)\..\.. - /home/tkunze/vgdb/knx-linux - - *.cpp - *.h - *.hpp - *.c - *.cc - *.cxx - *.mak - Makefile - *.txt - *.cmake - CMakeLists.txt - *.cmake - - false - true - - true - true - - Outgoing - false - Always - - - false - false - false - false - false - $(ProjectDir) - - - - com.sysprogs.toolchain.default-gcc - - 0 - - - examples/knx-linux - DEBUG - Debug - knx-linux - - false - - BuildMachine - BuiltinShortcut - - $(ToolchainMake) - $(ToolchainMakeArgs) - $(BuildDir) - - - - false - - BuildMachine - BuiltinShortcut - - $(ToolchainCMake) - $(BuildDir) - - - false - false - false - false - RemoveBuildDirectory - - - - - - - - - - - - - Default - - - - true - - - - - True - -DMEDIUM_TYPE=5 - - true - true - - Silent - true - true - true - - true - ..\.clang-format - ClangFormat - - - false - - - - - - - - - false - false - false - false - false - false - false - false - false - - false - false - false - false - false - false - true - false - None - false - false - main - true - false - false - false - 0 - - - $(TargetPath) - 2000 - - - false - Local - false - false - Auto - true - false - - \ No newline at end of file diff --git a/examples/knx-linux/knx-linux.vcxproj b/examples/knx-linux/knx-linux.vcxproj deleted file mode 100644 index cdc925d..0000000 --- a/examples/knx-linux/knx-linux.vcxproj +++ /dev/null @@ -1,188 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - 16.0 - {456D87B3-1DFE-4724-BDEF-17E0FDB55A61} - - - - Makefile - true - v142 - - - Makefile - false - v142 - - - com.sysprogs.toolchain.default-gcc - - - - - - - - - - - - - - - - - - $(LOCALAPPDATA)\VisualGDB\RemoteSourceCache\Suzail\0000\include\c++\6;$(LOCALAPPDATA)\VisualGDB\RemoteSourceCache\Suzail\0000\include\x86_64-linux-gnu\c++\6;$(LOCALAPPDATA)\VisualGDB\RemoteSourceCache\Suzail\0000\include\c++\6\backward;$(LOCALAPPDATA)\VisualGDB\RemoteSourceCache\Suzail\0003\include;$(LOCALAPPDATA)\VisualGDB\RemoteSourceCache\Suzail\0005\include;$(LOCALAPPDATA)\VisualGDB\RemoteSourceCache\Suzail\0004\include-fixed;$(LOCALAPPDATA)\VisualGDB\RemoteSourceCache\Suzail\0000\include\x86_64-linux-gnu;$(LOCALAPPDATA)\VisualGDB\RemoteSourceCache\Suzail\0000\include;..\src;$(NMakeIncludeSearchPath) - $(ProjectDir)\gcc_Debug.h;$(VISUALGDB_DIR)\gcc_compat.h;$(NMakeForcedIncludes) - "$(VISUALGDB_DIR)\VisualGDB.exe" /build "$(ProjectPath)" "/solution:$(SolutionPath)" "/config:$(Configuration)" "/platform:$(Platform)" - "$(VISUALGDB_DIR)\VisualGDB.exe" /clean "$(ProjectPath)" "/solution:$(SolutionPath)" "/config:$(Configuration)" "/platform:$(Platform)" - "$(VISUALGDB_DIR)\VisualGDB.exe" /rebuild "$(ProjectPath)" "/solution:$(SolutionPath)" "/config:$(Configuration)" "/platform:$(Platform)" - $(ProjectDir)knx-linux-Debug.vgdbsettings - - - - __VisualGDB_CFG_Debug;$(NMakePreprocessorDefinitions) - - - $(LOCALAPPDATA)\VisualGDB\RemoteSourceCache\Suzail\0000\include\c++\6;$(LOCALAPPDATA)\VisualGDB\RemoteSourceCache\Suzail\0000\include\x86_64-linux-gnu\c++\6;$(LOCALAPPDATA)\VisualGDB\RemoteSourceCache\Suzail\0000\include\c++\6\backward;$(LOCALAPPDATA)\VisualGDB\RemoteSourceCache\Suzail\0003\include;$(LOCALAPPDATA)\VisualGDB\RemoteSourceCache\Suzail\0005\include;$(LOCALAPPDATA)\VisualGDB\RemoteSourceCache\Suzail\0004\include-fixed;$(LOCALAPPDATA)\VisualGDB\RemoteSourceCache\Suzail\0000\include\x86_64-linux-gnu;$(LOCALAPPDATA)\VisualGDB\RemoteSourceCache\Suzail\0000\include;$(NMakeIncludeSearchPath) - $(ProjectDir)\gcc_Release.h;$(VISUALGDB_DIR)\gcc_compat.h;$(NMakeForcedIncludes) - __VisualGDB_CFG_Release;$(NMakePreprocessorDefinitions) - "$(VISUALGDB_DIR)\VisualGDB.exe" /build "$(ProjectPath)" "/solution:$(SolutionPath)" "/config:$(Configuration)" "/platform:$(Platform)" - "$(VISUALGDB_DIR)\VisualGDB.exe" /clean "$(ProjectPath)" "/solution:$(SolutionPath)" "/config:$(Configuration)" "/platform:$(Platform)" - "$(VISUALGDB_DIR)\VisualGDB.exe" /rebuild "$(ProjectPath)" "/solution:$(SolutionPath)" "/config:$(Configuration)" "/platform:$(Platform)" - $(ProjectDir)knx-linux-Release.vgdbsettings - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/examples/knx-linux/knx-linux.vcxproj.filters b/examples/knx-linux/knx-linux.vcxproj.filters deleted file mode 100644 index 6b44be3..0000000 --- a/examples/knx-linux/knx-linux.vcxproj.filters +++ /dev/null @@ -1,353 +0,0 @@ - - - - - {29de078d-e84a-4e6d-92cb-26384b285546} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {d598f99b-b8fc-4ed9-8a7e-0a047e95dd6a} - h;hpp;hxx;hm;inl;inc;xsd - - - {ca59d480-df76-48f4-984e-06d3c358cbc3} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav - - - {b4d51fcc-4baa-41f7-a703-7beb0174c220} - - - {3dbcfef7-ce75-49d5-bb03-d72ec2dd20bd} - - - {726bfac3-c98a-4508-9595-11dab7ffc9d0} - - - - - Source files - - - VisualGDB settings - - - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files - - - Header files - - - Header files - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - - - Source files - - - Source files - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - \ No newline at end of file diff --git a/examples/knxPython/CMakeLists.txt b/examples/knxPython/CMakeLists.txt index f40d0b4..530629c 100644 --- a/examples/knxPython/CMakeLists.txt +++ b/examples/knxPython/CMakeLists.txt @@ -1,6 +1,3 @@ -#Generated by VisualGDB project wizard. -#Note: VisualGDB will automatically update this file when you add new sources to the project. - cmake_minimum_required(VERSION 2.7) project(knx) @@ -8,39 +5,137 @@ add_subdirectory(pybind11) pybind11_add_module(knx knxmodule.cpp - src/knx/address_table_object.cpp - src/knx/apdu.cpp - src/knx/application_layer.cpp - src/knx/application_program_object.cpp - src/knx/association_table_object.cpp - src/knx/bau.cpp - src/knx/bau07B0.cpp - src/knx/bau57B0.cpp - src/knx/bau_systemB.cpp - src/knx/bits.cpp - src/knx/cemi_frame.cpp - src/knx/data_link_layer.cpp - src/knx/device_object.cpp - src/knx/group_object.cpp - src/knx/group_object_table_object.cpp - src/knx/interface_object.cpp - src/knx/ip_data_link_layer.cpp - src/knx/ip_parameter_object.cpp - src/knx/memory.cpp - src/knx/network_layer.cpp - src/knx/npdu.cpp - src/knx/table_object.cpp - src/knx/tpdu.cpp - src/knx/tpuart_data_link_layer.cpp - src/knx/transport_layer.cpp - src/knx/platform.cpp - src/linux_platform.cpp - src/knx_facade.cpp - src/knx/dptconvert.cpp - src/knx/knx_value.cpp - src/knx/dpt.cpp) + ../../src/knx/address_table_object.cpp + ../../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 + ../../src/knx/rf_physical_layer.cpp + ../../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 + ) include_directories(src pybind11/include) +include_directories(../../src) #set(outdir ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}) #set_target_properties(knx PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${outdir}) set_target_properties(knx PROPERTIES OUTPUT_NAME knx) +set_property(TARGET knx PROPERTY CXX_STANDARD 11) +target_compile_definitions(knx PUBLIC -DMASK_VERSION=0x57B0) \ No newline at end of file diff --git a/examples/knxPython/CMakeLists.txt.old b/examples/knxPython/CMakeLists.txt.old deleted file mode 100644 index 9849bd7..0000000 --- a/examples/knxPython/CMakeLists.txt.old +++ /dev/null @@ -1,11 +0,0 @@ -#Generated by VisualGDB project wizard. -#Note: VisualGDB will automatically update this file when you add new sources to the project. - -cmake_minimum_required(VERSION 2.7) -project(knx) - -add_subdirectory(pybind11) - -pybind11_add_module(knx ../src/knx/address_table_object.cpp ../src/knx/apdu.cpp ../src/knx/application_layer.cpp ../src/knx/application_program_object.cpp ../src/knx/association_table_object.cpp ../src/knx/bau.cpp ../src/knx/bau07B0.cpp ../src/knx/bau57B0.cpp ../src/knx/bau_systemB.cpp ../src/knx/bits.cpp ../src/knx/cemi_frame.cpp ../src/knx/datapoint_types.cpp ../src/knx/data_link_layer.cpp ../src/knx/device_object.cpp ../src/knx/group_object.cpp ../src/knx/group_object_table_object.cpp ../src/knx/interface_object.cpp ../src/knx/ip_data_link_layer.cpp ../src/knx/ip_parameter_object.cpp ../src/knx/memory.cpp ../src/knx/network_layer.cpp ../src/knx/npdu.cpp ../src/knx/platform.cpp ../src/knx/table_object.cpp ../src/knx/tpdu.cpp ../src/knx/tpuart_data_link_layer.cpp ../src/knx/transport_layer.cpp ../src/linux_platform.cpp knxmodule.cpp) - -include_directories(../src) \ No newline at end of file diff --git a/examples/knxPython/CMakeSettings.json b/examples/knxPython/CMakeSettings.json deleted file mode 100644 index 9c2d1fa..0000000 --- a/examples/knxPython/CMakeSettings.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "configurations": [ - { - "name": "WSL-Debug", - "generator": "Unix Makefiles", - "configurationType": "Debug", - "buildRoot": "${projectDir}\\out\\build\\${name}", - "installRoot": "${projectDir}\\out\\install\\${name}", - "cmakeExecutable": "/usr/bin/cmake", - "cmakeCommandArgs": "", - "buildCommandArgs": "", - "ctestCommandArgs": "", - "inheritEnvironments": [ "linux_x64" ], - "wslPath": "${defaultWSLPath}", - "addressSanitizerEnabled": false, - "addressSanitizerRuntimeFlags": "detect_leaks=0", - "variables": [] - } - ] -} \ No newline at end of file diff --git a/examples/knxPython/gcc_Debug.h b/examples/knxPython/gcc_Debug.h deleted file mode 100644 index 43caac5..0000000 --- a/examples/knxPython/gcc_Debug.h +++ /dev/null @@ -1,893 +0,0 @@ -/* - This file is only used by IntelliSense (VisualStudio code suggestion system) - DO NOT INCLUDE THIS FILE FROM YOUR ACTUAL SOURCE FILES. - This file lists the preprocessor macros extracted from your GCC. - It is needed for IntelliSense to parse other header files correctly. -*/ -#if defined(_MSC_VER) || defined (__SYSPROGS_CODESENSE__) -#pragma clang diagnostic push - -#pragma clang diagnostic ignored "-Wreserved-id-macro" -#ifndef __DBL_MIN_EXP__ -#define __DBL_MIN_EXP__ (-1021) -#endif -#ifndef __cpp_attributes -#define __cpp_attributes 200809 -#endif -#ifndef __UINT_LEAST16_MAX__ -#define __UINT_LEAST16_MAX__ 0xffff -#endif -#ifndef __ATOMIC_ACQUIRE -#define __ATOMIC_ACQUIRE 2 -#endif -#ifndef __FLT_MIN__ -#define __FLT_MIN__ 1.17549435082228750797e-38F -#endif -#ifndef __GCC_IEC_559_COMPLEX -#define __GCC_IEC_559_COMPLEX 2 -#endif -#ifndef __cpp_aggregate_nsdmi -#define __cpp_aggregate_nsdmi 201304 -#endif -#ifndef __UINT_LEAST8_TYPE__ -#define __UINT_LEAST8_TYPE__ unsigned char -#endif -#ifndef __SIZEOF_FLOAT80__ -#define __SIZEOF_FLOAT80__ 16 -#endif -#ifndef __CHAR_BIT__ -#define __CHAR_BIT__ 8 -#endif -#ifndef __UINT8_MAX__ -#define __UINT8_MAX__ 0xff -#endif -#ifndef __WINT_MAX__ -#define __WINT_MAX__ 0xffffffffU -#endif -#ifndef __cpp_static_assert -#define __cpp_static_assert 200410 -#endif -#ifndef __ORDER_LITTLE_ENDIAN__ -#define __ORDER_LITTLE_ENDIAN__ 1234 -#endif -#ifndef __SIZE_MAX__ -#define __SIZE_MAX__ 0xffffffffffffffffUL -#endif -#ifndef __WCHAR_MAX__ -#define __WCHAR_MAX__ 0x7fffffff -#endif -#ifndef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 -#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1 -#endif -#ifndef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 -#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1 -#endif -#ifndef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 -#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1 -#endif -#ifndef __DBL_DENORM_MIN__ -#define __DBL_DENORM_MIN__ double(4.94065645841246544177e-324L) -#endif -#ifndef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 -#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1 -#endif -#ifndef __GCC_ATOMIC_CHAR_LOCK_FREE -#define __GCC_ATOMIC_CHAR_LOCK_FREE 2 -#endif -#ifndef __GCC_IEC_559 -#define __GCC_IEC_559 2 -#endif -#ifndef __FLT_EVAL_METHOD__ -#define __FLT_EVAL_METHOD__ 0 -#endif -#ifndef __unix__ -#define __unix__ 1 -#endif -#ifndef __cpp_binary_literals -#define __cpp_binary_literals 201304 -#endif -#ifndef __GCC_ATOMIC_CHAR32_T_LOCK_FREE -#define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2 -#endif -#ifndef __x86_64 -#define __x86_64 1 -#endif -#ifndef __cpp_variadic_templates -#define __cpp_variadic_templates 200704 -#endif -#ifndef __UINT_FAST64_MAX__ -#define __UINT_FAST64_MAX__ 0xffffffffffffffffUL -#endif -#ifndef __SIG_ATOMIC_TYPE__ -#define __SIG_ATOMIC_TYPE__ int -#endif -#ifndef __DBL_MIN_10_EXP__ -#define __DBL_MIN_10_EXP__ (-307) -#endif -#ifndef __FINITE_MATH_ONLY__ -#define __FINITE_MATH_ONLY__ 0 -#endif -#ifndef __cpp_variable_templates -#define __cpp_variable_templates 201304 -#endif -#ifndef __GNUC_PATCHLEVEL__ -#define __GNUC_PATCHLEVEL__ 0 -#endif -#ifndef __UINT_FAST8_MAX__ -#define __UINT_FAST8_MAX__ 0xff -#endif -#ifndef __DEC64_MAX_EXP__ -#define __DEC64_MAX_EXP__ 385 -#endif -#ifndef __UINT_LEAST64_MAX__ -#define __UINT_LEAST64_MAX__ 0xffffffffffffffffUL -#endif -#ifndef __SHRT_MAX__ -#define __SHRT_MAX__ 0x7fff -#endif -#ifndef __LDBL_MAX__ -#define __LDBL_MAX__ 1.18973149535723176502e+4932L -#endif -#ifndef __UINT_LEAST8_MAX__ -#define __UINT_LEAST8_MAX__ 0xff -#endif -#ifndef __GCC_ATOMIC_BOOL_LOCK_FREE -#define __GCC_ATOMIC_BOOL_LOCK_FREE 2 -#endif -#ifndef __UINTMAX_TYPE__ -#define __UINTMAX_TYPE__ long unsigned int -#endif -#ifndef __linux -#define __linux 1 -#endif -#ifndef __DEC32_EPSILON__ -#define __DEC32_EPSILON__ 1E-6DF -#endif -#ifndef __unix -#define __unix 1 -#endif -#ifndef __UINT32_MAX__ -#define __UINT32_MAX__ 0xffffffffU -#endif -#if !defined(__GXX_EXPERIMENTAL_CXX0X__) && defined(__SYSPROGS_CODESENSE__) -#define __GXX_EXPERIMENTAL_CXX0X__ 1 -#endif -#ifndef __LDBL_MAX_EXP__ -#define __LDBL_MAX_EXP__ 16384 -#endif -#ifndef __WINT_MIN__ -#define __WINT_MIN__ 0U -#endif -#ifndef __linux__ -#define __linux__ 1 -#endif -#ifndef __SCHAR_MAX__ -#define __SCHAR_MAX__ 0x7f -#endif -#ifndef __WCHAR_MIN__ -#define __WCHAR_MIN__ (-__WCHAR_MAX__ - 1) -#endif -#ifndef __DBL_DIG__ -#define __DBL_DIG__ 15 -#endif -#ifndef __GCC_ATOMIC_POINTER_LOCK_FREE -#define __GCC_ATOMIC_POINTER_LOCK_FREE 2 -#endif -#ifndef __SIZEOF_INT__ -#define __SIZEOF_INT__ 4 -#endif -#ifndef __SIZEOF_POINTER__ -#define __SIZEOF_POINTER__ 8 -#endif -#ifndef __GCC_ATOMIC_CHAR16_T_LOCK_FREE -#define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2 -#endif -#ifndef __USER_LABEL_PREFIX__ -#define __USER_LABEL_PREFIX__ -#endif -#ifndef __STDC_HOSTED__ -#define __STDC_HOSTED__ 1 -#endif -#ifndef __LDBL_HAS_INFINITY__ -#define __LDBL_HAS_INFINITY__ 1 -#endif -#ifndef __FLT_EPSILON__ -#define __FLT_EPSILON__ 1.19209289550781250000e-7F -#endif -#ifndef __GXX_WEAK__ -#define __GXX_WEAK__ 1 -#endif -#ifndef __LDBL_MIN__ -#define __LDBL_MIN__ 3.36210314311209350626e-4932L -#endif -#ifndef __DEC32_MAX__ -#define __DEC32_MAX__ 9.999999E96DF -#endif -#ifndef __INT32_MAX__ -#define __INT32_MAX__ 0x7fffffff -#endif -#ifndef __SIZEOF_LONG__ -#define __SIZEOF_LONG__ 8 -#endif -#ifndef __STDC_IEC_559__ -#define __STDC_IEC_559__ 1 -#endif -#ifndef __STDC_ISO_10646__ -#define __STDC_ISO_10646__ 201605L -#endif -#ifndef __DECIMAL_DIG__ -#define __DECIMAL_DIG__ 21 -#endif -#ifndef __gnu_linux__ -#define __gnu_linux__ 1 -#endif -#ifndef __LDBL_HAS_QUIET_NAN__ -#define __LDBL_HAS_QUIET_NAN__ 1 -#endif -#ifndef __GNUC__ -#define __GNUC__ 6 -#endif -#ifndef __GXX_RTTI -#define __GXX_RTTI 1 -#endif -#ifndef __pie__ -#define __pie__ 2 -#endif -#ifndef __MMX__ -#define __MMX__ 1 -#endif -#ifndef __cpp_delegating_constructors -#define __cpp_delegating_constructors 200604 -#endif -#ifndef __FLT_HAS_DENORM__ -#define __FLT_HAS_DENORM__ 1 -#endif -#ifndef __SIZEOF_LONG_DOUBLE__ -#define __SIZEOF_LONG_DOUBLE__ 16 -#endif -#ifndef __BIGGEST_ALIGNMENT__ -#define __BIGGEST_ALIGNMENT__ 16 -#endif -#ifndef __STDC_UTF_16__ -#define __STDC_UTF_16__ 1 -#endif -#ifndef __DBL_MAX__ -#define __DBL_MAX__ double(1.79769313486231570815e+308L) -#endif -#ifndef __cpp_raw_strings -#define __cpp_raw_strings 200710 -#endif -#ifndef __INT_FAST32_MAX__ -#define __INT_FAST32_MAX__ 0x7fffffffffffffffL -#endif -#ifndef __DBL_HAS_INFINITY__ -#define __DBL_HAS_INFINITY__ 1 -#endif -#ifndef __INT64_MAX__ -#define __INT64_MAX__ 0x7fffffffffffffffL -#endif -#ifndef __DEC32_MIN_EXP__ -#define __DEC32_MIN_EXP__ (-94) -#endif -#ifndef __INT_FAST16_TYPE__ -#define __INT_FAST16_TYPE__ long int -#endif -#ifndef __LDBL_HAS_DENORM__ -#define __LDBL_HAS_DENORM__ 1 -#endif -//VS2005-2012 treats all files as C++, while VS2013+ can treat C files correctly. -#if defined(_MSC_VER) && (_MSC_VER < 1800 || defined(__cplusplus)) -#undef __cplusplus -#define __cplusplus 201402L -#endif -#ifndef __cpp_ref_qualifiers -#define __cpp_ref_qualifiers 200710 -#endif -#ifndef __DEC128_MAX__ -#define __DEC128_MAX__ 9.999999999999999999999999999999999E6144DL -#endif -#ifndef __INT_LEAST32_MAX__ -#define __INT_LEAST32_MAX__ 0x7fffffff -#endif -#ifndef __DEC32_MIN__ -#define __DEC32_MIN__ 1E-95DF -#endif -#ifndef __DEPRECATED -#define __DEPRECATED 1 -#endif -#ifndef __cpp_rvalue_references -#define __cpp_rvalue_references 200610 -#endif -#ifndef __DBL_MAX_EXP__ -#define __DBL_MAX_EXP__ 1024 -#endif -#ifndef __DEC128_EPSILON__ -#define __DEC128_EPSILON__ 1E-33DL -#endif -#ifndef __SSE2_MATH__ -#define __SSE2_MATH__ 1 -#endif -#ifndef __ATOMIC_HLE_RELEASE -#define __ATOMIC_HLE_RELEASE 131072 -#endif -#ifndef __PTRDIFF_MAX__ -#define __PTRDIFF_MAX__ 0x7fffffffffffffffL -#endif -#ifndef __amd64 -#define __amd64 1 -#endif -#ifndef __STDC_NO_THREADS__ -#define __STDC_NO_THREADS__ 1 -#endif -#ifndef __ATOMIC_HLE_ACQUIRE -#define __ATOMIC_HLE_ACQUIRE 65536 -#endif -#ifndef __GNUG__ -#define __GNUG__ 6 -#endif -#ifndef __LONG_LONG_MAX__ -#define __LONG_LONG_MAX__ 0x7fffffffffffffffLL -#endif -#ifndef __SIZEOF_SIZE_T__ -#define __SIZEOF_SIZE_T__ 8 -#endif -#ifndef __cpp_rvalue_reference -#define __cpp_rvalue_reference 200610 -#endif -#ifndef __cpp_nsdmi -#define __cpp_nsdmi 200809 -#endif -#ifndef __SIZEOF_WINT_T__ -#define __SIZEOF_WINT_T__ 4 -#endif -#ifndef __cpp_initializer_lists -#define __cpp_initializer_lists 200806 -#endif -#ifndef __cpp_hex_float -#define __cpp_hex_float 201603 -#endif -#ifndef __GCC_HAVE_DWARF2_CFI_ASM -#define __GCC_HAVE_DWARF2_CFI_ASM 1 -#endif -#ifndef __GXX_ABI_VERSION -#define __GXX_ABI_VERSION 1010 -#endif -#ifndef __FLT_MIN_EXP__ -#define __FLT_MIN_EXP__ (-125) -#endif -#ifndef __cpp_lambdas -#define __cpp_lambdas 200907 -#endif -#ifndef __INT_FAST64_TYPE__ -#define __INT_FAST64_TYPE__ long int -#endif -#ifndef __DBL_MIN__ -#define __DBL_MIN__ double(2.22507385850720138309e-308L) -#endif -#ifndef __PIE__ -#define __PIE__ 2 -#endif -#ifndef __LP64__ -#define __LP64__ 1 -#endif -#ifndef __DECIMAL_BID_FORMAT__ -#define __DECIMAL_BID_FORMAT__ 1 -#endif -#ifndef __DEC128_MIN__ -#define __DEC128_MIN__ 1E-6143DL -#endif -#ifndef __REGISTER_PREFIX__ -#define __REGISTER_PREFIX__ -#endif -#ifndef __UINT16_MAX__ -#define __UINT16_MAX__ 0xffff -#endif -#ifndef __DBL_HAS_DENORM__ -#define __DBL_HAS_DENORM__ 1 -#endif -#ifndef __UINT8_TYPE__ -#define __UINT8_TYPE__ unsigned char -#endif -#ifndef __NO_INLINE__ -#define __NO_INLINE__ 1 -#endif -#ifndef __FLT_MANT_DIG__ -#define __FLT_MANT_DIG__ 24 -#endif -#ifndef __VERSION__ -#define __VERSION__ "6.3.0 20170516" -#endif -#ifndef __cpp_unicode_characters -#define __cpp_unicode_characters 200704 -#endif -#ifndef _STDC_PREDEF_H -#define _STDC_PREDEF_H 1 -#endif -#ifndef __cpp_decltype_auto -#define __cpp_decltype_auto 201304 -#endif -#ifndef __GCC_ATOMIC_INT_LOCK_FREE -#define __GCC_ATOMIC_INT_LOCK_FREE 2 -#endif -#ifndef __FLOAT_WORD_ORDER__ -#define __FLOAT_WORD_ORDER__ __ORDER_LITTLE_ENDIAN__ -#endif -#ifndef __STDC_IEC_559_COMPLEX__ -#define __STDC_IEC_559_COMPLEX__ 1 -#endif -#ifndef __DEC64_EPSILON__ -#define __DEC64_EPSILON__ 1E-15DD -#endif -#ifndef __ORDER_PDP_ENDIAN__ -#define __ORDER_PDP_ENDIAN__ 3412 -#endif -#ifndef __DEC128_MIN_EXP__ -#define __DEC128_MIN_EXP__ (-6142) -#endif -#ifndef __INT_FAST32_TYPE__ -#define __INT_FAST32_TYPE__ long int -#endif -#ifndef __UINT_LEAST16_TYPE__ -#define __UINT_LEAST16_TYPE__ short unsigned int -#endif -#ifndef unix -#define unix 1 -#endif -#ifndef __INT16_MAX__ -#define __INT16_MAX__ 0x7fff -#endif -#ifndef __cpp_rtti -#define __cpp_rtti 199711 -#endif -#ifndef __SIZE_TYPE__ -#define __SIZE_TYPE__ long unsigned int -#endif -#ifndef __UINT64_MAX__ -#define __UINT64_MAX__ 0xffffffffffffffffUL -#endif -#ifndef __INT8_TYPE__ -#define __INT8_TYPE__ signed char -#endif -#ifndef __cpp_digit_separators -#define __cpp_digit_separators 201309 -#endif -#ifndef __ELF__ -#define __ELF__ 1 -#endif -#ifndef __GCC_ASM_FLAG_OUTPUTS__ -#define __GCC_ASM_FLAG_OUTPUTS__ 1 -#endif -#ifndef __FLT_RADIX__ -#define __FLT_RADIX__ 2 -#endif -#ifndef __INT_LEAST16_TYPE__ -#define __INT_LEAST16_TYPE__ short int -#endif -#ifndef __LDBL_EPSILON__ -#define __LDBL_EPSILON__ 1.08420217248550443401e-19L -#endif -#ifndef __GLIBCXX_BITSIZE_INT_N_0 -#define __GLIBCXX_BITSIZE_INT_N_0 128 -#endif -#ifndef __k8 -#define __k8 1 -#endif -#ifndef __SIG_ATOMIC_MAX__ -#define __SIG_ATOMIC_MAX__ 0x7fffffff -#endif -#ifndef __GCC_ATOMIC_WCHAR_T_LOCK_FREE -#define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2 -#endif -#ifndef __cpp_sized_deallocation -#define __cpp_sized_deallocation 201309 -#endif -#ifndef __SIZEOF_PTRDIFF_T__ -#define __SIZEOF_PTRDIFF_T__ 8 -#endif -#ifndef __x86_64__ -#define __x86_64__ 1 -#endif -#ifndef __DEC32_SUBNORMAL_MIN__ -#define __DEC32_SUBNORMAL_MIN__ 0.000001E-95DF -#endif -#ifndef __INT_FAST16_MAX__ -#define __INT_FAST16_MAX__ 0x7fffffffffffffffL -#endif -#ifndef __UINT_FAST32_MAX__ -#define __UINT_FAST32_MAX__ 0xffffffffffffffffUL -#endif -#ifndef __UINT_LEAST64_TYPE__ -#define __UINT_LEAST64_TYPE__ long unsigned int -#endif -#ifndef __FLT_HAS_QUIET_NAN__ -#define __FLT_HAS_QUIET_NAN__ 1 -#endif -#ifndef __FLT_MAX_10_EXP__ -#define __FLT_MAX_10_EXP__ 38 -#endif -#ifndef __LONG_MAX__ -#define __LONG_MAX__ 0x7fffffffffffffffL -#endif -#ifndef __DEC128_SUBNORMAL_MIN__ -#define __DEC128_SUBNORMAL_MIN__ 0.000000000000000000000000000000001E-6143DL -#endif -#ifndef __FLT_HAS_INFINITY__ -#define __FLT_HAS_INFINITY__ 1 -#endif -#ifndef __cpp_unicode_literals -#define __cpp_unicode_literals 200710 -#endif -#ifndef __UINT_FAST16_TYPE__ -#define __UINT_FAST16_TYPE__ long unsigned int -#endif -#ifndef __DEC64_MAX__ -#define __DEC64_MAX__ 9.999999999999999E384DD -#endif -#ifndef __CHAR16_TYPE__ -#define __CHAR16_TYPE__ short unsigned int -#endif -#ifndef __PRAGMA_REDEFINE_EXTNAME -#define __PRAGMA_REDEFINE_EXTNAME 1 -#endif -#ifndef __SEG_FS -#define __SEG_FS 1 -#endif -#ifndef __INT_LEAST16_MAX__ -#define __INT_LEAST16_MAX__ 0x7fff -#endif -#ifndef __DEC64_MANT_DIG__ -#define __DEC64_MANT_DIG__ 16 -#endif -#ifndef __UINT_LEAST32_MAX__ -#define __UINT_LEAST32_MAX__ 0xffffffffU -#endif -#ifndef __SEG_GS -#define __SEG_GS 1 -#endif -#ifndef __GCC_ATOMIC_LONG_LOCK_FREE -#define __GCC_ATOMIC_LONG_LOCK_FREE 2 -#endif -#ifndef __INT_LEAST64_TYPE__ -#define __INT_LEAST64_TYPE__ long int -#endif -#ifndef __INT16_TYPE__ -#define __INT16_TYPE__ short int -#endif -#ifndef __INT_LEAST8_TYPE__ -#define __INT_LEAST8_TYPE__ signed char -#endif -#ifndef __DEC32_MAX_EXP__ -#define __DEC32_MAX_EXP__ 97 -#endif -#ifndef __INT_FAST8_MAX__ -#define __INT_FAST8_MAX__ 0x7f -#endif -#ifndef __INTPTR_MAX__ -#define __INTPTR_MAX__ 0x7fffffffffffffffL -#endif -#ifndef linux -#define linux 1 -#endif -#ifndef __cpp_range_based_for -#define __cpp_range_based_for 200907 -#endif -#ifndef __SSE2__ -#define __SSE2__ 1 -#endif -#ifndef __EXCEPTIONS -#define __EXCEPTIONS 1 -#endif -#ifndef __LDBL_MANT_DIG__ -#define __LDBL_MANT_DIG__ 64 -#endif -#ifndef __DBL_HAS_QUIET_NAN__ -#define __DBL_HAS_QUIET_NAN__ 1 -#endif -#ifndef __SIG_ATOMIC_MIN__ -#define __SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1) -#endif -#ifndef __code_model_small__ -#define __code_model_small__ 1 -#endif -#ifndef __cpp_return_type_deduction -#define __cpp_return_type_deduction 201304 -#endif -#ifndef __k8__ -#define __k8__ 1 -#endif -#ifndef __INTPTR_TYPE__ -#define __INTPTR_TYPE__ long int -#endif -#ifndef __UINT16_TYPE__ -#define __UINT16_TYPE__ short unsigned int -#endif -#ifndef __WCHAR_TYPE__ -#define __WCHAR_TYPE__ int -#endif -#ifndef __SIZEOF_FLOAT__ -#define __SIZEOF_FLOAT__ 4 -#endif -#ifndef __pic__ -#define __pic__ 2 -#endif -#ifndef __UINTPTR_MAX__ -#define __UINTPTR_MAX__ 0xffffffffffffffffUL -#endif -#ifndef __DEC64_MIN_EXP__ -#define __DEC64_MIN_EXP__ (-382) -#endif -#ifndef __cpp_decltype -#define __cpp_decltype 200707 -#endif -#ifndef __INT_FAST64_MAX__ -#define __INT_FAST64_MAX__ 0x7fffffffffffffffL -#endif -#ifndef __GCC_ATOMIC_TEST_AND_SET_TRUEVAL -#define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1 -#endif -#ifndef __FLT_DIG__ -#define __FLT_DIG__ 6 -#endif -#ifndef __UINT_FAST64_TYPE__ -#define __UINT_FAST64_TYPE__ long unsigned int -#endif -#ifndef __INT_MAX__ -#define __INT_MAX__ 0x7fffffff -#endif -#ifndef __amd64__ -#define __amd64__ 1 -#endif -#ifndef __INT64_TYPE__ -#define __INT64_TYPE__ long int -#endif -#ifndef __FLT_MAX_EXP__ -#define __FLT_MAX_EXP__ 128 -#endif -#ifndef __ORDER_BIG_ENDIAN__ -#define __ORDER_BIG_ENDIAN__ 4321 -#endif -#ifndef __DBL_MANT_DIG__ -#define __DBL_MANT_DIG__ 53 -#endif -#ifndef __cpp_inheriting_constructors -#define __cpp_inheriting_constructors 200802 -#endif -#ifndef __SIZEOF_FLOAT128__ -#define __SIZEOF_FLOAT128__ 16 -#endif -#ifndef __INT_LEAST64_MAX__ -#define __INT_LEAST64_MAX__ 0x7fffffffffffffffL -#endif -#ifndef __DEC64_MIN__ -#define __DEC64_MIN__ 1E-383DD -#endif -#ifndef __WINT_TYPE__ -#define __WINT_TYPE__ unsigned int -#endif -#ifndef __UINT_LEAST32_TYPE__ -#define __UINT_LEAST32_TYPE__ unsigned int -#endif -#ifndef __SIZEOF_SHORT__ -#define __SIZEOF_SHORT__ 2 -#endif -#ifndef __SSE__ -#define __SSE__ 1 -#endif -#ifndef __LDBL_MIN_EXP__ -#define __LDBL_MIN_EXP__ (-16381) -#endif -#ifndef __INT_LEAST8_MAX__ -#define __INT_LEAST8_MAX__ 0x7f -#endif -#ifndef __SIZEOF_INT128__ -#define __SIZEOF_INT128__ 16 -#endif -#ifndef __LDBL_MAX_10_EXP__ -#define __LDBL_MAX_10_EXP__ 4932 -#endif -#ifndef __ATOMIC_RELAXED -#define __ATOMIC_RELAXED 0 -#endif -#ifndef __DBL_EPSILON__ -#define __DBL_EPSILON__ double(2.22044604925031308085e-16L) -#endif -#ifndef _LP64 -#define _LP64 1 -#endif -#ifndef __INT_LEAST32_TYPE__ -#define __INT_LEAST32_TYPE__ int -#endif -#ifndef __SIZEOF_WCHAR_T__ -#define __SIZEOF_WCHAR_T__ 4 -#endif -#ifndef __UINT64_TYPE__ -#define __UINT64_TYPE__ long unsigned int -#endif -#ifndef __INT_FAST8_TYPE__ -#define __INT_FAST8_TYPE__ signed char -#endif -#ifndef __GNUC_STDC_INLINE__ -#define __GNUC_STDC_INLINE__ 1 -#endif -#ifndef __DBL_DECIMAL_DIG__ -#define __DBL_DECIMAL_DIG__ 17 -#endif -#ifndef __STDC_UTF_32__ -#define __STDC_UTF_32__ 1 -#endif -#ifndef __FXSR__ -#define __FXSR__ 1 -#endif -#ifndef __DEC_EVAL_METHOD__ -#define __DEC_EVAL_METHOD__ 2 -#endif -#ifndef __cpp_runtime_arrays -#define __cpp_runtime_arrays 198712 -#endif -#ifndef __INTMAX_MAX__ -#define __INTMAX_MAX__ 0x7fffffffffffffffL -#endif -#ifndef __cpp_alias_templates -#define __cpp_alias_templates 200704 -#endif -#ifndef __BYTE_ORDER__ -#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__ -#endif -#ifndef __FLT_DENORM_MIN__ -#define __FLT_DENORM_MIN__ 1.40129846432481707092e-45F -#endif -#ifndef __INT8_MAX__ -#define __INT8_MAX__ 0x7f -#endif -#ifndef __PIC__ -#define __PIC__ 2 -#endif -#ifndef __UINT_FAST32_TYPE__ -#define __UINT_FAST32_TYPE__ long unsigned int -#endif -#ifndef __CHAR32_TYPE__ -#define __CHAR32_TYPE__ unsigned int -#endif -#ifndef __FLT_MAX__ -#define __FLT_MAX__ 3.40282346638528859812e+38F -#endif -#ifndef __cpp_constexpr -#define __cpp_constexpr 201304 -#endif -#ifndef __INT32_TYPE__ -#define __INT32_TYPE__ int -#endif -#ifndef __SIZEOF_DOUBLE__ -#define __SIZEOF_DOUBLE__ 8 -#endif -#ifndef __cpp_exceptions -#define __cpp_exceptions 199711 -#endif -#ifndef __INTMAX_TYPE__ -#define __INTMAX_TYPE__ long int -#endif -#ifndef __DEC128_MAX_EXP__ -#define __DEC128_MAX_EXP__ 6145 -#endif -#ifndef __ATOMIC_CONSUME -#define __ATOMIC_CONSUME 1 -#endif -#ifndef __GNUC_MINOR__ -#define __GNUC_MINOR__ 3 -#endif -#ifndef __GLIBCXX_TYPE_INT_N_0 -#define __GLIBCXX_TYPE_INT_N_0 __int128 -#endif -#ifndef __UINTMAX_MAX__ -#define __UINTMAX_MAX__ 0xffffffffffffffffUL -#endif -#ifndef __DEC32_MANT_DIG__ -#define __DEC32_MANT_DIG__ 7 -#endif -#ifndef __DBL_MAX_10_EXP__ -#define __DBL_MAX_10_EXP__ 308 -#endif -#ifndef __LDBL_DENORM_MIN__ -#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L -#endif -#ifndef __cpp_generic_lambdas -#define __cpp_generic_lambdas 201304 -#endif -#ifndef __STDC__ -#define __STDC__ 1 -#endif -#ifndef __PTRDIFF_TYPE__ -#define __PTRDIFF_TYPE__ long int -#endif -#ifndef __ATOMIC_SEQ_CST -#define __ATOMIC_SEQ_CST 5 -#endif -#ifndef __UINT32_TYPE__ -#define __UINT32_TYPE__ unsigned int -#endif -#ifndef __UINTPTR_TYPE__ -#define __UINTPTR_TYPE__ long unsigned int -#endif -#ifndef __DEC64_SUBNORMAL_MIN__ -#define __DEC64_SUBNORMAL_MIN__ 0.000000000000001E-383DD -#endif -#ifndef __DEC128_MANT_DIG__ -#define __DEC128_MANT_DIG__ 34 -#endif -#ifndef __LDBL_MIN_10_EXP__ -#define __LDBL_MIN_10_EXP__ (-4931) -#endif -#ifndef __SSE_MATH__ -#define __SSE_MATH__ 1 -#endif -#ifndef __SIZEOF_LONG_LONG__ -#define __SIZEOF_LONG_LONG__ 8 -#endif -#ifndef __cpp_user_defined_literals -#define __cpp_user_defined_literals 200809 -#endif -#ifndef __GCC_ATOMIC_LLONG_LOCK_FREE -#define __GCC_ATOMIC_LLONG_LOCK_FREE 2 -#endif -#ifndef __LDBL_DIG__ -#define __LDBL_DIG__ 18 -#endif -#ifndef __FLT_DECIMAL_DIG__ -#define __FLT_DECIMAL_DIG__ 9 -#endif -#ifndef __UINT_FAST16_MAX__ -#define __UINT_FAST16_MAX__ 0xffffffffffffffffUL -#endif -#ifndef __FLT_MIN_10_EXP__ -#define __FLT_MIN_10_EXP__ (-37) -#endif -#ifndef __GCC_ATOMIC_SHORT_LOCK_FREE -#define __GCC_ATOMIC_SHORT_LOCK_FREE 2 -#endif -#ifndef __UINT_FAST8_TYPE__ -#define __UINT_FAST8_TYPE__ unsigned char -#endif -#ifndef _GNU_SOURCE -#define _GNU_SOURCE 1 -#endif -#ifndef __cpp_init_captures -#define __cpp_init_captures 201304 -#endif -#ifndef __ATOMIC_ACQ_REL -#define __ATOMIC_ACQ_REL 4 -#endif -#ifndef __ATOMIC_RELEASE -#define __ATOMIC_RELEASE 3 -#endif -#endif - -// --- Include directories begin --- // -///usr/include/python3.5dm -///usr/include/python3.5 -///usr/include/c++/6 -///usr/include/x86_64-linux-gnu/c++/6 -///usr/include/c++/6/backward -///usr/lib/gcc/x86_64-linux-gnu/6/include -///usr/local/include -///usr/lib/gcc/x86_64-linux-gnu/6/include-fixed -///usr/include/x86_64-linux-gnu -///usr/include -//../src -//pybind11\include -// --- Include directories end --- // - - -// --- Library directories begin --- // -///usr/lib/gcc/x86_64-linux-gnu/6/ -///usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/ -///usr/lib/gcc/x86_64-linux-gnu/6/../../../../lib/ -///lib/x86_64-linux-gnu/ -///lib/../lib/ -///usr/lib/x86_64-linux-gnu/ -///usr/lib/../lib/ -///usr/lib/gcc/x86_64-linux-gnu/6/../../../ -///lib/ -///usr/lib/ -// --- Library directories begin --- // - -#pragma clang diagnostic pop diff --git a/examples/knxPython/gcc_Release.h b/examples/knxPython/gcc_Release.h deleted file mode 100644 index ed07d0c..0000000 --- a/examples/knxPython/gcc_Release.h +++ /dev/null @@ -1,896 +0,0 @@ -/* - This file is only used by IntelliSense (VisualStudio code suggestion system) - DO NOT INCLUDE THIS FILE FROM YOUR ACTUAL SOURCE FILES. - This file lists the preprocessor macros extracted from your GCC. - It is needed for IntelliSense to parse other header files correctly. -*/ -#if defined(_MSC_VER) || defined (__SYSPROGS_CODESENSE__) -#pragma clang diagnostic push - -#pragma clang diagnostic ignored "-Wreserved-id-macro" -#ifndef __DBL_MIN_EXP__ -#define __DBL_MIN_EXP__ (-1021) -#endif -#ifndef __cpp_attributes -#define __cpp_attributes 200809 -#endif -#ifndef __UINT_LEAST16_MAX__ -#define __UINT_LEAST16_MAX__ 0xffff -#endif -#ifndef __ATOMIC_ACQUIRE -#define __ATOMIC_ACQUIRE 2 -#endif -#ifndef __FLT_MIN__ -#define __FLT_MIN__ 1.17549435082228750797e-38F -#endif -#ifndef __GCC_IEC_559_COMPLEX -#define __GCC_IEC_559_COMPLEX 2 -#endif -#ifndef __cpp_aggregate_nsdmi -#define __cpp_aggregate_nsdmi 201304 -#endif -#ifndef __UINT_LEAST8_TYPE__ -#define __UINT_LEAST8_TYPE__ unsigned char -#endif -#ifndef __SIZEOF_FLOAT80__ -#define __SIZEOF_FLOAT80__ 16 -#endif -#ifndef __CHAR_BIT__ -#define __CHAR_BIT__ 8 -#endif -#ifndef __UINT8_MAX__ -#define __UINT8_MAX__ 0xff -#endif -#ifndef __WINT_MAX__ -#define __WINT_MAX__ 0xffffffffU -#endif -#ifndef __cpp_static_assert -#define __cpp_static_assert 200410 -#endif -#ifndef __ORDER_LITTLE_ENDIAN__ -#define __ORDER_LITTLE_ENDIAN__ 1234 -#endif -#ifndef __SIZE_MAX__ -#define __SIZE_MAX__ 0xffffffffffffffffUL -#endif -#ifndef __WCHAR_MAX__ -#define __WCHAR_MAX__ 0x7fffffff -#endif -#ifndef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 -#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1 -#endif -#ifndef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 -#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1 -#endif -#ifndef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 -#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1 -#endif -#ifndef __DBL_DENORM_MIN__ -#define __DBL_DENORM_MIN__ double(4.94065645841246544177e-324L) -#endif -#ifndef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 -#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1 -#endif -#ifndef __GCC_ATOMIC_CHAR_LOCK_FREE -#define __GCC_ATOMIC_CHAR_LOCK_FREE 2 -#endif -#ifndef __GCC_IEC_559 -#define __GCC_IEC_559 2 -#endif -#ifndef __FLT_EVAL_METHOD__ -#define __FLT_EVAL_METHOD__ 0 -#endif -#ifndef __unix__ -#define __unix__ 1 -#endif -#ifndef __cpp_binary_literals -#define __cpp_binary_literals 201304 -#endif -#ifndef __GCC_ATOMIC_CHAR32_T_LOCK_FREE -#define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2 -#endif -#ifndef __x86_64 -#define __x86_64 1 -#endif -#ifndef __cpp_variadic_templates -#define __cpp_variadic_templates 200704 -#endif -#ifndef __UINT_FAST64_MAX__ -#define __UINT_FAST64_MAX__ 0xffffffffffffffffUL -#endif -#ifndef __SIG_ATOMIC_TYPE__ -#define __SIG_ATOMIC_TYPE__ int -#endif -#ifndef __DBL_MIN_10_EXP__ -#define __DBL_MIN_10_EXP__ (-307) -#endif -#ifndef __FINITE_MATH_ONLY__ -#define __FINITE_MATH_ONLY__ 0 -#endif -#ifndef __cpp_variable_templates -#define __cpp_variable_templates 201304 -#endif -#ifndef __GNUC_PATCHLEVEL__ -#define __GNUC_PATCHLEVEL__ 0 -#endif -#ifndef __UINT_FAST8_MAX__ -#define __UINT_FAST8_MAX__ 0xff -#endif -#ifndef __DEC64_MAX_EXP__ -#define __DEC64_MAX_EXP__ 385 -#endif -#ifndef __UINT_LEAST64_MAX__ -#define __UINT_LEAST64_MAX__ 0xffffffffffffffffUL -#endif -#ifndef __SHRT_MAX__ -#define __SHRT_MAX__ 0x7fff -#endif -#ifndef __LDBL_MAX__ -#define __LDBL_MAX__ 1.18973149535723176502e+4932L -#endif -#ifndef __UINT_LEAST8_MAX__ -#define __UINT_LEAST8_MAX__ 0xff -#endif -#ifndef __GCC_ATOMIC_BOOL_LOCK_FREE -#define __GCC_ATOMIC_BOOL_LOCK_FREE 2 -#endif -#ifndef __UINTMAX_TYPE__ -#define __UINTMAX_TYPE__ long unsigned int -#endif -#ifndef __linux -#define __linux 1 -#endif -#ifndef __DEC32_EPSILON__ -#define __DEC32_EPSILON__ 1E-6DF -#endif -#ifndef __unix -#define __unix 1 -#endif -#ifndef __UINT32_MAX__ -#define __UINT32_MAX__ 0xffffffffU -#endif -#if !defined(__GXX_EXPERIMENTAL_CXX0X__) && defined(__SYSPROGS_CODESENSE__) -#define __GXX_EXPERIMENTAL_CXX0X__ 1 -#endif -#ifndef __LDBL_MAX_EXP__ -#define __LDBL_MAX_EXP__ 16384 -#endif -#ifndef __WINT_MIN__ -#define __WINT_MIN__ 0U -#endif -#ifndef __linux__ -#define __linux__ 1 -#endif -#ifndef __SCHAR_MAX__ -#define __SCHAR_MAX__ 0x7f -#endif -#ifndef __WCHAR_MIN__ -#define __WCHAR_MIN__ (-__WCHAR_MAX__ - 1) -#endif -#ifndef __DBL_DIG__ -#define __DBL_DIG__ 15 -#endif -#ifndef __GCC_ATOMIC_POINTER_LOCK_FREE -#define __GCC_ATOMIC_POINTER_LOCK_FREE 2 -#endif -#ifndef __SIZEOF_INT__ -#define __SIZEOF_INT__ 4 -#endif -#ifndef __SIZEOF_POINTER__ -#define __SIZEOF_POINTER__ 8 -#endif -#ifndef __GCC_ATOMIC_CHAR16_T_LOCK_FREE -#define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2 -#endif -#ifndef __USER_LABEL_PREFIX__ -#define __USER_LABEL_PREFIX__ -#endif -#ifndef __STDC_HOSTED__ -#define __STDC_HOSTED__ 1 -#endif -#ifndef __LDBL_HAS_INFINITY__ -#define __LDBL_HAS_INFINITY__ 1 -#endif -#ifndef __FLT_EPSILON__ -#define __FLT_EPSILON__ 1.19209289550781250000e-7F -#endif -#ifndef __GXX_WEAK__ -#define __GXX_WEAK__ 1 -#endif -#ifndef __LDBL_MIN__ -#define __LDBL_MIN__ 3.36210314311209350626e-4932L -#endif -#ifndef __DEC32_MAX__ -#define __DEC32_MAX__ 9.999999E96DF -#endif -#ifndef __INT32_MAX__ -#define __INT32_MAX__ 0x7fffffff -#endif -#ifndef __SIZEOF_LONG__ -#define __SIZEOF_LONG__ 8 -#endif -#ifndef __STDC_IEC_559__ -#define __STDC_IEC_559__ 1 -#endif -#ifndef __STDC_ISO_10646__ -#define __STDC_ISO_10646__ 201605L -#endif -#ifndef __DECIMAL_DIG__ -#define __DECIMAL_DIG__ 21 -#endif -#ifndef __gnu_linux__ -#define __gnu_linux__ 1 -#endif -#ifndef __LDBL_HAS_QUIET_NAN__ -#define __LDBL_HAS_QUIET_NAN__ 1 -#endif -#ifndef __GNUC__ -#define __GNUC__ 6 -#endif -#ifndef __GXX_RTTI -#define __GXX_RTTI 1 -#endif -#ifndef __pie__ -#define __pie__ 2 -#endif -#ifndef __MMX__ -#define __MMX__ 1 -#endif -#ifndef __cpp_delegating_constructors -#define __cpp_delegating_constructors 200604 -#endif -#ifndef __FLT_HAS_DENORM__ -#define __FLT_HAS_DENORM__ 1 -#endif -#ifndef __SIZEOF_LONG_DOUBLE__ -#define __SIZEOF_LONG_DOUBLE__ 16 -#endif -#ifndef __BIGGEST_ALIGNMENT__ -#define __BIGGEST_ALIGNMENT__ 16 -#endif -#ifndef __STDC_UTF_16__ -#define __STDC_UTF_16__ 1 -#endif -#ifndef __DBL_MAX__ -#define __DBL_MAX__ double(1.79769313486231570815e+308L) -#endif -#ifndef __cpp_raw_strings -#define __cpp_raw_strings 200710 -#endif -#ifndef __INT_FAST32_MAX__ -#define __INT_FAST32_MAX__ 0x7fffffffffffffffL -#endif -#ifndef __DBL_HAS_INFINITY__ -#define __DBL_HAS_INFINITY__ 1 -#endif -#ifndef __INT64_MAX__ -#define __INT64_MAX__ 0x7fffffffffffffffL -#endif -#ifndef __DEC32_MIN_EXP__ -#define __DEC32_MIN_EXP__ (-94) -#endif -#ifndef __INT_FAST16_TYPE__ -#define __INT_FAST16_TYPE__ long int -#endif -#ifndef __LDBL_HAS_DENORM__ -#define __LDBL_HAS_DENORM__ 1 -#endif -//VS2005-2012 treats all files as C++, while VS2013+ can treat C files correctly. -#if defined(_MSC_VER) && (_MSC_VER < 1800 || defined(__cplusplus)) -#undef __cplusplus -#define __cplusplus 201402L -#endif -#ifndef __cpp_ref_qualifiers -#define __cpp_ref_qualifiers 200710 -#endif -#ifndef __DEC128_MAX__ -#define __DEC128_MAX__ 9.999999999999999999999999999999999E6144DL -#endif -#ifndef __INT_LEAST32_MAX__ -#define __INT_LEAST32_MAX__ 0x7fffffff -#endif -#ifndef __DEC32_MIN__ -#define __DEC32_MIN__ 1E-95DF -#endif -#ifndef __DEPRECATED -#define __DEPRECATED 1 -#endif -#ifndef __cpp_rvalue_references -#define __cpp_rvalue_references 200610 -#endif -#ifndef __DBL_MAX_EXP__ -#define __DBL_MAX_EXP__ 1024 -#endif -#ifndef __DEC128_EPSILON__ -#define __DEC128_EPSILON__ 1E-33DL -#endif -#ifndef __SSE2_MATH__ -#define __SSE2_MATH__ 1 -#endif -#ifndef __ATOMIC_HLE_RELEASE -#define __ATOMIC_HLE_RELEASE 131072 -#endif -#ifndef __PTRDIFF_MAX__ -#define __PTRDIFF_MAX__ 0x7fffffffffffffffL -#endif -#ifndef __amd64 -#define __amd64 1 -#endif -#ifndef __STDC_NO_THREADS__ -#define __STDC_NO_THREADS__ 1 -#endif -#ifndef __ATOMIC_HLE_ACQUIRE -#define __ATOMIC_HLE_ACQUIRE 65536 -#endif -#ifndef __GNUG__ -#define __GNUG__ 6 -#endif -#ifndef __LONG_LONG_MAX__ -#define __LONG_LONG_MAX__ 0x7fffffffffffffffLL -#endif -#ifndef __SIZEOF_SIZE_T__ -#define __SIZEOF_SIZE_T__ 8 -#endif -#ifndef __cpp_rvalue_reference -#define __cpp_rvalue_reference 200610 -#endif -#ifndef __cpp_nsdmi -#define __cpp_nsdmi 200809 -#endif -#ifndef __SIZEOF_WINT_T__ -#define __SIZEOF_WINT_T__ 4 -#endif -#ifndef __cpp_initializer_lists -#define __cpp_initializer_lists 200806 -#endif -#ifndef __cpp_hex_float -#define __cpp_hex_float 201603 -#endif -#ifndef __GCC_HAVE_DWARF2_CFI_ASM -#define __GCC_HAVE_DWARF2_CFI_ASM 1 -#endif -#ifndef __GXX_ABI_VERSION -#define __GXX_ABI_VERSION 1010 -#endif -#ifndef __FLT_MIN_EXP__ -#define __FLT_MIN_EXP__ (-125) -#endif -#ifndef __cpp_lambdas -#define __cpp_lambdas 200907 -#endif -#ifndef __INT_FAST64_TYPE__ -#define __INT_FAST64_TYPE__ long int -#endif -#ifndef __DBL_MIN__ -#define __DBL_MIN__ double(2.22507385850720138309e-308L) -#endif -#ifndef __PIE__ -#define __PIE__ 2 -#endif -#ifndef __LP64__ -#define __LP64__ 1 -#endif -#ifndef __DECIMAL_BID_FORMAT__ -#define __DECIMAL_BID_FORMAT__ 1 -#endif -#ifndef __DEC128_MIN__ -#define __DEC128_MIN__ 1E-6143DL -#endif -#ifndef __REGISTER_PREFIX__ -#define __REGISTER_PREFIX__ -#endif -#ifndef __UINT16_MAX__ -#define __UINT16_MAX__ 0xffff -#endif -#ifndef __DBL_HAS_DENORM__ -#define __DBL_HAS_DENORM__ 1 -#endif -#ifndef __UINT8_TYPE__ -#define __UINT8_TYPE__ unsigned char -#endif -#ifndef __NO_INLINE__ -#define __NO_INLINE__ 1 -#endif -#ifndef __FLT_MANT_DIG__ -#define __FLT_MANT_DIG__ 24 -#endif -#ifndef __VERSION__ -#define __VERSION__ "6.3.0 20170516" -#endif -#ifndef __cpp_unicode_characters -#define __cpp_unicode_characters 200704 -#endif -#ifndef _STDC_PREDEF_H -#define _STDC_PREDEF_H 1 -#endif -#ifndef __cpp_decltype_auto -#define __cpp_decltype_auto 201304 -#endif -#ifndef __GCC_ATOMIC_INT_LOCK_FREE -#define __GCC_ATOMIC_INT_LOCK_FREE 2 -#endif -#ifndef __FLOAT_WORD_ORDER__ -#define __FLOAT_WORD_ORDER__ __ORDER_LITTLE_ENDIAN__ -#endif -#ifndef __STDC_IEC_559_COMPLEX__ -#define __STDC_IEC_559_COMPLEX__ 1 -#endif -#ifndef __DEC64_EPSILON__ -#define __DEC64_EPSILON__ 1E-15DD -#endif -#ifndef __ORDER_PDP_ENDIAN__ -#define __ORDER_PDP_ENDIAN__ 3412 -#endif -#ifndef __DEC128_MIN_EXP__ -#define __DEC128_MIN_EXP__ (-6142) -#endif -#ifndef __INT_FAST32_TYPE__ -#define __INT_FAST32_TYPE__ long int -#endif -#ifndef __UINT_LEAST16_TYPE__ -#define __UINT_LEAST16_TYPE__ short unsigned int -#endif -#ifndef unix -#define unix 1 -#endif -#ifndef __INT16_MAX__ -#define __INT16_MAX__ 0x7fff -#endif -#ifndef __cpp_rtti -#define __cpp_rtti 199711 -#endif -#ifndef __SIZE_TYPE__ -#define __SIZE_TYPE__ long unsigned int -#endif -#ifndef __UINT64_MAX__ -#define __UINT64_MAX__ 0xffffffffffffffffUL -#endif -#ifndef __INT8_TYPE__ -#define __INT8_TYPE__ signed char -#endif -#ifndef __cpp_digit_separators -#define __cpp_digit_separators 201309 -#endif -#ifndef __ELF__ -#define __ELF__ 1 -#endif -#ifndef __GCC_ASM_FLAG_OUTPUTS__ -#define __GCC_ASM_FLAG_OUTPUTS__ 1 -#endif -#ifndef __FLT_RADIX__ -#define __FLT_RADIX__ 2 -#endif -#ifndef __INT_LEAST16_TYPE__ -#define __INT_LEAST16_TYPE__ short int -#endif -#ifndef __LDBL_EPSILON__ -#define __LDBL_EPSILON__ 1.08420217248550443401e-19L -#endif -#ifndef __GLIBCXX_BITSIZE_INT_N_0 -#define __GLIBCXX_BITSIZE_INT_N_0 128 -#endif -#ifndef __k8 -#define __k8 1 -#endif -#ifndef __SIG_ATOMIC_MAX__ -#define __SIG_ATOMIC_MAX__ 0x7fffffff -#endif -#ifndef __GCC_ATOMIC_WCHAR_T_LOCK_FREE -#define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2 -#endif -#ifndef __cpp_sized_deallocation -#define __cpp_sized_deallocation 201309 -#endif -#ifndef __SIZEOF_PTRDIFF_T__ -#define __SIZEOF_PTRDIFF_T__ 8 -#endif -#ifndef __x86_64__ -#define __x86_64__ 1 -#endif -#ifndef __DEC32_SUBNORMAL_MIN__ -#define __DEC32_SUBNORMAL_MIN__ 0.000001E-95DF -#endif -#ifndef __INT_FAST16_MAX__ -#define __INT_FAST16_MAX__ 0x7fffffffffffffffL -#endif -#ifndef __UINT_FAST32_MAX__ -#define __UINT_FAST32_MAX__ 0xffffffffffffffffUL -#endif -#ifndef __UINT_LEAST64_TYPE__ -#define __UINT_LEAST64_TYPE__ long unsigned int -#endif -#ifndef __FLT_HAS_QUIET_NAN__ -#define __FLT_HAS_QUIET_NAN__ 1 -#endif -#ifndef __FLT_MAX_10_EXP__ -#define __FLT_MAX_10_EXP__ 38 -#endif -#ifndef __LONG_MAX__ -#define __LONG_MAX__ 0x7fffffffffffffffL -#endif -#ifndef __DEC128_SUBNORMAL_MIN__ -#define __DEC128_SUBNORMAL_MIN__ 0.000000000000000000000000000000001E-6143DL -#endif -#ifndef __FLT_HAS_INFINITY__ -#define __FLT_HAS_INFINITY__ 1 -#endif -#ifndef __cpp_unicode_literals -#define __cpp_unicode_literals 200710 -#endif -#ifndef __UINT_FAST16_TYPE__ -#define __UINT_FAST16_TYPE__ long unsigned int -#endif -#ifndef __DEC64_MAX__ -#define __DEC64_MAX__ 9.999999999999999E384DD -#endif -#ifndef __CHAR16_TYPE__ -#define __CHAR16_TYPE__ short unsigned int -#endif -#ifndef __PRAGMA_REDEFINE_EXTNAME -#define __PRAGMA_REDEFINE_EXTNAME 1 -#endif -#ifndef __SEG_FS -#define __SEG_FS 1 -#endif -#ifndef __INT_LEAST16_MAX__ -#define __INT_LEAST16_MAX__ 0x7fff -#endif -#ifndef __DEC64_MANT_DIG__ -#define __DEC64_MANT_DIG__ 16 -#endif -#ifndef __UINT_LEAST32_MAX__ -#define __UINT_LEAST32_MAX__ 0xffffffffU -#endif -#ifndef __SEG_GS -#define __SEG_GS 1 -#endif -#ifndef __GCC_ATOMIC_LONG_LOCK_FREE -#define __GCC_ATOMIC_LONG_LOCK_FREE 2 -#endif -#ifndef __INT_LEAST64_TYPE__ -#define __INT_LEAST64_TYPE__ long int -#endif -#ifndef __INT16_TYPE__ -#define __INT16_TYPE__ short int -#endif -#ifndef __INT_LEAST8_TYPE__ -#define __INT_LEAST8_TYPE__ signed char -#endif -#ifndef __DEC32_MAX_EXP__ -#define __DEC32_MAX_EXP__ 97 -#endif -#ifndef __INT_FAST8_MAX__ -#define __INT_FAST8_MAX__ 0x7f -#endif -#ifndef __INTPTR_MAX__ -#define __INTPTR_MAX__ 0x7fffffffffffffffL -#endif -#ifndef linux -#define linux 1 -#endif -#ifndef __cpp_range_based_for -#define __cpp_range_based_for 200907 -#endif -#ifndef __SSE2__ -#define __SSE2__ 1 -#endif -#ifndef __EXCEPTIONS -#define __EXCEPTIONS 1 -#endif -#ifndef __LDBL_MANT_DIG__ -#define __LDBL_MANT_DIG__ 64 -#endif -#ifndef __DBL_HAS_QUIET_NAN__ -#define __DBL_HAS_QUIET_NAN__ 1 -#endif -#ifndef __SIG_ATOMIC_MIN__ -#define __SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1) -#endif -#ifndef __code_model_small__ -#define __code_model_small__ 1 -#endif -#ifndef __cpp_return_type_deduction -#define __cpp_return_type_deduction 201304 -#endif -#ifndef __k8__ -#define __k8__ 1 -#endif -#ifndef __INTPTR_TYPE__ -#define __INTPTR_TYPE__ long int -#endif -#ifndef __UINT16_TYPE__ -#define __UINT16_TYPE__ short unsigned int -#endif -#ifndef __WCHAR_TYPE__ -#define __WCHAR_TYPE__ int -#endif -#ifndef __SIZEOF_FLOAT__ -#define __SIZEOF_FLOAT__ 4 -#endif -#ifndef __pic__ -#define __pic__ 2 -#endif -#ifndef __UINTPTR_MAX__ -#define __UINTPTR_MAX__ 0xffffffffffffffffUL -#endif -#ifndef __DEC64_MIN_EXP__ -#define __DEC64_MIN_EXP__ (-382) -#endif -#ifndef __cpp_decltype -#define __cpp_decltype 200707 -#endif -#ifndef __INT_FAST64_MAX__ -#define __INT_FAST64_MAX__ 0x7fffffffffffffffL -#endif -#ifndef __GCC_ATOMIC_TEST_AND_SET_TRUEVAL -#define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1 -#endif -#ifndef __FLT_DIG__ -#define __FLT_DIG__ 6 -#endif -#ifndef __UINT_FAST64_TYPE__ -#define __UINT_FAST64_TYPE__ long unsigned int -#endif -#ifndef __INT_MAX__ -#define __INT_MAX__ 0x7fffffff -#endif -#ifndef __amd64__ -#define __amd64__ 1 -#endif -#ifndef __INT64_TYPE__ -#define __INT64_TYPE__ long int -#endif -#ifndef __FLT_MAX_EXP__ -#define __FLT_MAX_EXP__ 128 -#endif -#ifndef __ORDER_BIG_ENDIAN__ -#define __ORDER_BIG_ENDIAN__ 4321 -#endif -#ifndef __DBL_MANT_DIG__ -#define __DBL_MANT_DIG__ 53 -#endif -#ifndef __cpp_inheriting_constructors -#define __cpp_inheriting_constructors 200802 -#endif -#ifndef __SIZEOF_FLOAT128__ -#define __SIZEOF_FLOAT128__ 16 -#endif -#ifndef __INT_LEAST64_MAX__ -#define __INT_LEAST64_MAX__ 0x7fffffffffffffffL -#endif -#ifndef __DEC64_MIN__ -#define __DEC64_MIN__ 1E-383DD -#endif -#ifndef __WINT_TYPE__ -#define __WINT_TYPE__ unsigned int -#endif -#ifndef __UINT_LEAST32_TYPE__ -#define __UINT_LEAST32_TYPE__ unsigned int -#endif -#ifndef __SIZEOF_SHORT__ -#define __SIZEOF_SHORT__ 2 -#endif -#ifndef __SSE__ -#define __SSE__ 1 -#endif -#ifndef __LDBL_MIN_EXP__ -#define __LDBL_MIN_EXP__ (-16381) -#endif -#ifndef __INT_LEAST8_MAX__ -#define __INT_LEAST8_MAX__ 0x7f -#endif -#ifndef __SIZEOF_INT128__ -#define __SIZEOF_INT128__ 16 -#endif -#ifndef __LDBL_MAX_10_EXP__ -#define __LDBL_MAX_10_EXP__ 4932 -#endif -#ifndef __ATOMIC_RELAXED -#define __ATOMIC_RELAXED 0 -#endif -#ifndef __DBL_EPSILON__ -#define __DBL_EPSILON__ double(2.22044604925031308085e-16L) -#endif -#ifndef _LP64 -#define _LP64 1 -#endif -#ifndef __INT_LEAST32_TYPE__ -#define __INT_LEAST32_TYPE__ int -#endif -#ifndef __SIZEOF_WCHAR_T__ -#define __SIZEOF_WCHAR_T__ 4 -#endif -#ifndef __UINT64_TYPE__ -#define __UINT64_TYPE__ long unsigned int -#endif -#ifndef __INT_FAST8_TYPE__ -#define __INT_FAST8_TYPE__ signed char -#endif -#ifndef __GNUC_STDC_INLINE__ -#define __GNUC_STDC_INLINE__ 1 -#endif -#ifndef __DBL_DECIMAL_DIG__ -#define __DBL_DECIMAL_DIG__ 17 -#endif -#ifndef __STDC_UTF_32__ -#define __STDC_UTF_32__ 1 -#endif -#ifndef __FXSR__ -#define __FXSR__ 1 -#endif -#ifndef __DEC_EVAL_METHOD__ -#define __DEC_EVAL_METHOD__ 2 -#endif -#ifndef __cpp_runtime_arrays -#define __cpp_runtime_arrays 198712 -#endif -#ifndef __INTMAX_MAX__ -#define __INTMAX_MAX__ 0x7fffffffffffffffL -#endif -#ifndef __cpp_alias_templates -#define __cpp_alias_templates 200704 -#endif -#ifndef __BYTE_ORDER__ -#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__ -#endif -#ifndef __FLT_DENORM_MIN__ -#define __FLT_DENORM_MIN__ 1.40129846432481707092e-45F -#endif -#ifndef __INT8_MAX__ -#define __INT8_MAX__ 0x7f -#endif -#ifndef __PIC__ -#define __PIC__ 2 -#endif -#ifndef __UINT_FAST32_TYPE__ -#define __UINT_FAST32_TYPE__ long unsigned int -#endif -#ifndef __CHAR32_TYPE__ -#define __CHAR32_TYPE__ unsigned int -#endif -#ifndef __FLT_MAX__ -#define __FLT_MAX__ 3.40282346638528859812e+38F -#endif -#ifndef __cpp_constexpr -#define __cpp_constexpr 201304 -#endif -#ifndef __INT32_TYPE__ -#define __INT32_TYPE__ int -#endif -#ifndef __SIZEOF_DOUBLE__ -#define __SIZEOF_DOUBLE__ 8 -#endif -#ifndef __cpp_exceptions -#define __cpp_exceptions 199711 -#endif -#ifndef __INTMAX_TYPE__ -#define __INTMAX_TYPE__ long int -#endif -#ifndef __DEC128_MAX_EXP__ -#define __DEC128_MAX_EXP__ 6145 -#endif -#ifndef __ATOMIC_CONSUME -#define __ATOMIC_CONSUME 1 -#endif -#ifndef __GNUC_MINOR__ -#define __GNUC_MINOR__ 3 -#endif -#ifndef __GLIBCXX_TYPE_INT_N_0 -#define __GLIBCXX_TYPE_INT_N_0 __int128 -#endif -#ifndef __UINTMAX_MAX__ -#define __UINTMAX_MAX__ 0xffffffffffffffffUL -#endif -#ifndef __DEC32_MANT_DIG__ -#define __DEC32_MANT_DIG__ 7 -#endif -#ifndef __DBL_MAX_10_EXP__ -#define __DBL_MAX_10_EXP__ 308 -#endif -#ifndef __LDBL_DENORM_MIN__ -#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L -#endif -#ifndef __cpp_generic_lambdas -#define __cpp_generic_lambdas 201304 -#endif -#ifndef __STDC__ -#define __STDC__ 1 -#endif -#ifndef __PTRDIFF_TYPE__ -#define __PTRDIFF_TYPE__ long int -#endif -#ifndef __ATOMIC_SEQ_CST -#define __ATOMIC_SEQ_CST 5 -#endif -#ifndef __UINT32_TYPE__ -#define __UINT32_TYPE__ unsigned int -#endif -#ifndef __UINTPTR_TYPE__ -#define __UINTPTR_TYPE__ long unsigned int -#endif -#ifndef __DEC64_SUBNORMAL_MIN__ -#define __DEC64_SUBNORMAL_MIN__ 0.000000000000001E-383DD -#endif -#ifndef __DEC128_MANT_DIG__ -#define __DEC128_MANT_DIG__ 34 -#endif -#ifndef __LDBL_MIN_10_EXP__ -#define __LDBL_MIN_10_EXP__ (-4931) -#endif -#ifndef __SSE_MATH__ -#define __SSE_MATH__ 1 -#endif -#ifndef __SIZEOF_LONG_LONG__ -#define __SIZEOF_LONG_LONG__ 8 -#endif -#ifndef __cpp_user_defined_literals -#define __cpp_user_defined_literals 200809 -#endif -#ifndef __GCC_ATOMIC_LLONG_LOCK_FREE -#define __GCC_ATOMIC_LLONG_LOCK_FREE 2 -#endif -#ifndef __LDBL_DIG__ -#define __LDBL_DIG__ 18 -#endif -#ifndef __FLT_DECIMAL_DIG__ -#define __FLT_DECIMAL_DIG__ 9 -#endif -#ifndef __UINT_FAST16_MAX__ -#define __UINT_FAST16_MAX__ 0xffffffffffffffffUL -#endif -#ifndef __FLT_MIN_10_EXP__ -#define __FLT_MIN_10_EXP__ (-37) -#endif -#ifndef __GCC_ATOMIC_SHORT_LOCK_FREE -#define __GCC_ATOMIC_SHORT_LOCK_FREE 2 -#endif -#ifndef __UINT_FAST8_TYPE__ -#define __UINT_FAST8_TYPE__ unsigned char -#endif -#ifndef _GNU_SOURCE -#define _GNU_SOURCE 1 -#endif -#ifndef __cpp_init_captures -#define __cpp_init_captures 201304 -#endif -#ifndef __ATOMIC_ACQ_REL -#define __ATOMIC_ACQ_REL 4 -#endif -#ifndef __ATOMIC_RELEASE -#define __ATOMIC_RELEASE 3 -#endif -#ifndef NDEBUG -#define NDEBUG 1 -#endif -#ifndef RELEASE -#define RELEASE 1 -#endif -#endif - -// --- Include directories begin --- // -///usr/include/c++/6 -///usr/include/x86_64-linux-gnu/c++/6 -///usr/include/c++/6/backward -///usr/lib/gcc/x86_64-linux-gnu/6/include -///usr/local/include -///usr/lib/gcc/x86_64-linux-gnu/6/include-fixed -///usr/include/x86_64-linux-gnu -///usr/include -///usr/include/python3.5m -// --- Include directories end --- // - - -// --- Library directories begin --- // -///usr/lib/gcc/x86_64-linux-gnu/6/ -///usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/ -///usr/lib/gcc/x86_64-linux-gnu/6/../../../../lib/ -///lib/x86_64-linux-gnu/ -///lib/../lib/ -///usr/lib/x86_64-linux-gnu/ -///usr/lib/../lib/ -///usr/lib/gcc/x86_64-linux-gnu/6/../../../ -///lib/ -///usr/lib/ -// --- Library directories begin --- // - -#pragma clang diagnostic pop diff --git a/examples/knxPython/knxPython-Debug.vgdbsettings b/examples/knxPython/knxPython-Debug.vgdbsettings deleted file mode 100644 index 12d68c2..0000000 --- a/examples/knxPython/knxPython-Debug.vgdbsettings +++ /dev/null @@ -1,174 +0,0 @@ - - - Debug - - - - Win10LXSS - - - Suzail - SSH - tkunze - - - false - - Immerlund - SSH - tkunze - - $(ProjectDir)\.. - /tmp/VisualGDB/$(ProjectDirUnixStyle)/.. - - *.cpp - *.h - *.hpp - *.c - *.cc - *.cxx - *.mak - Makefile - *.txt - *.cmake - *.py - - true - true - - false - true - - false - false - false - false - false - $(ProjectDir) - - - - com.sysprogs.toolchain.default-gcc - - 0 - - - knxPython - DEBUG - - - false - - BuildMachine - BuiltinShortcut - - $(ToolchainMake) - $(ToolchainMakeArgs) - $(BuildDir) - - - - false - - BuildMachine - BuiltinShortcut - - $(ToolchainCMake) - . - $(BuildDir) - - - false - $(BuildDir)/main.py - false - false - false - RemoveBuildDirectory - - - - - - - - - - - - - Default - - - - true - - - - - Unknown - - true - true - true - - - - false - - - - - - - - - false - true - true - true - true - true - true - true - true - - false - false - false - false - false - false - true - false - None - false - false - - true - false - false - false - 0 - - - $(TargetPath) - 2000 - - $(BuildDir)/Debug - PYTHONPATH=%PYTHONPATH%:$(SourceDir)/$(ConfigurationName) - python3 - true - false - false - - false - - Local - false - false - Auto - - true - false - - \ No newline at end of file diff --git a/examples/knxPython/knxPython-Release.vgdbsettings b/examples/knxPython/knxPython-Release.vgdbsettings deleted file mode 100644 index e5d8aed..0000000 --- a/examples/knxPython/knxPython-Release.vgdbsettings +++ /dev/null @@ -1,137 +0,0 @@ - - - Release - - - - RemoteUnix - - - localhost - LinuxSubsystem - Linux - - false - false - false - false - false - $(ProjectDir) - - - - com.sysprogs.toolchain.default-gcc - - 0 - - - - RELWITHDEBINFO - Release - - false - - BuildMachine - BuiltinShortcut - - ninja - - $(BuildDir) - - - - false - - BuildMachine - BuiltinShortcut - - $(ToolchainCMake) - - - true - false - false - Ninja - false - - - - - - - - - - - - - Default - - - - true - - - - Unknown - - true - true - true - - - - false - - - - - - - false - false - false - false - false - false - false - false - false - - false - false - false - false - false - false - true - false - None - false - false - - true - false - false - false - 0 - - - $(SourceDir)/main.py - 2000 - - PYTHONPATH=%PYTHONPATH%:$(SourceDir)/$(ConfigurationName) - python3 - true - false - false - - false - Local - false - false - Auto - true - false - - \ No newline at end of file diff --git a/examples/knxPython/knxPython.vcxproj b/examples/knxPython/knxPython.vcxproj deleted file mode 100644 index a1237ae..0000000 --- a/examples/knxPython/knxPython.vcxproj +++ /dev/null @@ -1,143 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - 15.0 - {68FCB2F7-7A74-43A0-8CBE-36CB25020584} - - - - Makefile - true - v141 - - - Makefile - false - v141 - - - com.sysprogs.toolchain.default-gcc - - - - - - - - - - - - - - - - - - $(LOCALAPPDATA)\Packages\TheDebianProject.DebianGNULinux_76v4gfsz19hv4\LocalState\rootfs\usr\include\python3.5dm;$(LOCALAPPDATA)\Packages\TheDebianProject.DebianGNULinux_76v4gfsz19hv4\LocalState\rootfs\usr\include\python3.5;$(LOCALAPPDATA)\Packages\TheDebianProject.DebianGNULinux_76v4gfsz19hv4\LocalState\rootfs\usr\include\c++\6;$(LOCALAPPDATA)\Packages\TheDebianProject.DebianGNULinux_76v4gfsz19hv4\LocalState\rootfs\usr\include\x86_64-linux-gnu\c++\6;$(LOCALAPPDATA)\Packages\TheDebianProject.DebianGNULinux_76v4gfsz19hv4\LocalState\rootfs\usr\include\c++\6\backward;$(LOCALAPPDATA)\Packages\TheDebianProject.DebianGNULinux_76v4gfsz19hv4\LocalState\rootfs\usr\lib\gcc\x86_64-linux-gnu\6\include;$(LOCALAPPDATA)\Packages\TheDebianProject.DebianGNULinux_76v4gfsz19hv4\LocalState\rootfs\usr\local\include;$(LOCALAPPDATA)\Packages\TheDebianProject.DebianGNULinux_76v4gfsz19hv4\LocalState\rootfs\usr\lib\gcc\x86_64-linux-gnu\6\include-fixed;$(LOCALAPPDATA)\Packages\TheDebianProject.DebianGNULinux_76v4gfsz19hv4\LocalState\rootfs\usr\include\x86_64-linux-gnu;$(LOCALAPPDATA)\Packages\TheDebianProject.DebianGNULinux_76v4gfsz19hv4\LocalState\rootfs\usr\include;..\..\src;..\pybind11\include;pybind11\include;..\src;$(NMakeIncludeSearchPath) - $(ProjectDir)\gcc_Debug.h;$(VISUALGDB_DIR)\gcc_compat.h;$(NMakeForcedIncludes) - "$(VISUALGDB_DIR)\VisualGDB.exe" /build "$(ProjectPath)" "/solution:$(SolutionPath)" "/config:$(Configuration)" "/platform:$(Platform)" - "$(VISUALGDB_DIR)\VisualGDB.exe" /clean "$(ProjectPath)" "/solution:$(SolutionPath)" "/config:$(Configuration)" "/platform:$(Platform)" - "$(VISUALGDB_DIR)\VisualGDB.exe" /rebuild "$(ProjectPath)" "/solution:$(SolutionPath)" "/config:$(Configuration)" "/platform:$(Platform)" - $(ProjectDir)knxPython-Debug.vgdbsettings - - - - __VisualGDB_CFG_Debug;$(NMakePreprocessorDefinitions) - - - $(LOCALAPPDATA)\Packages\TheDebianProject.DebianGNULinux_76v4gfsz19hv4\LocalState\rootfs\usr\include\c++\6;$(LOCALAPPDATA)\Packages\TheDebianProject.DebianGNULinux_76v4gfsz19hv4\LocalState\rootfs\usr\include\x86_64-linux-gnu\c++\6;$(LOCALAPPDATA)\Packages\TheDebianProject.DebianGNULinux_76v4gfsz19hv4\LocalState\rootfs\usr\include\c++\6\backward;$(LOCALAPPDATA)\Packages\TheDebianProject.DebianGNULinux_76v4gfsz19hv4\LocalState\rootfs\usr\lib\gcc\x86_64-linux-gnu\6\include;$(LOCALAPPDATA)\Packages\TheDebianProject.DebianGNULinux_76v4gfsz19hv4\LocalState\rootfs\usr\local\include;$(LOCALAPPDATA)\Packages\TheDebianProject.DebianGNULinux_76v4gfsz19hv4\LocalState\rootfs\usr\lib\gcc\x86_64-linux-gnu\6\include-fixed;$(LOCALAPPDATA)\Packages\TheDebianProject.DebianGNULinux_76v4gfsz19hv4\LocalState\rootfs\usr\include\x86_64-linux-gnu;$(LOCALAPPDATA)\Packages\TheDebianProject.DebianGNULinux_76v4gfsz19hv4\LocalState\rootfs\usr\include;$(LOCALAPPDATA)\Packages\TheDebianProject.DebianGNULinux_76v4gfsz19hv4\LocalState\rootfs\usr\include\python3.5m;$(NMakeIncludeSearchPath) - $(ProjectDir)\gcc_Release.h;$(VISUALGDB_DIR)\gcc_compat.h;$(NMakeForcedIncludes) - __VisualGDB_CFG_Release;$(NMakePreprocessorDefinitions) - "$(VISUALGDB_DIR)\VisualGDB.exe" /build "$(ProjectPath)" "/solution:$(SolutionPath)" "/config:$(Configuration)" "/platform:$(Platform)" - "$(VISUALGDB_DIR)\VisualGDB.exe" /clean "$(ProjectPath)" "/solution:$(SolutionPath)" "/config:$(Configuration)" "/platform:$(Platform)" - "$(VISUALGDB_DIR)\VisualGDB.exe" /rebuild "$(ProjectPath)" "/solution:$(SolutionPath)" "/config:$(Configuration)" "/platform:$(Platform)" - $(ProjectDir)knxPython-Release.vgdbsettings - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/examples/knxPython/knxPython.vcxproj.filters b/examples/knxPython/knxPython.vcxproj.filters deleted file mode 100644 index 1fdeb19..0000000 --- a/examples/knxPython/knxPython.vcxproj.filters +++ /dev/null @@ -1,224 +0,0 @@ - - - - - {bc07234d-6893-4fc7-b48a-c5e380b556fc} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {5e6d3a3e-54cc-42a3-b9fe-e38d28131f2c} - h;hpp;hxx;hm;inl;inc;xsd - - - {1a42e2a3-aaf9-4fb5-979e-e5e0e1b08066} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav - - - {2b5bbab2-2018-429a-86e7-9c7acc39c6bd} - - - {7e69dfe2-4c9f-45d6-ac01-da91e2fca1d6} - - - {d0e1ff81-b680-49ee-a4db-64ebb9748e39} - - - - - Source files - - - Source files - - - VisualGDB settings - - - VisualGDB settings - - - - - Source files - - - Source files - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - Source files\knx - - - - - Header files - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - Header files\knx - - - \ No newline at end of file diff --git a/examples/knxPython/knxmodule.cpp b/examples/knxPython/knxmodule.cpp index a0db49e..82a5f24 100644 --- a/examples/knxPython/knxmodule.cpp +++ b/examples/knxPython/knxmodule.cpp @@ -28,7 +28,7 @@ static void loop() while (running) { bau->loop(); - platform->mdelay(100); + delayMicroseconds(100); } } diff --git a/examples/knxPython/pybind11/.readthedocs.yml b/examples/knxPython/pybind11/.readthedocs.yml deleted file mode 100644 index c9c6161..0000000 --- a/examples/knxPython/pybind11/.readthedocs.yml +++ /dev/null @@ -1,3 +0,0 @@ -python: - version: 3 -requirements_file: docs/requirements.txt diff --git a/examples/knxPython/pybind11/docs/_static/theme_overrides.css b/examples/knxPython/pybind11/docs/_static/theme_overrides.css deleted file mode 100644 index 1071809..0000000 --- a/examples/knxPython/pybind11/docs/_static/theme_overrides.css +++ /dev/null @@ -1,11 +0,0 @@ -.wy-table-responsive table td, -.wy-table-responsive table th { - white-space: initial !important; -} -.rst-content table.docutils td { - vertical-align: top !important; -} -div[class^='highlight'] pre { - white-space: pre; - white-space: pre-wrap; -} diff --git a/examples/knxPython/pybind11/docs/advanced/cast/functional.rst b/examples/knxPython/pybind11/docs/advanced/cast/functional.rst deleted file mode 100644 index d9b4605..0000000 --- a/examples/knxPython/pybind11/docs/advanced/cast/functional.rst +++ /dev/null @@ -1,109 +0,0 @@ -Functional -########## - -The following features must be enabled by including :file:`pybind11/functional.h`. - - -Callbacks and passing anonymous functions -========================================= - -The C++11 standard brought lambda functions and the generic polymorphic -function wrapper ``std::function<>`` to the C++ programming language, which -enable powerful new ways of working with functions. Lambda functions come in -two flavors: stateless lambda function resemble classic function pointers that -link to an anonymous piece of code, while stateful lambda functions -additionally depend on captured variables that are stored in an anonymous -*lambda closure object*. - -Here is a simple example of a C++ function that takes an arbitrary function -(stateful or stateless) with signature ``int -> int`` as an argument and runs -it with the value 10. - -.. code-block:: cpp - - int func_arg(const std::function &f) { - return f(10); - } - -The example below is more involved: it takes a function of signature ``int -> int`` -and returns another function of the same kind. The return value is a stateful -lambda function, which stores the value ``f`` in the capture object and adds 1 to -its return value upon execution. - -.. code-block:: cpp - - std::function func_ret(const std::function &f) { - return [f](int i) { - return f(i) + 1; - }; - } - -This example demonstrates using python named parameters in C++ callbacks which -requires using ``py::cpp_function`` as a wrapper. Usage is similar to defining -methods of classes: - -.. code-block:: cpp - - py::cpp_function func_cpp() { - return py::cpp_function([](int i) { return i+1; }, - py::arg("number")); - } - -After including the extra header file :file:`pybind11/functional.h`, it is almost -trivial to generate binding code for all of these functions. - -.. code-block:: cpp - - #include - - PYBIND11_MODULE(example, m) { - m.def("func_arg", &func_arg); - m.def("func_ret", &func_ret); - m.def("func_cpp", &func_cpp); - } - -The following interactive session shows how to call them from Python. - -.. code-block:: pycon - - $ python - >>> import example - >>> def square(i): - ... return i * i - ... - >>> example.func_arg(square) - 100L - >>> square_plus_1 = example.func_ret(square) - >>> square_plus_1(4) - 17L - >>> plus_1 = func_cpp() - >>> plus_1(number=43) - 44L - -.. warning:: - - Keep in mind that passing a function from C++ to Python (or vice versa) - will instantiate a piece of wrapper code that translates function - invocations between the two languages. Naturally, this translation - increases the computational cost of each function call somewhat. A - problematic situation can arise when a function is copied back and forth - between Python and C++ many times in a row, in which case the underlying - wrappers will accumulate correspondingly. The resulting long sequence of - C++ -> Python -> C++ -> ... roundtrips can significantly decrease - performance. - - There is one exception: pybind11 detects case where a stateless function - (i.e. a function pointer or a lambda function without captured variables) - is passed as an argument to another C++ function exposed in Python. In this - case, there is no overhead. Pybind11 will extract the underlying C++ - function pointer from the wrapped function to sidestep a potential C++ -> - Python -> C++ roundtrip. This is demonstrated in :file:`tests/test_callbacks.cpp`. - -.. note:: - - This functionality is very useful when generating bindings for callbacks in - C++ libraries (e.g. GUI libraries, asynchronous networking libraries, etc.). - - The file :file:`tests/test_callbacks.cpp` contains a complete example - that demonstrates how to work with callbacks and anonymous functions in - more detail. diff --git a/examples/knxPython/pybind11/docs/advanced/cast/strings.rst b/examples/knxPython/pybind11/docs/advanced/cast/strings.rst deleted file mode 100644 index e25701e..0000000 --- a/examples/knxPython/pybind11/docs/advanced/cast/strings.rst +++ /dev/null @@ -1,305 +0,0 @@ -Strings, bytes and Unicode conversions -###################################### - -.. note:: - - This section discusses string handling in terms of Python 3 strings. For - Python 2.7, replace all occurrences of ``str`` with ``unicode`` and - ``bytes`` with ``str``. Python 2.7 users may find it best to use ``from - __future__ import unicode_literals`` to avoid unintentionally using ``str`` - instead of ``unicode``. - -Passing Python strings to C++ -============================= - -When a Python ``str`` is passed from Python to a C++ function that accepts -``std::string`` or ``char *`` as arguments, pybind11 will encode the Python -string to UTF-8. All Python ``str`` can be encoded in UTF-8, so this operation -does not fail. - -The C++ language is encoding agnostic. It is the responsibility of the -programmer to track encodings. It's often easiest to simply `use UTF-8 -everywhere `_. - -.. code-block:: c++ - - m.def("utf8_test", - [](const std::string &s) { - cout << "utf-8 is icing on the cake.\n"; - cout << s; - } - ); - m.def("utf8_charptr", - [](const char *s) { - cout << "My favorite food is\n"; - cout << s; - } - ); - -.. code-block:: python - - >>> utf8_test('🎂') - utf-8 is icing on the cake. - 🎂 - - >>> utf8_charptr('🍕') - My favorite food is - 🍕 - -.. note:: - - Some terminal emulators do not support UTF-8 or emoji fonts and may not - display the example above correctly. - -The results are the same whether the C++ function accepts arguments by value or -reference, and whether or not ``const`` is used. - -Passing bytes to C++ --------------------- - -A Python ``bytes`` object will be passed to C++ functions that accept -``std::string`` or ``char*`` *without* conversion. On Python 3, in order to -make a function *only* accept ``bytes`` (and not ``str``), declare it as taking -a ``py::bytes`` argument. - - -Returning C++ strings to Python -=============================== - -When a C++ function returns a ``std::string`` or ``char*`` to a Python caller, -**pybind11 will assume that the string is valid UTF-8** and will decode it to a -native Python ``str``, using the same API as Python uses to perform -``bytes.decode('utf-8')``. If this implicit conversion fails, pybind11 will -raise a ``UnicodeDecodeError``. - -.. code-block:: c++ - - m.def("std_string_return", - []() { - return std::string("This string needs to be UTF-8 encoded"); - } - ); - -.. code-block:: python - - >>> isinstance(example.std_string_return(), str) - True - - -Because UTF-8 is inclusive of pure ASCII, there is never any issue with -returning a pure ASCII string to Python. If there is any possibility that the -string is not pure ASCII, it is necessary to ensure the encoding is valid -UTF-8. - -.. warning:: - - Implicit conversion assumes that a returned ``char *`` is null-terminated. - If there is no null terminator a buffer overrun will occur. - -Explicit conversions --------------------- - -If some C++ code constructs a ``std::string`` that is not a UTF-8 string, one -can perform a explicit conversion and return a ``py::str`` object. Explicit -conversion has the same overhead as implicit conversion. - -.. code-block:: c++ - - // This uses the Python C API to convert Latin-1 to Unicode - m.def("str_output", - []() { - std::string s = "Send your r\xe9sum\xe9 to Alice in HR"; // Latin-1 - py::str py_s = PyUnicode_DecodeLatin1(s.data(), s.length()); - return py_s; - } - ); - -.. code-block:: python - - >>> str_output() - 'Send your résumé to Alice in HR' - -The `Python C API -`_ provides -several built-in codecs. - - -One could also use a third party encoding library such as libiconv to transcode -to UTF-8. - -Return C++ strings without conversion -------------------------------------- - -If the data in a C++ ``std::string`` does not represent text and should be -returned to Python as ``bytes``, then one can return the data as a -``py::bytes`` object. - -.. code-block:: c++ - - m.def("return_bytes", - []() { - std::string s("\xba\xd0\xba\xd0"); // Not valid UTF-8 - return py::bytes(s); // Return the data without transcoding - } - ); - -.. code-block:: python - - >>> example.return_bytes() - b'\xba\xd0\xba\xd0' - - -Note the asymmetry: pybind11 will convert ``bytes`` to ``std::string`` without -encoding, but cannot convert ``std::string`` back to ``bytes`` implicitly. - -.. code-block:: c++ - - m.def("asymmetry", - [](std::string s) { // Accepts str or bytes from Python - return s; // Looks harmless, but implicitly converts to str - } - ); - -.. code-block:: python - - >>> isinstance(example.asymmetry(b"have some bytes"), str) - True - - >>> example.asymmetry(b"\xba\xd0\xba\xd0") # invalid utf-8 as bytes - UnicodeDecodeError: 'utf-8' codec can't decode byte 0xba in position 0: invalid start byte - - -Wide character strings -====================== - -When a Python ``str`` is passed to a C++ function expecting ``std::wstring``, -``wchar_t*``, ``std::u16string`` or ``std::u32string``, the ``str`` will be -encoded to UTF-16 or UTF-32 depending on how the C++ compiler implements each -type, in the platform's native endianness. When strings of these types are -returned, they are assumed to contain valid UTF-16 or UTF-32, and will be -decoded to Python ``str``. - -.. code-block:: c++ - - #define UNICODE - #include - - m.def("set_window_text", - [](HWND hwnd, std::wstring s) { - // Call SetWindowText with null-terminated UTF-16 string - ::SetWindowText(hwnd, s.c_str()); - } - ); - m.def("get_window_text", - [](HWND hwnd) { - const int buffer_size = ::GetWindowTextLength(hwnd) + 1; - auto buffer = std::make_unique< wchar_t[] >(buffer_size); - - ::GetWindowText(hwnd, buffer.data(), buffer_size); - - std::wstring text(buffer.get()); - - // wstring will be converted to Python str - return text; - } - ); - -.. warning:: - - Wide character strings may not work as described on Python 2.7 or Python - 3.3 compiled with ``--enable-unicode=ucs2``. - -Strings in multibyte encodings such as Shift-JIS must transcoded to a -UTF-8/16/32 before being returned to Python. - - -Character literals -================== - -C++ functions that accept character literals as input will receive the first -character of a Python ``str`` as their input. If the string is longer than one -Unicode character, trailing characters will be ignored. - -When a character literal is returned from C++ (such as a ``char`` or a -``wchar_t``), it will be converted to a ``str`` that represents the single -character. - -.. code-block:: c++ - - m.def("pass_char", [](char c) { return c; }); - m.def("pass_wchar", [](wchar_t w) { return w; }); - -.. code-block:: python - - >>> example.pass_char('A') - 'A' - -While C++ will cast integers to character types (``char c = 0x65;``), pybind11 -does not convert Python integers to characters implicitly. The Python function -``chr()`` can be used to convert integers to characters. - -.. code-block:: python - - >>> example.pass_char(0x65) - TypeError - - >>> example.pass_char(chr(0x65)) - 'A' - -If the desire is to work with an 8-bit integer, use ``int8_t`` or ``uint8_t`` -as the argument type. - -Grapheme clusters ------------------ - -A single grapheme may be represented by two or more Unicode characters. For -example 'é' is usually represented as U+00E9 but can also be expressed as the -combining character sequence U+0065 U+0301 (that is, the letter 'e' followed by -a combining acute accent). The combining character will be lost if the -two-character sequence is passed as an argument, even though it renders as a -single grapheme. - -.. code-block:: python - - >>> example.pass_wchar('é') - 'é' - - >>> combining_e_acute = 'e' + '\u0301' - - >>> combining_e_acute - 'é' - - >>> combining_e_acute == 'é' - False - - >>> example.pass_wchar(combining_e_acute) - 'e' - -Normalizing combining characters before passing the character literal to C++ -may resolve *some* of these issues: - -.. code-block:: python - - >>> example.pass_wchar(unicodedata.normalize('NFC', combining_e_acute)) - 'é' - -In some languages (Thai for example), there are `graphemes that cannot be -expressed as a single Unicode code point -`_, so there is -no way to capture them in a C++ character type. - - -C++17 string views -================== - -C++17 string views are automatically supported when compiling in C++17 mode. -They follow the same rules for encoding and decoding as the corresponding STL -string type (for example, a ``std::u16string_view`` argument will be passed -UTF-16-encoded data, and a returned ``std::string_view`` will be decoded as -UTF-8). - -References -========== - -* `The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!) `_ -* `C++ - Using STL Strings at Win32 API Boundaries `_ diff --git a/examples/knxPython/pybind11/docs/advanced/pycpp/index.rst b/examples/knxPython/pybind11/docs/advanced/pycpp/index.rst deleted file mode 100644 index 6885bdc..0000000 --- a/examples/knxPython/pybind11/docs/advanced/pycpp/index.rst +++ /dev/null @@ -1,13 +0,0 @@ -Python C++ interface -#################### - -pybind11 exposes Python types and functions using thin C++ wrappers, which -makes it possible to conveniently call Python code from C++ without resorting -to Python's C API. - -.. toctree:: - :maxdepth: 2 - - object - numpy - utilities diff --git a/examples/knxPython/pybind11/docs/advanced/smart_ptrs.rst b/examples/knxPython/pybind11/docs/advanced/smart_ptrs.rst deleted file mode 100644 index da57748..0000000 --- a/examples/knxPython/pybind11/docs/advanced/smart_ptrs.rst +++ /dev/null @@ -1,173 +0,0 @@ -Smart pointers -############## - -std::unique_ptr -=============== - -Given a class ``Example`` with Python bindings, it's possible to return -instances wrapped in C++11 unique pointers, like so - -.. code-block:: cpp - - std::unique_ptr create_example() { return std::unique_ptr(new Example()); } - -.. code-block:: cpp - - m.def("create_example", &create_example); - -In other words, there is nothing special that needs to be done. While returning -unique pointers in this way is allowed, it is *illegal* to use them as function -arguments. For instance, the following function signature cannot be processed -by pybind11. - -.. code-block:: cpp - - void do_something_with_example(std::unique_ptr ex) { ... } - -The above signature would imply that Python needs to give up ownership of an -object that is passed to this function, which is generally not possible (for -instance, the object might be referenced elsewhere). - -std::shared_ptr -=============== - -The binding generator for classes, :class:`class_`, can be passed a template -type that denotes a special *holder* type that is used to manage references to -the object. If no such holder type template argument is given, the default for -a type named ``Type`` is ``std::unique_ptr``, which means that the object -is deallocated when Python's reference count goes to zero. - -It is possible to switch to other types of reference counting wrappers or smart -pointers, which is useful in codebases that rely on them. For instance, the -following snippet causes ``std::shared_ptr`` to be used instead. - -.. code-block:: cpp - - py::class_ /* <- holder type */> obj(m, "Example"); - -Note that any particular class can only be associated with a single holder type. - -One potential stumbling block when using holder types is that they need to be -applied consistently. Can you guess what's broken about the following binding -code? - -.. code-block:: cpp - - class Child { }; - - class Parent { - public: - Parent() : child(std::make_shared()) { } - Child *get_child() { return child.get(); } /* Hint: ** DON'T DO THIS ** */ - private: - std::shared_ptr child; - }; - - PYBIND11_MODULE(example, m) { - py::class_>(m, "Child"); - - py::class_>(m, "Parent") - .def(py::init<>()) - .def("get_child", &Parent::get_child); - } - -The following Python code will cause undefined behavior (and likely a -segmentation fault). - -.. code-block:: python - - from example import Parent - print(Parent().get_child()) - -The problem is that ``Parent::get_child()`` returns a pointer to an instance of -``Child``, but the fact that this instance is already managed by -``std::shared_ptr<...>`` is lost when passing raw pointers. In this case, -pybind11 will create a second independent ``std::shared_ptr<...>`` that also -claims ownership of the pointer. In the end, the object will be freed **twice** -since these shared pointers have no way of knowing about each other. - -There are two ways to resolve this issue: - -1. For types that are managed by a smart pointer class, never use raw pointers - in function arguments or return values. In other words: always consistently - wrap pointers into their designated holder types (such as - ``std::shared_ptr<...>``). In this case, the signature of ``get_child()`` - should be modified as follows: - -.. code-block:: cpp - - std::shared_ptr get_child() { return child; } - -2. Adjust the definition of ``Child`` by specifying - ``std::enable_shared_from_this`` (see cppreference_ for details) as a - base class. This adds a small bit of information to ``Child`` that allows - pybind11 to realize that there is already an existing - ``std::shared_ptr<...>`` and communicate with it. In this case, the - declaration of ``Child`` should look as follows: - -.. _cppreference: http://en.cppreference.com/w/cpp/memory/enable_shared_from_this - -.. code-block:: cpp - - class Child : public std::enable_shared_from_this { }; - -.. _smart_pointers: - -Custom smart pointers -===================== - -pybind11 supports ``std::unique_ptr`` and ``std::shared_ptr`` right out of the -box. For any other custom smart pointer, transparent conversions can be enabled -using a macro invocation similar to the following. It must be declared at the -top namespace level before any binding code: - -.. code-block:: cpp - - PYBIND11_DECLARE_HOLDER_TYPE(T, SmartPtr); - -The first argument of :func:`PYBIND11_DECLARE_HOLDER_TYPE` should be a -placeholder name that is used as a template parameter of the second argument. -Thus, feel free to use any identifier, but use it consistently on both sides; -also, don't use the name of a type that already exists in your codebase. - -The macro also accepts a third optional boolean parameter that is set to false -by default. Specify - -.. code-block:: cpp - - PYBIND11_DECLARE_HOLDER_TYPE(T, SmartPtr, true); - -if ``SmartPtr`` can always be initialized from a ``T*`` pointer without the -risk of inconsistencies (such as multiple independent ``SmartPtr`` instances -believing that they are the sole owner of the ``T*`` pointer). A common -situation where ``true`` should be passed is when the ``T`` instances use -*intrusive* reference counting. - -Please take a look at the :ref:`macro_notes` before using this feature. - -By default, pybind11 assumes that your custom smart pointer has a standard -interface, i.e. provides a ``.get()`` member function to access the underlying -raw pointer. If this is not the case, pybind11's ``holder_helper`` must be -specialized: - -.. code-block:: cpp - - // Always needed for custom holder types - PYBIND11_DECLARE_HOLDER_TYPE(T, SmartPtr); - - // Only needed if the type's `.get()` goes by another name - namespace pybind11 { namespace detail { - template - struct holder_helper> { // <-- specialization - static const T *get(const SmartPtr &p) { return p.getPointer(); } - }; - }} - -The above specialization informs pybind11 that the custom ``SmartPtr`` class -provides ``.get()`` functionality via ``.getPointer()``. - -.. seealso:: - - The file :file:`tests/test_smart_ptr.cpp` contains a complete example - that demonstrates how to work with custom reference-counting holder types - in more detail. diff --git a/examples/knxPython/pybind11/docs/pybind11-logo.png b/examples/knxPython/pybind11/docs/pybind11-logo.png deleted file mode 100644 index 4cbad54f797d3ced04d4048f282df5e4336d4af4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 58510 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/examples/knxPython/pybind11/docs/pybind11_vs_boost_python2.png b/examples/knxPython/pybind11/docs/pybind11_vs_boost_python2.png deleted file mode 100644 index 9f17272c50663957d6ae6d8e23fdd5a15757e71f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41121 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 BtT6xp diff --git a/examples/knxPython/pybind11/docs/pybind11_vs_boost_python2.svg b/examples/knxPython/pybind11/docs/pybind11_vs_boost_python2.svg deleted file mode 100644 index 5ed6530..0000000 --- a/examples/knxPython/pybind11/docs/pybind11_vs_boost_python2.svg +++ /dev/null @@ -1,427 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/examples/knxPython/pybind11/include/pybind11/common.h b/examples/knxPython/pybind11/include/pybind11/common.h deleted file mode 100644 index 6c8a4f1..0000000 --- a/examples/knxPython/pybind11/include/pybind11/common.h +++ /dev/null @@ -1,2 +0,0 @@ -#include "detail/common.h" -#warning "Including 'common.h' is deprecated. It will be removed in v3.0. Use 'pybind11.h'." diff --git a/examples/knxPython/pybind11/tests/object.h b/examples/knxPython/pybind11/tests/object.h deleted file mode 100644 index 9235f19..0000000 --- a/examples/knxPython/pybind11/tests/object.h +++ /dev/null @@ -1,175 +0,0 @@ -#if !defined(__OBJECT_H) -#define __OBJECT_H - -#include -#include "constructor_stats.h" - -/// Reference counted object base class -class Object { -public: - /// Default constructor - Object() { print_default_created(this); } - - /// Copy constructor - Object(const Object &) : m_refCount(0) { print_copy_created(this); } - - /// Return the current reference count - int getRefCount() const { return m_refCount; }; - - /// Increase the object's reference count by one - void incRef() const { ++m_refCount; } - - /** \brief Decrease the reference count of - * the object and possibly deallocate it. - * - * The object will automatically be deallocated once - * the reference count reaches zero. - */ - void decRef(bool dealloc = true) const { - --m_refCount; - if (m_refCount == 0 && dealloc) - delete this; - else if (m_refCount < 0) - throw std::runtime_error("Internal error: reference count < 0!"); - } - - virtual std::string toString() const = 0; -protected: - /** \brief Virtual protected deconstructor. - * (Will only be called by \ref ref) - */ - virtual ~Object() { print_destroyed(this); } -private: - mutable std::atomic m_refCount { 0 }; -}; - -// Tag class used to track constructions of ref objects. When we track constructors, below, we -// track and print out the actual class (e.g. ref), and *also* add a fake tracker for -// ref_tag. This lets us check that the total number of ref constructors/destructors is -// correct without having to check each individual ref type individually. -class ref_tag {}; - -/** - * \brief Reference counting helper - * - * The \a ref refeference template is a simple wrapper to store a - * pointer to an object. It takes care of increasing and decreasing - * the reference count of the object. When the last reference goes - * out of scope, the associated object will be deallocated. - * - * \ingroup libcore - */ -template class ref { -public: - /// Create a nullptr reference - ref() : m_ptr(nullptr) { print_default_created(this); track_default_created((ref_tag*) this); } - - /// Construct a reference from a pointer - ref(T *ptr) : m_ptr(ptr) { - if (m_ptr) ((Object *) m_ptr)->incRef(); - - print_created(this, "from pointer", m_ptr); track_created((ref_tag*) this, "from pointer"); - - } - - /// Copy constructor - ref(const ref &r) : m_ptr(r.m_ptr) { - if (m_ptr) - ((Object *) m_ptr)->incRef(); - - print_copy_created(this, "with pointer", m_ptr); track_copy_created((ref_tag*) this); - } - - /// Move constructor - ref(ref &&r) : m_ptr(r.m_ptr) { - r.m_ptr = nullptr; - - print_move_created(this, "with pointer", m_ptr); track_move_created((ref_tag*) this); - } - - /// Destroy this reference - ~ref() { - if (m_ptr) - ((Object *) m_ptr)->decRef(); - - print_destroyed(this); track_destroyed((ref_tag*) this); - } - - /// Move another reference into the current one - ref& operator=(ref&& r) { - print_move_assigned(this, "pointer", r.m_ptr); track_move_assigned((ref_tag*) this); - - if (*this == r) - return *this; - if (m_ptr) - ((Object *) m_ptr)->decRef(); - m_ptr = r.m_ptr; - r.m_ptr = nullptr; - return *this; - } - - /// Overwrite this reference with another reference - ref& operator=(const ref& r) { - print_copy_assigned(this, "pointer", r.m_ptr); track_copy_assigned((ref_tag*) this); - - if (m_ptr == r.m_ptr) - return *this; - if (m_ptr) - ((Object *) m_ptr)->decRef(); - m_ptr = r.m_ptr; - if (m_ptr) - ((Object *) m_ptr)->incRef(); - return *this; - } - - /// Overwrite this reference with a pointer to another object - ref& operator=(T *ptr) { - print_values(this, "assigned pointer"); track_values((ref_tag*) this, "assigned pointer"); - - if (m_ptr == ptr) - return *this; - if (m_ptr) - ((Object *) m_ptr)->decRef(); - m_ptr = ptr; - if (m_ptr) - ((Object *) m_ptr)->incRef(); - return *this; - } - - /// Compare this reference with another reference - bool operator==(const ref &r) const { return m_ptr == r.m_ptr; } - - /// Compare this reference with another reference - bool operator!=(const ref &r) const { return m_ptr != r.m_ptr; } - - /// Compare this reference with a pointer - bool operator==(const T* ptr) const { return m_ptr == ptr; } - - /// Compare this reference with a pointer - bool operator!=(const T* ptr) const { return m_ptr != ptr; } - - /// Access the object referenced by this reference - T* operator->() { return m_ptr; } - - /// Access the object referenced by this reference - const T* operator->() const { return m_ptr; } - - /// Return a C++ reference to the referenced object - T& operator*() { return *m_ptr; } - - /// Return a const C++ reference to the referenced object - const T& operator*() const { return *m_ptr; } - - /// Return a pointer to the referenced object - operator T* () { return m_ptr; } - - /// Return a const pointer to the referenced object - T* get_ptr() { return m_ptr; } - - /// Return a pointer to the referenced object - const T* get_ptr() const { return m_ptr; } -private: - T *m_ptr; -}; - -#endif /* __OBJECT_H */ diff --git a/examples/knxPython/pybind11/tests/pybind11_cross_module_tests.cpp b/examples/knxPython/pybind11/tests/pybind11_cross_module_tests.cpp deleted file mode 100644 index f705e31..0000000 --- a/examples/knxPython/pybind11/tests/pybind11_cross_module_tests.cpp +++ /dev/null @@ -1,123 +0,0 @@ -/* - tests/pybind11_cross_module_tests.cpp -- contains tests that require multiple modules - - Copyright (c) 2017 Jason Rhinelander - - All rights reserved. Use of this source code is governed by a - BSD-style license that can be found in the LICENSE file. -*/ - -#include "pybind11_tests.h" -#include "local_bindings.h" -#include -#include - -PYBIND11_MODULE(pybind11_cross_module_tests, m) { - m.doc() = "pybind11 cross-module test module"; - - // test_local_bindings.py tests: - // - // Definitions here are tested by importing both this module and the - // relevant pybind11_tests submodule from a test_whatever.py - - // test_load_external - bind_local(m, "ExternalType1", py::module_local()); - bind_local(m, "ExternalType2", py::module_local()); - - // test_exceptions.py - m.def("raise_runtime_error", []() { PyErr_SetString(PyExc_RuntimeError, "My runtime error"); throw py::error_already_set(); }); - m.def("raise_value_error", []() { PyErr_SetString(PyExc_ValueError, "My value error"); throw py::error_already_set(); }); - m.def("throw_pybind_value_error", []() { throw py::value_error("pybind11 value error"); }); - m.def("throw_pybind_type_error", []() { throw py::type_error("pybind11 type error"); }); - m.def("throw_stop_iteration", []() { throw py::stop_iteration(); }); - - // test_local_bindings.py - // Local to both: - bind_local(m, "LocalType", py::module_local()) - .def("get2", [](LocalType &t) { return t.i + 2; }) - ; - - // Can only be called with our python type: - m.def("local_value", [](LocalType &l) { return l.i; }); - - // test_nonlocal_failure - // This registration will fail (global registration when LocalFail is already registered - // globally in the main test module): - m.def("register_nonlocal", [m]() { - bind_local(m, "NonLocalType"); - }); - - // test_stl_bind_local - // stl_bind.h binders defaults to py::module_local if the types are local or converting: - py::bind_vector(m, "LocalVec"); - py::bind_map(m, "LocalMap"); - - // test_stl_bind_global - // and global if the type (or one of the types, for the map) is global (so these will fail, - // assuming pybind11_tests is already loaded): - m.def("register_nonlocal_vec", [m]() { - py::bind_vector(m, "NonLocalVec"); - }); - m.def("register_nonlocal_map", [m]() { - py::bind_map(m, "NonLocalMap"); - }); - // The default can, however, be overridden to global using `py::module_local()` or - // `py::module_local(false)`. - // Explicitly made local: - py::bind_vector(m, "NonLocalVec2", py::module_local()); - // Explicitly made global (and so will fail to bind): - m.def("register_nonlocal_map2", [m]() { - py::bind_map(m, "NonLocalMap2", py::module_local(false)); - }); - - // test_mixed_local_global - // We try this both with the global type registered first and vice versa (the order shouldn't - // matter). - m.def("register_mixed_global_local", [m]() { - bind_local(m, "MixedGlobalLocal", py::module_local()); - }); - m.def("register_mixed_local_global", [m]() { - bind_local(m, "MixedLocalGlobal", py::module_local(false)); - }); - m.def("get_mixed_gl", [](int i) { return MixedGlobalLocal(i); }); - m.def("get_mixed_lg", [](int i) { return MixedLocalGlobal(i); }); - - // test_internal_locals_differ - m.def("local_cpp_types_addr", []() { return (uintptr_t) &py::detail::registered_local_types_cpp(); }); - - // test_stl_caster_vs_stl_bind - py::bind_vector>(m, "VectorInt"); - - m.def("load_vector_via_binding", [](std::vector &v) { - return std::accumulate(v.begin(), v.end(), 0); - }); - - // test_cross_module_calls - m.def("return_self", [](LocalVec *v) { return v; }); - m.def("return_copy", [](const LocalVec &v) { return LocalVec(v); }); - - class Dog : public pets::Pet { public: Dog(std::string name) : Pet(name) {}; }; - py::class_(m, "Pet", py::module_local()) - .def("name", &pets::Pet::name); - // Binding for local extending class: - py::class_(m, "Dog") - .def(py::init()); - m.def("pet_name", [](pets::Pet &p) { return p.name(); }); - - py::class_(m, "MixGL", py::module_local()).def(py::init()); - m.def("get_gl_value", [](MixGL &o) { return o.i + 100; }); - - py::class_(m, "MixGL2", py::module_local()).def(py::init()); - - // test_vector_bool - // We can't test both stl.h and stl_bind.h conversions of `std::vector` within - // the same module (it would be an ODR violation). Therefore `bind_vector` of `bool` - // is defined here and tested in `test_stl_binders.py`. - py::bind_vector>(m, "VectorBool"); - - // test_missing_header_message - // The main module already includes stl.h, but we need to test the error message - // which appears when this header is missing. - m.def("missing_header_arg", [](std::vector) { }); - m.def("missing_header_return", []() { return std::vector(); }); -} diff --git a/examples/knxPython/pybind11/tests/test_cmake_build/main.cpp b/examples/knxPython/pybind11/tests/test_cmake_build/main.cpp deleted file mode 100644 index e30f2c4..0000000 --- a/examples/knxPython/pybind11/tests/test_cmake_build/main.cpp +++ /dev/null @@ -1,6 +0,0 @@ -#include -namespace py = pybind11; - -PYBIND11_MODULE(test_cmake_build, m) { - m.def("add", [](int i, int j) { return i + j; }); -} diff --git a/examples/knxPython/pybind11/tests/test_docstring_options.cpp b/examples/knxPython/pybind11/tests/test_docstring_options.cpp deleted file mode 100644 index 8c8f79f..0000000 --- a/examples/knxPython/pybind11/tests/test_docstring_options.cpp +++ /dev/null @@ -1,61 +0,0 @@ -/* - tests/test_docstring_options.cpp -- generation of docstrings and signatures - - Copyright (c) 2016 Wenzel Jakob - - All rights reserved. Use of this source code is governed by a - BSD-style license that can be found in the LICENSE file. -*/ - -#include "pybind11_tests.h" - -TEST_SUBMODULE(docstring_options, m) { - // test_docstring_options - { - py::options options; - options.disable_function_signatures(); - - m.def("test_function1", [](int, int) {}, py::arg("a"), py::arg("b")); - m.def("test_function2", [](int, int) {}, py::arg("a"), py::arg("b"), "A custom docstring"); - - m.def("test_overloaded1", [](int) {}, py::arg("i"), "Overload docstring"); - m.def("test_overloaded1", [](double) {}, py::arg("d")); - - m.def("test_overloaded2", [](int) {}, py::arg("i"), "overload docstring 1"); - m.def("test_overloaded2", [](double) {}, py::arg("d"), "overload docstring 2"); - - m.def("test_overloaded3", [](int) {}, py::arg("i")); - m.def("test_overloaded3", [](double) {}, py::arg("d"), "Overload docstr"); - - options.enable_function_signatures(); - - m.def("test_function3", [](int, int) {}, py::arg("a"), py::arg("b")); - m.def("test_function4", [](int, int) {}, py::arg("a"), py::arg("b"), "A custom docstring"); - - options.disable_function_signatures().disable_user_defined_docstrings(); - - m.def("test_function5", [](int, int) {}, py::arg("a"), py::arg("b"), "A custom docstring"); - - { - py::options nested_options; - nested_options.enable_user_defined_docstrings(); - m.def("test_function6", [](int, int) {}, py::arg("a"), py::arg("b"), "A custom docstring"); - } - } - - m.def("test_function7", [](int, int) {}, py::arg("a"), py::arg("b"), "A custom docstring"); - - { - py::options options; - options.disable_user_defined_docstrings(); - - struct DocstringTestFoo { - int value; - void setValue(int v) { value = v; } - int getValue() const { return value; } - }; - py::class_(m, "DocstringTestFoo", "This is a class docstring") - .def_property("value_prop", &DocstringTestFoo::getValue, &DocstringTestFoo::setValue, "This is a property docstring") - ; - } -} diff --git a/examples/knxPython/pybind11/tests/test_embed/catch.cpp b/examples/knxPython/pybind11/tests/test_embed/catch.cpp deleted file mode 100644 index dd13738..0000000 --- a/examples/knxPython/pybind11/tests/test_embed/catch.cpp +++ /dev/null @@ -1,22 +0,0 @@ -// The Catch implementation is compiled here. This is a standalone -// translation unit to avoid recompiling it for every test change. - -#include - -#ifdef _MSC_VER -// Silence MSVC C++17 deprecation warning from Catch regarding std::uncaught_exceptions (up to catch -// 2.0.1; this should be fixed in the next catch release after 2.0.1). -# pragma warning(disable: 4996) -#endif - -#define CATCH_CONFIG_RUNNER -#include - -namespace py = pybind11; - -int main(int argc, char *argv[]) { - py::scoped_interpreter guard{}; - auto result = Catch::Session().run(argc, argv); - - return result < 0xff ? result : 0xff; -} diff --git a/examples/knxPython/pybind11/tests/test_embed/external_module.cpp b/examples/knxPython/pybind11/tests/test_embed/external_module.cpp deleted file mode 100644 index e9a6058..0000000 --- a/examples/knxPython/pybind11/tests/test_embed/external_module.cpp +++ /dev/null @@ -1,23 +0,0 @@ -#include - -namespace py = pybind11; - -/* Simple test module/test class to check that the referenced internals data of external pybind11 - * modules aren't preserved over a finalize/initialize. - */ - -PYBIND11_MODULE(external_module, m) { - class A { - public: - A(int value) : v{value} {}; - int v; - }; - - py::class_(m, "A") - .def(py::init()) - .def_readwrite("value", &A::v); - - m.def("internals_at", []() { - return reinterpret_cast(&py::detail::get_internals()); - }); -} diff --git a/examples/knxPython/pybind11/tests/test_pickling.cpp b/examples/knxPython/pybind11/tests/test_pickling.cpp deleted file mode 100644 index 9dc63bd..0000000 --- a/examples/knxPython/pybind11/tests/test_pickling.cpp +++ /dev/null @@ -1,130 +0,0 @@ -/* - tests/test_pickling.cpp -- pickle support - - Copyright (c) 2016 Wenzel Jakob - - All rights reserved. Use of this source code is governed by a - BSD-style license that can be found in the LICENSE file. -*/ - -#include "pybind11_tests.h" - -TEST_SUBMODULE(pickling, m) { - // test_roundtrip - class Pickleable { - public: - Pickleable(const std::string &value) : m_value(value) { } - const std::string &value() const { return m_value; } - - void setExtra1(int extra1) { m_extra1 = extra1; } - void setExtra2(int extra2) { m_extra2 = extra2; } - int extra1() const { return m_extra1; } - int extra2() const { return m_extra2; } - private: - std::string m_value; - int m_extra1 = 0; - int m_extra2 = 0; - }; - - class PickleableNew : public Pickleable { - public: - using Pickleable::Pickleable; - }; - - py::class_(m, "Pickleable") - .def(py::init()) - .def("value", &Pickleable::value) - .def("extra1", &Pickleable::extra1) - .def("extra2", &Pickleable::extra2) - .def("setExtra1", &Pickleable::setExtra1) - .def("setExtra2", &Pickleable::setExtra2) - // For details on the methods below, refer to - // http://docs.python.org/3/library/pickle.html#pickling-class-instances - .def("__getstate__", [](const Pickleable &p) { - /* Return a tuple that fully encodes the state of the object */ - return py::make_tuple(p.value(), p.extra1(), p.extra2()); - }) - .def("__setstate__", [](Pickleable &p, py::tuple t) { - if (t.size() != 3) - throw std::runtime_error("Invalid state!"); - /* Invoke the constructor (need to use in-place version) */ - new (&p) Pickleable(t[0].cast()); - - /* Assign any additional state */ - p.setExtra1(t[1].cast()); - p.setExtra2(t[2].cast()); - }); - - py::class_(m, "PickleableNew") - .def(py::init()) - .def(py::pickle( - [](const PickleableNew &p) { - return py::make_tuple(p.value(), p.extra1(), p.extra2()); - }, - [](py::tuple t) { - if (t.size() != 3) - throw std::runtime_error("Invalid state!"); - auto p = PickleableNew(t[0].cast()); - - p.setExtra1(t[1].cast()); - p.setExtra2(t[2].cast()); - return p; - } - )); - -#if !defined(PYPY_VERSION) - // test_roundtrip_with_dict - class PickleableWithDict { - public: - PickleableWithDict(const std::string &value) : value(value) { } - - std::string value; - int extra; - }; - - class PickleableWithDictNew : public PickleableWithDict { - public: - using PickleableWithDict::PickleableWithDict; - }; - - py::class_(m, "PickleableWithDict", py::dynamic_attr()) - .def(py::init()) - .def_readwrite("value", &PickleableWithDict::value) - .def_readwrite("extra", &PickleableWithDict::extra) - .def("__getstate__", [](py::object self) { - /* Also include __dict__ in state */ - return py::make_tuple(self.attr("value"), self.attr("extra"), self.attr("__dict__")); - }) - .def("__setstate__", [](py::object self, py::tuple t) { - if (t.size() != 3) - throw std::runtime_error("Invalid state!"); - /* Cast and construct */ - auto& p = self.cast(); - new (&p) PickleableWithDict(t[0].cast()); - - /* Assign C++ state */ - p.extra = t[1].cast(); - - /* Assign Python state */ - self.attr("__dict__") = t[2]; - }); - - py::class_(m, "PickleableWithDictNew") - .def(py::init()) - .def(py::pickle( - [](py::object self) { - return py::make_tuple(self.attr("value"), self.attr("extra"), self.attr("__dict__")); - }, - [](const py::tuple &t) { - if (t.size() != 3) - throw std::runtime_error("Invalid state!"); - - auto cpp_state = PickleableWithDictNew(t[0].cast()); - cpp_state.extra = t[1].cast(); - - auto py_state = t[2].cast(); - return std::make_pair(cpp_state, py_state); - } - )); -#endif -} diff --git a/visualstudio/knx-bme680.vgdbproj b/visualstudio/knx-bme680.vgdbproj deleted file mode 100644 index 40fcf75..0000000 --- a/visualstudio/knx-bme680.vgdbproj +++ /dev/null @@ -1,277 +0,0 @@ - - - Debug - - - - Unknown - - - 58afeecd-06e2-4bb7-a13f-e1d5dbaed13f - true - true - ..\examples\knx-bme680 - basic_config_state_ulp_plus.ino - - - - knx-bme680.ino - - - - - - - - ..\.. - - false - Output\$(PlatformName.defuse)\$(ConfigurationName.defuse) - true - - - - - - - - - - - - - - Default - - - - COM4 - - 115200 - 8 - None - One - None - - - 0 - false - false - true - ASCII - - - 255 - 0 - 0 - 0 - - - 255 - 169 - 169 - 169 - - - 255 - 211 - 211 - 211 - - - 255 - 144 - 238 - 144 - - - 255 - 169 - 169 - 169 - - - - 16 - true - true - true - true - 0 - - LF - true - true - true - - - - true - - - - - True - - true - true - - Enabled - true - true - true - - true - - - - false - - apiModeling.google.GTest - core.builtin.BuiltinFunctions - core.builtin.NoReturnFunctions - core.CallAndMessage - core.DivideZero - core.DynamicTypePropagation - core.NonnilStringConstants - core.NonNullParamChecker - core.NullDereference - core.StackAddressEscape - core.UndefinedBinaryOperatorResult - core.uninitialized.ArraySubscript - core.uninitialized.Assign - core.uninitialized.Branch - core.uninitialized.CapturedBlockVariable - core.uninitialized.UndefReturn - core.VLASize - cplusplus.NewDelete - cplusplus.NewDeleteLeaks - cplusplus.SelfAssignment - deadcode.DeadStores - nullability.NullPassedToNonnull - nullability.NullReturnedFromNonnull - security.insecureAPI.getpw - security.insecureAPI.gets - security.insecureAPI.mkstemp - security.insecureAPI.mktemp - security.insecureAPI.UncheckedReturn - security.insecureAPI.vfork - unix.API - unix.cstring.BadSizeArg - unix.cstring.NullArg - unix.Malloc - unix.MallocSizeof - unix.MismatchedDeallocator - unix.StdCLibraryFunctions - unix.Vfork - - - -analyzer-store=region - -analyzer-opt-analyze-nested-blocks - -analyzer-eagerly-assume - - - - - - NodeMCU_1 0_(ESP-12E_Module) - - - - - false - false - false - false - false - false - false - false - false - - false - false - false - false - false - false - true - false - None - false - false - main - true - false - false - false - 0 - - - true - Auto - 0 - false - false - true - false - false - - _estack - 0 - false - true - - - esp8266:esp8266:nodemcuv2 - COM4 - - - - xtal - 80 - - - vt - flash - - - exception - disabled - - - ssl - basic - - - eesz - 4M - - - ip - lm2f - - - dbg - Disabled - - - lvl - None____ - - - wipe - none - - - baud - 115200 - - - - Sketch - - - - - \ No newline at end of file diff --git a/visualstudio/knx-demo.vgdbproj b/visualstudio/knx-demo.vgdbproj deleted file mode 100644 index a795579..0000000 --- a/visualstudio/knx-demo.vgdbproj +++ /dev/null @@ -1,424 +0,0 @@ - - - Debug - - - - Unknown - - - 6165cd6a-91a4-49fa-977a-48f22086ca8e - true - true - ..\examples\knx-demo - Sketch.ino - - - - knx-demo.ino - - - - - - - - ..\.. - - false - Output\$(PlatformName.defuse)\$(ConfigurationName.defuse) - true - - - - - - - - - - - - - - Default - - - - COM11 - - 115200 - 8 - None - One - None - - - 0 - false - true - true - ASCII - - - 255 - 0 - 0 - 0 - - - 255 - 169 - 169 - 169 - - - 255 - 211 - 211 - 211 - - - 255 - 144 - 238 - 144 - - - 255 - 169 - 169 - 169 - - - - 16 - true - true - true - true - 0 - - LF - false - true - true - - - - true - - - - - True - - true - true - - Enabled - true - true - true - - true - - - - false - - apiModeling.google.GTest - core.builtin.BuiltinFunctions - core.builtin.NoReturnFunctions - core.CallAndMessage - core.DivideZero - core.DynamicTypePropagation - core.NonnilStringConstants - core.NonNullParamChecker - core.NullDereference - core.StackAddressEscape - core.UndefinedBinaryOperatorResult - core.uninitialized.ArraySubscript - core.uninitialized.Assign - core.uninitialized.Branch - core.uninitialized.CapturedBlockVariable - core.uninitialized.UndefReturn - core.VLASize - cplusplus.NewDelete - cplusplus.NewDeleteLeaks - cplusplus.SelfAssignment - deadcode.DeadStores - nullability.NullPassedToNonnull - nullability.NullReturnedFromNonnull - security.insecureAPI.getpw - security.insecureAPI.gets - security.insecureAPI.mkstemp - security.insecureAPI.mktemp - security.insecureAPI.UncheckedReturn - security.insecureAPI.vfork - unix.API - unix.cstring.BadSizeArg - unix.cstring.NullArg - unix.Malloc - unix.MallocSizeof - unix.MismatchedDeallocator - unix.StdCLibraryFunctions - unix.Vfork - - - -analyzer-store=region - -analyzer-opt-analyze-nested-blocks - -analyzer-eagerly-assume - - - - - - NodeMCU_1 0_(ESP-12E_Module) - - - - - false - false - false - false - false - false - false - false - false - - false - false - false - false - false - false - true - false - None - false - false - main - true - false - false - false - 0 - - - true - Auto - 0 - false - false - true - false - false - - _estack - 0 - false - true - - - esp8266:esp8266:nodemcuv2 - COM5 - - - - xtal - 80 - - - vt - flash - - - exception - disabled - - - ssl - all - - - eesz - 4M - - - ip - lm2f - - - dbg - Disabled - - - lvl - None____ - - - wipe - none - - - baud - 115200 - - - - Sketch - - - - Arduino_Genuino_Zero_(Native_USB_Port) - - - - - false - false - false - false - false - false - false - false - false - - false - false - false - false - false - false - true - false - None - false - false - main - true - false - false - false - 0 - - - true - Auto - 0 - false - false - true - false - false - - _estack - 0 - false - true - - - arduino:samd:arduino_zero_native - - - - Sketch - - - - ESP32_Dev_Module - - - - - false - false - false - false - false - false - false - false - false - - false - false - false - false - false - false - true - false - None - false - false - main - true - false - false - false - 0 - - - true - Auto - 0 - false - false - true - false - false - - _estack - 0 - false - true - - - esp32:esp32:esp32 - - - - PSRAM - disabled - - - PartitionScheme - default - - - CPUFreq - 240 - - - FlashMode - qio - - - FlashFreq - 80 - - - FlashSize - 4M - - - UploadSpeed - 921600 - - - DebugLevel - none - - - - Sketch - - - - - \ No newline at end of file diff --git a/visualstudio/knx-hdc1008.vgdbproj b/visualstudio/knx-hdc1008.vgdbproj deleted file mode 100644 index b4b9b60..0000000 --- a/visualstudio/knx-hdc1008.vgdbproj +++ /dev/null @@ -1,171 +0,0 @@ - - - - - - Unknown - - - 3f71ae50-5d11-46d0-918f-1c97717824b0 - true - true - ..\examples\knx-hdc1008 - knx-hdc1008.ino - - - - knx-hdc1008.ino - - - - - - - - ..\.. - - false - Output\$(PlatformName.defuse)\$(ConfigurationName.defuse) - false - - - GDBSTUB_BREAK_ON_INIT=1 - - - - - - - - - - - - - - - Default - - - - true - - - - Unknown - - true - true - true - - - - false - - - - - NodeMCU_1 0_(ESP-12E_Module) - - - - - false - false - false - false - false - false - false - false - false - - false - false - false - false - false - false - true - false - None - false - false - main - true - false - false - false - 0 - - - gdbsim - - - - - true - Auto - 0 - false - false - true - false - false - - _estack - 0 - false - true - - - esp8266:esp8266:nodemcuv2 - - - - xtal - 80 - - - vt - flash - - - exception - disabled - - - ssl - all - - - eesz - 4M - - - ip - lm2f - - - dbg - Disabled - - - lvl - None____ - - - wipe - none - - - baud - 115200 - - - - Sketch - - - - \ No newline at end of file diff --git a/visualstudio/knx-sonoffS20.vgdbproj b/visualstudio/knx-sonoffS20.vgdbproj deleted file mode 100644 index 53b75db..0000000 --- a/visualstudio/knx-sonoffS20.vgdbproj +++ /dev/null @@ -1,387 +0,0 @@ - - - Debug - - - - Unknown - - - 3db3061b-09a3-4c8b-a197-cbeeb3336437 - true - true - ..\examples\knx-sonoffS20 - Sketch.ino - - - - knx-sonoffS20.ino - - - - - - - - ..\.. - - false - Output\$(PlatformName.defuse)\$(ConfigurationName.defuse) - true - - - - - - - - - - - - - - Default - - - - COM11 - - 115200 - 8 - None - One - None - - - 0 - false - true - true - ASCII - - - 255 - 0 - 0 - 0 - - - 255 - 169 - 169 - 169 - - - 255 - 211 - 211 - 211 - - - 255 - 144 - 238 - 144 - - - 255 - 169 - 169 - 169 - - - - 16 - true - true - true - true - 0 - - LF - false - true - true - - - - true - - - - - True - - true - true - - Enabled - true - true - true - - true - - - - false - - apiModeling.google.GTest - core.builtin.BuiltinFunctions - core.builtin.NoReturnFunctions - core.CallAndMessage - core.DivideZero - core.DynamicTypePropagation - core.NonnilStringConstants - core.NonNullParamChecker - core.NullDereference - core.StackAddressEscape - core.UndefinedBinaryOperatorResult - core.uninitialized.ArraySubscript - core.uninitialized.Assign - core.uninitialized.Branch - core.uninitialized.CapturedBlockVariable - core.uninitialized.UndefReturn - core.VLASize - cplusplus.NewDelete - cplusplus.NewDeleteLeaks - cplusplus.SelfAssignment - deadcode.DeadStores - nullability.NullPassedToNonnull - nullability.NullReturnedFromNonnull - security.insecureAPI.getpw - security.insecureAPI.gets - security.insecureAPI.mkstemp - security.insecureAPI.mktemp - security.insecureAPI.UncheckedReturn - security.insecureAPI.vfork - unix.API - unix.cstring.BadSizeArg - unix.cstring.NullArg - unix.Malloc - unix.MallocSizeof - unix.MismatchedDeallocator - unix.StdCLibraryFunctions - unix.Vfork - - - -analyzer-store=region - -analyzer-opt-analyze-nested-blocks - -analyzer-eagerly-assume - - - - - - NodeMCU 1 0 (ESP-12E Module) - - - - - false - false - false - false - false - false - false - false - false - - false - false - false - false - false - false - true - false - None - false - false - main - true - false - false - false - 0 - - - true - Auto - 0 - false - false - true - false - false - - _estack - 0 - false - true - - - esp8266:esp8266:nodemcuv2 - - - - xtal - 80 - - - vt - flash - - - exception - enabled - - - eesz - 4M - - - ip - lm2f - - - dbg - Disabled - - - lvl - None____ - - - wipe - none - - - baud - 115200 - - - - Sketch - - - - Generic ESP8266 Module - - - - - false - false - false - false - false - false - false - false - false - - false - false - false - false - false - false - true - false - None - false - false - main - true - false - false - false - 0 - - - gdbsim - - - - - true - Auto - 0 - false - false - true - false - false - - _estack - 0 - false - true - - - esp8266:esp8266:generic - - - - CpuFrequency - 80 - - - VTable - flash - - - ResetMethod - none - - - CrystalFreq - 26 - - - FlashFreq - 40 - - - FlashMode - dout - - - FlashSize - 1M0 - - - led - 13 - - - LwIPVariant - v2mss1460 - - - Debug - Disabled - - - DebugLevel - None____ - - - FlashErase - none - - - UploadSpeed - 115200 - - - - Sketch - - - - - \ No newline at end of file diff --git a/visualstudio/knx-vito.vgdbproj b/visualstudio/knx-vito.vgdbproj deleted file mode 100644 index 50fe912..0000000 --- a/visualstudio/knx-vito.vgdbproj +++ /dev/null @@ -1,220 +0,0 @@ - - - Debug - - - - Unknown - - - 527a0d25-bc8e-47b8-aa56-bd991be6cc67 - true - true - ..\examples\\knx-vito - basicvito.ino - - - - basicvito.ino - - - - - - - - ..\.. - - Output\$(PlatformName.defuse)\$(ConfigurationName.defuse) - false - - - - - - - - - - - - - - Default - - - - true - - - - - Unknown - - true - true - true - - - - false - - - - - NodeMCU 1 0 (ESP-12E Module) - - - - - false - false - false - false - false - false - false - false - false - - false - false - false - false - false - false - true - false - None - false - false - main - true - false - false - false - 0 - - - gdbsim - - - - - true - Auto - 0 - false - false - true - false - false - - _estack - 0 - false - true - - - esp8266:esp8266:nodemcuv2 - COM3 - - - - CpuFrequency - 80 - - - VTable - flash - - - FlashSize - 4M1M - - - LwIPVariant - v2mss536 - - - Debug - Disabled - - - DebugLevel - None____ - - - FlashErase - none - - - UploadSpeed - 115200 - - - - Sketch - - - - Arduino Genuino Zero (Native USB Port) - - - - - false - false - false - false - false - false - false - false - false - - false - false - false - false - false - false - true - false - None - false - false - main - true - false - false - false - 0 - - - true - Auto - 0 - false - false - true - false - false - - _estack - 0 - false - true - - - arduino:samd:arduino_zero_native - COM9 - - - - Sketch - - - - - \ No newline at end of file diff --git a/visualstudio/knx.sln b/visualstudio/knx.sln deleted file mode 100644 index e68756c..0000000 --- a/visualstudio/knx.sln +++ /dev/null @@ -1,280 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.28803.352 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{803FD0C6-D64E-4E16-9DC3-1DAEC859A3D2}") = "knx-bme680", "knx-bme680.vgdbproj", "{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}" -EndProject -Project("{803FD0C6-D64E-4E16-9DC3-1DAEC859A3D2}") = "knx-demo", "knx-demo.vgdbproj", "{6165CD6A-91A4-49FA-977A-48F22086CA8E}" -EndProject -Project("{803FD0C6-D64E-4E16-9DC3-1DAEC859A3D2}") = "knx-sonoffS20", "knx-sonoffS20.vgdbproj", "{3DB3061B-09A3-4C8B-A197-CBEEB3336437}" -EndProject -Project("{803FD0C6-D64E-4E16-9DC3-1DAEC859A3D2}") = "knx-hdc1008", "knx-hdc1008.vgdbproj", "{3F71AE50-5D11-46D0-918F-1C97717824B0}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "knx-linux", "..\examples\knx-linux\knx-linux.vcxproj", "{456D87B3-1DFE-4724-BDEF-17E0FDB55A61}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "knxPython", "..\examples\knxPython\knxPython.vcxproj", "{68FCB2F7-7A74-43A0-8CBE-36CB25020584}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Arduino_Genuino_Zero_(Native_USB_Port) = Debug|Arduino_Genuino_Zero_(Native_USB_Port) - Debug|ESP32_Dev_Module = Debug|ESP32_Dev_Module - Debug|Mixed = Debug|Mixed - Debug|VisualGDB = Debug|VisualGDB - Debug|x64 = Debug|x64 - Debug|x86 = Debug|x86 - MinSizeRel|Arduino_Genuino_Zero_(Native_USB_Port) = MinSizeRel|Arduino_Genuino_Zero_(Native_USB_Port) - MinSizeRel|ESP32_Dev_Module = MinSizeRel|ESP32_Dev_Module - MinSizeRel|Mixed = MinSizeRel|Mixed - MinSizeRel|VisualGDB = MinSizeRel|VisualGDB - MinSizeRel|x64 = MinSizeRel|x64 - MinSizeRel|x86 = MinSizeRel|x86 - Release|Arduino_Genuino_Zero_(Native_USB_Port) = Release|Arduino_Genuino_Zero_(Native_USB_Port) - Release|ESP32_Dev_Module = Release|ESP32_Dev_Module - Release|Mixed = Release|Mixed - Release|VisualGDB = Release|VisualGDB - Release|x64 = Release|x64 - Release|x86 = Release|x86 - RelWithDebInfo|Arduino_Genuino_Zero_(Native_USB_Port) = RelWithDebInfo|Arduino_Genuino_Zero_(Native_USB_Port) - RelWithDebInfo|ESP32_Dev_Module = RelWithDebInfo|ESP32_Dev_Module - RelWithDebInfo|Mixed = RelWithDebInfo|Mixed - RelWithDebInfo|VisualGDB = RelWithDebInfo|VisualGDB - RelWithDebInfo|x64 = RelWithDebInfo|x64 - RelWithDebInfo|x86 = RelWithDebInfo|x86 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.Debug|Arduino_Genuino_Zero_(Native_USB_Port).ActiveCfg = Debug|NodeMCU_1 0_(ESP-12E_Module) - {58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.Debug|ESP32_Dev_Module.ActiveCfg = Debug|NodeMCU_1 0_(ESP-12E_Module) - {58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.Debug|Mixed.ActiveCfg = Debug|NodeMCU_1 0_(ESP-12E_Module) - {58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.Debug|VisualGDB.ActiveCfg = Debug|NodeMCU_1 0_(ESP-12E_Module) - {58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.Debug|VisualGDB.Build.0 = Debug|NodeMCU_1 0_(ESP-12E_Module) - {58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.Debug|x64.ActiveCfg = Debug|NodeMCU_1 0_(ESP-12E_Module) - {58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.Debug|x86.ActiveCfg = Debug|NodeMCU_1 0_(ESP-12E_Module) - {58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.MinSizeRel|Arduino_Genuino_Zero_(Native_USB_Port).ActiveCfg = Release|NodeMCU_1 0_(ESP-12E_Module) - {58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.MinSizeRel|Arduino_Genuino_Zero_(Native_USB_Port).Build.0 = Release|NodeMCU_1 0_(ESP-12E_Module) - {58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.MinSizeRel|ESP32_Dev_Module.ActiveCfg = Release|NodeMCU_1 0_(ESP-12E_Module) - {58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.MinSizeRel|ESP32_Dev_Module.Build.0 = Release|NodeMCU_1 0_(ESP-12E_Module) - {58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.MinSizeRel|Mixed.ActiveCfg = Release|NodeMCU_1 0_(ESP-12E_Module) - {58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.MinSizeRel|Mixed.Build.0 = Release|NodeMCU_1 0_(ESP-12E_Module) - {58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.MinSizeRel|VisualGDB.ActiveCfg = Release|NodeMCU_1 0_(ESP-12E_Module) - {58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.MinSizeRel|VisualGDB.Build.0 = Release|NodeMCU_1 0_(ESP-12E_Module) - {58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.MinSizeRel|x64.ActiveCfg = Release|NodeMCU_1 0_(ESP-12E_Module) - {58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.MinSizeRel|x64.Build.0 = Release|NodeMCU_1 0_(ESP-12E_Module) - {58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.MinSizeRel|x86.ActiveCfg = Release|NodeMCU_1 0_(ESP-12E_Module) - {58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.MinSizeRel|x86.Build.0 = Release|NodeMCU_1 0_(ESP-12E_Module) - {58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.Release|Arduino_Genuino_Zero_(Native_USB_Port).ActiveCfg = Release|NodeMCU_1 0_(ESP-12E_Module) - {58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.Release|ESP32_Dev_Module.ActiveCfg = Release|NodeMCU_1 0_(ESP-12E_Module) - {58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.Release|Mixed.ActiveCfg = Release|NodeMCU_1 0_(ESP-12E_Module) - {58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.Release|VisualGDB.ActiveCfg = Release|NodeMCU_1 0_(ESP-12E_Module) - {58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.Release|x64.ActiveCfg = Release|NodeMCU_1 0_(ESP-12E_Module) - {58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.Release|x86.ActiveCfg = Release|NodeMCU_1 0_(ESP-12E_Module) - {58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.RelWithDebInfo|Arduino_Genuino_Zero_(Native_USB_Port).ActiveCfg = Release|NodeMCU_1 0_(ESP-12E_Module) - {58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.RelWithDebInfo|Arduino_Genuino_Zero_(Native_USB_Port).Build.0 = Release|NodeMCU_1 0_(ESP-12E_Module) - {58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.RelWithDebInfo|ESP32_Dev_Module.ActiveCfg = Release|NodeMCU_1 0_(ESP-12E_Module) - {58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.RelWithDebInfo|ESP32_Dev_Module.Build.0 = Release|NodeMCU_1 0_(ESP-12E_Module) - {58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.RelWithDebInfo|Mixed.ActiveCfg = Release|NodeMCU_1 0_(ESP-12E_Module) - {58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.RelWithDebInfo|Mixed.Build.0 = Release|NodeMCU_1 0_(ESP-12E_Module) - {58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.RelWithDebInfo|VisualGDB.ActiveCfg = Release|NodeMCU_1 0_(ESP-12E_Module) - {58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.RelWithDebInfo|VisualGDB.Build.0 = Release|NodeMCU_1 0_(ESP-12E_Module) - {58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.RelWithDebInfo|x64.ActiveCfg = Release|NodeMCU_1 0_(ESP-12E_Module) - {58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.RelWithDebInfo|x64.Build.0 = Release|NodeMCU_1 0_(ESP-12E_Module) - {58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.RelWithDebInfo|x86.ActiveCfg = Release|NodeMCU_1 0_(ESP-12E_Module) - {58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.RelWithDebInfo|x86.Build.0 = Release|NodeMCU_1 0_(ESP-12E_Module) - {6165CD6A-91A4-49FA-977A-48F22086CA8E}.Debug|Arduino_Genuino_Zero_(Native_USB_Port).ActiveCfg = Debug|Arduino_Genuino_Zero_(Native_USB_Port) - {6165CD6A-91A4-49FA-977A-48F22086CA8E}.Debug|Arduino_Genuino_Zero_(Native_USB_Port).Build.0 = Debug|Arduino_Genuino_Zero_(Native_USB_Port) - {6165CD6A-91A4-49FA-977A-48F22086CA8E}.Debug|ESP32_Dev_Module.ActiveCfg = Debug|ESP32_Dev_Module - {6165CD6A-91A4-49FA-977A-48F22086CA8E}.Debug|ESP32_Dev_Module.Build.0 = Debug|ESP32_Dev_Module - {6165CD6A-91A4-49FA-977A-48F22086CA8E}.Debug|Mixed.ActiveCfg = Release|NodeMCU_1 0_(ESP-12E_Module) - {6165CD6A-91A4-49FA-977A-48F22086CA8E}.Debug|Mixed.Build.0 = Release|NodeMCU_1 0_(ESP-12E_Module) - {6165CD6A-91A4-49FA-977A-48F22086CA8E}.Debug|VisualGDB.ActiveCfg = Debug|NodeMCU_1 0_(ESP-12E_Module) - {6165CD6A-91A4-49FA-977A-48F22086CA8E}.Debug|x64.ActiveCfg = Release|NodeMCU_1 0_(ESP-12E_Module) - {6165CD6A-91A4-49FA-977A-48F22086CA8E}.Debug|x64.Build.0 = Release|NodeMCU_1 0_(ESP-12E_Module) - {6165CD6A-91A4-49FA-977A-48F22086CA8E}.Debug|x86.ActiveCfg = Debug|NodeMCU_1 0_(ESP-12E_Module) - {6165CD6A-91A4-49FA-977A-48F22086CA8E}.MinSizeRel|Arduino_Genuino_Zero_(Native_USB_Port).ActiveCfg = Release|Arduino_Genuino_Zero_(Native_USB_Port) - {6165CD6A-91A4-49FA-977A-48F22086CA8E}.MinSizeRel|Arduino_Genuino_Zero_(Native_USB_Port).Build.0 = Release|Arduino_Genuino_Zero_(Native_USB_Port) - {6165CD6A-91A4-49FA-977A-48F22086CA8E}.MinSizeRel|ESP32_Dev_Module.ActiveCfg = Release|ESP32_Dev_Module - {6165CD6A-91A4-49FA-977A-48F22086CA8E}.MinSizeRel|ESP32_Dev_Module.Build.0 = Release|ESP32_Dev_Module - {6165CD6A-91A4-49FA-977A-48F22086CA8E}.MinSizeRel|Mixed.ActiveCfg = Release|NodeMCU_1 0_(ESP-12E_Module) - {6165CD6A-91A4-49FA-977A-48F22086CA8E}.MinSizeRel|Mixed.Build.0 = Release|NodeMCU_1 0_(ESP-12E_Module) - {6165CD6A-91A4-49FA-977A-48F22086CA8E}.MinSizeRel|VisualGDB.ActiveCfg = Release|NodeMCU_1 0_(ESP-12E_Module) - {6165CD6A-91A4-49FA-977A-48F22086CA8E}.MinSizeRel|VisualGDB.Build.0 = Release|NodeMCU_1 0_(ESP-12E_Module) - {6165CD6A-91A4-49FA-977A-48F22086CA8E}.MinSizeRel|x64.ActiveCfg = Release|NodeMCU_1 0_(ESP-12E_Module) - {6165CD6A-91A4-49FA-977A-48F22086CA8E}.MinSizeRel|x64.Build.0 = Release|NodeMCU_1 0_(ESP-12E_Module) - {6165CD6A-91A4-49FA-977A-48F22086CA8E}.MinSizeRel|x86.ActiveCfg = Release|NodeMCU_1 0_(ESP-12E_Module) - {6165CD6A-91A4-49FA-977A-48F22086CA8E}.MinSizeRel|x86.Build.0 = Release|NodeMCU_1 0_(ESP-12E_Module) - {6165CD6A-91A4-49FA-977A-48F22086CA8E}.Release|Arduino_Genuino_Zero_(Native_USB_Port).ActiveCfg = Release|Arduino_Genuino_Zero_(Native_USB_Port) - {6165CD6A-91A4-49FA-977A-48F22086CA8E}.Release|Arduino_Genuino_Zero_(Native_USB_Port).Build.0 = Release|Arduino_Genuino_Zero_(Native_USB_Port) - {6165CD6A-91A4-49FA-977A-48F22086CA8E}.Release|ESP32_Dev_Module.ActiveCfg = Release|ESP32_Dev_Module - {6165CD6A-91A4-49FA-977A-48F22086CA8E}.Release|ESP32_Dev_Module.Build.0 = Release|ESP32_Dev_Module - {6165CD6A-91A4-49FA-977A-48F22086CA8E}.Release|Mixed.ActiveCfg = Release|NodeMCU_1 0_(ESP-12E_Module) - {6165CD6A-91A4-49FA-977A-48F22086CA8E}.Release|VisualGDB.ActiveCfg = Release|NodeMCU_1 0_(ESP-12E_Module) - {6165CD6A-91A4-49FA-977A-48F22086CA8E}.Release|x64.ActiveCfg = Release|NodeMCU_1 0_(ESP-12E_Module) - {6165CD6A-91A4-49FA-977A-48F22086CA8E}.Release|x86.ActiveCfg = Release|NodeMCU_1 0_(ESP-12E_Module) - {6165CD6A-91A4-49FA-977A-48F22086CA8E}.RelWithDebInfo|Arduino_Genuino_Zero_(Native_USB_Port).ActiveCfg = Release|Arduino_Genuino_Zero_(Native_USB_Port) - {6165CD6A-91A4-49FA-977A-48F22086CA8E}.RelWithDebInfo|Arduino_Genuino_Zero_(Native_USB_Port).Build.0 = Release|Arduino_Genuino_Zero_(Native_USB_Port) - {6165CD6A-91A4-49FA-977A-48F22086CA8E}.RelWithDebInfo|ESP32_Dev_Module.ActiveCfg = Release|ESP32_Dev_Module - {6165CD6A-91A4-49FA-977A-48F22086CA8E}.RelWithDebInfo|ESP32_Dev_Module.Build.0 = Release|ESP32_Dev_Module - {6165CD6A-91A4-49FA-977A-48F22086CA8E}.RelWithDebInfo|Mixed.ActiveCfg = Release|NodeMCU_1 0_(ESP-12E_Module) - {6165CD6A-91A4-49FA-977A-48F22086CA8E}.RelWithDebInfo|Mixed.Build.0 = Release|NodeMCU_1 0_(ESP-12E_Module) - {6165CD6A-91A4-49FA-977A-48F22086CA8E}.RelWithDebInfo|VisualGDB.ActiveCfg = Release|NodeMCU_1 0_(ESP-12E_Module) - {6165CD6A-91A4-49FA-977A-48F22086CA8E}.RelWithDebInfo|VisualGDB.Build.0 = Release|NodeMCU_1 0_(ESP-12E_Module) - {6165CD6A-91A4-49FA-977A-48F22086CA8E}.RelWithDebInfo|x64.ActiveCfg = Release|NodeMCU_1 0_(ESP-12E_Module) - {6165CD6A-91A4-49FA-977A-48F22086CA8E}.RelWithDebInfo|x64.Build.0 = Release|NodeMCU_1 0_(ESP-12E_Module) - {6165CD6A-91A4-49FA-977A-48F22086CA8E}.RelWithDebInfo|x86.ActiveCfg = Release|NodeMCU_1 0_(ESP-12E_Module) - {6165CD6A-91A4-49FA-977A-48F22086CA8E}.RelWithDebInfo|x86.Build.0 = Release|NodeMCU_1 0_(ESP-12E_Module) - {3DB3061B-09A3-4C8B-A197-CBEEB3336437}.Debug|Arduino_Genuino_Zero_(Native_USB_Port).ActiveCfg = Debug|Generic ESP8266 Module - {3DB3061B-09A3-4C8B-A197-CBEEB3336437}.Debug|ESP32_Dev_Module.ActiveCfg = Debug|NodeMCU 1 0 (ESP-12E Module) - {3DB3061B-09A3-4C8B-A197-CBEEB3336437}.Debug|Mixed.ActiveCfg = Debug|NodeMCU 1 0 (ESP-12E Module) - {3DB3061B-09A3-4C8B-A197-CBEEB3336437}.Debug|Mixed.Build.0 = Debug|NodeMCU 1 0 (ESP-12E Module) - {3DB3061B-09A3-4C8B-A197-CBEEB3336437}.Debug|VisualGDB.ActiveCfg = Debug|Generic ESP8266 Module - {3DB3061B-09A3-4C8B-A197-CBEEB3336437}.Debug|x64.ActiveCfg = Debug|Generic ESP8266 Module - {3DB3061B-09A3-4C8B-A197-CBEEB3336437}.Debug|x86.ActiveCfg = Debug|Generic ESP8266 Module - {3DB3061B-09A3-4C8B-A197-CBEEB3336437}.MinSizeRel|Arduino_Genuino_Zero_(Native_USB_Port).ActiveCfg = Release|Generic ESP8266 Module - {3DB3061B-09A3-4C8B-A197-CBEEB3336437}.MinSizeRel|Arduino_Genuino_Zero_(Native_USB_Port).Build.0 = Release|Generic ESP8266 Module - {3DB3061B-09A3-4C8B-A197-CBEEB3336437}.MinSizeRel|ESP32_Dev_Module.ActiveCfg = Release|NodeMCU 1 0 (ESP-12E Module) - {3DB3061B-09A3-4C8B-A197-CBEEB3336437}.MinSizeRel|ESP32_Dev_Module.Build.0 = Release|NodeMCU 1 0 (ESP-12E Module) - {3DB3061B-09A3-4C8B-A197-CBEEB3336437}.MinSizeRel|Mixed.ActiveCfg = Release|NodeMCU 1 0 (ESP-12E Module) - {3DB3061B-09A3-4C8B-A197-CBEEB3336437}.MinSizeRel|Mixed.Build.0 = Release|NodeMCU 1 0 (ESP-12E Module) - {3DB3061B-09A3-4C8B-A197-CBEEB3336437}.MinSizeRel|VisualGDB.ActiveCfg = Release|Generic ESP8266 Module - {3DB3061B-09A3-4C8B-A197-CBEEB3336437}.MinSizeRel|VisualGDB.Build.0 = Release|Generic ESP8266 Module - {3DB3061B-09A3-4C8B-A197-CBEEB3336437}.MinSizeRel|x64.ActiveCfg = Release|Generic ESP8266 Module - {3DB3061B-09A3-4C8B-A197-CBEEB3336437}.MinSizeRel|x64.Build.0 = Release|Generic ESP8266 Module - {3DB3061B-09A3-4C8B-A197-CBEEB3336437}.MinSizeRel|x86.ActiveCfg = Release|Generic ESP8266 Module - {3DB3061B-09A3-4C8B-A197-CBEEB3336437}.MinSizeRel|x86.Build.0 = Release|Generic ESP8266 Module - {3DB3061B-09A3-4C8B-A197-CBEEB3336437}.Release|Arduino_Genuino_Zero_(Native_USB_Port).ActiveCfg = Release|Generic ESP8266 Module - {3DB3061B-09A3-4C8B-A197-CBEEB3336437}.Release|ESP32_Dev_Module.ActiveCfg = Release|NodeMCU 1 0 (ESP-12E Module) - {3DB3061B-09A3-4C8B-A197-CBEEB3336437}.Release|Mixed.ActiveCfg = Release|NodeMCU 1 0 (ESP-12E Module) - {3DB3061B-09A3-4C8B-A197-CBEEB3336437}.Release|VisualGDB.ActiveCfg = Release|Generic ESP8266 Module - {3DB3061B-09A3-4C8B-A197-CBEEB3336437}.Release|x64.ActiveCfg = Release|Generic ESP8266 Module - {3DB3061B-09A3-4C8B-A197-CBEEB3336437}.Release|x86.ActiveCfg = Release|Generic ESP8266 Module - {3DB3061B-09A3-4C8B-A197-CBEEB3336437}.RelWithDebInfo|Arduino_Genuino_Zero_(Native_USB_Port).ActiveCfg = Release|Generic ESP8266 Module - {3DB3061B-09A3-4C8B-A197-CBEEB3336437}.RelWithDebInfo|Arduino_Genuino_Zero_(Native_USB_Port).Build.0 = Release|Generic ESP8266 Module - {3DB3061B-09A3-4C8B-A197-CBEEB3336437}.RelWithDebInfo|ESP32_Dev_Module.ActiveCfg = Release|NodeMCU 1 0 (ESP-12E Module) - {3DB3061B-09A3-4C8B-A197-CBEEB3336437}.RelWithDebInfo|ESP32_Dev_Module.Build.0 = Release|NodeMCU 1 0 (ESP-12E Module) - {3DB3061B-09A3-4C8B-A197-CBEEB3336437}.RelWithDebInfo|Mixed.ActiveCfg = Release|NodeMCU 1 0 (ESP-12E Module) - {3DB3061B-09A3-4C8B-A197-CBEEB3336437}.RelWithDebInfo|Mixed.Build.0 = Release|NodeMCU 1 0 (ESP-12E Module) - {3DB3061B-09A3-4C8B-A197-CBEEB3336437}.RelWithDebInfo|VisualGDB.ActiveCfg = Release|Generic ESP8266 Module - {3DB3061B-09A3-4C8B-A197-CBEEB3336437}.RelWithDebInfo|VisualGDB.Build.0 = Release|Generic ESP8266 Module - {3DB3061B-09A3-4C8B-A197-CBEEB3336437}.RelWithDebInfo|x64.ActiveCfg = Release|Generic ESP8266 Module - {3DB3061B-09A3-4C8B-A197-CBEEB3336437}.RelWithDebInfo|x64.Build.0 = Release|Generic ESP8266 Module - {3DB3061B-09A3-4C8B-A197-CBEEB3336437}.RelWithDebInfo|x86.ActiveCfg = Release|Generic ESP8266 Module - {3DB3061B-09A3-4C8B-A197-CBEEB3336437}.RelWithDebInfo|x86.Build.0 = Release|Generic ESP8266 Module - {3F71AE50-5D11-46D0-918F-1C97717824B0}.Debug|Arduino_Genuino_Zero_(Native_USB_Port).ActiveCfg = Debug|NodeMCU_1 0_(ESP-12E_Module) - {3F71AE50-5D11-46D0-918F-1C97717824B0}.Debug|ESP32_Dev_Module.ActiveCfg = Debug|NodeMCU_1 0_(ESP-12E_Module) - {3F71AE50-5D11-46D0-918F-1C97717824B0}.Debug|Mixed.ActiveCfg = Debug|NodeMCU_1 0_(ESP-12E_Module) - {3F71AE50-5D11-46D0-918F-1C97717824B0}.Debug|VisualGDB.ActiveCfg = Debug|NodeMCU_1 0_(ESP-12E_Module) - {3F71AE50-5D11-46D0-918F-1C97717824B0}.Debug|x64.ActiveCfg = Debug|NodeMCU_1 0_(ESP-12E_Module) - {3F71AE50-5D11-46D0-918F-1C97717824B0}.Debug|x86.ActiveCfg = Debug|NodeMCU_1 0_(ESP-12E_Module) - {3F71AE50-5D11-46D0-918F-1C97717824B0}.MinSizeRel|Arduino_Genuino_Zero_(Native_USB_Port).ActiveCfg = Release|NodeMCU_1 0_(ESP-12E_Module) - {3F71AE50-5D11-46D0-918F-1C97717824B0}.MinSizeRel|Arduino_Genuino_Zero_(Native_USB_Port).Build.0 = Release|NodeMCU_1 0_(ESP-12E_Module) - {3F71AE50-5D11-46D0-918F-1C97717824B0}.MinSizeRel|ESP32_Dev_Module.ActiveCfg = Release|NodeMCU_1 0_(ESP-12E_Module) - {3F71AE50-5D11-46D0-918F-1C97717824B0}.MinSizeRel|ESP32_Dev_Module.Build.0 = Release|NodeMCU_1 0_(ESP-12E_Module) - {3F71AE50-5D11-46D0-918F-1C97717824B0}.MinSizeRel|Mixed.ActiveCfg = Release|NodeMCU_1 0_(ESP-12E_Module) - {3F71AE50-5D11-46D0-918F-1C97717824B0}.MinSizeRel|Mixed.Build.0 = Release|NodeMCU_1 0_(ESP-12E_Module) - {3F71AE50-5D11-46D0-918F-1C97717824B0}.MinSizeRel|VisualGDB.ActiveCfg = Release|NodeMCU_1 0_(ESP-12E_Module) - {3F71AE50-5D11-46D0-918F-1C97717824B0}.MinSizeRel|VisualGDB.Build.0 = Release|NodeMCU_1 0_(ESP-12E_Module) - {3F71AE50-5D11-46D0-918F-1C97717824B0}.MinSizeRel|x64.ActiveCfg = Release|NodeMCU_1 0_(ESP-12E_Module) - {3F71AE50-5D11-46D0-918F-1C97717824B0}.MinSizeRel|x64.Build.0 = Release|NodeMCU_1 0_(ESP-12E_Module) - {3F71AE50-5D11-46D0-918F-1C97717824B0}.MinSizeRel|x86.ActiveCfg = Release|NodeMCU_1 0_(ESP-12E_Module) - {3F71AE50-5D11-46D0-918F-1C97717824B0}.MinSizeRel|x86.Build.0 = Release|NodeMCU_1 0_(ESP-12E_Module) - {3F71AE50-5D11-46D0-918F-1C97717824B0}.Release|Arduino_Genuino_Zero_(Native_USB_Port).ActiveCfg = Release|NodeMCU_1 0_(ESP-12E_Module) - {3F71AE50-5D11-46D0-918F-1C97717824B0}.Release|ESP32_Dev_Module.ActiveCfg = Release|NodeMCU_1 0_(ESP-12E_Module) - {3F71AE50-5D11-46D0-918F-1C97717824B0}.Release|Mixed.ActiveCfg = Release|NodeMCU_1 0_(ESP-12E_Module) - {3F71AE50-5D11-46D0-918F-1C97717824B0}.Release|VisualGDB.ActiveCfg = Release|NodeMCU_1 0_(ESP-12E_Module) - {3F71AE50-5D11-46D0-918F-1C97717824B0}.Release|x64.ActiveCfg = Release|NodeMCU_1 0_(ESP-12E_Module) - {3F71AE50-5D11-46D0-918F-1C97717824B0}.Release|x86.ActiveCfg = Release|NodeMCU_1 0_(ESP-12E_Module) - {3F71AE50-5D11-46D0-918F-1C97717824B0}.RelWithDebInfo|Arduino_Genuino_Zero_(Native_USB_Port).ActiveCfg = Release|NodeMCU_1 0_(ESP-12E_Module) - {3F71AE50-5D11-46D0-918F-1C97717824B0}.RelWithDebInfo|Arduino_Genuino_Zero_(Native_USB_Port).Build.0 = Release|NodeMCU_1 0_(ESP-12E_Module) - {3F71AE50-5D11-46D0-918F-1C97717824B0}.RelWithDebInfo|ESP32_Dev_Module.ActiveCfg = Release|NodeMCU_1 0_(ESP-12E_Module) - {3F71AE50-5D11-46D0-918F-1C97717824B0}.RelWithDebInfo|ESP32_Dev_Module.Build.0 = Release|NodeMCU_1 0_(ESP-12E_Module) - {3F71AE50-5D11-46D0-918F-1C97717824B0}.RelWithDebInfo|Mixed.ActiveCfg = Release|NodeMCU_1 0_(ESP-12E_Module) - {3F71AE50-5D11-46D0-918F-1C97717824B0}.RelWithDebInfo|Mixed.Build.0 = Release|NodeMCU_1 0_(ESP-12E_Module) - {3F71AE50-5D11-46D0-918F-1C97717824B0}.RelWithDebInfo|VisualGDB.ActiveCfg = Release|NodeMCU_1 0_(ESP-12E_Module) - {3F71AE50-5D11-46D0-918F-1C97717824B0}.RelWithDebInfo|VisualGDB.Build.0 = Release|NodeMCU_1 0_(ESP-12E_Module) - {3F71AE50-5D11-46D0-918F-1C97717824B0}.RelWithDebInfo|x64.ActiveCfg = Release|NodeMCU_1 0_(ESP-12E_Module) - {3F71AE50-5D11-46D0-918F-1C97717824B0}.RelWithDebInfo|x64.Build.0 = Release|NodeMCU_1 0_(ESP-12E_Module) - {3F71AE50-5D11-46D0-918F-1C97717824B0}.RelWithDebInfo|x86.ActiveCfg = Release|NodeMCU_1 0_(ESP-12E_Module) - {3F71AE50-5D11-46D0-918F-1C97717824B0}.RelWithDebInfo|x86.Build.0 = Release|NodeMCU_1 0_(ESP-12E_Module) - {456D87B3-1DFE-4724-BDEF-17E0FDB55A61}.Debug|Arduino_Genuino_Zero_(Native_USB_Port).ActiveCfg = Debug|Win32 - {456D87B3-1DFE-4724-BDEF-17E0FDB55A61}.Debug|ESP32_Dev_Module.ActiveCfg = Debug|Win32 - {456D87B3-1DFE-4724-BDEF-17E0FDB55A61}.Debug|Mixed.ActiveCfg = Debug|Win32 - {456D87B3-1DFE-4724-BDEF-17E0FDB55A61}.Debug|VisualGDB.ActiveCfg = Debug|Win32 - {456D87B3-1DFE-4724-BDEF-17E0FDB55A61}.Debug|x64.ActiveCfg = Debug|Win32 - {456D87B3-1DFE-4724-BDEF-17E0FDB55A61}.Debug|x86.ActiveCfg = Debug|Win32 - {456D87B3-1DFE-4724-BDEF-17E0FDB55A61}.Debug|x86.Build.0 = Debug|Win32 - {456D87B3-1DFE-4724-BDEF-17E0FDB55A61}.MinSizeRel|Arduino_Genuino_Zero_(Native_USB_Port).ActiveCfg = Release|Win32 - {456D87B3-1DFE-4724-BDEF-17E0FDB55A61}.MinSizeRel|Arduino_Genuino_Zero_(Native_USB_Port).Build.0 = Release|Win32 - {456D87B3-1DFE-4724-BDEF-17E0FDB55A61}.MinSizeRel|ESP32_Dev_Module.ActiveCfg = Release|Win32 - {456D87B3-1DFE-4724-BDEF-17E0FDB55A61}.MinSizeRel|ESP32_Dev_Module.Build.0 = Release|Win32 - {456D87B3-1DFE-4724-BDEF-17E0FDB55A61}.MinSizeRel|Mixed.ActiveCfg = Release|Win32 - {456D87B3-1DFE-4724-BDEF-17E0FDB55A61}.MinSizeRel|Mixed.Build.0 = Release|Win32 - {456D87B3-1DFE-4724-BDEF-17E0FDB55A61}.MinSizeRel|VisualGDB.ActiveCfg = Release|Win32 - {456D87B3-1DFE-4724-BDEF-17E0FDB55A61}.MinSizeRel|VisualGDB.Build.0 = Release|Win32 - {456D87B3-1DFE-4724-BDEF-17E0FDB55A61}.MinSizeRel|x64.ActiveCfg = Release|Win32 - {456D87B3-1DFE-4724-BDEF-17E0FDB55A61}.MinSizeRel|x64.Build.0 = Release|Win32 - {456D87B3-1DFE-4724-BDEF-17E0FDB55A61}.MinSizeRel|x86.ActiveCfg = Release|Win32 - {456D87B3-1DFE-4724-BDEF-17E0FDB55A61}.MinSizeRel|x86.Build.0 = Release|Win32 - {456D87B3-1DFE-4724-BDEF-17E0FDB55A61}.Release|Arduino_Genuino_Zero_(Native_USB_Port).ActiveCfg = Release|Win32 - {456D87B3-1DFE-4724-BDEF-17E0FDB55A61}.Release|ESP32_Dev_Module.ActiveCfg = Release|Win32 - {456D87B3-1DFE-4724-BDEF-17E0FDB55A61}.Release|Mixed.ActiveCfg = Release|Win32 - {456D87B3-1DFE-4724-BDEF-17E0FDB55A61}.Release|VisualGDB.ActiveCfg = Release|Win32 - {456D87B3-1DFE-4724-BDEF-17E0FDB55A61}.Release|x64.ActiveCfg = Release|Win32 - {456D87B3-1DFE-4724-BDEF-17E0FDB55A61}.Release|x86.ActiveCfg = Release|Win32 - {456D87B3-1DFE-4724-BDEF-17E0FDB55A61}.Release|x86.Build.0 = Release|Win32 - {456D87B3-1DFE-4724-BDEF-17E0FDB55A61}.RelWithDebInfo|Arduino_Genuino_Zero_(Native_USB_Port).ActiveCfg = Release|Win32 - {456D87B3-1DFE-4724-BDEF-17E0FDB55A61}.RelWithDebInfo|Arduino_Genuino_Zero_(Native_USB_Port).Build.0 = Release|Win32 - {456D87B3-1DFE-4724-BDEF-17E0FDB55A61}.RelWithDebInfo|ESP32_Dev_Module.ActiveCfg = Release|Win32 - {456D87B3-1DFE-4724-BDEF-17E0FDB55A61}.RelWithDebInfo|ESP32_Dev_Module.Build.0 = Release|Win32 - {456D87B3-1DFE-4724-BDEF-17E0FDB55A61}.RelWithDebInfo|Mixed.ActiveCfg = Release|Win32 - {456D87B3-1DFE-4724-BDEF-17E0FDB55A61}.RelWithDebInfo|Mixed.Build.0 = Release|Win32 - {456D87B3-1DFE-4724-BDEF-17E0FDB55A61}.RelWithDebInfo|VisualGDB.ActiveCfg = Release|Win32 - {456D87B3-1DFE-4724-BDEF-17E0FDB55A61}.RelWithDebInfo|VisualGDB.Build.0 = Release|Win32 - {456D87B3-1DFE-4724-BDEF-17E0FDB55A61}.RelWithDebInfo|x64.ActiveCfg = Release|Win32 - {456D87B3-1DFE-4724-BDEF-17E0FDB55A61}.RelWithDebInfo|x64.Build.0 = Release|Win32 - {456D87B3-1DFE-4724-BDEF-17E0FDB55A61}.RelWithDebInfo|x86.ActiveCfg = Release|Win32 - {456D87B3-1DFE-4724-BDEF-17E0FDB55A61}.RelWithDebInfo|x86.Build.0 = Release|Win32 - {68FCB2F7-7A74-43A0-8CBE-36CB25020584}.Debug|Arduino_Genuino_Zero_(Native_USB_Port).ActiveCfg = Debug|Win32 - {68FCB2F7-7A74-43A0-8CBE-36CB25020584}.Debug|ESP32_Dev_Module.ActiveCfg = Debug|Win32 - {68FCB2F7-7A74-43A0-8CBE-36CB25020584}.Debug|Mixed.ActiveCfg = Debug|Win32 - {68FCB2F7-7A74-43A0-8CBE-36CB25020584}.Debug|VisualGDB.ActiveCfg = Debug|Win32 - {68FCB2F7-7A74-43A0-8CBE-36CB25020584}.Debug|x64.ActiveCfg = Debug|Win32 - {68FCB2F7-7A74-43A0-8CBE-36CB25020584}.Debug|x86.ActiveCfg = Debug|Win32 - {68FCB2F7-7A74-43A0-8CBE-36CB25020584}.Debug|x86.Build.0 = Debug|Win32 - {68FCB2F7-7A74-43A0-8CBE-36CB25020584}.MinSizeRel|Arduino_Genuino_Zero_(Native_USB_Port).ActiveCfg = Release|Win32 - {68FCB2F7-7A74-43A0-8CBE-36CB25020584}.MinSizeRel|Arduino_Genuino_Zero_(Native_USB_Port).Build.0 = Release|Win32 - {68FCB2F7-7A74-43A0-8CBE-36CB25020584}.MinSizeRel|ESP32_Dev_Module.ActiveCfg = Release|Win32 - {68FCB2F7-7A74-43A0-8CBE-36CB25020584}.MinSizeRel|ESP32_Dev_Module.Build.0 = Release|Win32 - {68FCB2F7-7A74-43A0-8CBE-36CB25020584}.MinSizeRel|Mixed.ActiveCfg = Release|Win32 - {68FCB2F7-7A74-43A0-8CBE-36CB25020584}.MinSizeRel|Mixed.Build.0 = Release|Win32 - {68FCB2F7-7A74-43A0-8CBE-36CB25020584}.MinSizeRel|VisualGDB.ActiveCfg = Release|Win32 - {68FCB2F7-7A74-43A0-8CBE-36CB25020584}.MinSizeRel|VisualGDB.Build.0 = Release|Win32 - {68FCB2F7-7A74-43A0-8CBE-36CB25020584}.MinSizeRel|x64.ActiveCfg = Release|Win32 - {68FCB2F7-7A74-43A0-8CBE-36CB25020584}.MinSizeRel|x64.Build.0 = Release|Win32 - {68FCB2F7-7A74-43A0-8CBE-36CB25020584}.MinSizeRel|x86.ActiveCfg = Release|Win32 - {68FCB2F7-7A74-43A0-8CBE-36CB25020584}.MinSizeRel|x86.Build.0 = Release|Win32 - {68FCB2F7-7A74-43A0-8CBE-36CB25020584}.Release|Arduino_Genuino_Zero_(Native_USB_Port).ActiveCfg = Release|Win32 - {68FCB2F7-7A74-43A0-8CBE-36CB25020584}.Release|ESP32_Dev_Module.ActiveCfg = Release|Win32 - {68FCB2F7-7A74-43A0-8CBE-36CB25020584}.Release|Mixed.ActiveCfg = Release|Win32 - {68FCB2F7-7A74-43A0-8CBE-36CB25020584}.Release|VisualGDB.ActiveCfg = Release|Win32 - {68FCB2F7-7A74-43A0-8CBE-36CB25020584}.Release|x64.ActiveCfg = Release|Win32 - {68FCB2F7-7A74-43A0-8CBE-36CB25020584}.Release|x86.ActiveCfg = Release|Win32 - {68FCB2F7-7A74-43A0-8CBE-36CB25020584}.Release|x86.Build.0 = Release|Win32 - {68FCB2F7-7A74-43A0-8CBE-36CB25020584}.RelWithDebInfo|Arduino_Genuino_Zero_(Native_USB_Port).ActiveCfg = Release|Win32 - {68FCB2F7-7A74-43A0-8CBE-36CB25020584}.RelWithDebInfo|Arduino_Genuino_Zero_(Native_USB_Port).Build.0 = Release|Win32 - {68FCB2F7-7A74-43A0-8CBE-36CB25020584}.RelWithDebInfo|ESP32_Dev_Module.ActiveCfg = Release|Win32 - {68FCB2F7-7A74-43A0-8CBE-36CB25020584}.RelWithDebInfo|ESP32_Dev_Module.Build.0 = Release|Win32 - {68FCB2F7-7A74-43A0-8CBE-36CB25020584}.RelWithDebInfo|Mixed.ActiveCfg = Release|Win32 - {68FCB2F7-7A74-43A0-8CBE-36CB25020584}.RelWithDebInfo|Mixed.Build.0 = Release|Win32 - {68FCB2F7-7A74-43A0-8CBE-36CB25020584}.RelWithDebInfo|VisualGDB.ActiveCfg = Release|Win32 - {68FCB2F7-7A74-43A0-8CBE-36CB25020584}.RelWithDebInfo|VisualGDB.Build.0 = Release|Win32 - {68FCB2F7-7A74-43A0-8CBE-36CB25020584}.RelWithDebInfo|x64.ActiveCfg = Release|Win32 - {68FCB2F7-7A74-43A0-8CBE-36CB25020584}.RelWithDebInfo|x64.Build.0 = Release|Win32 - {68FCB2F7-7A74-43A0-8CBE-36CB25020584}.RelWithDebInfo|x86.ActiveCfg = Release|Win32 - {68FCB2F7-7A74-43A0-8CBE-36CB25020584}.RelWithDebInfo|x86.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {721CAB98-83F8-4035-AC23-77AEA55B634D} - EndGlobalSection -EndGlobal