open-dynamic-robot-initiative / master-board

Hardware and Firmware of the Solo Quadruped Master Board
BSD 2-Clause "Simplified" License
119 stars 41 forks source link

Master-board doesn't see Motor Driver: Error #142

Open dvogureckiy99 opened 11 months ago

dvogureckiy99 commented 11 months ago

When I connect only one udriver to the master-board to SPI5 connector. When I run listener.py I don't get encoder readings. When I run example.py and again run listener I have got this: Motor Driver | Connected | Enabled | Error | 00 | 1 | 0 | 15 | 01 | 1 | 0 | 15 | 02 | 1 | 0 | 15 | 03 | 1 | 0 | 15 | 04 | 1 | 0 | 15 | 05 | 1 | 0 | 15 | this doesn't depend on which port I connect encoder.

When I manually check whether Motor Driver connected ot not I see false value of flag despite of where connector connect.

What's a problem can be there?

BluRosie commented 1 month ago

I am getting similar with the C++ examples given--where supposedly every message sent is a motor driver error. This is across two different populated master boards with the wired picture as shown:

What can cause the motor driver error counter to increment? I don't believe that something is wired improperly, but I suppose it is possible. I can't get the Python scripts to run at all without the modules, but the C++ ones build fine... How does the uDriver board respond to being plugged in proper?

Screenshot from 2024-08-15 19-28-29

    |     accelerometer    |       gyroscope      |       attitude       |  linear acceleration |
IMU |   0.00   0.00   0.00 |   0.00   0.00   0.00 |   0.00   0.00   0.00 |   0.00   0.00   0.00 |

Motor driver errors: 423999 | 423999 | 423999 | 423999 | 423999 | 423999 | 

         |   lost   |   sent   | loss ratio | histogram
Commands |        0 |   423999 |       0.00 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
Sensors  |        0 |   424081 |       0.00 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 

Edit: will have to change the code manually to prevent the prints from happening/clearing and debug what I am receiving. I see the code in the example.cpp, going to print some things from there and see what I can find.

Edit 2: Screenshot from 2024-08-15 19-47-49 Looks like all of my error codes are 0xF for the message failing to transmit. the uDriver board is connected to SPI0 through the Hirose alone on its side, while any configuration of the motors being connected on the other end appears to give me the same thing. Code edit in question:

Click to open!

![Screenshot from 2024-08-15 19-53-41](https://github.com/user-attachments/assets/9ea655a1-c8af-4890-835e-0fcb5746951f)