Spaces:
Running
Running
// 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; |