...just fix some minor things, nothing important
This commit is contained in:
Wastl Kraus 2023-03-10 17:45:18 +01:00
parent 873b228d59
commit de2358e3c8
5 changed files with 12 additions and 6 deletions

3
.gitignore vendored
View File

@ -15,3 +15,6 @@
# Caching ESP32 Builds # Caching ESP32 Builds
buildCache buildCache
examples/dshot300/debug.cfg
examples/dshot300/esp32.svd
examples/dshot300/debug_custom.json

View File

@ -17,7 +17,7 @@ The checksum is calculated over the throttle value and the telemetry bit, so the
crc = (value ^ (value >> 4) ^ (value >> 8)) & 0x0F; crc = (value ^ (value >> 4) ^ (value >> 8)) & 0x0F;
### Bidirectional DSHOT ### Bidirectional DSHOT
Biderictional DSHOT is also known as inverted DSHOT, because the signal level is inverted, so 1 is low and a 0 is high. This is done in order to let the ESC know, that we are operating in bidirectional mode and that it should be sending back eRPM telemetry packages. Bidirictional DSHOT is also known as inverted DSHOT, because the signal level is inverted, so 1 is low and a 0 is high. This is done in order to let the ESC know, that we are operating in bidirectional mode and that it should be sending back eRPM telemetry packages.
#### Calculating the Bidirectional CRC #### Calculating the Bidirectional CRC
The calculation of the checksum is basically the same, just before the last step the values are inverted: The calculation of the checksum is basically the same, just before the last step the values are inverted:

View File

@ -1,9 +1,9 @@
name=DShotRMT name=DShotRMT
version=0.2.1 version=0.2.2
author=derdoktor667 author=derdoktor667
maintainer=derdoktor667 maintainer=derdoktor667
sentence=DShotRMT Library supporting all DShot Types and speeds. Tested with BlHeli_S. 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 like Betaflight. paragraph=This library can control a BlHeli_S by using encoded DShot commands.
category=Device Control category=Device Control
url=https://github.com/derdoktor667/DShotRMT url=https://github.com/derdoktor667/DShotRMT
architectures=esp32 architectures=esp32

View File

@ -1,5 +1,5 @@
// //
// Name: DShotRMT.cpp // Name: DShotRMT.cpp
// Created: 20.03.2021 00:49:15 // Created: 20.03.2021 00:49:15
// Author: derdoktor667 // Author: derdoktor667
// //

View File

@ -1,5 +1,5 @@
// //
// Name: DShotRMT.h // Name: DShotRMT.h
// Created: 20.03.2021 00:49:15 // Created: 20.03.2021 00:49:15
// Author: derdoktor667 // Author: derdoktor667
// //
@ -10,7 +10,7 @@
#define _DSHOTRMT_h #define _DSHOTRMT_h
#if defined(ARDUINO) && ARDUINO >= 100 #if defined(ARDUINO) && ARDUINO >= 100
#include "arduino.h" #include <Arduino.h>
#else #else
#include "WProgram.h" #include "WProgram.h"
#endif #endif
@ -18,6 +18,9 @@
// ...utilizing the RMT Module library for generating the DShot signal // ...utilizing the RMT Module library for generating the DShot signal
#include <driver/rmt.h> #include <driver/rmt.h>
// ...unify versioning
constexpr auto DSHOT_LIB_VERSION = "0.2.2";
constexpr auto DSHOT_CLK_DIVIDER = 8; // ...slow down RMT clock to 0.1 microseconds / 100 nanoseconds per cycle constexpr auto DSHOT_CLK_DIVIDER = 8; // ...slow down RMT clock to 0.1 microseconds / 100 nanoseconds per cycle
constexpr auto DSHOT_PACKET_LENGTH = 17; // ...last pack is the pause constexpr auto DSHOT_PACKET_LENGTH = 17; // ...last pack is the pause