WPILib 2012
WPILibRoboticsLibraryforFRC
CAN/can_proto.h
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__
 All Classes Functions Variables