Posté : mer. avr. 14, 2010 22:06 pm
Bonsoir,
Je suis l'heureux possesseur d'un M3 depuis 1 semaine (merci Pasquall et le groupement) et je cherche à utiliser les blocs SL IN/SL OUT dans un script python.
La tâche est ardue et je me demandais si certains avaient déjà fait des essais dans ce sens ?
Pour l'instant (après quelques heures) je réussi à détecter le câble et à récupérer des informations génériques. Mais la route est encore longue (est-elle seulement possible ?) avant de pouvoir récupérer des infos du M3.
Au branchement du câble, le noyau (2.6.31) de mon Ubuntu détecte un dispositif SGS Thomson Microelectronics ST Micro Serial Bridge (idVendor: 1155 (0x483) idProduct: 29296 (0x7270))
Les infos lues en console pour ce dispositif sont :
avec ce script
Quelqu'un est-il déjà aller plus loin ?
-sam67
Je suis l'heureux possesseur d'un M3 depuis 1 semaine (merci Pasquall et le groupement) et je cherche à utiliser les blocs SL IN/SL OUT dans un script python.
La tâche est ardue et je me demandais si certains avaient déjà fait des essais dans ce sens ?
Pour l'instant (après quelques heures) je réussi à détecter le câble et à récupérer des informations génériques. Mais la route est encore longue (est-elle seulement possible ?) avant de pouvoir récupérer des infos du M3.
Au branchement du câble, le noyau (2.6.31) de mon Ubuntu détecte un dispositif SGS Thomson Microelectronics ST Micro Serial Bridge (idVendor: 1155 (0x483) idProduct: 29296 (0x7270))
Les infos lues en console pour ce dispositif sont :
Code : Tout sélectionner
Configuration: 1
Total length: 67
selfPowered: 0
remoteWakeup: 0
maxPower: 200
Interface: 0
Alternate Setting: 0
Interface class: 2
Interface sub class: 2
Interface protocol: 1
Endpoint: 0x81L
Type: 3
Max packet size: 8
Interval: 255
Interface: 1
Alternate Setting: 0
Interface class: 10
Interface sub class: 0
Interface protocol: 0
Endpoint: 0x82L
Type: 2
Max packet size: 64
Interval: 0
Endpoint: 0x2L
Type: 2
Max packet size: 64
Interval: 0
Code : Tout sélectionner
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import usb
# Câble USB M3
#
# SGS Thomson Microelectronics ST Micro Serial Bridge
# idVendor: 1155 (0x483)
# idProduct: 29296 (0x7270)
class USBDev:
def __init__(self, idVendor, idProduct):
found = False
self.enable = False
busses = usb.busses()
for bus in busses:
for device in bus.devices:
if ((device.idVendor == idVendor)
and (device.idProduct == idProduct)):
self.handler = device.open()
self.device = device
self.enable = True
found = True
break
if found == True:
break
if __name__ =="__main__":
m3 = USBDev(1155, 29296)
if m3.enable:
print "demarrage M3Spy"
# timeout = 2000
# ep_bulk_out=0x02
# buff = '\x01\x02\x03\x04'
# m3.handler.claimInterface(0)
# result = m3.handler.bulkWrite(ep_bulk_out, buff, timeout)
for config in m3.device.configurations:
print " Configuration:", config.value
print " Total length:", config.totalLength
print " selfPowered:", config.selfPowered
print " remoteWakeup:", config.remoteWakeup
print " maxPower:", config.maxPower
for intf in config.interfaces:
print " Interface:",intf[0].interfaceNumber
for alt in intf:
print " Alternate Setting:",alt.alternateSetting
print " Interface class:",alt.interfaceClass
print " Interface sub class:",alt.interfaceSubClass
print " Interface protocol:",alt.interfaceProtocol
for ep in alt.endpoints:
print " Endpoint:",hex(ep.address)
print " Type:",ep.type
print " Max packet size:",ep.maxPacketSize
print " Interval:",ep.interval
Quelqu'un est-il déjà aller plus loin ?
-sam67