Spaces:
Running
Running
File size: 1,838 Bytes
6ce4ca6 f62f94b 6ce4ca6 f62f94b 6ce4ca6 f62f94b 6ce4ca6 f62f94b |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
// 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; |