def write(self, data): essx_debug.dump(data)
def write(self, data): essx_debug.dump(data) self.writer.write(data) return len(data)
def send(self, ad1, ad2, params={}): send_data = self.pack_senddata(ad1, ad2, params) essx_debug.log('send') essx_debug.dump(send_data) self.device.write(send_data) return send_data
#単体テストをするにはPYTHONPATHに一つ上のディレクトリを指定すること if __name__ == "__main__": from struct import * from io import BytesIO class DummySerial(object): def __init__(self): self.reader = BytesIO(b"ABCDEFG") self.writer = BytesIO() def read(self, size): ret = self.reader.read(size) return ret def write(self, data): essx_debug.dump(data) self.writer.write(data) return len(data) #ser_dev = serial.Serial("/dev/cuaU1", 115200, timeout = 0.01) eza2500_dev = EZA2500Device(dev = DummySerial(), timeout = 1) wdata = pack("<BBBBBH", 5, 0, 0x31, 0x32, 0, 0x31 + 0x32) eza2500_dev.write(wdata) print('201 ok') essx_debug.dump(eza2500_dev.read(7)) #=> no timeout print('202 ok') try: essx_debug.dump(eza2500_dev.read(7)) #=> timeout raise ESSXFatalException("fatal") except ESSXTimeoutException as e: print('203 ok')