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?

Attachment: pEpkey.asc
Description: application/pgp-keys

_______________________________________________
pyusb-users mailing list
pyusb-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/pyusb-users

Reply via email to