I am using node-red to control a pair of DRS-0201 servos. When I do a ram read command, the packet comes back with a data1 of some random number. But it still passes the checksums. And other times the data length I send is returned correctly but it doesn’t pass the checksums.
I’m sending address 58 and data length 4 in the RAM read command packet. Below is the part of my code that is checking the checksums. Thank you in advance for any help or suggestions you can offer.
let packet = msg.payload
let pID = packet[3];
let cmd = packet[4];
let data = packet.slice(7);
let mapResponse = {};
Did you try to communicate with the RS-0201 through the Herkulex Manager software to confirm that the servos reply appropriately to your commands ? It would be a good first step to make sure that the issue is not hardware related and see if the use of Node-RED is inducing errors.
I have connected to the servos via the Herkulex software and the locations respond seemingly correctly. Unfortunately, the byte that comes back incorrectly in the packet is the data length which isn’t shown in the software so I don’t know a way to tell what value it’s giving me. I’ve also replaced the servos to no more success.
I read the packets straight from serial and see the same occurrence so I don’t think it is a problem with node red.