I have an ESC printer. I made a simple script to send data to the device, but after changing the content of the script - 1x the previous version of the subtitles is printed, and then, when called again, the current one. As if the data from the USB was cached somewhere. How can I make some FLUSH?
|test.py usb_= Connector(showUsbDevices=False) usb_.send(b'I LOVE YOU') | connector: |class Connector: def __init__(self, idVendor=0x0123, idProduct=0x1234, showUsbDevices=False): self.idVendor = idVendor self.idProduct = idProduct if showUsbDevices: pass self.device = self.FindAndConnect() if self.device is not None: #if self.device.is_kernel_driver_active(0): #self.device.detach_kernel_driver(0) #self.device.detach_kernel_driver(1) self.device.reset() self.device.set_configuration() self.cfg = self.device.get_active_configuration() data_itfs = list(usb.util.find_descriptor(self.cfg, find_all=True,custom_match=lambda e: (e.bInterfaceClass == 0xA))) intf = data_itfs[0] self.device.set_interface_altsetting(intf) itf_num = intf.bInterfaceNumber print ("inf descriptor:===============", intf) print("numer:===============",itf_num) self.messageOut = usb.util.find_descriptor(intf, custom_match=lambda e: not (e.bEndpointAddress & 0x80)) self.messageIn = usb.util.find_descriptor(intf, custom_match=lambda e: (e.bEndpointAddress & 0x80)) #print(">>>>>>>>>>>>>>>>>>>Message Out",self.messageOut) #print(">>>>>>>>>>>>>>>>>>>Message In",self.messageIn) #print(repr(self.cfg)) def __del__(self): if self.device is not None: usb.util.dispose_resources(self.device) def send(self, data): #print ("endpoint_out",self.messageOut) if self.device is not None: print(data.decode("IBM852")) self.messageOut.write(data) #self.device.write(1,data,100) #dane = self.messageIn.read(300) #print("IN|->",dane) def FindAndConnect(self): device=usb.core.find(idVendor=self.idVendor, idProduct=self.idProduct) if device is None: raise ValueError('Not found idVendor 0x%04x i idProduct 0x%04x' % (self.idVendor,self.idProduct)) print('Printer found idVendor 0x%04x i idProduct 0x%04x.... ' %(self.idVendor,self.idProduct)) return device | so when I run a test script that says I LOVE YOU I get ILOVE YOU when I change the inscription to I HATE YOU and run the script another copy is printed I LOVE YOU and only the next start-up gives: I HATE YOU What is it? Where's the bug?
pEpkey.asc
Description: application/pgp-keys
_______________________________________________ pyusb-users mailing list pyusb-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pyusb-users