IRDYn/GC_calibration/embDefines.h

175 lines
6.1 KiB
C

/******************************************************************************
* (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