You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+22-2Lines changed: 22 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -23,7 +23,7 @@ The Dshot value sent by default is **0**. Via serial console other values (up to
23
23
## How does it work?
24
24
A timer triggers sending of the DShot frame via interrupt then the following things happen:
25
25
26
-
1.B8 is set as output
26
+
1.D8 is set as output
27
27
2. Dshot frame is sent
28
28
3. D8 is set as input
29
29
4. Input capture on timer 1 is used to capture the time between falling and rising endges
@@ -34,11 +34,31 @@ A timer triggers sending of the DShot frame via interrupt then the following thi
34
34
## Usage
35
35
I recommend you use Visual Studio Code with the platform IO plugin. A **platformio.ini** is included in the repository with a working serial monitor configuration.
36
36
37
+
## C2 Interface
38
+
This sketch also includes a C2 interface for your convenience, allowing to read, write and erase an EFM8 MCU. This will require you to install the EFM8 python client. Also by default the Arduino will start in DShot mode, to enable the C2 interface, pull pin 13 low and reset the arduino.
39
+
40
+
To switch back to DShot mode, remove the jumper to low form pin 13 and reset the arduino.
41
+
42
+
### Installing python EFM8 client
43
+
use pipenv to create an virtual env, install dependencies and enter the env:
44
+
```
45
+
pipenv install
46
+
pipenv shell
47
+
```
48
+
49
+
then run the client like so:
50
+
51
+
```
52
+
python efm8.py read /dev/ttyUSB0 output.hex
53
+
python efm8.py write /dev/ttyUSB0 input.hex
54
+
python efm8.py erase
55
+
```
56
+
37
57
## Compatibility
38
58
This should work on any Arduino Uno or clone running at 16MHz. If you are using a different Arduino board, make sure you are using (and setting) the pin which has the "Input Capture" functionality.
39
59
40
60
## Resources
41
61
*[DShot - the missing handbook](https://brushlesswhoop.com/dshot-and-bidirectional-dshot/)
42
62
43
63
## Contributions
44
-
Contributions are very welcome. Feel free to submit a PR against the develop branch. If you have any questions or feature requests, feel free to [open an issue](https://github.com/bird-sanctuary/arduino-bi-directional-dshot/issues).
64
+
Contributions are very welcome. Feel free to submit a PR against the develop branch. If you have any questions or feature requests, feel free to [open an issue](https://github.com/bird-sanctuary/arduino-bi-directional-dshot/issues).
0 commit comments