| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- import time
- import PikaStdDevice
- uart_g = None
- recv_g = ""
- wait_g = False
- def ClientCB(signal):
- global recv_g, wait_g
- recv_g = uart_g.read(128)
- wait_g = False
- class Client:
- def __init__(self, uart: PikaStdDevice.UART):
- global uart_g
- uart_g = uart
- uart_g.setCallBack(ClientCB, uart_g.SIGNAL_RX)
- def configMode(self):
- uart_g.write("+++")
- time.sleep(0.3)
- def cmd(self, cmd):
- global wait_g
- wait_g = True
- uart_g.write("AT+" + cmd + "\r\n")
- retry = 0
- while wait_g and retry < 10:
- retry += 1
- time.sleep(0.1)
- def get(self, arg):
- self.cmd(arg + "?")
- raw = self.res()
- for line in raw.split("\r\n"):
- if "+" + arg + ":" in line:
- return line.split(":")[1]
- def set(self, arg, val):
- self.cmd(arg + "=" + str(val))
- def res(self):
- return recv_g
-
- def __getattr__(self, name):
- return self.get(name)
-
- def __setattr__(self, name, value):
- self.set(name, value)
|