Open doegox opened 11 months ago
This will require new STATUS and possibly new dummy Command code
Some design ideas for this enhancement:
The data in the receiving buffer is now directly passed to the command function for execution. If need to implement commands similar to canceling the execution of Darkside, maybe need a double buffer, which means we cannot destroy the previous data.
Distinguish between synchronous commands and asynchronous broadcasts using status codes or command codes.
PYTHON CLI already has the ability to handle asynchronous commands, but now it is using implementation functions such as blocking and timeout.
Current communication is purely synchrone: the client sends a command and the firmware answers.
We'd like to allow async messages to implement the following features:
from fw to client
darkside
from client to fw
darkside
, from the clientMaybe the implementations changes should be done by taking into account a move to asyncio implementations of serial, BLE and TCP communications in the Python client.