def init_transfert_usb(self): print ("initialisation du transfert usb <-> Mm") for i in range(self.n_tdf): self.transfert[i] = libusb1.libusb_alloc_transfer(0) libusb1.libusb_fill_bulk_transfer(self.transfert[i], self.usbh.handle, self._ADDR, self.bbuffer_p[i], self.s_pkt, self.fn_callback_c, self.NULL, self.TIMEOUT) retour = libusb1.libusb_submit_transfer(self.transfert[i]) if retour: print ("Erreur " + str(retour) + " au lancement du paquet" + str(i)) # else: # print "Pret a recevoir" print ("initialisation du transfert usb <-> Mm .................... ok") self.etat=1
def __init__(self, handle, iso_packets=0): """ You should not instanciate this class directly. Call "getTransfer" method on an USBDeviceHandle instance to get instances of this class. """ if iso_packets < 0: raise ValueError('Cannot request a negative number of iso ' 'packets.') self.__handle = handle self.__num_iso_packets = iso_packets result = libusb1.libusb_alloc_transfer(iso_packets) if not result: raise libusb1.USBError('Unable to get a transfer object') self.__transfer = result self.__ctypesCallbackWrapper = libusb1.libusb_transfer_cb_fn_p( self.__callbackWrapper)
def _getTransfer(self, iso_packets=0): result = libusb1.libusb_alloc_transfer(iso_packets) if not result: raise libusb1.USBError, 'Unable to get a transfer object' return result
import libusb1 max_packet_size = 256 NUM_ISO_PACKETS = 10 transfer_p = libusb1.libusb_alloc_transfer(NUM_ISO_PACKETS) transfer = transfer_p.contents transfer.num_iso_packets = NUM_ISO_PACKETS libusb1.libusb_set_iso_packet_lengths( transfer_p, max_packet_size )