Add note about unofficial bidirectional DShot support
Updated GEMINI.md to include a note under project-specific conventions, clarifying that bidirectional DShot mode is implemented but not officially supported due to instability and external hardware requirements. This serves as a reminder for the AI assistant when working on the project. Add note about unofficial bidirectional DShot support Added a comment to all example sketches to clarify that bidirectional DShot is currently not officially supported due to instability and external hardware requirements. docs(README): Clarify unofficial support for bidirectional DShot Updated README.md to reflect that bidirectional DShot is no longer officially supported due to instability and external hardware requirements. Also, modified DShotRMT.h to default the is_bidirectional parameter to false in constructors and added comments to clarify its unofficial support.
This commit is contained in:
parent
e70071887a
commit
5c976e2cc9
|
|
@ -20,8 +20,7 @@ examples/dshot300/debug.cfg
|
|||
examples/dshot300/esp32.svd
|
||||
examples/dshot300/debug_custom.json
|
||||
examples/dshot300/debug.svd
|
||||
/build
|
||||
.vscode/c_cpp_properties.json
|
||||
|
||||
GEMINI.md
|
||||
.gemini/
|
||||
gha-creds-*.json
|
||||
|
|
|
|||
|
|
@ -1,7 +0,0 @@
|
|||
{
|
||||
"configuration": "JTAGAdapter=default,PSRAM=disabled,PartitionScheme=default,CPUFreq=240,FlashMode=qio,FlashFreq=80,FlashSize=4M,UploadSpeed=921600,LoopCore=1,EventsCore=1,DebugLevel=none,EraseFlash=all,ZigbeeMode=default",
|
||||
"board": "esp32:esp32:esp32",
|
||||
"sketch": "examples/dshot300/dshot300.ino",
|
||||
"output": "build",
|
||||
"port": "/dev/ttyUSB0"
|
||||
}
|
||||
|
|
@ -1,899 +0,0 @@
|
|||
{
|
||||
"version": 4,
|
||||
"configurations": [
|
||||
{
|
||||
"name": "ESP32",
|
||||
"compilerPath": "~/.arduino15/packages/esp32/tools/esp-x32/2411/bin/xtensa-esp32-elf-g++",
|
||||
"compilerArgs": [
|
||||
"-MMD",
|
||||
"-w",
|
||||
"-Werror=return-type",
|
||||
"-iprefix"
|
||||
],
|
||||
"intelliSenseMode": "linux-gcc-x64",
|
||||
"includePath": [
|
||||
"~/.arduino15/packages/esp32/hardware/esp32/3.3.0/cores/esp32/**",
|
||||
"~/.arduino15/packages/esp32/hardware/esp32/3.3.0/variants/esp32/**",
|
||||
"~/.arduino15/packages/esp32/hardware/esp32/3.3.0/libraries/**",
|
||||
"~/.arduino15/packages/esp32/hardware/esp32/3.3.0/**",
|
||||
"~/.arduino15/packages/esp32/tools/**",
|
||||
"~/.arduino15/packages/esp32/tools/esp-x32/2411/xtensa-esp-elf/include/c++/14.2.0/**",
|
||||
"~/.arduino15/packages/esp32/tools/esp-x32/2411/xtensa-esp-elf/include/c++/14.2.0/xtensa-esp-elf/esp32/**",
|
||||
"~/.arduino15/packages/esp32/tools/esp-x32/2411/xtensa-esp-elf/include/c++/14.2.0/backward/**",
|
||||
"~/.arduino15/packages/esp32/tools/esp-x32/2411/lib/gcc/xtensa-esp-elf/14.2.0/include/**",
|
||||
"~/.arduino15/packages/esp32/tools/esp-x32/2411/lib/gcc/xtensa-esp-elf/14.2.0/include-fixed/**",
|
||||
"~/.arduino15/packages/esp32/tools/esp-x32/2411/xtensa-esp-elf/include/**",
|
||||
"~/.arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.5-b66b5448-v1/esp32/include/**",
|
||||
"~/.arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.5-b66b5448-v1/esp32/include/freertos/FreeRTOS-Kernel/portable/xtensa/include/freertos/",
|
||||
"~/Arduino/libraries/**",
|
||||
"${workspaceFolder}/**"
|
||||
],
|
||||
"forcedInclude": [
|
||||
"~/.arduino15/packages/esp32/hardware/esp32/3.3.0/cores/esp32/Arduino.h"
|
||||
],
|
||||
"cStandard": "c17",
|
||||
"cppStandard": "c++17",
|
||||
"defines": [
|
||||
"F_CPU=240000000L",
|
||||
"ESP32",
|
||||
"ARDUINO=10607",
|
||||
"ARDUINO_ESP32_DEV",
|
||||
"ARDUINO_ARCH_ESP32",
|
||||
"ARDUINO_BOARD=\"ESP32_DEV\"",
|
||||
"ARDUINO_VARIANT=\"esp32\"",
|
||||
"ARDUINO_PARTITION_default",
|
||||
"ARDUINO_HOST_OS=\"linux\"",
|
||||
"ARDUINO_FQBN=\"esp32:esp32:esp32:JTAGAdapter=default,PSRAM=disabled,PartitionScheme=default,CPUFreq=240,FlashMode=qio,FlashFreq=80,FlashSize=4M,UploadSpeed=921600,LoopCore=1,EventsCore=1,DebugLevel=none,EraseFlash=none,ZigbeeMode=default\"",
|
||||
"ESP32=ESP32",
|
||||
"CORE_DEBUG_LEVEL=0",
|
||||
"ARDUINO_RUNNING_CORE=1",
|
||||
"ARDUINO_EVENT_RUNNING_CORE=1",
|
||||
"ARDUINO_USB_CDC_ON_BOOT=0",
|
||||
"__DBL_MIN_EXP__=(-1021)",
|
||||
"__XCHAL_HAVE_FP=1",
|
||||
"__cpp_nontype_template_parameter_auto=201606L",
|
||||
"__UINT_LEAST16_MAX__=0xffff",
|
||||
"__ATOMIC_ACQUIRE=2",
|
||||
"__FLT_MIN__=1.1754943508222875e-38F",
|
||||
"__GCC_IEC_559_COMPLEX=0",
|
||||
"__XCHAL_HAVE_PREDICTED_BRANCHES=0",
|
||||
"__cpp_aggregate_nsdmi=201304L",
|
||||
"__UINT_LEAST8_TYPE__=unsigned char",
|
||||
"__INTMAX_C(c)=c ## LL",
|
||||
"__XCHAL_HAVE_ADDX=1",
|
||||
"__CHAR_BIT__=8",
|
||||
"__XCHAL_DCACHE_LINESIZE=16",
|
||||
"__XTENSA_MARCH_EARLIEST=260003",
|
||||
"__XCHAL_DCACHE_LINEWIDTH=4",
|
||||
"__UINT8_MAX__=0xff",
|
||||
"__WINT_MAX__=0xffffffffU",
|
||||
"__FLT32_MIN_EXP__=(-125)",
|
||||
"__cpp_static_assert=201411L",
|
||||
"__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",
|
||||
"__FLT32X_DECIMAL_DIG__=17",
|
||||
"__FLT_EVAL_METHOD__=0",
|
||||
"__cpp_binary_literals=201304L",
|
||||
"__FLT64_DECIMAL_DIG__=17",
|
||||
"__cpp_noexcept_function_type=201510L",
|
||||
"__GCC_ATOMIC_CHAR32_T_LOCK_FREE=2",
|
||||
"__cpp_variadic_templates=200704L",
|
||||
"__UINT_FAST64_MAX__=0xffffffffffffffffULL",
|
||||
"__SIG_ATOMIC_TYPE__=int",
|
||||
"__DBL_MIN_10_EXP__=(-307)",
|
||||
"__FINITE_MATH_ONLY__=0",
|
||||
"__cpp_variable_templates=201304L",
|
||||
"__XCHAL_HAVE_L32R=1",
|
||||
"__FLT32X_MAX_EXP__=1024",
|
||||
"__GNUC_PATCHLEVEL__=0",
|
||||
"__FLT32_HAS_DENORM__=1",
|
||||
"__UINT_FAST8_MAX__=0xffffffffU",
|
||||
"__cpp_rvalue_reference=200610L",
|
||||
"__XCHAL_HAVE_LOOPS=1",
|
||||
"__cpp_nested_namespace_definitions=201411L",
|
||||
"__XCHAL_DEBUGLEVEL=6",
|
||||
"__INT8_C(c)=c",
|
||||
"__XCHAL_HAVE_DFP_RECIP=0",
|
||||
"__INT_LEAST8_WIDTH__=8",
|
||||
"__cpp_variadic_using=201611L",
|
||||
"__UINT_LEAST64_MAX__=0xffffffffffffffffULL",
|
||||
"__INT_LEAST8_MAX__=0x7f",
|
||||
"__cpp_attributes=200809L",
|
||||
"__cpp_capture_star_this=201603L",
|
||||
"__SHRT_MAX__=0x7fff",
|
||||
"__LDBL_MAX__=1.7976931348623157e+308L",
|
||||
"__cpp_if_constexpr=201606L",
|
||||
"__XCHAL_ICACHE_LINESIZE=16",
|
||||
"__LDBL_IS_IEC_60559__=1",
|
||||
"__UINT_LEAST8_MAX__=0xff",
|
||||
"__GCC_ATOMIC_BOOL_LOCK_FREE=2",
|
||||
"__UINTMAX_TYPE__=long long unsigned int",
|
||||
"__cpp_nsdmi=200809L",
|
||||
"__FLT_EVAL_METHOD_TS_18661_3__=0",
|
||||
"__UINT32_MAX__=0xffffffffUL",
|
||||
"__GXX_EXPERIMENTAL_CXX0X__=1",
|
||||
"__LDBL_MAX_EXP__=1024",
|
||||
"__WINT_MIN__=0U",
|
||||
"__FLT32X_IS_IEC_60559__=1",
|
||||
"__XCHAL_HAVE_THREADPTR=1",
|
||||
"__INT_LEAST16_WIDTH__=16",
|
||||
"__SCHAR_MAX__=0x7f",
|
||||
"__WCHAR_MIN__=0",
|
||||
"__XCHAL_ICACHE_LINEWIDTH=4",
|
||||
"__INT64_C(c)=c ## LL",
|
||||
"__GCC_ATOMIC_POINTER_LOCK_FREE=2",
|
||||
"__ATOMIC_SEQ_CST=5",
|
||||
"__SIZEOF_INT__=4",
|
||||
"__FLT32X_MANT_DIG__=53",
|
||||
"__GCC_ATOMIC_CHAR16_T_LOCK_FREE=2",
|
||||
"__cpp_aligned_new=201606L",
|
||||
"__XCHAL_HAVE_FP_RECIP=1",
|
||||
"__FLT32_MAX_10_EXP__=38",
|
||||
"__STDC_HOSTED__=1",
|
||||
"__XCHAL_HAVE_MUL32=1",
|
||||
"__XTENSA_EL__=1",
|
||||
"__cpp_decltype_auto=201304L",
|
||||
"__DBL_DIG__=15",
|
||||
"__XCHAL_HAVE_MUL16=1",
|
||||
"__FLT_EPSILON__=1.1920928955078125e-7F",
|
||||
"__GXX_WEAK__=1",
|
||||
"__SHRT_WIDTH__=16",
|
||||
"__FLT32_IS_IEC_60559__=1",
|
||||
"__LDBL_MIN__=2.2250738585072014e-308L",
|
||||
"__DBL_IS_IEC_60559__=1",
|
||||
"__cpp_threadsafe_static_init=200806L",
|
||||
"__cpp_enumerator_attributes=201411L",
|
||||
"__XCHAL_HAVE_MMU=0",
|
||||
"__FLT32X_HAS_INFINITY__=1",
|
||||
"__INT32_MAX__=0x7fffffffL",
|
||||
"__XCHAL_HAVE_DIV32=1",
|
||||
"__INT_WIDTH__=32",
|
||||
"__XTENSA_MARCH_LATEST=260003",
|
||||
"__DECIMAL_DIG__=17",
|
||||
"__FLT64_EPSILON__=2.2204460492503131e-16F64",
|
||||
"__INT16_MAX__=0x7fff",
|
||||
"__FLT64_MIN_EXP__=(-1021)",
|
||||
"__XCHAL_DCACHE_SIZE=0",
|
||||
"__LDBL_HAS_QUIET_NAN__=1",
|
||||
"__cpp_return_type_deduction=201304L",
|
||||
"__XCHAL_HAVE_BOOLEANS=1",
|
||||
"__FLT64_MANT_DIG__=53",
|
||||
"__XTHAL_ABI_WINDOWED=0",
|
||||
"__GNUC__=14",
|
||||
"__GXX_RTTI=1",
|
||||
"__FLT_HAS_DENORM__=1",
|
||||
"__SIZEOF_LONG_DOUBLE__=8",
|
||||
"__XCHAL_HAVE_CONST16=0",
|
||||
"__BIGGEST_ALIGNMENT__=16",
|
||||
"__STDC_UTF_16__=1",
|
||||
"__FLT64_MAX_10_EXP__=308",
|
||||
"__cpp_delegating_constructors=200604L",
|
||||
"__DBL_MAX__=double(1.7976931348623157e+308L)",
|
||||
"__cpp_raw_strings=200710L",
|
||||
"__INT_FAST32_MAX__=0x7fffffff",
|
||||
"__DBL_HAS_INFINITY__=1",
|
||||
"__cpp_deduction_guides=201703L",
|
||||
"__HAVE_SPECULATION_SAFE_VALUE=1",
|
||||
"__cpp_fold_expressions=201603L",
|
||||
"__INTPTR_WIDTH__=32",
|
||||
"__UINT_LEAST32_MAX__=0xffffffffUL",
|
||||
"__FLT32X_HAS_DENORM__=1",
|
||||
"__INT_FAST16_TYPE__=int",
|
||||
"__XCHAL_HAVE_RELEASE_SYNC=1",
|
||||
"__LDBL_HAS_DENORM__=1",
|
||||
"__cplusplus=201703L",
|
||||
"__cpp_ref_qualifiers=200710L",
|
||||
"__INT_LEAST32_MAX__=0x7fffffffL",
|
||||
"__DEPRECATED=1",
|
||||
"__cpp_rvalue_references=200610L",
|
||||
"__DBL_MAX_EXP__=1024",
|
||||
"__WCHAR_WIDTH__=16",
|
||||
"__FLT32_MAX__=3.4028234663852886e+38F32",
|
||||
"__GCC_ATOMIC_LONG_LOCK_FREE=2",
|
||||
"__PTRDIFF_MAX__=0x7fffffff",
|
||||
"__FLT32_HAS_QUIET_NAN__=1",
|
||||
"__GNUG__=14",
|
||||
"__LONG_LONG_MAX__=0x7fffffffffffffffLL",
|
||||
"__SIZEOF_SIZE_T__=4",
|
||||
"__SIZEOF_WINT_T__=4",
|
||||
"__FLT32X_DIG__=15",
|
||||
"__LONG_LONG_WIDTH__=64",
|
||||
"__cpp_initializer_lists=200806L",
|
||||
"__FLT32_MAX_EXP__=128",
|
||||
"__XCHAL_HAVE_MINMAX=1",
|
||||
"__cpp_hex_float=201603L",
|
||||
"__XCHAL_NUM_IBREAK=2",
|
||||
"__GXX_ABI_VERSION=1019",
|
||||
"__FLT_MIN_EXP__=(-125)",
|
||||
"__cpp_lambdas=200907L",
|
||||
"__INT_FAST64_TYPE__=long long int",
|
||||
"__FP_FAST_FMAF=1",
|
||||
"__FLT64_DENORM_MIN__=4.9406564584124654e-324F64",
|
||||
"__DBL_MIN__=double(2.2250738585072014e-308L)",
|
||||
"__SIZEOF_POINTER__=4",
|
||||
"__DBL_HAS_QUIET_NAN__=1",
|
||||
"__FLT32X_EPSILON__=2.2204460492503131e-16F32x",
|
||||
"__XSHAL_HAVE_TEXT_SECTION_LITERALS=1",
|
||||
"__FLT64_MIN_10_EXP__=(-307)",
|
||||
"__REGISTER_PREFIX__",
|
||||
"__UINT16_MAX__=0xffff",
|
||||
"__XSHAL_USE_ABSOLUTE_LITERALS=0",
|
||||
"__LDBL_HAS_INFINITY__=1",
|
||||
"__FLT32_MIN__=1.1754943508222875e-38F32",
|
||||
"__UINT8_TYPE__=unsigned char",
|
||||
"__FLT_DIG__=6",
|
||||
"__NO_INLINE__=1",
|
||||
"__DEC_EVAL_METHOD__=2",
|
||||
"__FLT_MANT_DIG__=24",
|
||||
"__LDBL_DECIMAL_DIG__=17",
|
||||
"__VERSION__=\"14.2.0\"",
|
||||
"__UINT64_C(c)=c ## ULL",
|
||||
"__XCHAL_NUM_AREGS=64",
|
||||
"__cpp_unicode_characters=201411L",
|
||||
"__XCHAL_HAVE_XEA3=0",
|
||||
"__GCC_ATOMIC_INT_LOCK_FREE=2",
|
||||
"__XCHAL_HAVE_DENSITY=1",
|
||||
"__FLT32_MANT_DIG__=24",
|
||||
"__FLOAT_WORD_ORDER__=__ORDER_LITTLE_ENDIAN__",
|
||||
"__XCHAL_HAVE_CLAMPS=0",
|
||||
"__XCHAL_HAVE_DFP_RSQRT=0",
|
||||
"__cpp_aggregate_bases=201603L",
|
||||
"__XCHAL_HAVE_NSA=1",
|
||||
"__XCHAL_HAVE_WINDOWED=1",
|
||||
"__SCHAR_WIDTH__=8",
|
||||
"__INT32_C(c)=c ## L",
|
||||
"__ORDER_PDP_ENDIAN__=3412",
|
||||
"__INT_FAST32_TYPE__=int",
|
||||
"__UINT_LEAST16_TYPE__=short unsigned int",
|
||||
"__DBL_HAS_DENORM__=1",
|
||||
"__XCHAL_HAVE_DEBUG=1",
|
||||
"__cpp_rtti=199711L",
|
||||
"__SIZE_TYPE__=unsigned int",
|
||||
"__UINT64_MAX__=0xffffffffffffffffULL",
|
||||
"__FLT_IS_IEC_60559__=1",
|
||||
"__GNUC_WIDE_EXECUTION_CHARSET_NAME=\"UTF-16LE\"",
|
||||
"__INT8_TYPE__=signed char",
|
||||
"__cpp_digit_separators=201309L",
|
||||
"__ELF__=1",
|
||||
"__XSHAL_ABI=0",
|
||||
"__xtensa__=1",
|
||||
"__FLT_RADIX__=2",
|
||||
"__INT_LEAST16_TYPE__=short int",
|
||||
"__LDBL_EPSILON__=2.2204460492503131e-16L",
|
||||
"__UINTMAX_C(c)=c ## ULL",
|
||||
"__FLT32X_MIN__=2.2250738585072014e-308F32x",
|
||||
"__XCHAL_HAVE_DFP_SQRT=0",
|
||||
"__SIG_ATOMIC_MAX__=0x7fffffff",
|
||||
"__XCHAL_HAVE_MAC16=1",
|
||||
"__GCC_ATOMIC_WCHAR_T_LOCK_FREE=2",
|
||||
"__USER_LABEL_PREFIX__",
|
||||
"__SIZEOF_PTRDIFF_T__=4",
|
||||
"__XCHAL_MMU_MIN_PTE_PAGE_SIZE=1",
|
||||
"__XCHAL_DCACHE_IS_WRITEBACK=0",
|
||||
"__SIZEOF_LONG__=4",
|
||||
"__LDBL_DIG__=15",
|
||||
"__FLT64_IS_IEC_60559__=1",
|
||||
"__XCHAL_MAX_INSTRUCTION_SIZE=3",
|
||||
"__FLT32X_MIN_EXP__=(-1021)",
|
||||
"__INT_FAST16_MAX__=0x7fffffff",
|
||||
"__GCC_CONSTRUCTIVE_SIZE=32",
|
||||
"__FLT64_DIG__=15",
|
||||
"__UINT_FAST32_MAX__=0xffffffffU",
|
||||
"__UINT_LEAST64_TYPE__=long long unsigned int",
|
||||
"__FLT_HAS_QUIET_NAN__=1",
|
||||
"__FLT_MAX_10_EXP__=38",
|
||||
"__FLT_HAS_INFINITY__=1",
|
||||
"__GNUC_EXECUTION_CHARSET_NAME=\"UTF-8\"",
|
||||
"__CHAR_UNSIGNED__=1",
|
||||
"__cpp_unicode_literals=200710L",
|
||||
"__UINT_FAST16_TYPE__=unsigned int",
|
||||
"__INT_FAST32_WIDTH__=32",
|
||||
"__CHAR16_TYPE__=short unsigned int",
|
||||
"__PRAGMA_REDEFINE_EXTNAME=1",
|
||||
"__SIZE_WIDTH__=32",
|
||||
"__INT_LEAST16_MAX__=0x7fff",
|
||||
"__INT64_MAX__=0x7fffffffffffffffLL",
|
||||
"__FLT32_DENORM_MIN__=1.4012984643248171e-45F32",
|
||||
"__SIG_ATOMIC_WIDTH__=32",
|
||||
"__INT_LEAST64_TYPE__=long long int",
|
||||
"__INT16_TYPE__=short int",
|
||||
"__INT_LEAST8_TYPE__=signed char",
|
||||
"__cpp_structured_bindings=201606L",
|
||||
"__INT_FAST8_MAX__=0x7fffffff",
|
||||
"__INTPTR_MAX__=0x7fffffff",
|
||||
"__cpp_sized_deallocation=201309L",
|
||||
"__cpp_guaranteed_copy_elision=201606L",
|
||||
"__FLT64_HAS_QUIET_NAN__=1",
|
||||
"__FLT32_MIN_10_EXP__=(-37)",
|
||||
"__EXCEPTIONS=1",
|
||||
"__UINT16_C(c)=c",
|
||||
"__XCHAL_M_STAGE=3",
|
||||
"__PTRDIFF_WIDTH__=32",
|
||||
"__LDBL_MANT_DIG__=53",
|
||||
"__cpp_range_based_for=201603L",
|
||||
"__FLT64_HAS_INFINITY__=1",
|
||||
"__STDCPP_DEFAULT_NEW_ALIGNMENT__=8",
|
||||
"__SIG_ATOMIC_MIN__=(-__SIG_ATOMIC_MAX__ - 1)",
|
||||
"__XCHAL_ICACHE_SIZE=0",
|
||||
"__cpp_nontype_template_args=201411L",
|
||||
"__INTPTR_TYPE__=int",
|
||||
"__UINT16_TYPE__=short unsigned int",
|
||||
"__WCHAR_TYPE__=short unsigned int",
|
||||
"__XCHAL_HAVE_DEPBITS=0",
|
||||
"__SIZEOF_FLOAT__=4",
|
||||
"__UINTPTR_MAX__=0xffffffffU",
|
||||
"__INT_FAST64_WIDTH__=64",
|
||||
"__cpp_decltype=200707L",
|
||||
"__FLT32_DECIMAL_DIG__=9",
|
||||
"__INT_FAST64_MAX__=0x7fffffffffffffffLL",
|
||||
"__GCC_ATOMIC_TEST_AND_SET_TRUEVAL=1",
|
||||
"__FLT_NORM_MAX__=3.4028234663852886e+38F",
|
||||
"__XCHAL_HAVE_DFP=0",
|
||||
"__FLT32_HAS_INFINITY__=1",
|
||||
"__UINT_FAST64_TYPE__=long long unsigned int",
|
||||
"__cpp_inline_variables=201606L",
|
||||
"__INT_MAX__=0x7fffffff",
|
||||
"__XCHAL_HAVE_EXCLUSIVE=0",
|
||||
"__STDCPP_THREADS__=1",
|
||||
"__INT64_TYPE__=long long int",
|
||||
"__XCHAL_HAVE_DFP_DIV=0",
|
||||
"__FLT_MAX_EXP__=128",
|
||||
"__XCHAL_INST_FETCH_WIDTH=4",
|
||||
"__DBL_MANT_DIG__=53",
|
||||
"__cpp_inheriting_constructors=201511L",
|
||||
"__INT_LEAST64_MAX__=0x7fffffffffffffffLL",
|
||||
"__FP_FAST_FMAF32=1",
|
||||
"__WINT_TYPE__=unsigned int",
|
||||
"__UINT_LEAST32_TYPE__=long unsigned int",
|
||||
"__SIZEOF_SHORT__=2",
|
||||
"__FLT32_NORM_MAX__=3.4028234663852886e+38F32",
|
||||
"__LDBL_MIN_EXP__=(-1021)",
|
||||
"__XCHAL_HAVE_S32C1I=1",
|
||||
"__FLT64_MAX__=1.7976931348623157e+308F64",
|
||||
"__WINT_WIDTH__=32",
|
||||
"__cpp_template_auto=201606L",
|
||||
"__INT_LEAST64_WIDTH__=64",
|
||||
"__FLT32X_MAX_10_EXP__=308",
|
||||
"__cpp_namespace_attributes=201411L",
|
||||
"__WCHAR_UNSIGNED__=1",
|
||||
"__LDBL_MAX_10_EXP__=308",
|
||||
"__ATOMIC_RELAXED=0",
|
||||
"__DBL_EPSILON__=double(2.2204460492503131e-16L)",
|
||||
"__XCHAL_HAVE_SEXT=1",
|
||||
"__INT_LEAST32_TYPE__=long int",
|
||||
"__XTENSA_WINDOWED_ABI__=1",
|
||||
"__UINT8_C(c)=c",
|
||||
"__FLT64_MAX_EXP__=1024",
|
||||
"__SIZEOF_WCHAR_T__=2",
|
||||
"__XCHAL_HAVE_FP_POSTINC=1",
|
||||
"__FLT64_NORM_MAX__=1.7976931348623157e+308F64",
|
||||
"__INTMAX_MAX__=0x7fffffffffffffffLL",
|
||||
"__INT_FAST8_TYPE__=int",
|
||||
"__XCHAL_HAVE_MUL32_HIGH=1",
|
||||
"__GNUC_STDC_INLINE__=1",
|
||||
"__FLT64_HAS_DENORM__=1",
|
||||
"__FLT32_EPSILON__=1.1920928955078125e-7F32",
|
||||
"__DBL_DECIMAL_DIG__=17",
|
||||
"__STDC_UTF_32__=1",
|
||||
"__XCHAL_HAVE_FP_DIV=1",
|
||||
"__INT_FAST8_WIDTH__=32",
|
||||
"__FLT32X_MAX__=1.7976931348623157e+308F32x",
|
||||
"__DBL_NORM_MAX__=double(1.7976931348623157e+308L)",
|
||||
"__BYTE_ORDER__=__ORDER_LITTLE_ENDIAN__",
|
||||
"__GCC_DESTRUCTIVE_SIZE=32",
|
||||
"__XTENSA__=1",
|
||||
"__INTMAX_WIDTH__=64",
|
||||
"__ORDER_BIG_ENDIAN__=4321",
|
||||
"__XTHAL_ABI_CALL0=1",
|
||||
"__cpp_runtime_arrays=198712L",
|
||||
"__FLT32_DIG__=6",
|
||||
"__UINT64_TYPE__=long long unsigned int",
|
||||
"__UINT32_C(c)=c ## UL",
|
||||
"__cpp_alias_templates=200704L",
|
||||
"__FLT_DENORM_MIN__=1.4012984643248171e-45F",
|
||||
"__INT8_MAX__=0x7f",
|
||||
"__LONG_WIDTH__=32",
|
||||
"__UINT_FAST32_TYPE__=unsigned int",
|
||||
"__FLT32X_NORM_MAX__=1.7976931348623157e+308F32x",
|
||||
"__CHAR32_TYPE__=long unsigned int",
|
||||
"__FLT_MAX__=3.4028234663852886e+38F",
|
||||
"__cpp_constexpr=201603L",
|
||||
"__XCHAL_HAVE_FP_RSQRT=1",
|
||||
"__INT32_TYPE__=long int",
|
||||
"__SIZEOF_DOUBLE__=8",
|
||||
"__cpp_exceptions=199711L",
|
||||
"__FLT_MIN_10_EXP__=(-37)",
|
||||
"__FLT64_MIN__=2.2250738585072014e-308F64",
|
||||
"__INT_LEAST32_WIDTH__=32",
|
||||
"__INTMAX_TYPE__=long long int",
|
||||
"__XCHAL_HAVE_ABS=1",
|
||||
"__FLT32X_HAS_QUIET_NAN__=1",
|
||||
"__ATOMIC_CONSUME=1",
|
||||
"__XCHAL_NUM_DBREAK=2",
|
||||
"__XCHAL_HAVE_WIDE_BRANCHES=0",
|
||||
"__GNUC_MINOR__=2",
|
||||
"__INT_FAST16_WIDTH__=32",
|
||||
"__UINTMAX_MAX__=0xffffffffffffffffULL",
|
||||
"__FLT32X_DENORM_MIN__=4.9406564584124654e-324F32x",
|
||||
"__cpp_template_template_args=201611L",
|
||||
"__DBL_MAX_10_EXP__=308",
|
||||
"__LDBL_DENORM_MIN__=4.9406564584124654e-324L",
|
||||
"__INT16_C(c)=c",
|
||||
"__STDC__=1",
|
||||
"__PTRDIFF_TYPE__=int",
|
||||
"__LONG_MAX__=0x7fffffffL",
|
||||
"__XCHAL_HAVE_FP_SQRT=1",
|
||||
"__UINT32_TYPE__=long unsigned int",
|
||||
"__FLT32X_MIN_10_EXP__=(-307)",
|
||||
"__UINTPTR_TYPE__=unsigned int",
|
||||
"__LDBL_MIN_10_EXP__=(-307)",
|
||||
"__cpp_generic_lambdas=201304L",
|
||||
"__SIZEOF_LONG_LONG__=8",
|
||||
"__cpp_USER_defined_literals=200809L",
|
||||
"__GCC_ATOMIC_LLONG_LOCK_FREE=1",
|
||||
"__FLT_DECIMAL_DIG__=9",
|
||||
"__UINT_FAST16_MAX__=0xffffffffU",
|
||||
"__LDBL_NORM_MAX__=1.7976931348623157e+308L",
|
||||
"__GCC_ATOMIC_SHORT_LOCK_FREE=2",
|
||||
"__XCHAL_HAVE_BE=0",
|
||||
"__UINT_FAST8_TYPE__=unsigned int",
|
||||
"__cpp_init_captures=201304L",
|
||||
"__ATOMIC_ACQ_REL=4",
|
||||
"__ATOMIC_RELEASE=3",
|
||||
"RMT_CLK_SRC_DEFAULT = SOC_MOD_CLK_APB",
|
||||
"USBCON"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Arduino",
|
||||
"compilerPath": "/home/derdoktor667/.arduino15/packages/esp32/tools/esp-x32/2411/bin/xtensa-esp32-elf-g++",
|
||||
"compilerArgs": [
|
||||
"-MMD",
|
||||
"-w",
|
||||
"-Werror=return-type",
|
||||
"-iprefix"
|
||||
],
|
||||
"intelliSenseMode": "gcc-x64",
|
||||
"includePath": [
|
||||
"/home/derdoktor667/Github/DShotRMT/examples/dshot300",
|
||||
"/home/derdoktor667/.arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.5-b66b5448-v1/esp32/qio_qspi/include",
|
||||
"/home/derdoktor667/.arduino15/packages/esp32/hardware/esp32/3.3.0/cores/esp32",
|
||||
"/home/derdoktor667/.arduino15/packages/esp32/hardware/esp32/3.3.0/variants/esp32",
|
||||
"/home/derdoktor667/Arduino/libraries/DShotRMT/src",
|
||||
"/home/derdoktor667/.arduino15/packages/esp32/tools/esp-x32/2411/xtensa-esp-elf/include/c++/14.2.0",
|
||||
"/home/derdoktor667/.arduino15/packages/esp32/tools/esp-x32/2411/xtensa-esp-elf/include/c++/14.2.0/xtensa-esp-elf/esp32",
|
||||
"/home/derdoktor667/.arduino15/packages/esp32/tools/esp-x32/2411/xtensa-esp-elf/include/c++/14.2.0/backward",
|
||||
"/home/derdoktor667/.arduino15/packages/esp32/tools/esp-x32/2411/lib/gcc/xtensa-esp-elf/14.2.0/include",
|
||||
"/home/derdoktor667/.arduino15/packages/esp32/tools/esp-x32/2411/lib/gcc/xtensa-esp-elf/14.2.0/include-fixed",
|
||||
"/home/derdoktor667/.arduino15/packages/esp32/tools/esp-x32/2411/xtensa-esp-elf/include"
|
||||
],
|
||||
"forcedInclude": [
|
||||
"/home/derdoktor667/.arduino15/packages/esp32/hardware/esp32/3.3.0/cores/esp32/Arduino.h"
|
||||
],
|
||||
"cStandard": "c11",
|
||||
"cppStandard": "c++11",
|
||||
"defines": [
|
||||
"F_CPU=240000000L",
|
||||
"ARDUINO=10607",
|
||||
"ARDUINO_ESP32_DEV",
|
||||
"ARDUINO_ARCH_ESP32",
|
||||
"ARDUINO_BOARD=\"ESP32_DEV\"",
|
||||
"ARDUINO_VARIANT=\"esp32\"",
|
||||
"ARDUINO_PARTITION_default",
|
||||
"ARDUINO_HOST_OS=\"linux\"",
|
||||
"ARDUINO_FQBN=\"esp32:esp32:esp32:JTAGAdapter=default,PSRAM=disabled,PartitionScheme=default,CPUFreq=240,FlashMode=qio,FlashFreq=80,FlashSize=4M,UploadSpeed=921600,LoopCore=1,EventsCore=1,DebugLevel=none,EraseFlash=all,ZigbeeMode=default\"",
|
||||
"ESP32=ESP32",
|
||||
"CORE_DEBUG_LEVEL=0",
|
||||
"ARDUINO_RUNNING_CORE=1",
|
||||
"ARDUINO_EVENT_RUNNING_CORE=1",
|
||||
"ARDUINO_USB_CDC_ON_BOOT=0",
|
||||
"__DBL_MIN_EXP__=(-1021)",
|
||||
"__XCHAL_HAVE_FP=1",
|
||||
"__cpp_nontype_template_parameter_auto=201606L",
|
||||
"__UINT_LEAST16_MAX__=0xffff",
|
||||
"__ATOMIC_ACQUIRE=2",
|
||||
"__FLT_MIN__=1.1754943508222875e-38F",
|
||||
"__GCC_IEC_559_COMPLEX=0",
|
||||
"__XCHAL_HAVE_PREDICTED_BRANCHES=0",
|
||||
"__cpp_aggregate_nsdmi=201304L",
|
||||
"__UINT_LEAST8_TYPE__=unsigned char",
|
||||
"__INTMAX_C(c)=c ## LL",
|
||||
"__XCHAL_HAVE_ADDX=1",
|
||||
"__CHAR_BIT__=8",
|
||||
"__XCHAL_DCACHE_LINESIZE=16",
|
||||
"__XTENSA_MARCH_EARLIEST=260003",
|
||||
"__XCHAL_DCACHE_LINEWIDTH=4",
|
||||
"__UINT8_MAX__=0xff",
|
||||
"__WINT_MAX__=0xffffffffU",
|
||||
"__FLT32_MIN_EXP__=(-125)",
|
||||
"__cpp_static_assert=201411L",
|
||||
"__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",
|
||||
"__FLT32X_DECIMAL_DIG__=17",
|
||||
"__FLT_EVAL_METHOD__=0",
|
||||
"__cpp_binary_literals=201304L",
|
||||
"__FLT64_DECIMAL_DIG__=17",
|
||||
"__cpp_noexcept_function_type=201510L",
|
||||
"__GCC_ATOMIC_CHAR32_T_LOCK_FREE=2",
|
||||
"__cpp_variadic_templates=200704L",
|
||||
"__UINT_FAST64_MAX__=0xffffffffffffffffULL",
|
||||
"__SIG_ATOMIC_TYPE__=int",
|
||||
"__DBL_MIN_10_EXP__=(-307)",
|
||||
"__FINITE_MATH_ONLY__=0",
|
||||
"__cpp_variable_templates=201304L",
|
||||
"__XCHAL_HAVE_L32R=1",
|
||||
"__FLT32X_MAX_EXP__=1024",
|
||||
"__GNUC_PATCHLEVEL__=0",
|
||||
"__FLT32_HAS_DENORM__=1",
|
||||
"__UINT_FAST8_MAX__=0xffffffffU",
|
||||
"__cpp_rvalue_reference=200610L",
|
||||
"__XCHAL_HAVE_LOOPS=1",
|
||||
"__cpp_nested_namespace_definitions=201411L",
|
||||
"__XCHAL_DEBUGLEVEL=6",
|
||||
"__INT8_C(c)=c",
|
||||
"__XCHAL_HAVE_DFP_RECIP=0",
|
||||
"__INT_LEAST8_WIDTH__=8",
|
||||
"__cpp_variadic_using=201611L",
|
||||
"__UINT_LEAST64_MAX__=0xffffffffffffffffULL",
|
||||
"__INT_LEAST8_MAX__=0x7f",
|
||||
"__cpp_attributes=200809L",
|
||||
"__cpp_capture_star_this=201603L",
|
||||
"__SHRT_MAX__=0x7fff",
|
||||
"__LDBL_MAX__=1.7976931348623157e+308L",
|
||||
"__cpp_if_constexpr=201606L",
|
||||
"__XCHAL_ICACHE_LINESIZE=16",
|
||||
"__LDBL_IS_IEC_60559__=1",
|
||||
"__UINT_LEAST8_MAX__=0xff",
|
||||
"__GCC_ATOMIC_BOOL_LOCK_FREE=2",
|
||||
"__UINTMAX_TYPE__=long long unsigned int",
|
||||
"__cpp_nsdmi=200809L",
|
||||
"__FLT_EVAL_METHOD_TS_18661_3__=0",
|
||||
"__UINT32_MAX__=0xffffffffUL",
|
||||
"__GXX_EXPERIMENTAL_CXX0X__=1",
|
||||
"__LDBL_MAX_EXP__=1024",
|
||||
"__WINT_MIN__=0U",
|
||||
"__FLT32X_IS_IEC_60559__=1",
|
||||
"__XCHAL_HAVE_THREADPTR=1",
|
||||
"__INT_LEAST16_WIDTH__=16",
|
||||
"__SCHAR_MAX__=0x7f",
|
||||
"__WCHAR_MIN__=0",
|
||||
"__XCHAL_ICACHE_LINEWIDTH=4",
|
||||
"__INT64_C(c)=c ## LL",
|
||||
"__GCC_ATOMIC_POINTER_LOCK_FREE=2",
|
||||
"__ATOMIC_SEQ_CST=5",
|
||||
"__SIZEOF_INT__=4",
|
||||
"__FLT32X_MANT_DIG__=53",
|
||||
"__GCC_ATOMIC_CHAR16_T_LOCK_FREE=2",
|
||||
"__cpp_aligned_new=201606L",
|
||||
"__XCHAL_HAVE_FP_RECIP=1",
|
||||
"__FLT32_MAX_10_EXP__=38",
|
||||
"__STDC_HOSTED__=1",
|
||||
"__XCHAL_HAVE_MUL32=1",
|
||||
"__XTENSA_EL__=1",
|
||||
"__cpp_decltype_auto=201304L",
|
||||
"__DBL_DIG__=15",
|
||||
"__XCHAL_HAVE_MUL16=1",
|
||||
"__FLT_EPSILON__=1.1920928955078125e-7F",
|
||||
"__GXX_WEAK__=1",
|
||||
"__SHRT_WIDTH__=16",
|
||||
"__FLT32_IS_IEC_60559__=1",
|
||||
"__LDBL_MIN__=2.2250738585072014e-308L",
|
||||
"__DBL_IS_IEC_60559__=1",
|
||||
"__cpp_threadsafe_static_init=200806L",
|
||||
"__cpp_enumerator_attributes=201411L",
|
||||
"__XCHAL_HAVE_MMU=0",
|
||||
"__FLT32X_HAS_INFINITY__=1",
|
||||
"__INT32_MAX__=0x7fffffffL",
|
||||
"__XCHAL_HAVE_DIV32=1",
|
||||
"__INT_WIDTH__=32",
|
||||
"__XTENSA_MARCH_LATEST=260003",
|
||||
"__DECIMAL_DIG__=17",
|
||||
"__FLT64_EPSILON__=2.2204460492503131e-16F64",
|
||||
"__INT16_MAX__=0x7fff",
|
||||
"__FLT64_MIN_EXP__=(-1021)",
|
||||
"__XCHAL_DCACHE_SIZE=0",
|
||||
"__LDBL_HAS_QUIET_NAN__=1",
|
||||
"__cpp_return_type_deduction=201304L",
|
||||
"__XCHAL_HAVE_BOOLEANS=1",
|
||||
"__FLT64_MANT_DIG__=53",
|
||||
"__XTHAL_ABI_WINDOWED=0",
|
||||
"__GNUC__=14",
|
||||
"__GXX_RTTI=1",
|
||||
"__FLT_HAS_DENORM__=1",
|
||||
"__SIZEOF_LONG_DOUBLE__=8",
|
||||
"__XCHAL_HAVE_CONST16=0",
|
||||
"__BIGGEST_ALIGNMENT__=16",
|
||||
"__STDC_UTF_16__=1",
|
||||
"__FLT64_MAX_10_EXP__=308",
|
||||
"__cpp_delegating_constructors=200604L",
|
||||
"__DBL_MAX__=double(1.7976931348623157e+308L)",
|
||||
"__cpp_raw_strings=200710L",
|
||||
"__INT_FAST32_MAX__=0x7fffffff",
|
||||
"__DBL_HAS_INFINITY__=1",
|
||||
"__cpp_deduction_guides=201703L",
|
||||
"__HAVE_SPECULATION_SAFE_VALUE=1",
|
||||
"__cpp_fold_expressions=201603L",
|
||||
"__INTPTR_WIDTH__=32",
|
||||
"__UINT_LEAST32_MAX__=0xffffffffUL",
|
||||
"__FLT32X_HAS_DENORM__=1",
|
||||
"__INT_FAST16_TYPE__=int",
|
||||
"__XCHAL_HAVE_RELEASE_SYNC=1",
|
||||
"__LDBL_HAS_DENORM__=1",
|
||||
"__cplusplus=201703L",
|
||||
"__cpp_ref_qualifiers=200710L",
|
||||
"__INT_LEAST32_MAX__=0x7fffffffL",
|
||||
"__DEPRECATED=1",
|
||||
"__cpp_rvalue_references=200610L",
|
||||
"__DBL_MAX_EXP__=1024",
|
||||
"__WCHAR_WIDTH__=16",
|
||||
"__FLT32_MAX__=3.4028234663852886e+38F32",
|
||||
"__GCC_ATOMIC_LONG_LOCK_FREE=2",
|
||||
"__PTRDIFF_MAX__=0x7fffffff",
|
||||
"__FLT32_HAS_QUIET_NAN__=1",
|
||||
"__GNUG__=14",
|
||||
"__LONG_LONG_MAX__=0x7fffffffffffffffLL",
|
||||
"__SIZEOF_SIZE_T__=4",
|
||||
"__SIZEOF_WINT_T__=4",
|
||||
"__FLT32X_DIG__=15",
|
||||
"__LONG_LONG_WIDTH__=64",
|
||||
"__cpp_initializer_lists=200806L",
|
||||
"__FLT32_MAX_EXP__=128",
|
||||
"__XCHAL_HAVE_MINMAX=1",
|
||||
"__cpp_hex_float=201603L",
|
||||
"__XCHAL_NUM_IBREAK=2",
|
||||
"__GXX_ABI_VERSION=1019",
|
||||
"__FLT_MIN_EXP__=(-125)",
|
||||
"__cpp_lambdas=200907L",
|
||||
"__INT_FAST64_TYPE__=long long int",
|
||||
"__FP_FAST_FMAF=1",
|
||||
"__FLT64_DENORM_MIN__=4.9406564584124654e-324F64",
|
||||
"__DBL_MIN__=double(2.2250738585072014e-308L)",
|
||||
"__SIZEOF_POINTER__=4",
|
||||
"__DBL_HAS_QUIET_NAN__=1",
|
||||
"__FLT32X_EPSILON__=2.2204460492503131e-16F32x",
|
||||
"__XSHAL_HAVE_TEXT_SECTION_LITERALS=1",
|
||||
"__FLT64_MIN_10_EXP__=(-307)",
|
||||
"__REGISTER_PREFIX__",
|
||||
"__UINT16_MAX__=0xffff",
|
||||
"__XSHAL_USE_ABSOLUTE_LITERALS=0",
|
||||
"__LDBL_HAS_INFINITY__=1",
|
||||
"__FLT32_MIN__=1.1754943508222875e-38F32",
|
||||
"__UINT8_TYPE__=unsigned char",
|
||||
"__FLT_DIG__=6",
|
||||
"__NO_INLINE__=1",
|
||||
"__DEC_EVAL_METHOD__=2",
|
||||
"__FLT_MANT_DIG__=24",
|
||||
"__LDBL_DECIMAL_DIG__=17",
|
||||
"__VERSION__=\"14.2.0\"",
|
||||
"__UINT64_C(c)=c ## ULL",
|
||||
"__XCHAL_NUM_AREGS=64",
|
||||
"__cpp_unicode_characters=201411L",
|
||||
"__XCHAL_HAVE_XEA3=0",
|
||||
"__GCC_ATOMIC_INT_LOCK_FREE=2",
|
||||
"__XCHAL_HAVE_DENSITY=1",
|
||||
"__FLT32_MANT_DIG__=24",
|
||||
"__FLOAT_WORD_ORDER__=__ORDER_LITTLE_ENDIAN__",
|
||||
"__XCHAL_HAVE_CLAMPS=0",
|
||||
"__XCHAL_HAVE_DFP_RSQRT=0",
|
||||
"__cpp_aggregate_bases=201603L",
|
||||
"__XCHAL_HAVE_NSA=1",
|
||||
"__XCHAL_HAVE_WINDOWED=1",
|
||||
"__SCHAR_WIDTH__=8",
|
||||
"__INT32_C(c)=c ## L",
|
||||
"__ORDER_PDP_ENDIAN__=3412",
|
||||
"__INT_FAST32_TYPE__=int",
|
||||
"__UINT_LEAST16_TYPE__=short unsigned int",
|
||||
"__DBL_HAS_DENORM__=1",
|
||||
"__XCHAL_HAVE_DEBUG=1",
|
||||
"__cpp_rtti=199711L",
|
||||
"__SIZE_TYPE__=unsigned int",
|
||||
"__UINT64_MAX__=0xffffffffffffffffULL",
|
||||
"__FLT_IS_IEC_60559__=1",
|
||||
"__GNUC_WIDE_EXECUTION_CHARSET_NAME=\"UTF-16LE\"",
|
||||
"__INT8_TYPE__=signed char",
|
||||
"__cpp_digit_separators=201309L",
|
||||
"__ELF__=1",
|
||||
"__XSHAL_ABI=0",
|
||||
"__xtensa__=1",
|
||||
"__FLT_RADIX__=2",
|
||||
"__INT_LEAST16_TYPE__=short int",
|
||||
"__LDBL_EPSILON__=2.2204460492503131e-16L",
|
||||
"__UINTMAX_C(c)=c ## ULL",
|
||||
"__FLT32X_MIN__=2.2250738585072014e-308F32x",
|
||||
"__XCHAL_HAVE_DFP_SQRT=0",
|
||||
"__SIG_ATOMIC_MAX__=0x7fffffff",
|
||||
"__XCHAL_HAVE_MAC16=1",
|
||||
"__GCC_ATOMIC_WCHAR_T_LOCK_FREE=2",
|
||||
"__USER_LABEL_PREFIX__",
|
||||
"__SIZEOF_PTRDIFF_T__=4",
|
||||
"__XCHAL_MMU_MIN_PTE_PAGE_SIZE=1",
|
||||
"__XCHAL_DCACHE_IS_WRITEBACK=0",
|
||||
"__SIZEOF_LONG__=4",
|
||||
"__LDBL_DIG__=15",
|
||||
"__FLT64_IS_IEC_60559__=1",
|
||||
"__XCHAL_MAX_INSTRUCTION_SIZE=3",
|
||||
"__FLT32X_MIN_EXP__=(-1021)",
|
||||
"__INT_FAST16_MAX__=0x7fffffff",
|
||||
"__GCC_CONSTRUCTIVE_SIZE=32",
|
||||
"__FLT64_DIG__=15",
|
||||
"__UINT_FAST32_MAX__=0xffffffffU",
|
||||
"__UINT_LEAST64_TYPE__=long long unsigned int",
|
||||
"__FLT_HAS_QUIET_NAN__=1",
|
||||
"__FLT_MAX_10_EXP__=38",
|
||||
"__FLT_HAS_INFINITY__=1",
|
||||
"__GNUC_EXECUTION_CHARSET_NAME=\"UTF-8\"",
|
||||
"__CHAR_UNSIGNED__=1",
|
||||
"__cpp_unicode_literals=200710L",
|
||||
"__UINT_FAST16_TYPE__=unsigned int",
|
||||
"__INT_FAST32_WIDTH__=32",
|
||||
"__CHAR16_TYPE__=short unsigned int",
|
||||
"__PRAGMA_REDEFINE_EXTNAME=1",
|
||||
"__SIZE_WIDTH__=32",
|
||||
"__INT_LEAST16_MAX__=0x7fff",
|
||||
"__INT64_MAX__=0x7fffffffffffffffLL",
|
||||
"__FLT32_DENORM_MIN__=1.4012984643248171e-45F32",
|
||||
"__SIG_ATOMIC_WIDTH__=32",
|
||||
"__INT_LEAST64_TYPE__=long long int",
|
||||
"__INT16_TYPE__=short int",
|
||||
"__INT_LEAST8_TYPE__=signed char",
|
||||
"__cpp_structured_bindings=201606L",
|
||||
"__INT_FAST8_MAX__=0x7fffffff",
|
||||
"__INTPTR_MAX__=0x7fffffff",
|
||||
"__cpp_sized_deallocation=201309L",
|
||||
"__cpp_guaranteed_copy_elision=201606L",
|
||||
"__FLT64_HAS_QUIET_NAN__=1",
|
||||
"__FLT32_MIN_10_EXP__=(-37)",
|
||||
"__EXCEPTIONS=1",
|
||||
"__UINT16_C(c)=c",
|
||||
"__XCHAL_M_STAGE=3",
|
||||
"__PTRDIFF_WIDTH__=32",
|
||||
"__LDBL_MANT_DIG__=53",
|
||||
"__cpp_range_based_for=201603L",
|
||||
"__FLT64_HAS_INFINITY__=1",
|
||||
"__STDCPP_DEFAULT_NEW_ALIGNMENT__=8",
|
||||
"__SIG_ATOMIC_MIN__=(-__SIG_ATOMIC_MAX__ - 1)",
|
||||
"__XCHAL_ICACHE_SIZE=0",
|
||||
"__cpp_nontype_template_args=201411L",
|
||||
"__INTPTR_TYPE__=int",
|
||||
"__UINT16_TYPE__=short unsigned int",
|
||||
"__WCHAR_TYPE__=short unsigned int",
|
||||
"__XCHAL_HAVE_DEPBITS=0",
|
||||
"__SIZEOF_FLOAT__=4",
|
||||
"__UINTPTR_MAX__=0xffffffffU",
|
||||
"__INT_FAST64_WIDTH__=64",
|
||||
"__cpp_decltype=200707L",
|
||||
"__FLT32_DECIMAL_DIG__=9",
|
||||
"__INT_FAST64_MAX__=0x7fffffffffffffffLL",
|
||||
"__GCC_ATOMIC_TEST_AND_SET_TRUEVAL=1",
|
||||
"__FLT_NORM_MAX__=3.4028234663852886e+38F",
|
||||
"__XCHAL_HAVE_DFP=0",
|
||||
"__FLT32_HAS_INFINITY__=1",
|
||||
"__UINT_FAST64_TYPE__=long long unsigned int",
|
||||
"__cpp_inline_variables=201606L",
|
||||
"__INT_MAX__=0x7fffffff",
|
||||
"__XCHAL_HAVE_EXCLUSIVE=0",
|
||||
"__STDCPP_THREADS__=1",
|
||||
"__INT64_TYPE__=long long int",
|
||||
"__XCHAL_HAVE_DFP_DIV=0",
|
||||
"__FLT_MAX_EXP__=128",
|
||||
"__XCHAL_INST_FETCH_WIDTH=4",
|
||||
"__DBL_MANT_DIG__=53",
|
||||
"__cpp_inheriting_constructors=201511L",
|
||||
"__INT_LEAST64_MAX__=0x7fffffffffffffffLL",
|
||||
"__FP_FAST_FMAF32=1",
|
||||
"__WINT_TYPE__=unsigned int",
|
||||
"__UINT_LEAST32_TYPE__=long unsigned int",
|
||||
"__SIZEOF_SHORT__=2",
|
||||
"__FLT32_NORM_MAX__=3.4028234663852886e+38F32",
|
||||
"__LDBL_MIN_EXP__=(-1021)",
|
||||
"__XCHAL_HAVE_S32C1I=1",
|
||||
"__FLT64_MAX__=1.7976931348623157e+308F64",
|
||||
"__WINT_WIDTH__=32",
|
||||
"__cpp_template_auto=201606L",
|
||||
"__INT_LEAST64_WIDTH__=64",
|
||||
"__FLT32X_MAX_10_EXP__=308",
|
||||
"__cpp_namespace_attributes=201411L",
|
||||
"__WCHAR_UNSIGNED__=1",
|
||||
"__LDBL_MAX_10_EXP__=308",
|
||||
"__ATOMIC_RELAXED=0",
|
||||
"__DBL_EPSILON__=double(2.2204460492503131e-16L)",
|
||||
"__XCHAL_HAVE_SEXT=1",
|
||||
"__INT_LEAST32_TYPE__=long int",
|
||||
"__XTENSA_WINDOWED_ABI__=1",
|
||||
"__UINT8_C(c)=c",
|
||||
"__FLT64_MAX_EXP__=1024",
|
||||
"__SIZEOF_WCHAR_T__=2",
|
||||
"__XCHAL_HAVE_FP_POSTINC=1",
|
||||
"__FLT64_NORM_MAX__=1.7976931348623157e+308F64",
|
||||
"__INTMAX_MAX__=0x7fffffffffffffffLL",
|
||||
"__INT_FAST8_TYPE__=int",
|
||||
"__XCHAL_HAVE_MUL32_HIGH=1",
|
||||
"__GNUC_STDC_INLINE__=1",
|
||||
"__FLT64_HAS_DENORM__=1",
|
||||
"__FLT32_EPSILON__=1.1920928955078125e-7F32",
|
||||
"__DBL_DECIMAL_DIG__=17",
|
||||
"__STDC_UTF_32__=1",
|
||||
"__XCHAL_HAVE_FP_DIV=1",
|
||||
"__INT_FAST8_WIDTH__=32",
|
||||
"__FLT32X_MAX__=1.7976931348623157e+308F32x",
|
||||
"__DBL_NORM_MAX__=double(1.7976931348623157e+308L)",
|
||||
"__BYTE_ORDER__=__ORDER_LITTLE_ENDIAN__",
|
||||
"__GCC_DESTRUCTIVE_SIZE=32",
|
||||
"__XTENSA__=1",
|
||||
"__INTMAX_WIDTH__=64",
|
||||
"__ORDER_BIG_ENDIAN__=4321",
|
||||
"__XTHAL_ABI_CALL0=1",
|
||||
"__cpp_runtime_arrays=198712L",
|
||||
"__FLT32_DIG__=6",
|
||||
"__UINT64_TYPE__=long long unsigned int",
|
||||
"__UINT32_C(c)=c ## UL",
|
||||
"__cpp_alias_templates=200704L",
|
||||
"__FLT_DENORM_MIN__=1.4012984643248171e-45F",
|
||||
"__INT8_MAX__=0x7f",
|
||||
"__LONG_WIDTH__=32",
|
||||
"__UINT_FAST32_TYPE__=unsigned int",
|
||||
"__FLT32X_NORM_MAX__=1.7976931348623157e+308F32x",
|
||||
"__CHAR32_TYPE__=long unsigned int",
|
||||
"__FLT_MAX__=3.4028234663852886e+38F",
|
||||
"__cpp_constexpr=201603L",
|
||||
"__XCHAL_HAVE_FP_RSQRT=1",
|
||||
"__INT32_TYPE__=long int",
|
||||
"__SIZEOF_DOUBLE__=8",
|
||||
"__cpp_exceptions=199711L",
|
||||
"__FLT_MIN_10_EXP__=(-37)",
|
||||
"__FLT64_MIN__=2.2250738585072014e-308F64",
|
||||
"__INT_LEAST32_WIDTH__=32",
|
||||
"__INTMAX_TYPE__=long long int",
|
||||
"__XCHAL_HAVE_ABS=1",
|
||||
"__FLT32X_HAS_QUIET_NAN__=1",
|
||||
"__ATOMIC_CONSUME=1",
|
||||
"__XCHAL_NUM_DBREAK=2",
|
||||
"__XCHAL_HAVE_WIDE_BRANCHES=0",
|
||||
"__GNUC_MINOR__=2",
|
||||
"__INT_FAST16_WIDTH__=32",
|
||||
"__UINTMAX_MAX__=0xffffffffffffffffULL",
|
||||
"__FLT32X_DENORM_MIN__=4.9406564584124654e-324F32x",
|
||||
"__cpp_template_template_args=201611L",
|
||||
"__DBL_MAX_10_EXP__=308",
|
||||
"__LDBL_DENORM_MIN__=4.9406564584124654e-324L",
|
||||
"__INT16_C(c)=c",
|
||||
"__STDC__=1",
|
||||
"__PTRDIFF_TYPE__=int",
|
||||
"__LONG_MAX__=0x7fffffffL",
|
||||
"__XCHAL_HAVE_FP_SQRT=1",
|
||||
"__UINT32_TYPE__=long unsigned int",
|
||||
"__FLT32X_MIN_10_EXP__=(-307)",
|
||||
"__UINTPTR_TYPE__=unsigned int",
|
||||
"__LDBL_MIN_10_EXP__=(-307)",
|
||||
"__cpp_generic_lambdas=201304L",
|
||||
"__SIZEOF_LONG_LONG__=8",
|
||||
"__cpp_user_defined_literals=200809L",
|
||||
"__GCC_ATOMIC_LLONG_LOCK_FREE=1",
|
||||
"__FLT_DECIMAL_DIG__=9",
|
||||
"__UINT_FAST16_MAX__=0xffffffffU",
|
||||
"__LDBL_NORM_MAX__=1.7976931348623157e+308L",
|
||||
"__GCC_ATOMIC_SHORT_LOCK_FREE=2",
|
||||
"__XCHAL_HAVE_BE=0",
|
||||
"__UINT_FAST8_TYPE__=unsigned int",
|
||||
"__cpp_init_captures=201304L",
|
||||
"__ATOMIC_ACQ_REL=4",
|
||||
"__ATOMIC_RELEASE=3",
|
||||
"USBCON"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
"C_Cpp.errorSquiggles": "enabled",
|
||||
"C_Cpp.default.compilerPath": "~/.arduino15/packages/esp32/tools/esp-x32/2411/bin/xtensa-esp32-elf-g++",
|
||||
"files.associations": {
|
||||
".fantomasignore": "ignore",
|
||||
"string_view": "cpp"
|
||||
}
|
||||
}
|
||||
29
GEMINI.md
29
GEMINI.md
|
|
@ -1,29 +0,0 @@
|
|||
# GEMINI.md - Arbeitsanweisungen für den KI-Assistenten
|
||||
|
||||
Dieses Dokument beschreibt die Kernprinzipien und projektspezifischen Regeln, nach denen der KI-Assistent arbeitet.
|
||||
|
||||
## 1. Allgemeine Prinzipien
|
||||
|
||||
- **Kontext-Treue:** Ich halte mich strikt an die Konventionen des Projekts (Code-Stil, Bibliotheken, Architektur). Vor Änderungen analysiere ich den bestehenden Code.
|
||||
- **Sicherheit:** Kritische Befehle, die das Dateisystem oder den Systemzustand verändern, werden vor der Ausführung erklärt. Ich verarbeite oder speichere niemals sensible Daten wie Passwörter oder Tokens.
|
||||
- **Effizienz und Präzision:** Meine Antworten sind kurz und direkt. Ich nutze Werkzeuge für Aktionen und Text nur für die Kommunikation.
|
||||
|
||||
## 2. Technische Arbeitsweise
|
||||
|
||||
- **Dateisystem:** Ich verwende für alle Dateioperationen ausschließlich absolute Pfade.
|
||||
- **Shell-Befehle:** Modifizierende Befehle werden erklärt. Langlaufende Prozesse starte ich als Hintergrund-Jobs (`&`).
|
||||
- **Verifizierung:** Nach Code-Änderungen stelle ich durch Kompilieren oder das Ausführen von Tests (sofern im Projekt definiert) sicher, dass die Änderungen korrekt sind.
|
||||
|
||||
## 3. Git-Workflow
|
||||
|
||||
- **Analyse:** Vor einem Commit analysiere ich den Zustand des Repositories mit `git status`, `git diff` und `git log`, um Konsistenz zu gewährleisten.
|
||||
- **Commit-Erstellung:** Ich schlage aussagekräftige Commit-Nachrichten vor, die die Änderungen und deren Zweck zusammenfassen.
|
||||
- **Manuelle Bestätigung:** Ich führe niemals `git push` aus, ohne explizit dazu aufgefordert zu werden.
|
||||
|
||||
## 4. Projektspezifische Konventionen (DShotRMT)
|
||||
|
||||
- **Technologie-Stack:** C++, `arduino-cli`
|
||||
- **Build-Befehl:** `arduino-cli compile --fqbn esp32:esp32:esp32 <sketch-pfad>`
|
||||
- **Namenskonventionen:** `_private_var` für private Member, `camelCase` für öffentliche Funktionen.
|
||||
- **Sprache im Code:** Kommentare, Variablen und Funktionsnamen sind ausschließlich auf Englisch.
|
||||
- **Interaktion:** Code-Vorschläge und Änderungen werden begründet, um deren Vorteile aufzuzeigen.
|
||||
|
|
@ -9,7 +9,7 @@ This library is a rewrite using the modern ESP-IDF 5 RMT encoder API (`rmt_tx.h`
|
|||
## 🚀 Core Features
|
||||
|
||||
- **Multiple DShot Modes:** Supports DSHOT150, DSHOT300, DSHOT600, and DSHOT1200.
|
||||
- **Bidirectional DShot:** Full support for RPM telemetry feedback.
|
||||
- **Bidirectional DShot:** Implemented, but currently not officially supported due to instability and external hardware requirements.
|
||||
- **Hardware-Timed Signals:** Precise signal generation using the ESP32 RMT peripheral, ensuring stable and reliable motor control.
|
||||
- **Simple API:** Easy-to-use C++ class with intuitive methods like `sendThrottlePercent()`.
|
||||
- **Efficient and Lightweight:** The core library has no external dependencies.
|
||||
|
|
@ -100,12 +100,12 @@ lib_deps =
|
|||
|
||||
The main class is `DShotRMT`. Here are the most important methods:
|
||||
|
||||
- `DShotRMT(gpio_num_t gpio, dshot_mode_t mode, bool is_bidirectional = false)`: Constructor to create a new DShotRMT instance.
|
||||
- `DShotRMT(gpio_num_t gpio, dshot_mode_t mode, bool is_bidirectional = false)`: Constructor to create a new DShotRMT instance. (Note: Bidirectional DShot is currently not officially supported.)
|
||||
- `begin()`: Initializes the RMT peripheral and the DShot encoder.
|
||||
- `sendThrottlePercent(float percent)`: Sends a throttle value as a percentage (0.0-100.0).
|
||||
- `sendThrottle(uint16_t throttle)`: Sends a raw throttle value (48-2047) to the motor.
|
||||
- `sendCommand(uint16_t command)`: Sends a DShot command (0-47) to the motor.
|
||||
- `getTelemetry(uint16_t magnet_count)`: Receives and parses telemetry data from the motor (for bidirectional DShot).
|
||||
- `getTelemetry(uint16_t magnet_count)`: Receives and parses telemetry data from the motor (for bidirectional DShot, which is currently not officially supported).
|
||||
|
||||
For more details, please refer to the `DShotRMT.h` header file.
|
||||
|
||||
|
|
|
|||
|
|
@ -21,7 +21,9 @@ static constexpr gpio_num_t MOTOR01_PIN = GPIO_NUM_27;
|
|||
static constexpr dshot_mode_t DSHOT_MODE = DSHOT300;
|
||||
|
||||
// BiDirectional DShot Support (default: false)
|
||||
static constexpr auto IS_BIDIRECTIONAL = true;
|
||||
// Note: Bidirectional DShot is currently not officially supported
|
||||
// due to instability and external hardware requirements.
|
||||
static constexpr auto IS_BIDIRECTIONAL = false;
|
||||
|
||||
// Motor magnet count for RPM calculation
|
||||
static constexpr auto MOTOR01_MAGNET_COUNT = 14;
|
||||
|
|
|
|||
|
|
@ -20,7 +20,9 @@ static constexpr gpio_num_t MOTOR01_PIN = GPIO_NUM_27;
|
|||
static constexpr dshot_mode_t DSHOT_MODE = DSHOT300;
|
||||
|
||||
// BiDirectional DShot Support (default: false)
|
||||
static constexpr auto IS_BIDIRECTIONAL = true;
|
||||
// Note: Bidirectional DShot is currently not officially supported
|
||||
// due to instability and external hardware requirements.
|
||||
static constexpr auto IS_BIDIRECTIONAL = false;
|
||||
|
||||
// Motor magnet count for RPM calculation
|
||||
static constexpr auto MOTOR01_MAGNET_COUNT = 14;
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ static constexpr auto MOTOR01_PIN = 17;
|
|||
static constexpr dshot_mode_t DSHOT_MODE = DSHOT300;
|
||||
|
||||
// BiDirectional DShot Support (default: false)
|
||||
static constexpr auto IS_BIDIRECTIONAL = false;
|
||||
static constexpr auto IS_BIDIRECTIONAL = false; // Note: Bidirectional DShot is currently not officially supported due to instability and external hardware requirements.
|
||||
|
||||
// Motor magnet count for RPM calculation
|
||||
static constexpr auto MOTOR01_MAGNET_COUNT = 14;
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ static constexpr auto MOTOR01_PIN = 17;
|
|||
static constexpr dshot_mode_t DSHOT_MODE = DSHOT300;
|
||||
|
||||
// BiDirectional DShot Support (default: false)
|
||||
static constexpr auto IS_BIDIRECTIONAL = false;
|
||||
static constexpr auto IS_BIDIRECTIONAL = false; // Note: Bidirectional DShot is currently not officially supported due to instability and external hardware requirements.
|
||||
|
||||
// Motor magnet count for RPM calculation
|
||||
static constexpr auto MOTOR01_MAGNET_COUNT = 14;
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ author=Wastl Kraus <wir-sind-die-matrix.de>
|
|||
maintainer=Wastl Kraus <wir-sind-die-matrix.de>
|
||||
license=MIT
|
||||
sentence=DShotRMT Library supporting all DShot Types and speeds. Tested with BlHeli_S.
|
||||
paragraph=This library can control a BlHeli_S by using encoded DShot commands. Features bidirectional DShot support for RPM telemetry.
|
||||
paragraph=This library can control a BlHeli_S by using encoded DShot commands.
|
||||
category=Signal Input/Output
|
||||
url=https://github.com/derdoktor667/DShotRMT
|
||||
architectures=esp32
|
||||
|
|
|
|||
|
|
@ -133,11 +133,13 @@ dshot_result_t DShotRMT::begin()
|
|||
rmt_disable(_rmt_tx_channel);
|
||||
rmt_del_channel(_rmt_tx_channel);
|
||||
_rmt_tx_channel = nullptr;
|
||||
|
||||
if (_rmt_rx_channel) {
|
||||
rmt_disable(_rmt_rx_channel);
|
||||
rmt_del_channel(_rmt_rx_channel);
|
||||
_rmt_rx_channel = nullptr;
|
||||
}
|
||||
|
||||
return {false, ENCODER_INIT_FAILED};
|
||||
}
|
||||
|
||||
|
|
@ -413,6 +415,7 @@ dshot_result_t DShotRMT::_initRXChannel()
|
|||
dshot_result_t DShotRMT::_initDShotEncoder()
|
||||
{
|
||||
rmt_copy_encoder_config_t encoder_config = {};
|
||||
|
||||
if (rmt_new_copy_encoder(&encoder_config, &_dshot_encoder) != DSHOT_OK)
|
||||
{
|
||||
return {false, ENCODER_INIT_FAILED};
|
||||
|
|
|
|||
Loading…
Reference in New Issue