33 lines
1.2 KiB (Stored with Git LFS)
Python
33 lines
1.2 KiB (Stored with Git LFS)
Python
from uart_interface import GobotRPC_CI_Hardware
|
|
import threading
|
|
from uart_interface.ci_packages import CI_Package, CI_SET_ADDR_PORT_MAP_Package, CI_RESET_Package, CI_TX_Package
|
|
from gobotrpc.rpc_packages import GobotRPCPackage, GobotRPCGetInfoRequest
|
|
|
|
class GobotRPC_CI():
|
|
def __init__(self, hardware: GobotRPC_CI_Hardware):
|
|
self.hardware = hardware
|
|
self.sending_lock = threading.Lock()
|
|
|
|
def close(self):
|
|
self.hardware.close()
|
|
|
|
def send_ci_package(self, ci_package: CI_Package):
|
|
with self.sending_lock:
|
|
return self.hardware.send_ci_package(ci_package)
|
|
|
|
def send_gobotrpc_package(self, gobotrpc_package: GobotRPCPackage, addr: int):
|
|
self.send_ci_package(CI_TX_Package(gobotrpc_package, addr))
|
|
|
|
def rx_ci_package(self) -> CI_Package:
|
|
pkg = self.hardware.rx_ci_package()
|
|
return pkg
|
|
|
|
def setAddrPortMap(self, addr, port):
|
|
pkg = CI_SET_ADDR_PORT_MAP_Package(addr, port)
|
|
self.send_ci_package(pkg)
|
|
|
|
def resetAdapter(self):
|
|
self.send_ci_package(CI_RESET_Package())
|
|
|
|
def node_get_info(self, addr: int):
|
|
self.send_ci_package(CI_TX_Package(GobotRPCGetInfoRequest(), addr)) |