Files
gobot/i2c-hub/uart-adapter/src/uart_interface/pares_packages.py

21 lines
611 B (Stored with Git LFS)
Python

from uart_interface import CI_Package
from uart_interface import GobotRPC_Ctrl_Interface_Command as CMDS
from uart_interface.ci_packages import CI_TX_Package, CI_HEARTBEAT_Package, CI_RX_Package
def ci_package_from_bytes(data: bytes):
cmd = CMDS(data[0])
match cmd:
case CMDS.TX_PACKAGE:
package = CI_TX_Package()
case CMDS.HEARTBEAT:
package = CI_HEARTBEAT_Package()
case CMDS.RX_PACKAGE:
package = CI_RX_Package()
case _:
raise ValueError(f"Invalid Command {data[0]}")
package.from_bytes(data)
return package