Is there an error in docs on "Read Status" cmd 90?

General discussion of using Roboclaw motor controllers
Post Reply
ronstory
Posts: 11
Joined: Fri Apr 01, 2022 1:30 pm
Is there an error in docs on "Read Status" cmd 90?

Post by ronstory »

Hi--

i'm trying to implement a c function to read the status of the RC, but i'm confused by the docs, snippit is pasted below. If you look at the receive field, "Status" is defined as one byte, but the mask to decode is a 16bit word.

Which is correct or am I missing something?

Thanks,
Ron

90 - Read Status

Read the current unit status.
Send: [Address, 90]
Receive: [Status, CRC(2 bytes)]

Status Bit Mask
Normal 0x0000
M1 OverCurrent Warning 0x0001
M2 OverCurrent Warning 0x0002
E-Stop 0x0004
Temperature Error 0x0008
Temperature2 Error 0x0010
Main Battery High Error 0x0020
Logic Battery High Error 0x0040
Logic Battery Low Error 0x0080
M1 Driver Fault 0x0100
M2 Driver Fault 0x0200
Main Battery High Warning 0x0400
Main Battery Low Warning 0x0800
Termperature Warning 0x1000
Temperature2 Warning 0x2000
M1 Home 0x4000
M2 Home 0x8000
Thanks,
Ron 2x7A
User avatar
Basicmicro Support
Posts: 1594
Joined: Thu Feb 26, 2015 9:45 pm
Re: Is there an error in docs on "Read Status" cmd 90?

Post by Basicmicro Support »

There is an announcement that explains the changed. The manual can take a long time to get updated so small changes usually get posted in an announcement.

viewtopic.php?f=2&t=924
ronstory
Posts: 11
Joined: Fri Apr 01, 2022 1:30 pm
Re: Is there an error in docs on "Read Status" cmd 90?

Post by ronstory »

Understood. It looks like the first set of messages are masked to 3 bytes and the last two are masked to 4 bytes.

What is the correct length of the response message now?

Thanks,
Ron

From Page 73 of the User Manual

Normal 0x000000
E-Stop 0x000001
Temperature Error 0x000002
Temperature 2 Error 0x000004
Main Voltage High Error 0x000008
Logic Voltage High Error 0x000010
Logic Voltage Low Error 0x000020
M1 Driver Fault Error 0x000040
M2 Driver Fault Error 0x000080
M1 Speed Error 0x000100
M2 Speed Error 0x000200
M1 Position Error 0x000400
M2 Position Error 0x000800
M1 Current Error 0x001000
M2 Current Error 0x002000
M1 Over Current Warning 0x010000
M2 Over Current Warning 0x020000
Main Voltage High Warning 0x040000
Main Voltage Low Warning 0x080000
Temperature Warning 0x100000
Temperature 2 Warning 0x200000
S4 Signal Triggered 0x400000
S5 Signal Triggered 0x800000
Speed Error Limit Warning 0x01000000
Position Error Limit Warning 0x02000000
Thanks,
Ron 2x7A
User avatar
Basicmicro Support
Posts: 1594
Joined: Thu Feb 26, 2015 9:45 pm
Re: Is there an error in docs on "Read Status" cmd 90?

Post by Basicmicro Support »

ReadStatus returns a 32bit value. The low 16bits are error codes and the upper 16bits are warning codes.

Post Reply