Update README.md
This commit is contained in:
parent
2ae00296ba
commit
c23c9d3f19
28
README.md
28
README.md
|
|
@ -3,13 +3,12 @@
|
|||
### The DShot Protocol
|
||||
The DSHOT protocol consists of transmitting 16-bit packets to the ESCs: 11-bit throttle value, 1-bit to request telemetry and a 4-bit checksum. There are three major protocol speeds: DSHOT150, DSHOT300 and DSHOT600.
|
||||
|
||||
#### DShot -Timing:
|
||||
DSHOT | Bitrate | TH1 | TH0 | Bit Time µs | Frame Time µs
|
||||
--------:|---------:|-------:|-------:|------------:|-------------:
|
||||
**150** | 150kbit/s| 5.00 | 2.50 | 6.67 | 106.72
|
||||
**300** | 300kbit/s| 2.50 | 1.25 | 3.33 | 53.28
|
||||
**600** | 600kbit/s| 1.25 | 0.625 | 1.67 | 26.72
|
||||
**1200** |1200kbit/s| 0.625 | 0.313 | 0.83 | 13.28
|
||||
| DSHOT | Bitrate | TH1 | TH0 | Bit Time µs | Frame Time µs |
|
||||
|-------|----------|-------|--------|-------------|-----------------|
|
||||
| 150 | 150kbit/s | 5.00 | 2.50 | 6.67 | 106.72 |
|
||||
| 300 | 300kbit/s | 2.50 | 1.25 | 3.33 | 53.28 |
|
||||
| 600 | 600kbit/s | 1.25 | 0.625 | 1.67 | 26.72 |
|
||||
| 1200 | 1200kbit/s| 0.625 | 0.313 | 0.83 | 13.28 |
|
||||
|
||||
#### Calculating the CRC
|
||||
The checksum is calculated over the throttle value and the telemetry bit, so the “first” 12 bits our value in the following example:
|
||||
|
|
@ -24,9 +23,18 @@ The calculation of the checksum is basically the same, just before the last step
|
|||
|
||||
crc = (~(value ^ (value >> 4) ^ (value >> 8))) & 0x0F;
|
||||
|
||||
----
|
||||
### Using RMT on ESP32
|
||||
The RMT (Remote Control) is a peripheral designed to generate accurate and stable signals to control external devices such as LEDs, motors, and other peripherals. It is well suited for generating the DShot signals in a high-performance and accurate way on the ESP32 platform.
|
||||
|
||||
*References:*
|
||||
#### Advantages of using RMT
|
||||
- Generates accurate signals
|
||||
- Supports programmable timing
|
||||
- Configurable number of channels
|
||||
|
||||
#### DShot RMT Library for ESP32
|
||||
The DShot RMT Library for ESP32 provides a convenient way of generating DShot signals using the RMT peripheral on the ESP32 platform. The library supports all three major DShot speeds: DSHOT150, DSHOT300, and DSHOT600.
|
||||
|
||||
#### References
|
||||
- [DSHOT - the missing Handbook](https://brushlesswhoop.com/dshot-and-bidirectional-dshot/)
|
||||
|
||||
- [DSHOT in the Dark](https://dmrlawson.co.uk/index.php/2017/12/04/dshot-in-the-dark/)
|
||||
- [ESP32 Technical Reference Manual](https://www.espressif.com/sites/default/files/documentation/esp32_technical_reference_manual_en.pdf)
|
||||
|
|
|
|||
Loading…
Reference in New Issue