From 9cfbbb2f6f0865469576dd16d1aa0217c62117e8 Mon Sep 17 00:00:00 2001 From: Wastl Kraus Date: Sun, 4 Jul 2021 03:01:26 +0200 Subject: [PATCH] ...cosmetics --- .vscode/c_cpp_properties.json | 370 ++++++++++++++++++++++++++++++++-- src/DShotRMT.cpp | 31 ++- src/DShotRMT.h | 26 +-- 3 files changed, 384 insertions(+), 43 deletions(-) diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json index 0ddf4a9..ecc9aac 100644 --- a/.vscode/c_cpp_properties.json +++ b/.vscode/c_cpp_properties.json @@ -1,28 +1,372 @@ { + "version": 4, "configurations": [ { "name": "ESP32", + "compilerPath": "C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.28.29910/bin/Hostx64/x64/cl.exe", + "compilerArgs": [], + "intelliSenseMode": "windows-msvc-x86", "includePath": [ "${workspaceFolder}\\**", "C:\\Users\\derdoktor667\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6\\**" ], + "forcedInclude": [], + "cStandard": "c17", + "cppStandard": "c++14", "defines": [ "_DEBUG", "UNICODE", "_UNICODE" + ] + }, + { + "name": "Arduino", + "compilerPath": "C:\\Users\\derdoktor667\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\xtensa-esp32-elf-gcc\\1.22.0-97-gc752ad5-5.2.0\\bin\\xtensa-esp32-elf-g++", + "compilerArgs": [ + "-std=gnu++11", + "-Wpointer-arith", + "-fexceptions", + "-fstack-protector", + "-ffunction-sections", + "-fdata-sections", + "-fstrict-volatile-bitfields", + "-mlongcalls", + "-nostdlib", + "-Wall", + "-Werror=all", + "-Wno-error=maybe-uninitialized", + "-Wno-error=unused-function", + "-Wno-error=unused-but-set-variable", + "-Wno-error=unused-variable", + "-Wno-error=deprecated-declarations", + "-Wno-unused-parameter", + "-Wno-unused-but-set-parameter", + "-Wno-missing-field-initializers", + "-Wno-sign-compare", + "-fno-rtti" ], - "windowsSdkVersion": "10.0.19041.0", - "compilerPath": "C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.28.29910/bin/Hostx64/x64/cl.exe", - "intelliSenseMode": "windows-msvc-x86", - "cStandard": "c17", - "cppStandard": "c++14", - "browse": { - "path": [ - "${workspaceFolder}", - "C:\\Users\\derdoktor667\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6" - ] - } + "intelliSenseMode": "gcc-x64", + "includePath": [ + "C:\\Users\\derdoktor667\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6\\tools\\sdk\\include\\config", + "C:\\Users\\derdoktor667\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6\\tools\\sdk\\include\\app_trace", + "C:\\Users\\derdoktor667\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6\\tools\\sdk\\include\\app_update", + "C:\\Users\\derdoktor667\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6\\tools\\sdk\\include\\asio", + "C:\\Users\\derdoktor667\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6\\tools\\sdk\\include\\bootloader_support", + "C:\\Users\\derdoktor667\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6\\tools\\sdk\\include\\bt", + "C:\\Users\\derdoktor667\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6\\tools\\sdk\\include\\coap", + "C:\\Users\\derdoktor667\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6\\tools\\sdk\\include\\console", + "C:\\Users\\derdoktor667\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6\\tools\\sdk\\include\\driver", + "C:\\Users\\derdoktor667\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6\\tools\\sdk\\include\\efuse", + "C:\\Users\\derdoktor667\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6\\tools\\sdk\\include\\esp-tls", + "C:\\Users\\derdoktor667\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6\\tools\\sdk\\include\\esp32", + "C:\\Users\\derdoktor667\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6\\tools\\sdk\\include\\esp_adc_cal", + "C:\\Users\\derdoktor667\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6\\tools\\sdk\\include\\esp_event", + "C:\\Users\\derdoktor667\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6\\tools\\sdk\\include\\esp_http_client", + "C:\\Users\\derdoktor667\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6\\tools\\sdk\\include\\esp_http_server", + "C:\\Users\\derdoktor667\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6\\tools\\sdk\\include\\esp_https_ota", + "C:\\Users\\derdoktor667\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6\\tools\\sdk\\include\\esp_https_server", + "C:\\Users\\derdoktor667\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6\\tools\\sdk\\include\\esp_ringbuf", + "C:\\Users\\derdoktor667\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6\\tools\\sdk\\include\\esp_websocket_client", + "C:\\Users\\derdoktor667\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6\\tools\\sdk\\include\\espcoredump", + "C:\\Users\\derdoktor667\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6\\tools\\sdk\\include\\ethernet", + "C:\\Users\\derdoktor667\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6\\tools\\sdk\\include\\expat", + "C:\\Users\\derdoktor667\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6\\tools\\sdk\\include\\fatfs", + "C:\\Users\\derdoktor667\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6\\tools\\sdk\\include\\freemodbus", + "C:\\Users\\derdoktor667\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6\\tools\\sdk\\include\\freertos", + "C:\\Users\\derdoktor667\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6\\tools\\sdk\\include\\heap", + "C:\\Users\\derdoktor667\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6\\tools\\sdk\\include\\idf_test", + "C:\\Users\\derdoktor667\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6\\tools\\sdk\\include\\jsmn", + "C:\\Users\\derdoktor667\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6\\tools\\sdk\\include\\json", + "C:\\Users\\derdoktor667\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6\\tools\\sdk\\include\\libsodium", + "C:\\Users\\derdoktor667\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6\\tools\\sdk\\include\\log", + "C:\\Users\\derdoktor667\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6\\tools\\sdk\\include\\lwip", + "C:\\Users\\derdoktor667\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6\\tools\\sdk\\include\\mbedtls", + "C:\\Users\\derdoktor667\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6\\tools\\sdk\\include\\mdns", + "C:\\Users\\derdoktor667\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6\\tools\\sdk\\include\\micro-ecc", + "C:\\Users\\derdoktor667\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6\\tools\\sdk\\include\\mqtt", + "C:\\Users\\derdoktor667\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6\\tools\\sdk\\include\\newlib", + "C:\\Users\\derdoktor667\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6\\tools\\sdk\\include\\nghttp", + "C:\\Users\\derdoktor667\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6\\tools\\sdk\\include\\nvs_flash", + "C:\\Users\\derdoktor667\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6\\tools\\sdk\\include\\openssl", + "C:\\Users\\derdoktor667\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6\\tools\\sdk\\include\\protobuf-c", + "C:\\Users\\derdoktor667\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6\\tools\\sdk\\include\\protocomm", + "C:\\Users\\derdoktor667\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6\\tools\\sdk\\include\\pthread", + "C:\\Users\\derdoktor667\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6\\tools\\sdk\\include\\sdmmc", + "C:\\Users\\derdoktor667\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6\\tools\\sdk\\include\\smartconfig_ack", + "C:\\Users\\derdoktor667\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6\\tools\\sdk\\include\\soc", + "C:\\Users\\derdoktor667\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6\\tools\\sdk\\include\\spi_flash", + "C:\\Users\\derdoktor667\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6\\tools\\sdk\\include\\spiffs", + "C:\\Users\\derdoktor667\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6\\tools\\sdk\\include\\tcp_transport", + "C:\\Users\\derdoktor667\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6\\tools\\sdk\\include\\tcpip_adapter", + "C:\\Users\\derdoktor667\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6\\tools\\sdk\\include\\ulp", + "C:\\Users\\derdoktor667\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6\\tools\\sdk\\include\\unity", + "C:\\Users\\derdoktor667\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6\\tools\\sdk\\include\\vfs", + "C:\\Users\\derdoktor667\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6\\tools\\sdk\\include\\wear_levelling", + "C:\\Users\\derdoktor667\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6\\tools\\sdk\\include\\wifi_provisioning", + "C:\\Users\\derdoktor667\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6\\tools\\sdk\\include\\wpa_supplicant", + "C:\\Users\\derdoktor667\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6\\tools\\sdk\\include\\xtensa-debug-module", + "C:\\Users\\derdoktor667\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6\\tools\\sdk\\include\\esp-face", + "C:\\Users\\derdoktor667\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6\\tools\\sdk\\include\\esp32-camera", + "C:\\Users\\derdoktor667\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6\\tools\\sdk\\include\\esp-face", + "C:\\Users\\derdoktor667\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6\\tools\\sdk\\include\\fb_gfx", + "C:\\Users\\derdoktor667\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6\\cores\\esp32", + "C:\\Users\\derdoktor667\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6\\variants\\esp32", + "C:\\Users\\derdoktor667\\Documents\\Arduino\\libraries\\DShotRMT\\src", + "c:\\users\\derdoktor667\\appdata\\local\\arduino15\\packages\\esp32\\tools\\xtensa-esp32-elf-gcc\\1.22.0-97-gc752ad5-5.2.0\\xtensa-esp32-elf\\include\\c++\\5.2.0", + "c:\\users\\derdoktor667\\appdata\\local\\arduino15\\packages\\esp32\\tools\\xtensa-esp32-elf-gcc\\1.22.0-97-gc752ad5-5.2.0\\xtensa-esp32-elf\\include\\c++\\5.2.0\\xtensa-esp32-elf", + "c:\\users\\derdoktor667\\appdata\\local\\arduino15\\packages\\esp32\\tools\\xtensa-esp32-elf-gcc\\1.22.0-97-gc752ad5-5.2.0\\xtensa-esp32-elf\\include\\c++\\5.2.0\\backward", + "c:\\users\\derdoktor667\\appdata\\local\\arduino15\\packages\\esp32\\tools\\xtensa-esp32-elf-gcc\\1.22.0-97-gc752ad5-5.2.0\\lib\\gcc\\xtensa-esp32-elf\\5.2.0\\include", + "c:\\users\\derdoktor667\\appdata\\local\\arduino15\\packages\\esp32\\tools\\xtensa-esp32-elf-gcc\\1.22.0-97-gc752ad5-5.2.0\\lib\\gcc\\xtensa-esp32-elf\\5.2.0\\include-fixed", + "c:\\users\\derdoktor667\\appdata\\local\\arduino15\\packages\\esp32\\tools\\xtensa-esp32-elf-gcc\\1.22.0-97-gc752ad5-5.2.0\\xtensa-esp32-elf\\include", + "c:\\users\\derdoktor667\\appdata\\local\\arduino15\\packages\\esp32\\tools\\xtensa-esp32-elf-gcc\\1.22.0-97-gc752ad5-5.2.0\\xtensa-esp32-elf\\sysroot\\usr\\include" + ], + "forcedInclude": [ + "C:\\Users\\derdoktor667\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6\\cores\\esp32\\Arduino.h" + ], + "cStandard": "c11", + "cppStandard": "c++11", + "defines": [ + "ESP_PLATFORM", + "MBEDTLS_CONFIG_FILE=\"mbedtls/esp_config.h\"", + "HAVE_CONFIG_H", + "GCC_NOT_5_2_0=0", + "WITH_POSIX", + "F_CPU=240000000L", + "ARDUINO=10813", + "ARDUINO_ESP32_DEV", + "ARDUINO_ARCH_ESP32", + "ARDUINO_BOARD=\"ESP32_DEV\"", + "ARDUINO_VARIANT=\"esp32\"", + "ESP32", + "CORE_DEBUG_LEVEL=0", + "__DBL_MIN_EXP__=(-1021)", + "__UINT_LEAST16_MAX__=0xffff", + "__ATOMIC_ACQUIRE=2", + "__FLT_MIN__=1.1754943508222875e-38F", + "__GCC_IEC_559_COMPLEX=0", + "__UINT_LEAST8_TYPE__=unsigned char", + "__INTMAX_C(c)=c ## LL", + "__CHAR_BIT__=8", + "__UINT8_MAX__=0xff", + "__WINT_MAX__=0xffffffffU", + "__ORDER_LITTLE_ENDIAN__=1234", + "__SIZE_MAX__=0xffffffffU", + "__WCHAR_MAX__=0xffff", + "__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1=1", + "__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2=1", + "__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4=1", + "__DBL_DENORM_MIN__=double(4.9406564584124654e-324L)", + "__GCC_ATOMIC_CHAR_LOCK_FREE=2", + "__GCC_IEC_559=0", + "__FLT_EVAL_METHOD__=0", + "__cpp_binary_literals=201304", + "__GCC_ATOMIC_CHAR32_T_LOCK_FREE=2", + "__UINT_FAST64_MAX__=0xffffffffffffffffULL", + "__SIG_ATOMIC_TYPE__=int", + "__DBL_MIN_10_EXP__=(-307)", + "__FINITE_MATH_ONLY__=0", + "__GNUC_PATCHLEVEL__=0", + "__UINT_FAST8_MAX__=0xffffffffU", + "__has_include(STR)=__has_include__(STR)", + "__DEC64_MAX_EXP__=385", + "__INT8_C(c)=c", + "__UINT_LEAST64_MAX__=0xffffffffffffffffULL", + "__SHRT_MAX__=0x7fff", + "__LDBL_MAX__=1.7976931348623157e+308L", + "__UINT_LEAST8_MAX__=0xff", + "__GCC_ATOMIC_BOOL_LOCK_FREE=2", + "__UINTMAX_TYPE__=long long unsigned int", + "__DEC32_EPSILON__=1E-6DF", + "__CHAR_UNSIGNED__=1", + "__UINT32_MAX__=0xffffffffUL", + "__LDBL_MAX_EXP__=1024", + "__WINT_MIN__=0U", + "__SCHAR_MAX__=0x7f", + "__WCHAR_MIN__=0", + "__INT64_C(c)=c ## LL", + "__DBL_DIG__=15", + "__GCC_ATOMIC_POINTER_LOCK_FREE=2", + "__SIZEOF_INT__=4", + "__SIZEOF_POINTER__=4", + "__GCC_ATOMIC_CHAR16_T_LOCK_FREE=2", + "__USER_LABEL_PREFIX__", + "__STDC_HOSTED__=1", + "__LDBL_HAS_INFINITY__=1", + "__XTENSA_EL__=1", + "__FLT_EPSILON__=1.1920928955078125e-7F", + "__GXX_WEAK__=1", + "__LDBL_MIN__=2.2250738585072014e-308L", + "__DEC32_MAX__=9.999999E96DF", + "__INT32_MAX__=0x7fffffffL", + "__SIZEOF_LONG__=4", + "__UINT16_C(c)=c", + "__DECIMAL_DIG__=17", + "__has_include_next(STR)=__has_include_next__(STR)", + "__LDBL_HAS_QUIET_NAN__=1", + "__GNUC__=5", + "__GXX_RTTI=1", + "__FLT_HAS_DENORM__=1", + "__SIZEOF_LONG_DOUBLE__=8", + "__BIGGEST_ALIGNMENT__=16", + "__DBL_MAX__=double(1.7976931348623157e+308L)", + "__INT_FAST32_MAX__=0x7fffffff", + "__DBL_HAS_INFINITY__=1", + "__INT64_MAX__=0x7fffffffffffffffLL", + "__DEC32_MIN_EXP__=(-94)", + "__INT_FAST16_TYPE__=int", + "__LDBL_HAS_DENORM__=1", + "__cplusplus=199711L", + "__DEC128_MAX__=9.999999999999999999999999999999999E6144DL", + "__INT_LEAST32_MAX__=0x7fffffffL", + "__DEC32_MIN__=1E-95DF", + "__DEPRECATED=1", + "__DBL_MAX_EXP__=1024", + "__DEC128_EPSILON__=1E-33DL", + "__PTRDIFF_MAX__=0x7fffffff", + "__GNUG__=5", + "__LONG_LONG_MAX__=0x7fffffffffffffffLL", + "__SIZEOF_SIZE_T__=4", + "__SIZEOF_WINT_T__=4", + "__GXX_ABI_VERSION=1009", + "__FLT_MIN_EXP__=(-125)", + "__INT_FAST64_TYPE__=long long int", + "__FP_FAST_FMAF=1", + "__DBL_MIN__=double(2.2250738585072014e-308L)", + "__FLT_MIN_10_EXP__=(-37)", + "__DEC128_MIN__=1E-6143DL", + "__REGISTER_PREFIX__", + "__UINT16_MAX__=0xffff", + "__DBL_HAS_DENORM__=1", + "__UINT8_TYPE__=unsigned char", + "__NO_INLINE__=1", + "__FLT_MANT_DIG__=24", + "__VERSION__=\"5.2.0\"", + "__UINT64_C(c)=c ## ULL", + "__GCC_ATOMIC_INT_LOCK_FREE=2", + "__FLOAT_WORD_ORDER__=__ORDER_LITTLE_ENDIAN__", + "__INT32_C(c)=c ## L", + "__DEC64_EPSILON__=1E-15DD", + "__ORDER_PDP_ENDIAN__=3412", + "__DEC128_MIN_EXP__=(-6142)", + "__INT_FAST32_TYPE__=int", + "__UINT_LEAST16_TYPE__=short unsigned int", + "__INT16_MAX__=0x7fff", + "__cpp_rtti=199711", + "__SIZE_TYPE__=unsigned int", + "__UINT64_MAX__=0xffffffffffffffffULL", + "__INT8_TYPE__=signed char", + "__ELF__=1", + "__xtensa__=1", + "__FLT_RADIX__=2", + "__INT_LEAST16_TYPE__=short int", + "__LDBL_EPSILON__=2.2204460492503131e-16L", + "__UINTMAX_C(c)=c ## ULL", + "__SIG_ATOMIC_MAX__=0x7fffffff", + "__GCC_ATOMIC_WCHAR_T_LOCK_FREE=2", + "__SIZEOF_PTRDIFF_T__=4", + "__DEC32_SUBNORMAL_MIN__=0.000001E-95DF", + "__INT_FAST16_MAX__=0x7fffffff", + "__UINT_FAST32_MAX__=0xffffffffU", + "__UINT_LEAST64_TYPE__=long long unsigned int", + "__FLT_HAS_QUIET_NAN__=1", + "__FLT_MAX_10_EXP__=38", + "__LONG_MAX__=0x7fffffffL", + "__DEC128_SUBNORMAL_MIN__=0.000000000000000000000000000000001E-6143DL", + "__FLT_HAS_INFINITY__=1", + "__UINT_FAST16_TYPE__=unsigned int", + "__DEC64_MAX__=9.999999999999999E384DD", + "__CHAR16_TYPE__=short unsigned int", + "__PRAGMA_REDEFINE_EXTNAME=1", + "__INT_LEAST16_MAX__=0x7fff", + "__DEC64_MANT_DIG__=16", + "__UINT_LEAST32_MAX__=0xffffffffUL", + "__GCC_ATOMIC_LONG_LOCK_FREE=2", + "__INT_LEAST64_TYPE__=long long int", + "__INT16_TYPE__=short int", + "__INT_LEAST8_TYPE__=signed char", + "__DEC32_MAX_EXP__=97", + "__INT_FAST8_MAX__=0x7fffffff", + "__INTPTR_MAX__=0x7fffffff", + "__EXCEPTIONS=1", + "__LDBL_MANT_DIG__=53", + "__DBL_HAS_QUIET_NAN__=1", + "__SIG_ATOMIC_MIN__=(-__SIG_ATOMIC_MAX__ - 1)", + "__INTPTR_TYPE__=int", + "__UINT16_TYPE__=short unsigned int", + "__WCHAR_TYPE__=short unsigned int", + "__SIZEOF_FLOAT__=4", + "__UINTPTR_MAX__=0xffffffffU", + "__DEC64_MIN_EXP__=(-382)", + "__INT_FAST64_MAX__=0x7fffffffffffffffLL", + "__GCC_ATOMIC_TEST_AND_SET_TRUEVAL=1", + "__FLT_DIG__=6", + "__UINT_FAST64_TYPE__=long long unsigned int", + "__INT_MAX__=0x7fffffff", + "__INT64_TYPE__=long long int", + "__FLT_MAX_EXP__=128", + "__DBL_MANT_DIG__=53", + "__INT_LEAST64_MAX__=0x7fffffffffffffffLL", + "__DEC64_MIN__=1E-383DD", + "__WINT_TYPE__=unsigned int", + "__UINT_LEAST32_TYPE__=long unsigned int", + "__SIZEOF_SHORT__=2", + "__LDBL_MIN_EXP__=(-1021)", + "__INT_LEAST8_MAX__=0x7f", + "__WCHAR_UNSIGNED__=1", + "__LDBL_MAX_10_EXP__=308", + "__ATOMIC_RELAXED=0", + "__DBL_EPSILON__=double(2.2204460492503131e-16L)", + "__XTENSA_WINDOWED_ABI__=1", + "__UINT8_C(c)=c", + "__INT_LEAST32_TYPE__=long int", + "__SIZEOF_WCHAR_T__=2", + "__UINT64_TYPE__=long long unsigned int", + "__INT_FAST8_TYPE__=int", + "__DBL_DECIMAL_DIG__=17", + "__DEC_EVAL_METHOD__=2", + "__XTENSA__=1", + "__ORDER_BIG_ENDIAN__=4321", + "__cpp_runtime_arrays=198712", + "__UINT32_C(c)=c ## UL", + "__INTMAX_MAX__=0x7fffffffffffffffLL", + "__BYTE_ORDER__=__ORDER_LITTLE_ENDIAN__", + "__FLT_DENORM_MIN__=1.4012984643248171e-45F", + "__INT8_MAX__=0x7f", + "__UINT_FAST32_TYPE__=unsigned int", + "__CHAR32_TYPE__=long unsigned int", + "__FLT_MAX__=3.4028234663852886e+38F", + "__INT32_TYPE__=long int", + "__SIZEOF_DOUBLE__=8", + "__cpp_exceptions=199711", + "__INTMAX_TYPE__=long long int", + "__DEC128_MAX_EXP__=6145", + "__ATOMIC_CONSUME=1", + "__GNUC_MINOR__=2", + "__UINTMAX_MAX__=0xffffffffffffffffULL", + "__DEC32_MANT_DIG__=7", + "__DBL_MAX_10_EXP__=308", + "__LDBL_DENORM_MIN__=4.9406564584124654e-324L", + "__INT16_C(c)=c", + "__STDC__=1", + "__PTRDIFF_TYPE__=int", + "__ATOMIC_SEQ_CST=5", + "__UINT32_TYPE__=long unsigned int", + "__UINTPTR_TYPE__=unsigned int", + "__DEC64_SUBNORMAL_MIN__=0.000000000000001E-383DD", + "__DEC128_MANT_DIG__=34", + "__LDBL_MIN_10_EXP__=(-307)", + "__SIZEOF_LONG_LONG__=8", + "__GCC_ATOMIC_LLONG_LOCK_FREE=1", + "__LDBL_DIG__=15", + "__FLT_DECIMAL_DIG__=9", + "__UINT_FAST16_MAX__=0xffffffffU", + "__GNUC_GNU_INLINE__=1", + "__GCC_ATOMIC_SHORT_LOCK_FREE=2", + "__UINT_FAST8_TYPE__=unsigned int", + "__ATOMIC_ACQ_REL=4", + "__ATOMIC_RELEASE=3", + "USBCON" + ] } - ], - "version": 4 + ] } \ No newline at end of file diff --git a/src/DShotRMT.cpp b/src/DShotRMT.cpp index 35f6b0b..799aac9 100644 --- a/src/DShotRMT.cpp +++ b/src/DShotRMT.cpp @@ -1,9 +1,10 @@ -/* - Name: DShotRMT.cpp - Created: 29.06.2021 19:41:44 - Author: derdoktor667 - Editor: http://www.visualmicro.com -*/ +// +// Name: ESP32_ESC.ino +// Created: 20.03.2021 00:49:15 +// Author: derdoktor667 +// + +#include #include "DShotRMT.h" @@ -31,7 +32,7 @@ DShotRMT::~DShotRMT() { rmt_driver_uninstall(dshot_config.rmt_channel); } -DShotRMT::DShotRMT(DShotRMT const&) { +DShotRMT::DShotRMT(DShotRMT const &) { // ...write me } @@ -70,7 +71,7 @@ bool DShotRMT::begin(dshot_mode_t dshot_mode, bool is_bidirectional) { dshot_config.ticks_one_high = 6; // ...one time 0.625 �s break; - // ...because having a default is "good style" + // ...because having a default is "good style" default: dshot_config.ticks_per_bit = 0; // ...Bit Period Time endless dshot_config.ticks_zero_high = 0; // ...no bits, no time @@ -92,7 +93,7 @@ bool DShotRMT::begin(dshot_mode_t dshot_mode, bool is_bidirectional) { rmt_dshot_config.tx_config.carrier_en = false; rmt_dshot_config.tx_config.idle_level = RMT_IDLE_LEVEL_LOW; rmt_dshot_config.tx_config.idle_output_en = true; - + // ...setup selected dshot mode rmt_config(&rmt_dshot_config); @@ -102,8 +103,7 @@ bool DShotRMT::begin(dshot_mode_t dshot_mode, bool is_bidirectional) { // ...because esp_err_t returns more than true or false if (init_failed != 0) { return true; - } - else { + } else { return false; } } @@ -123,8 +123,7 @@ void DShotRMT::send_dshot_value(uint16_t throttle_value, telemetric_request_t te // ...implement bidirectional mode - } - else { + } else { dshot_rmt_packet.throttle_value = throttle_value; dshot_rmt_packet.telemetric_request = telemetric_request; dshot_rmt_packet.checksum = this->calc_dshot_chksum(dshot_rmt_packet); @@ -142,7 +141,7 @@ uint8_t DShotRMT::get_dshot_clock_div() { } rmt_item32_t* DShotRMT::encode_dshot_to_rmt(uint16_t parsed_packet) { - for (int i = 0; i < DSHOT_PAUSE_BIT; i++, parsed_packet <<= 1) { + for (int i = 0; i < DSHOT_PAUSE_BIT; i++, parsed_packet <<= 1) { if (parsed_packet & 0b1000000000000000) { // set one dshot_rmt_item[i].duration0 = dshot_config.ticks_one_high; @@ -178,8 +177,7 @@ uint16_t DShotRMT::calc_dshot_chksum(const dshot_packet_t& dshot_packet) { // ...implement bidirectional mode - } - else { + } else { packet = (dshot_packet.throttle_value << 1) | dshot_packet.telemetric_request; for (int i = 0; i < 3; i++) { @@ -211,4 +209,3 @@ void DShotRMT::output_rmt_data(const dshot_packet_t& dshot_packet) { // rmt_write_items(rmt_dshot_config.channel, dshot_rmt_item, DSHOT_PACKET_LENGTH, false); } - diff --git a/src/DShotRMT.h b/src/DShotRMT.h index fc7ff66..a020530 100644 --- a/src/DShotRMT.h +++ b/src/DShotRMT.h @@ -1,8 +1,8 @@ -/* - Name: DShotRMT.h - Created: 29.06.2021 19:41:44 - Author: derdoktor667 -*/ +// +// Name: ESP32_ESC.ino +// Created: 20.03.2021 00:49:15 +// Author: derdoktor667 +// #pragma once @@ -12,6 +12,8 @@ #include #include +constexpr auto MOTOR_NUM_PHASES = 3; +constexpr auto MOTOR_NUM_COMMUTATION_STEPS = 6; constexpr auto DSHOT_CLK_DIVIDER = 8; // ...slow down RMT clock to 10 ticks => 1ns constexpr auto DSHOT_PACKET_LENGTH = 17; // ...last pack is the pause @@ -19,8 +21,8 @@ constexpr auto DSHOT_THROTTLE_MIN = 48; constexpr auto DSHOT_THROTTLE_MAX = 2047; constexpr auto DSHOT_NULL_PACKET = 0b0000000000000000; -constexpr auto DSHOT_PAUSE = 65; // ...25�s break between dshot packets -constexpr auto DSHOT_PAUSE_BIDIRECTIONAL = DSHOT_PAUSE; // ...same +constexpr auto DSHOT_PAUSE = 65; // ...21bit is recommended +constexpr auto DSHOT_PAUSE_BIDIRECTIONAL = DSHOT_PAUSE; constexpr auto DSHOT_PAUSE_BIT = 16; constexpr auto F_CPU_RMT = 80000000L; @@ -43,19 +45,19 @@ static const char* const dshot_mode_name[] = { "DSHOT1200" }; -typedef enum request_e { +typedef String dshot_name_t; + +typedef enum telemetric_request_e { NO_TELEMETRIC, ENABLE_TELEMETRIC, } telemetric_request_t; typedef struct dshot_packet_s { - uint16_t throttle_value : 11; + uint16_t throttle_value : 11; telemetric_request_t telemetric_request : 1; uint16_t checksum : 4; } dshot_packet_t; -typedef String dshot_name_t; - typedef struct dshot_config_s { dshot_mode_t mode; dshot_name_t name_str; @@ -97,5 +99,3 @@ class DShotRMT { void output_rmt_data(const dshot_packet_t& dshot_packet); }; - -