Motor of Magni is not running

Hello all,
When I tried to run Magni with UART communication between Raspberry Pi and Magni, I got the following error message.

(line 3) [ERROR] [1617332252.800993992] : setting deadzone enable to 1
(line 4) [ERROR] [1617332252.808362333] : GOT error from Firm 0x00

How can I solve this problem?

In addition, the following is the result of executing the python file to run the motor.

ubuntu@ubiquityrobot:~$ python /opt/ros/kinetic/lib/ubiquity_motor/test_motor_board.py
Running with script version: 20190703
Using serial device file: /dev/ttyAMA0
Start Serial port using device /dev/ttyAMA0
Serial port opened
Set motors to run at 0.0 MPs
Finished with run command
ONLY USE THIS LOW LEVEL UTILITY WITH EXPLICIT HELP FROM Ubiquity Robotics SUPPORT!
ONLY RUN WHEN MAGNI IS STOPPED!. Use sudo systemctl stop magni-base.service
Commands: h or ? for help. v for versions of firmware and hardware. Use Control-C to quit or E
Speeds: Enter 0 - 9 fwd speed. n,N slow/fast reverse. s for ‘any speed’ or c cycle last fwd/reverse
v - Query firmware and hw version setting o - Query 8-bit hardware option port with real board rev
q - Query a 16 bit word value from register. Q - Query 32 bit register value
S - Set a word value from for any register. Enter reg as hex and value as decimal
21 = Hardware Rev (50 = 5.0) 22 = Firmware version
32 = Query if firmware thinks motors active 33 = Set to 1 to enable any exit of ESTOP feature
34 = Set to max PID threshold where pre rev 5.0 boards did a safer ESTOP release. 0 to disable
35 = Set to the max forward limit speed 36 - Set to a max negative reverse limit speed
37 = Set max PWM setting [250]

o
Query hardware version from I2C interface on motor controller board
Setup 8-bit I2C port to set as inputs. Also detect if port is present
Motor power is OFF
Motor Controller Board Revision is: 51
Option jumper block is set to: (install a jumper sets a bit to 0) 7
v
Fetch software and hardware version information
fw revision 37
fw daycode 20200620
hw revision 4.9
o
Query hardware version from I2C interface on motor controller board
Setup 8-bit I2C port to set as inputs. Also detect if port is present
Motor power is OFF
Motor Controller Board Revision is: 51
Option jumper block is set to: (install a jumper sets a bit to 0) 7

Translated with DeepL Translate: The world's most accurate translator (free version)

This tool is a standalone diagnostic tool. It has been most recently modified for when the MCB is using firmware version 40 or later. Your firmware version is 37 which at this time is considered depricated. So the tool may be using features not in revision 37 firmware is one possible reason for the errors. I really don’t remember except to say revision 37 is ok for general magni usage but a great many fixes and improvements have happened to get to recent revision 42.

It says your board revision is 5.1 (the 51) so please verify that the left edge of your board really says version 5.1 because I also see a ‘hw revision 4.9’ so that is misleading. You can see board revision on silkscreen in white if the MCB is rev 5.1 or later. It is also there but very hard to read on left edge as it is just in copper under the solder mask but it can be read.

This page on our ‘Learn’ pages discusses upgrades to firmware:
https://learn.ubiquityrobotics.com/noetic_magnisilver_mcb_upgrade

I do not know what your errors were specifically as it has been ages since I run rev 37 firmware but that is the rev that was around when the rev 5.1 MCB boards were made 3 or so years back.

A rev of 42 is what we ship today and it is compatible with rev 5.1 and later boards.

Thanks, Mark