From 5d68f035a3854de786da1f2df5eba99a7a005667 Mon Sep 17 00:00:00 2001 From: Wastl Kraus Date: Fri, 18 Jul 2025 09:31:44 +0200 Subject: [PATCH] Update README.md --- .github/workflows/esp32.yml | 10 ++++------ README.md | 4 +++- img/dshot300.png | Bin 0 -> 38036 bytes 3 files changed, 7 insertions(+), 7 deletions(-) create mode 100644 img/dshot300.png diff --git a/.github/workflows/esp32.yml b/.github/workflows/esp32.yml index 2b869c9..fcca943 100644 --- a/.github/workflows/esp32.yml +++ b/.github/workflows/esp32.yml @@ -10,10 +10,10 @@ jobs: runs-on: ubuntu-latest steps: - - name: Checkout repository + - name: Checkout Repository uses: actions/checkout@main - - name: Install repo as library + - name: Install Repository as Library run: | mkdir -p "$HOME/Arduino/libraries" ln -s "$PWD" "$HOME/Arduino/libraries/." @@ -22,11 +22,9 @@ jobs: run: | curl -fsSL https://raw.githubusercontent.com/arduino/arduino-cli/master/install.sh | BINDIR=/usr/local/bin sh arduino-cli core update-index - arduino-cli core update-index --additional-urls https://dl.espressif.com/dl/package_esp32_index.json - arduino-cli core update-index --additional-urls https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json - arduino-cli core install esp32:esp32 --additional-urls https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json + arduino-cli core install esp32:esp32 - - name: Compile sketch + - name: Compile Sketch run: | arduino-cli compile --fqbn esp32:esp32:esp32 ${{ github.workspace }}/examples/dshot300 env: diff --git a/README.md b/README.md index e690a2a..f6936c4 100644 --- a/README.md +++ b/README.md @@ -29,6 +29,8 @@ Data is transmitted MSB-first. Pulse timing depends on the selected DShot mode. Each frame is followed by a 21-bit time pause. This helps ESCs detect separate frames. +![DShotRMT](https://raw.githubusercontent.com/derdoktor667/refs/heads/main/dshot300.png) + --- ## Checksum Calculation @@ -49,7 +51,7 @@ The calculation of the checksum is basically the same as before, but the inverte crc = (~(value ^ (value >> 4) ^ (value >> 8))) & 0x0F; ``` -...I have to rework the receiver part of the code. RX Frame encoding is weak. +...biDirectional DShot is experimental. Further Hardware testing needed. --- ## RMT on the ESP32 diff --git a/img/dshot300.png b/img/dshot300.png new file mode 100644 index 0000000000000000000000000000000000000000..cf9767769a5b5c5f5c01d5614cdf13f33a3a8d79 GIT binary patch literal 38036 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 literal 0 HcmV?d00001