Luos Communication problems: Resolved

We have been working on our independent Reachy build and have run into some problems with the Luos system.

First issue, after re-routing some power our head gate is completely unresponsive. It doesn't show up in our pyluos-usb-gate discover command at all. I've ensured I am using the correct Luos USB micro port and several different USB cords. It was previously responsive and was driving the DXL board for the antennas just fine.

Second issue is we are adding the Left arm to our Reachy and we are trying to set up that from scratch. I uploaded the latest firmware to the new boards (what I thought was successfully receiving only this error but a successful file download msg:

$bash luos-flash.sh ./GateArm.bin

dfu-util 0.9

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2016 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to [<http://sourceforge.net/p/dfu-util/tickets/>](<http://sourceforge.net/p/dfu-util/tickets/>)

dfu-util: Invalid DFU suffix signature
dfu-util: A valid DFU suffix will be required in a future dfu-util release!!!
Opening DFU capable USB device...
ID 0483:df11
Run-time device DFU version 011a
Claiming USB DFU Interface...
Setting Alternate Setting #0 ...
Determining device status: state = dfuERROR, status = 10
dfuERROR, clearing status
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
DFU mode device DFU version 011a
Device returned transfer size 2048
DfuSe interface name: "Internal Flash  "
Downloading to address = 0x08000000, size = 88054
Download	[=========================] 100%        88054 bytes
Download done.
File downloaded successfully
Transitioning to dfuMANIFEST state

The gate is discoverable using our pyluos-usb-gate discover command. However python hangs and never never returns a new >>>> prompt after the command:

python3
from pyluos import Device
device = Device('/dev/ttyUSB1')
When I Cntrl-C:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/pi/venvs/reachy-env/lib/python3.7/site-packages/pyluos/device.py", line 96, in __init__
    self._setup()
  File "/home/pi/venvs/reachy-env/lib/python3.7/site-packages/pyluos/device.py", line 150, in _setup
    state = self._poll_once()
  File "/home/pi/venvs/reachy-env/lib/python3.7/site-packages/pyluos/device.py", line 206, in _poll_once
    self._state = self._io.read()
  File "/home/pi/venvs/reachy-env/lib/python3.7/site-packages/pyluos/io/__init__.py", line 18, in read
    data = self.recv()
  File "/home/pi/venvs/reachy-env/lib/python3.7/site-packages/pyluos/io/serial_io.py", line 60, in recv
    return self._msg.get()
  File "/usr/lib/python3.7/queue.py", line 170, in get
    self.not_empty.wait()
  File "/usr/lib/python3.7/threading.py", line 296, in wait
    waiter.acquire()

Any troubleshooting advice would be greatly appreciated.

Posted on Forum 12/30

Wrong firmware version. See Setting up Luos + Dynamixels

<aside> ⚠️ Also we fried a gate and a DXL board. Be sure never to Loop the power!

</aside>

Motor Issue: Resolved

Problem summary

One Dynamixel motor in the arm chain does not appear when instantiating the arm in PYLUOS. PyLuos only returns "void_dxl" when just this motor is connected. This motor was previously configured successfully, but disappeared for unknown reasons. All other motors in the chain still identify and can be controlled successfully.

Where is the problem seen?