Create async `electrical_protocol` driver
Opened this issue · 2 comments
What needs to change?
Currently, we have a synchronous version of the serial driver used by electrical_protocol
. However, it would be great to have an asynchronous version of this driver. This would empower us to combine our electrical drivers with other forms of I/O (including ROS nodes/topics/etc.).
This could be done by copying the current synchronous driver and replacing the synchronous parts with pyserial-asyncio
and asyncio
. I also made some brief starting progress on this task on this branch.
How would this task be tested?
- Copy the current test cases for the synchronous driver and ensure that the test cases also pass in the asynchronous version.
Well sad moment, I thought I would finish by this week :( hurricane threw a wrench in my plans. But I believe my async version of the tests is working but for some reason the simulated device refuses to connect so now I am working on fixing that.
I have pushed my attempt to a new branch called electrical-protocol-async-v2, for now I have left an "Async_readme.txt" to bring whoever comes next up to speed. Note: I cannot promise the validity of any of the code so please assume it might be wrong.