Bonjour à tous !
J'ai crée une liaison usb avec un microcontroleur ATmega16 programmé en c à l'aide de la bibliothèque USBtiny. Une interface graphique en python me permettra de communiquer avec le microcontroleur.
Mon problème porte sur les arguments de la fonction controlmsg(), ah mon avis, c'est le premier qui me pose problème, mais les renseignements donnés sur "requestType" ne m'aide pas.
controlMsg(...)
| controlMsg(requestType, request, buffer, value=0, index=0, timeout=100) -> bytesWritten|buffer
|
| Performs a control request to the default control pipe on a device.
| Arguments:
| requestType: specifies the direction of data flow, the type
| of request, and the recipient.
| request: specifies the request.
| buffer: if the transfer is a write transfer, buffer is a sequence
| with the transfer data, otherwise, buffer is the number of
| bytes to read.
| value: specific information to pass to the device. (default: 0)
| index: specific information to pass to the device. (default: 0)
| timeout: operation timeout in miliseconds. (default: 100)
| Returns the number of bytes written.
requestType: specifies the direction of data flow, the type of request, and the recipient.
Que dois-je mettre en premier argument ?
device in et out ont des arguments différents car j'ai essayé plusieurs combinaisons.
controlMsg(requestType, request, buffer, value=0, index=0, timeout=100) -> bytesWritten|buffer
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 def device_in(self, temp): result = self.handle.controlMsg(usb.TYPE_VENDOR | usb.RECIP_DEVICE | usb.ENDPOINT_OUT, USB_SETPORTB, temp, 0, 0, 5000) def device_out(self): result = self.handle.controlMsg(usb.ENDPOINT_IN | usb.REQ_GET_STATUS | usb.RECIP_DEVICE, USB_GETPORTB, "00000000", 0, 0, 5000)
Partager