poppy-project / poppy-ergo-starter

🤖 A simple 4 degree of freedom arm using XL320 motors
3 stars 3 forks source link

communication error #4

Closed jjehl closed 9 years ago

jjehl commented 9 years ago

The command : dxl_io = pypot.dynamixel.Dxl320IO('COM3', use_sync_read=True)

works fine : %timeit dxl_io.get_present_position((1, 2, 3, 4)) -> 100 loops, best of 3: 6.9 ms per loop

but using "sync_read": true in the json configuration file raise error :

WARNING:pypot.dynamixel.error:Communication error after sending DxlSyncReadDataPacket(ids=[1, 2, 3, 4], address=46, length=1)
WARNING:pypot.dynamixel.error:Communication error after sending DxlSyncReadDataPacket(ids=[1, 2, 3, 4], address=6, length=4)
WARNING:pypot.dynamixel.error:Communication error after sending DxlSyncReadDataPacket(ids=[1, 2, 3, 4], address=37, length=6)
WARNING:pypot.dynamixel.error:Communication error after sending DxlSyncReadDataPacket(ids=[1, 2, 3, 4], address=6, length=4)
WARNING:pypot.dynamixel.error:Communication error after sending DxlSyncReadDataPacket(ids=[1, 2, 3, 4], address=6, length=4)
WARNING:pypot.dynamixel.error:Timeout after sending DxlSyncReadDataPacket(ids=[1, 2, 3, 4], address=46, length=1) to motors 254

What means this error ?? Why to motors 254 ??

jjehl commented 9 years ago

Issue solved with the changes made in branch dxl-synchronous-register of Pypot.

pierre-rouanet commented 9 years ago

FYI, it happens because the %timeit magic run many times (here 100 times), so it increases the probability of having an error.

The id 254 is the broadcast id use for sync read.