Hi!

English is not a native language, so sorry for any mistakes.
Bit of a newbie when it comes to embedded as well.

Developing an underwater vehicle using 8 BlueRobotics T200 thrusters: https://bluerobotics.com/store/thrus...hruster-r2-rp/.
Currently, the thrusters receives a standard pwm-signal.

It is desired to obtain telemetry-data from the thrusters.
Using the basic ESC from BlueRobotics, there is only a single signal-wire. Both read and write must be performed on this wire.

Considering using a biderectional dshot-algorithm to communicate with the ESCs.

A collegue suggested using FlexIO with DMA for this project, however I cannot understand how FlexIO could be feasible.
According to the datasheet, there is only three FlexIO modules {FlexIO1, FlexIO2, FlexIO3}.


Is it possible to use these three modules to read and write to eight different pins/ESCs?
Wouldn't it only duplicate the control-signals to the thrusters?

Using an interrupt to signal that the shiftbuffer is empty, one could change the pin from output to input. This strategy could however cause a race between switching the state and reading the response.
Sorry if I missed this in the datasheet, but how quick could a module be changed from input to output and vice versa? Is there a better strategy?


If FlexIO is not feasible, are there any suggestions on how to perform this project using a single teensy4.1?


Best regards