Our setup currently is a ESP-WROOM-32 connected to Foxeer Reaper F4 60A 4 in 1 ESC. Our BLHeli32 Firmware is version 32.9. We are trying to receive eRPM readings from the ESC using Bi-directional DShot.
When the ESC transmits information back to the esp32 no signal is caught. The attached oscilloscope readings show two different probe locations. The first image shows both probes along a wire connecting the GPIO and ESC. The second image is a reading with a 4K7 resistor along the signal line, the signals are annotated depending on which side of the resistor they were probing.
We suspect that the GPIO pin which is configured for RMT is not being configured back to a high impedance input immediately after the transmit phase. The reason is when the ESC is transmitting back to the ESP32 via the signal line, the esc is not able to pull the signal line down to ground which suggest the GPIO is still configured to output mode and is pulled high(3v3). In other words the ESC can't pull the line low, because its trying to sink the output current from the DShot GPIO pin. We would expect that the GPIO would be configured as output/connect to the RMT peripheral when in transmit mode, and then immediately after transmitting the GPIO is configured to high impedance input so that it can receive the signal, is this correct reasoning?
The behavior we're observing when we probe and measure the voltages at the output of the esp32 pin can be seen down below.
Is this a library mismatch or is this a configuration bug withing the DShotRMT library? I have attached our library versions below.
Image 1
Image 2
Library versions


