WPILib 2012
WPILibRoboticsLibraryforFRC
|
00001 //***************************************************************************** 00002 // 00003 // can_proto.h - Definitions for the CAN protocol used to communicate with the 00004 // BDC motor controller. 00005 // 00006 // Copyright (c) 2008 Texas Instruments Incorporated. All rights reserved. 00007 // TI Information - Selective Disclosure 00008 // 00009 //***************************************************************************** 00010 00011 #ifndef __CAN_PROTO_H__ 00012 #define __CAN_PROTO_H__ 00013 00014 //***************************************************************************** 00015 // 00016 // The masks of the fields that are used in the message identifier. 00017 // 00018 //***************************************************************************** 00019 #define CAN_MSGID_FULL_M 0x1fffffff 00020 #define CAN_MSGID_DEVNO_M 0x0000003f 00021 #define CAN_MSGID_API_M 0x0000ffc0 00022 #define CAN_MSGID_MFR_M 0x00ff0000 00023 #define CAN_MSGID_DTYPE_M 0x1f000000 00024 #define CAN_MSGID_DEVNO_S 0 00025 #define CAN_MSGID_API_S 6 00026 #define CAN_MSGID_MFR_S 16 00027 #define CAN_MSGID_DTYPE_S 24 00028 00029 //***************************************************************************** 00030 // 00031 // The Reserved device number values in the Message Id. 00032 // 00033 //***************************************************************************** 00034 #define CAN_MSGID_DEVNO_BCAST 0x00000000 00035 00036 //***************************************************************************** 00037 // 00038 // The Reserved system control API numbers in the Message Id. 00039 // 00040 //***************************************************************************** 00041 #define CAN_MSGID_API_SYSHALT 0x00000000 00042 #define CAN_MSGID_API_SYSRST 0x00000040 00043 #define CAN_MSGID_API_DEVASSIGN 0x00000080 00044 #define CAN_MSGID_API_DEVQUERY 0x000000c0 00045 #define CAN_MSGID_API_HEARTBEAT 0x00000140 00046 #define CAN_MSGID_API_SYNC 0x00000180 00047 #define CAN_MSGID_API_UPDATE 0x000001c0 00048 #define CAN_MSGID_API_FIRMVER 0x00000200 00049 #define CAN_MSGID_API_ENUMERATE 0x00000240 00050 #define CAN_MSGID_API_SYSRESUME 0x00000280 00051 00052 //***************************************************************************** 00053 // 00054 // The 32 bit values associated with the CAN_MSGID_API_STATUS request. 00055 // 00056 //***************************************************************************** 00057 #define CAN_STATUS_CODE_M 0x0000ffff 00058 #define CAN_STATUS_MFG_M 0x00ff0000 00059 #define CAN_STATUS_DTYPE_M 0x1f000000 00060 #define CAN_STATUS_CODE_S 0 00061 #define CAN_STATUS_MFG_S 16 00062 #define CAN_STATUS_DTYPE_S 24 00063 00064 //***************************************************************************** 00065 // 00066 // The Reserved manufacturer identifiers in the Message Id. 00067 // 00068 //***************************************************************************** 00069 #define CAN_MSGID_MFR_NI 0x00010000 00070 #define CAN_MSGID_MFR_LM 0x00020000 00071 #define CAN_MSGID_MFR_DEKA 0x00030000 00072 00073 //***************************************************************************** 00074 // 00075 // The Reserved device type identifiers in the Message Id. 00076 // 00077 //***************************************************************************** 00078 #define CAN_MSGID_DTYPE_BCAST 0x00000000 00079 #define CAN_MSGID_DTYPE_ROBOT 0x01000000 00080 #define CAN_MSGID_DTYPE_MOTOR 0x02000000 00081 #define CAN_MSGID_DTYPE_RELAY 0x03000000 00082 #define CAN_MSGID_DTYPE_GYRO 0x04000000 00083 #define CAN_MSGID_DTYPE_ACCEL 0x05000000 00084 #define CAN_MSGID_DTYPE_USONIC 0x06000000 00085 #define CAN_MSGID_DTYPE_GEART 0x07000000 00086 #define CAN_MSGID_DTYPE_UPDATE 0x1f000000 00087 00088 //***************************************************************************** 00089 // 00090 // LM Motor Control API Classes API Class and ID masks. 00091 // 00092 //***************************************************************************** 00093 #define CAN_MSGID_API_CLASS_M 0x0000fc00 00094 #define CAN_MSGID_API_ID_M 0x000003c0 00095 00096 //***************************************************************************** 00097 // 00098 // LM Motor Control API Classes in the Message Id for non-broadcast. 00099 // These are the upper 6 bits of the API field, the lower 4 bits determine 00100 // the APIId. 00101 // 00102 //***************************************************************************** 00103 #define CAN_API_MC_VOLTAGE 0x00000000 00104 #define CAN_API_MC_SPD 0x00000400 00105 #define CAN_API_MC_VCOMP 0x00000800 00106 #define CAN_API_MC_POS 0x00000c00 00107 #define CAN_API_MC_ICTRL 0x00001000 00108 #define CAN_API_MC_STATUS 0x00001400 00109 #define CAN_API_MC_PSTAT 0x00001800 00110 #define CAN_API_MC_CFG 0x00001c00 00111 #define CAN_API_MC_ACK 0x00002000 00112 00113 //***************************************************************************** 00114 // 00115 // The Stellaris Motor Class Control Voltage API definitions. 00116 // 00117 //***************************************************************************** 00118 #define LM_API_VOLT (CAN_MSGID_MFR_LM | CAN_MSGID_DTYPE_MOTOR | \ 00119 CAN_API_MC_VOLTAGE) 00120 #define LM_API_VOLT_EN (LM_API_VOLT | (0 << CAN_MSGID_API_S)) 00121 #define LM_API_VOLT_DIS (LM_API_VOLT | (1 << CAN_MSGID_API_S)) 00122 #define LM_API_VOLT_SET (LM_API_VOLT | (2 << CAN_MSGID_API_S)) 00123 #define LM_API_VOLT_SET_RAMP (LM_API_VOLT | (3 << CAN_MSGID_API_S)) 00124 //##### FIRST BEGIN ##### 00125 #define LM_API_VOLT_T_EN (LM_API_VOLT | (4 << CAN_MSGID_API_S)) 00126 #define LM_API_VOLT_T_SET (LM_API_VOLT | (5 << CAN_MSGID_API_S)) 00127 #define LM_API_VOLT_T_SET_NO_ACK \ 00128 (LM_API_VOLT | (7 << CAN_MSGID_API_S)) 00129 //##### FIRST END ##### 00130 #define LM_API_VOLT_SET_NO_ACK (LM_API_VOLT | (8 << CAN_MSGID_API_S)) 00131 00132 //***************************************************************************** 00133 // 00134 // The Stellaris Motor Class Control API definitions for LM_API_VOLT_SET_RAMP. 00135 // 00136 //***************************************************************************** 00137 #define LM_API_VOLT_RAMP_DIS 0 00138 00139 //***************************************************************************** 00140 // 00141 // The Stellaris Motor Class Control API definitions for CAN_MSGID_API_SYNC. 00142 // 00143 //***************************************************************************** 00144 #define LM_API_SYNC_PEND_NOW 0 00145 00146 //***************************************************************************** 00147 // 00148 // The Stellaris Motor Class Speed Control API definitions. 00149 // 00150 //***************************************************************************** 00151 #define LM_API_SPD (CAN_MSGID_MFR_LM | CAN_MSGID_DTYPE_MOTOR | \ 00152 CAN_API_MC_SPD) 00153 #define LM_API_SPD_EN (LM_API_SPD | (0 << CAN_MSGID_API_S)) 00154 #define LM_API_SPD_DIS (LM_API_SPD | (1 << CAN_MSGID_API_S)) 00155 #define LM_API_SPD_SET (LM_API_SPD | (2 << CAN_MSGID_API_S)) 00156 #define LM_API_SPD_PC (LM_API_SPD | (3 << CAN_MSGID_API_S)) 00157 #define LM_API_SPD_IC (LM_API_SPD | (4 << CAN_MSGID_API_S)) 00158 #define LM_API_SPD_DC (LM_API_SPD | (5 << CAN_MSGID_API_S)) 00159 #define LM_API_SPD_REF (LM_API_SPD | (6 << CAN_MSGID_API_S)) 00160 //##### FIRST BEGIN ##### 00161 #define LM_API_SPD_T_EN (LM_API_SPD | (7 << CAN_MSGID_API_S)) 00162 #define LM_API_SPD_T_SET (LM_API_SPD | (8 << CAN_MSGID_API_S)) 00163 #define LM_API_SPD_T_SET_NO_ACK (LM_API_SPD | (10 << CAN_MSGID_API_S)) 00164 //##### FIRST END ##### 00165 #define LM_API_SPD_SET_NO_ACK (LM_API_SPD | (11 << CAN_MSGID_API_S)) 00166 00167 //***************************************************************************** 00168 // 00169 // The Stellaris Motor Control Voltage Compensation Control API definitions. 00170 // 00171 //***************************************************************************** 00172 #define LM_API_VCOMP (CAN_MSGID_MFR_LM | CAN_MSGID_DTYPE_MOTOR | \ 00173 CAN_API_MC_VCOMP) 00174 #define LM_API_VCOMP_EN (LM_API_VCOMP | (0 << CAN_MSGID_API_S)) 00175 #define LM_API_VCOMP_DIS (LM_API_VCOMP | (1 << CAN_MSGID_API_S)) 00176 #define LM_API_VCOMP_SET (LM_API_VCOMP | (2 << CAN_MSGID_API_S)) 00177 #define LM_API_VCOMP_IN_RAMP (LM_API_VCOMP | (3 << CAN_MSGID_API_S)) 00178 #define LM_API_VCOMP_COMP_RAMP (LM_API_VCOMP | (4 << CAN_MSGID_API_S)) 00179 //##### FIRST BEGIN ##### 00180 #define LM_API_VCOMP_T_EN (LM_API_VCOMP | (5 << CAN_MSGID_API_S)) 00181 #define LM_API_VCOMP_T_SET (LM_API_VCOMP | (6 << CAN_MSGID_API_S)) 00182 #define LM_API_VCOMP_T_SET_NO_ACK \ 00183 (LM_API_VCOMP | (8 << CAN_MSGID_API_S)) 00184 //##### FIRST END ##### 00185 #define LM_API_VCOMP_SET_NO_ACK (LM_API_VCOMP | (9 << CAN_MSGID_API_S)) 00186 00187 //***************************************************************************** 00188 // 00189 // The Stellaris Motor Class Position Control API definitions. 00190 // 00191 //***************************************************************************** 00192 #define LM_API_POS (CAN_MSGID_MFR_LM | CAN_MSGID_DTYPE_MOTOR | \ 00193 CAN_API_MC_POS) 00194 #define LM_API_POS_EN (LM_API_POS | (0 << CAN_MSGID_API_S)) 00195 #define LM_API_POS_DIS (LM_API_POS | (1 << CAN_MSGID_API_S)) 00196 #define LM_API_POS_SET (LM_API_POS | (2 << CAN_MSGID_API_S)) 00197 #define LM_API_POS_PC (LM_API_POS | (3 << CAN_MSGID_API_S)) 00198 #define LM_API_POS_IC (LM_API_POS | (4 << CAN_MSGID_API_S)) 00199 #define LM_API_POS_DC (LM_API_POS | (5 << CAN_MSGID_API_S)) 00200 #define LM_API_POS_REF (LM_API_POS | (6 << CAN_MSGID_API_S)) 00201 //##### FIRST BEGIN ##### 00202 #define LM_API_POS_T_EN (LM_API_POS | (7 << CAN_MSGID_API_S)) 00203 #define LM_API_POS_T_SET (LM_API_POS | (8 << CAN_MSGID_API_S)) 00204 #define LM_API_POS_T_SET_NO_ACK (LM_API_POS | (10 << CAN_MSGID_API_S)) 00205 //##### FIRST END ##### 00206 #define LM_API_POS_SET_NO_ACK (LM_API_POS | (11 << CAN_MSGID_API_S)) 00207 00208 //***************************************************************************** 00209 // 00210 // The Stellaris Motor Class Current Control API definitions. 00211 // 00212 //***************************************************************************** 00213 #define LM_API_ICTRL (CAN_MSGID_MFR_LM | CAN_MSGID_DTYPE_MOTOR | \ 00214 CAN_API_MC_ICTRL) 00215 #define LM_API_ICTRL_EN (LM_API_ICTRL | (0 << CAN_MSGID_API_S)) 00216 #define LM_API_ICTRL_DIS (LM_API_ICTRL | (1 << CAN_MSGID_API_S)) 00217 #define LM_API_ICTRL_SET (LM_API_ICTRL | (2 << CAN_MSGID_API_S)) 00218 #define LM_API_ICTRL_PC (LM_API_ICTRL | (3 << CAN_MSGID_API_S)) 00219 #define LM_API_ICTRL_IC (LM_API_ICTRL | (4 << CAN_MSGID_API_S)) 00220 #define LM_API_ICTRL_DC (LM_API_ICTRL | (5 << CAN_MSGID_API_S)) 00221 //##### FIRST BEGIN ##### 00222 #define LM_API_ICTRL_T_EN (LM_API_ICTRL | (6 << CAN_MSGID_API_S)) 00223 #define LM_API_ICTRL_T_SET (LM_API_ICTRL | (7 << CAN_MSGID_API_S)) 00224 #define LM_API_ICTRL_T_SET_NO_ACK \ 00225 (LM_API_ICTRL | (9 << CAN_MSGID_API_S)) 00226 //##### FIRST END ##### 00227 #define LM_API_ICTRL_SET_NO_ACK (LM_API_ICTRL | (10 << CAN_MSGID_API_S)) 00228 00229 //***************************************************************************** 00230 // 00231 // The Stellaris Motor Class Firmware Update API definitions. 00232 // 00233 //***************************************************************************** 00234 #define LM_API_UPD (CAN_MSGID_MFR_LM | CAN_MSGID_DTYPE_UPDATE) 00235 #define LM_API_UPD_PING (LM_API_UPD | (0 << CAN_MSGID_API_S)) 00236 #define LM_API_UPD_DOWNLOAD (LM_API_UPD | (1 << CAN_MSGID_API_S)) 00237 #define LM_API_UPD_SEND_DATA (LM_API_UPD | (2 << CAN_MSGID_API_S)) 00238 #define LM_API_UPD_RESET (LM_API_UPD | (3 << CAN_MSGID_API_S)) 00239 #define LM_API_UPD_ACK (LM_API_UPD | (4 << CAN_MSGID_API_S)) 00240 #define LM_API_HWVER (LM_API_UPD | (5 << CAN_MSGID_API_S)) 00241 #define LM_API_UPD_REQUEST (LM_API_UPD | (6 << CAN_MSGID_API_S)) 00242 //##### FIRST BEGIN ##### 00243 #define LM_API_UNTRUST_EN (LM_API_UPD | (11 << CAN_MSGID_API_S)) 00244 #define LM_API_TRUST_EN (LM_API_UPD | (12 << CAN_MSGID_API_S)) 00245 #define LM_API_TRUST_HEARTBEAT (LM_API_UPD | (13 << CAN_MSGID_API_S)) 00246 //##### FIRST END ##### 00247 00248 //***************************************************************************** 00249 // 00250 // The Stellaris Motor Class Status API definitions. 00251 // 00252 //***************************************************************************** 00253 #define LM_API_STATUS (CAN_MSGID_MFR_LM | CAN_MSGID_DTYPE_MOTOR | \ 00254 CAN_API_MC_STATUS) 00255 #define LM_API_STATUS_VOLTOUT (LM_API_STATUS | (0 << CAN_MSGID_API_S)) 00256 #define LM_API_STATUS_VOLTBUS (LM_API_STATUS | (1 << CAN_MSGID_API_S)) 00257 #define LM_API_STATUS_CURRENT (LM_API_STATUS | (2 << CAN_MSGID_API_S)) 00258 #define LM_API_STATUS_TEMP (LM_API_STATUS | (3 << CAN_MSGID_API_S)) 00259 #define LM_API_STATUS_POS (LM_API_STATUS | (4 << CAN_MSGID_API_S)) 00260 #define LM_API_STATUS_SPD (LM_API_STATUS | (5 << CAN_MSGID_API_S)) 00261 #define LM_API_STATUS_LIMIT (LM_API_STATUS | (6 << CAN_MSGID_API_S)) 00262 #define LM_API_STATUS_FAULT (LM_API_STATUS | (7 << CAN_MSGID_API_S)) 00263 #define LM_API_STATUS_POWER (LM_API_STATUS | (8 << CAN_MSGID_API_S)) 00264 #define LM_API_STATUS_CMODE (LM_API_STATUS | (9 << CAN_MSGID_API_S)) 00265 #define LM_API_STATUS_VOUT (LM_API_STATUS | (10 << CAN_MSGID_API_S)) 00266 #define LM_API_STATUS_STKY_FLT (LM_API_STATUS | (11 << CAN_MSGID_API_S)) 00267 #define LM_API_STATUS_FLT_COUNT (LM_API_STATUS | (12 << CAN_MSGID_API_S)) 00268 00269 //***************************************************************************** 00270 // 00271 // These definitions are used with the byte that is returned from 00272 // the status request for LM_API_STATUS_LIMIT. 00273 // 00274 //***************************************************************************** 00275 #define LM_STATUS_LIMIT_FWD 0x01 00276 #define LM_STATUS_LIMIT_REV 0x02 00277 #define LM_STATUS_LIMIT_SFWD 0x04 00278 #define LM_STATUS_LIMIT_SREV 0x08 00279 #define LM_STATUS_LIMIT_STKY_FWD \ 00280 0x10 00281 #define LM_STATUS_LIMIT_STKY_REV \ 00282 0x20 00283 #define LM_STATUS_LIMIT_STKY_SFWD \ 00284 0x40 00285 #define LM_STATUS_LIMIT_STKY_SREV \ 00286 0x80 00287 00288 //***************************************************************************** 00289 // 00290 // LM Motor Control status codes returned due to the CAN_STATUS_CODE_M field. 00291 // 00292 //***************************************************************************** 00293 #define LM_STATUS_FAULT_ILIMIT 0x01 00294 #define LM_STATUS_FAULT_TLIMIT 0x02 00295 #define LM_STATUS_FAULT_VLIMIT 0x04 00296 00297 //***************************************************************************** 00298 // 00299 // The Stellaris Motor Class Configuration API definitions. 00300 // 00301 //***************************************************************************** 00302 #define LM_API_CFG (CAN_MSGID_MFR_LM | CAN_MSGID_DTYPE_MOTOR | \ 00303 CAN_API_MC_CFG) 00304 #define LM_API_CFG_NUM_BRUSHES (LM_API_CFG | (0 << CAN_MSGID_API_S)) 00305 #define LM_API_CFG_ENC_LINES (LM_API_CFG | (1 << CAN_MSGID_API_S)) 00306 #define LM_API_CFG_POT_TURNS (LM_API_CFG | (2 << CAN_MSGID_API_S)) 00307 #define LM_API_CFG_BRAKE_COAST (LM_API_CFG | (3 << CAN_MSGID_API_S)) 00308 #define LM_API_CFG_LIMIT_MODE (LM_API_CFG | (4 << CAN_MSGID_API_S)) 00309 #define LM_API_CFG_LIMIT_FWD (LM_API_CFG | (5 << CAN_MSGID_API_S)) 00310 #define LM_API_CFG_LIMIT_REV (LM_API_CFG | (6 << CAN_MSGID_API_S)) 00311 #define LM_API_CFG_MAX_VOUT (LM_API_CFG | (7 << CAN_MSGID_API_S)) 00312 #define LM_API_CFG_FAULT_TIME (LM_API_CFG | (8 << CAN_MSGID_API_S)) 00313 00314 //***************************************************************************** 00315 // 00316 // The Stellaris ACK API definition. 00317 // 00318 //***************************************************************************** 00319 #define LM_API_ACK (CAN_MSGID_MFR_LM | CAN_MSGID_DTYPE_MOTOR | \ 00320 CAN_API_MC_ACK) 00321 00322 //***************************************************************************** 00323 // 00324 // The 8 bit values that can be returned by a call to LM_API_STATUS_HWVER. 00325 // 00326 //***************************************************************************** 00327 #define LM_HWVER_UNKNOWN 0x00 00328 #define LM_HWVER_JAG_1_0 0x01 00329 #define LM_HWVER_JAG_2_0 0x02 00330 00331 //***************************************************************************** 00332 // 00333 // The 8 bit values that can be returned by a call to LM_API_STATUS_CMODE. 00334 // 00335 //***************************************************************************** 00336 #define LM_STATUS_CMODE_VOLT 0x00 00337 #define LM_STATUS_CMODE_CURRENT 0x01 00338 #define LM_STATUS_CMODE_SPEED 0x02 00339 #define LM_STATUS_CMODE_POS 0x03 00340 #define LM_STATUS_CMODE_VCOMP 0x04 00341 00342 //***************************************************************************** 00343 // 00344 // The values that can specified as the position or speed reference. Not all 00345 // values are valid for each reference; if an invalid reference is set, then 00346 // none will be selected. 00347 // 00348 //***************************************************************************** 00349 #define LM_REF_ENCODER 0x00 00350 #define LM_REF_POT 0x01 00351 #define LM_REF_INV_ENCODER 0x02 00352 #define LM_REF_QUAD_ENCODER 0x03 00353 #define LM_REF_NONE 0xff 00354 00355 //***************************************************************************** 00356 // 00357 // The flags that are used to indicate the currently active fault sources. 00358 // 00359 //***************************************************************************** 00360 #define LM_FAULT_CURRENT 0x01 00361 #define LM_FAULT_TEMP 0x02 00362 #define LM_FAULT_VBUS 0x04 00363 #define LM_FAULT_GATE_DRIVE 0x08 00364 #define LM_FAULT_COMM 0x10 00365 00366 //***************************************************************************** 00367 // 00368 // The Stellaris Motor Class Periodic Status API definitions. 00369 // 00370 //***************************************************************************** 00371 #define LM_API_PSTAT (CAN_MSGID_MFR_LM | CAN_MSGID_DTYPE_MOTOR | \ 00372 CAN_API_MC_PSTAT) 00373 #define LM_API_PSTAT_PER_EN_S0 (LM_API_PSTAT | (0 << CAN_MSGID_API_S)) 00374 #define LM_API_PSTAT_PER_EN_S1 (LM_API_PSTAT | (1 << CAN_MSGID_API_S)) 00375 #define LM_API_PSTAT_PER_EN_S2 (LM_API_PSTAT | (2 << CAN_MSGID_API_S)) 00376 #define LM_API_PSTAT_PER_EN_S3 (LM_API_PSTAT | (3 << CAN_MSGID_API_S)) 00377 #define LM_API_PSTAT_CFG_S0 (LM_API_PSTAT | (4 << CAN_MSGID_API_S)) 00378 #define LM_API_PSTAT_CFG_S1 (LM_API_PSTAT | (5 << CAN_MSGID_API_S)) 00379 #define LM_API_PSTAT_CFG_S2 (LM_API_PSTAT | (6 << CAN_MSGID_API_S)) 00380 #define LM_API_PSTAT_CFG_S3 (LM_API_PSTAT | (7 << CAN_MSGID_API_S)) 00381 #define LM_API_PSTAT_DATA_S0 (LM_API_PSTAT | (8 << CAN_MSGID_API_S)) 00382 #define LM_API_PSTAT_DATA_S1 (LM_API_PSTAT | (9 << CAN_MSGID_API_S)) 00383 #define LM_API_PSTAT_DATA_S2 (LM_API_PSTAT | (10 << CAN_MSGID_API_S)) 00384 #define LM_API_PSTAT_DATA_S3 (LM_API_PSTAT | (11 << CAN_MSGID_API_S)) 00385 00386 //***************************************************************************** 00387 // 00388 // The values that can be used to configure the data the Periodic Status 00389 // Message bytes. Bytes of a multi-byte data values are encoded as 00390 // little-endian, therefore B0 is the least significant byte. 00391 // 00392 //***************************************************************************** 00393 #define LM_PSTAT_END 0 00394 #define LM_PSTAT_VOLTOUT_B0 1 00395 #define LM_PSTAT_VOLTOUT_B1 2 00396 #define LM_PSTAT_VOLTBUS_B0 3 00397 #define LM_PSTAT_VOLTBUS_B1 4 00398 #define LM_PSTAT_CURRENT_B0 5 00399 #define LM_PSTAT_CURRENT_B1 6 00400 #define LM_PSTAT_TEMP_B0 7 00401 #define LM_PSTAT_TEMP_B1 8 00402 #define LM_PSTAT_POS_B0 9 00403 #define LM_PSTAT_POS_B1 10 00404 #define LM_PSTAT_POS_B2 11 00405 #define LM_PSTAT_POS_B3 12 00406 #define LM_PSTAT_SPD_B0 13 00407 #define LM_PSTAT_SPD_B1 14 00408 #define LM_PSTAT_SPD_B2 15 00409 #define LM_PSTAT_SPD_B3 16 00410 #define LM_PSTAT_LIMIT_NCLR 17 00411 #define LM_PSTAT_LIMIT_CLR 18 00412 #define LM_PSTAT_FAULT 19 00413 #define LM_PSTAT_STKY_FLT_NCLR 20 00414 #define LM_PSTAT_STKY_FLT_CLR 21 00415 #define LM_PSTAT_VOUT_B0 22 00416 #define LM_PSTAT_VOUT_B1 23 00417 #define LM_PSTAT_FLT_COUNT_CURRENT \ 00418 24 00419 #define LM_PSTAT_FLT_COUNT_TEMP 25 00420 #define LM_PSTAT_FLT_COUNT_VOLTBUS \ 00421 26 00422 #define LM_PSTAT_FLT_COUNT_GATE 27 00423 #define LM_PSTAT_FLT_COUNT_COMM 28 00424 #define LM_PSTAT_CANSTS 29 00425 #define LM_PSTAT_CANERR_B0 30 00426 #define LM_PSTAT_CANERR_B1 31 00427 00428 #endif // __CAN_PROTO_H__