https://github.com/salimterryli/pwe-virtual-driver
Pulse Width Encoding protocol driver for ESP-IDF, supports WS2812 strips, Dshot ESC and so on
https://github.com/salimterryli/pwe-virtual-driver
dshot esp32 esp32-idf sk6812 ws2812
Last synced: 9 months ago
JSON representation
Pulse Width Encoding protocol driver for ESP-IDF, supports WS2812 strips, Dshot ESC and so on
- Host: GitHub
- URL: https://github.com/salimterryli/pwe-virtual-driver
- Owner: SalimTerryLi
- Created: 2021-09-29T03:52:17.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2021-09-29T03:52:39.000Z (over 4 years ago)
- Last Synced: 2025-02-21T17:47:13.239Z (over 1 year ago)
- Topics: dshot, esp32, esp32-idf, sk6812, ws2812
- Language: C
- Homepage:
- Size: 20.5 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Pulse Width Encoding Protocol
which is widely used on led strips.
Named by me and is not responsible for any thing -.-
## Backend difference
### RMT
- Very very accurate timing.
- Currently cannot take use of DMA and is heavily depending on ISR routine, which makes it quite unstable when higher proority tasks are running (such as WiFi).
- Able to simulate Dshot timing.
### SPI
- Minimal step resolution is limited so that it is expected to have some timing difference between real output and desired output.
- Can take use of DMA and is reliable for great amount data to send.
### I2S
TODO
## Examples
There are currently two examples under the repo:
### Dshot ESC control
in `examples/dshot_esc_ctl`
Only supports RMT backend
### LED strip
in `examples/led_strip`