Compatibilité Herborist-USB2AX et les XL-320

Bonjour
Je suis en phase de montage de ErgoJr en utilsant un USB2AX, je n’arrive pas à afficher les moteurs, pris un par un, avec ni herborist ni avec un bout de code de scan du bus, sans affichage d’erreur.

Coté alimentation, j’utilise ce régulater livrant du 7.4 V aux moteurs alomenté par du 12v/2A.

J’ai pu par contre paremetrer les moteurs via une OPENCM9C, ce qui me valide mon cablage avec un cable avec une connecteur 3P type AX et un autre 3P type XL pour les brancher sur le BIOLOID 3P Extension PCB.
Sachant que les xl-320 utilisent la version 2 du protocol Dynmixel, y a t-il compatbilité avec Pypot et avec l’USB2AX/USB2Dynamixel ?

Oui, les XL-320 sont compatibles. Note: si tu utilise un OpenCM9 tu peut t’en servir de hub alimenté (testé et approuvé). Et le montage cable AX + XL fonctionne avec une USB2AX derriere.
Teste ce bout de code:

import sys
from pypot.dynamixel import Dxl320IO, get_available_ports

ports = get_available_ports()

if not len(ports):
    print('no port found!')
    sys.exit(1)

print('ports found!', ports)

io = Dxl320IO(ports[0])

ids = io.scan()
print('motors found', ids)

On verra tout de suite si le soucis est Hardware ou pas.

Ok super, je vois les 6 xl-320

python test1.py
(‘ports found!’, [’/dev/tty.usbmodem1a1231’])
(‘motors found’, [3, 5, 7, 11, 13, 17])

Par contre rien avec Herborist !?

1 Like

On sais maintenant que ton probleme n’est pas hardware, je n’utilise pas Herborist (du moins, pour l’instant) je ne pourrais pas beaucoup t’aider de ce coté la sorry.
Ping @Pierre ou @Matthieu ils pourrons peut etre faire avancer les choses ! :smile:

Effectivement herborist ne supporte pas les xl-320 pour l’instant. Cela doit être facile à adapter cela dit. Si quelqu’un a le code pour ça je suis preneur.

Ca ressemble à un défi pour moi, je suis dessus !

Edit 15h14: pull requested, attention, je n’ai pas de XL-320 donc je n’ai pas pu tout tester.

4 Likes

Merci Manon, dès que c’est en ligne je testerai.

Si tu veux, tu peux tester directement ici :

1 Like

Bonsoir Manon
C’est ok, nouveau choix Protcol (MX/XL). test de non regression fait aussi.
Merci à toi

Merci @Manon !! C’est intégré à la branche principale :smile:

Bonjour Manon
J’ai un souci à l’ecriture dans l’EEPROM

Traceback (most recent call last):
File “/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pypot/tools/herborist/herborist.py”, line 245, in update_motor_view
srl = dxl_io.get_status_return_level((self.id, ), convert=False)[0]
File “/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pypot/dynamixel/io/abstract_io.py”, line 278, in get_status_return_level
raise e
pypot.dynamixel.io.abstract_io.DxlTimeoutError: motors 3 did not respond after sending DxlReadDataPacket(id=3, address=4352, length=256)