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/thrusters/t100-t200-thrusters/t200-thruster-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
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/thrusters/t100-t200-thrusters/t200-thruster-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