/****************************************************************************** * (C) Copyright 2020, 2021, 2022 Cornerstone Robotics, Limited, All Rights Reserved * * Description: CMD, boardID, errs * * Author(s) : Carlos Ma * Created on: 2020-03-17 ******************************************************************************/ #ifndef _EMBDEFINES_H #define _EMBDEFINES_H #ifdef __cplusplus extern "C" { #endif /*====================CMD AND ERR====================*/ #define CMD_IDLE 0x00000000 #define CMD_CLEAR_ERR 0x00000001 #define CMD_WRITE_SETTINGS 0x00000002 #define CMD_BLDC_ENC_CALIBRATION 0x00000003 //#define CMD_CTRL_VABC 0x00000004 #define CMD_CTRL_CURRENT 0x00000005 #define CMD_CTRL_VEL 0x00000006 #define CMD_CTRL_POS 0x00000007 #define ERR_NORMAL 0x00000008 //#define ERR_PWR_OVERVOLTAGE 0x20000009 //#define ERR_PWR_UNDERVOLTAGE 0x2000000A //#define ERR_PWR_OVERCURRENT 0x2000000B #define ERR_MOTOR_DRVFAULT 0x2000000C //#define ERR_BLDC_OVERVOLTAGE 0x2000000D #define ERR_MOTOR_OVERCURRENT 0x2000000E //#define ERR_BLDC_OVERHEAT 0x1000000F #define ERR_BLDC_ENC 0x30000010 //#define ERR_BRAKE_OVERVOLTAGE 0x30000011 #define ERR_BRAKE_OVERCURRENT 0x20000012 //#define ERR_BRAKE_OVERHEAT 0x10000013 #define ERR_USR_TIMEOUT 0x20000032 // FW will require clear err in 1.1.2.0 #define ERR_UNKNOWN_BRD 0x30000000 #define CMD_BRAKE_OPEN 20 #define CMD_SET_ZERO_POS 21 #define CMD_REVERSE_MOTOR 22 #define CMD_REVERSE_ENC_IN 23 #define CMD_REVERSE_ENC_OUT 24 #define CMD_SET_GEARRATIO_IN 25 #define CMD_SET_GEARRATIO_OUT 26 //#define CMD_SET_CURRLOOP_PID 27 //#define CMD_SET_POSLOOP_PID 28 #define CMD_BLDC_CURRLOOP_CALIBRATION 30 #define CMD_BLDC_IO_ENC_CALIBRATION 40 #define CMD_BLDC_TORQUE_RPPLE_CALIBRATION 41 #define CMD_GET_SOFTWARE_VERSION 42 #define CMD_GET_HARDWARE_VERSION 43 #define CMD_MPK_AEAT9922_AUTOCAL 92 /*====================BRD ID==================== BOARD IDs [1B PARENT] [2B MODULE] [1B REV] //PARENT 0xAA MISC 0x01 PSA 0x02 SSA 0x03 SGH 0x04 MCT 0x05 ACB //MODULE 0xFFFF ETHERCAT_TEST 0x0001 CMD_CTRL / MCT_MOTOR_CTRL 0x0002 PLM_CTRL 0x0003 ISA_CTRL 0x0004 MPK_CTRL 0x0007 COL_CTRL 0x0010 PFA_CTRL 0x0011 PFA_Q1_CTRL 0x0012 PFA_Q2_CTRL 0x0013 PFA_Q3_CTRL 0x0014 PFA_Q4_CTRL 0x0020 GBW_CTRL 0x0021 GBW_PITCH 0x0022 GBW_YAW 0x0023 GBW_ROLL 0x0031 HEAD_SENS */ typedef enum { BRD_MISC_ETHERCAT_TEST_V1 = 0xAAFFFF01, BRD_PSA_CMD_CTRL_V3 = 0x01000103, BRD_PSA_CMD_CTRL_V4 = 0x01000104, BRD_PSA_CMD_CTRL_V5 = 0x01000104, BRD_PSA_ISA_CTRL_V3 = 0x01000303, BRD_PSA_ISA_CTRL_V4 = 0x01000303, BRD_PSA_ISA_CTRL_V5 = 0x01000305, BRD_PSA_MPK_CTRL_V3 = 0x01000403, BRD_PSA_CNA_CTRL_V1 = 0x01000501, BRD_SUJ_CTRL_V1 = 0x01000601, BRD_PSA_COL_CTRL_V2 = 0x01000702, BRD_SSA_PFA_CTRL = 0x02001000, BRD_SSA_PFA_Q1_CTRL_V1 = 0x02001101, BRD_SSA_PFA_Q2_CTRL_V1 = 0x02001201, BRD_SSA_PFA_Q3_CTRL_V1 = 0x02001301, BRD_SSA_PFA_Q4_CTRL_V1 = 0x02001401, BRD_SSA_PFA_Q1_CTRL_V1B = 0x02001102, BRD_SSA_PFA_Q2_CTRL_V1B = 0x02001202, BRD_SSA_PFA_Q3_CTRL_V1B = 0x02001302, BRD_SSA_PFA_Q4_CTRL_V1B = 0x02001402, BRD_SSA_GBW_CTRL = 0x02002000, BRD_SSA_GBW_CTRL_PITCH_V1B = 0x02002102, BRD_SSA_GBW_CTRL_YAW_V1B = 0x02002202, BRD_SSA_GBW_CTRL_ROLL_V1B = 0x02002302, BRD_MCT_MOTOR_CTRL_V1 = 0x04000101, BRD_MCT_MOTOR_CTRL_V2 = 0x04000102, BRD_MCT_PARK_STRUCT_CTRL_V2 = 0x04000201, BRD_SGC_MOTOR_CTRL_V1 = 0x04000103, //暂时用V2ID BRD_SGC_STATION_MCU_V1 = 0x04000200, BRD_SGH_FOOTREST_CTRL_V1 = 0x03003101, BRD_SGC_HEAD_PCH_CTRL_V1 = 0x03003201, BRD_SGC_ARM_REST_LEFT_V1 = 0x03003301, BRD_SGC_ARM_REST_RIGHT_V1 = 0x03003401, BRD_SGC_SSA_UPDOWN_V1 = 0x03003501, BRD_SGC_HEAD_UPDOWN_V1 = 0x03003601, BRD_SGC_FOOT_PDL_V1 = 0x03003701, BRD_SSA_PFA_Q1_CTRL_V3 = 0x02001103, BRD_SSA_PFA_Q2_CTRL_V3 = 0x02001203, BRD_SSA_PFA_Q3_CTRL_V3 = 0x02001303, BRD_SSA_PFA_Q4_CTRL_V3 = 0x02001403, BRD_SSA_PFA_Q1_CTRL_V4 = 0x02001104, //PFA 4.x BRD_SSA_PFA_Q2_CTRL_V4 = 0x02001204, BRD_SSA_PFA_Q3_CTRL_V4 = 0x02001304, BRD_SSA_PFA_Q4_CTRL_V4 = 0x02001404, BRD_SSA_PFA_Q4_CTRL_V5 = 0x02001405, //PFA 5.0 (Gamma) BRD_SSA_GBW_CTRL_PITCH_V2 = 0x02002103, //GBW 4.1 BRD_SSA_GBW_CTRL_YAW_V2 = 0x02002203, BRD_SSA_GBW_CTRL_ROLL_V2 = 0x02002303, BRD_SSA_GBW_CTRL_PITCH_V2B = 0x02002104, //GBW 4.2 & 4.4 BRD_SSA_GBW_CTRL_YAW_V2B = 0x02002204, BRD_SSA_GBW_CTRL_ROLL_V2B = 0x02002304, BRD_SSA_PFA_3IN1_CTRL_V1 = 0x02001001, } brdId_t; /*====================ECS ID====================*/ #define ECAT_VENDOR_ID 0x255 #define ECAT_VENDOR_NAME CSRBTX #define ECAT_PRODUCT_CODE 0x081E0000 #define ECAT_PRODUCT_REV 0x00 #define ECAT_PRODUCT_NAME CSR_ECS_GENERIC /*====================CAN ID====================*/ // CAN command ID #define COMMID_CNA_LED 0x068 // control CNA LED state #define COMMID_CNA_MCU_HB_ERROR 0x029 // feedback CNA button state #define COMMID_CNA_MCU_STATES 0x069 // feedback CNA cannula state // CAN node ID #define NODEID_CNA_CTRL 0x02 // control CNA // CAN Subsystem ID #define SUBSID_PSR 0x02 // PSR //#define CANID_PSR_CNA_LED (SUBSID_PSR << 6) | (NODEID_CNA_CTRL << 4) | COMMID_CNA_LED //#define CANID_PSR_CNA_BUTTON (SUBSID_PSR << 6) | (NODEID_CNA_CTRL << 4) | COMMID_CNA_BUTTON //#define CANID_PSR_CNA_CANNULA (SUBSID_PSR << 6) | (NODEID_CNA_CTRL << 4) | COMMID_CNA_CANNULA #ifdef __cplusplus } #endif #endif