RobotHub-Frontend / packages /feetech.js /scsservo_constants.mjs
blanchon's picture
Update
f62f94b
// Constants for FeetTech SCS servos
// Constants
export const BROADCAST_ID = 0xFE; // 254
export const MAX_ID = 0xFC; // 252
// Protocol instructions
export const INST_PING = 1;
export const INST_READ = 2;
export const INST_WRITE = 3;
export const INST_REG_WRITE = 4;
export const INST_ACTION = 5;
export const INST_SYNC_WRITE = 131; // 0x83
export const INST_SYNC_READ = 130; // 0x82
export const INST_STATUS = 85; // 0x55, status packet instruction (0x55)
// Communication results
export const COMM_SUCCESS = 0; // tx or rx packet communication success
export const COMM_PORT_BUSY = -1; // Port is busy (in use)
export const COMM_TX_FAIL = -2; // Failed transmit instruction packet
export const COMM_RX_FAIL = -3; // Failed get status packet
export const COMM_TX_ERROR = -4; // Incorrect instruction packet
export const COMM_RX_WAITING = -5; // Now receiving status packet
export const COMM_RX_TIMEOUT = -6; // There is no status packet
export const COMM_RX_CORRUPT = -7; // Incorrect status packet
export const COMM_NOT_AVAILABLE = -9;
// Packet constants
export const TXPACKET_MAX_LEN = 250;
export const RXPACKET_MAX_LEN = 250;
// Protocol Packet positions
export const PKT_HEADER0 = 0;
export const PKT_HEADER1 = 1;
export const PKT_ID = 2;
export const PKT_LENGTH = 3;
export const PKT_INSTRUCTION = 4;
export const PKT_ERROR = 4;
export const PKT_PARAMETER0 = 5;
// Protocol Error bits
export const ERRBIT_VOLTAGE = 1;
export const ERRBIT_ANGLE = 2;
export const ERRBIT_OVERHEAT = 4;
export const ERRBIT_OVERELE = 8;
export const ERRBIT_OVERLOAD = 32;
// Control table addresses (SCS servos)
export const ADDR_SCS_TORQUE_ENABLE = 40;
export const ADDR_SCS_GOAL_ACC = 41;
export const ADDR_SCS_GOAL_POSITION = 42;
export const ADDR_SCS_GOAL_SPEED = 46;
export const ADDR_SCS_PRESENT_POSITION = 56;