00001
00002
00003
00004
00005 #ifndef INCLUDED_ERS220Info_h
00006 #define INCLUDED_ERS220Info_h
00007
00008 #include "CommonERSInfo.h"
00009
00010
00011 #if defined(TGT_ERS220)
00012 # define TGT_HAS_LEDS 20
00013 # define TGT_HAS_BUTTONS 11
00014 # define TGT_HAS_IR_DISTANCE 1
00015 #endif
00016
00017
00018 namespace ERS220Info {
00019
00020
00021
00022
00023
00024 extern const char* const TargetName;
00025
00026 const unsigned int FrameTime=8;
00027 const unsigned int NumFrames=4;
00028 const unsigned int SlowFrameTime=128;
00029 const unsigned int NumSlowFrames=1;
00030 const unsigned int SoundBufferTime=32;
00031
00032
00033
00034
00035 const unsigned NumWheels = 0;
00036
00037 const unsigned JointsPerArm = 0;
00038 const unsigned NumArms = 0;
00039 const unsigned NumArmJoints = JointsPerArm*NumArms;
00040
00041 const unsigned JointsPerLeg = 3;
00042 const unsigned NumLegs = 4;
00043 const unsigned NumLegJoints = JointsPerLeg*NumLegs;
00044 const unsigned NumHeadJoints = 3;
00045 const unsigned NumTailJoints = 0;
00046 const unsigned NumMouthJoints = 0;
00047 const unsigned NumEarJoints = 0;
00048 const unsigned NumButtons = 11;
00049 const unsigned NumSensors = 1+3+1+5;
00050 const unsigned NumLEDs = 20;
00051
00052 const unsigned NumPIDJoints = NumLegJoints+NumHeadJoints+NumTailJoints+NumMouthJoints;
00053 const unsigned NumBinJoints = NumEarJoints;
00054 const unsigned NumOutputs = NumPIDJoints + NumBinJoints + NumLEDs;
00055 const unsigned NumReferenceFrames = NumOutputs + 1 + NumLegs + 1 + 1;
00056
00057 using namespace CameraERS2xx;
00058
00059 const float BallOfFootRadius=27.922f/2;
00060 const float CylinderOfFootRadius=24.606f/2;
00061
00062
00063 const bool IsFastOutput[NumOutputs] = {
00064
00065 true, true, true,
00066 true, true, true,
00067 true, true, true,
00068 true, true, true,
00069 true, true, true,
00070
00071 true, true, true,
00072 true, true, true,
00073 true,
00074 true, true, true,
00075 true, true, true,
00076 true, true, true,
00077 true, true, true,
00078 true,
00079
00080 };
00081
00082
00083
00084
00085
00086
00087
00088
00089
00090
00091 const unsigned PIDJointOffset = 0;
00092 const unsigned LegOffset = PIDJointOffset;
00093 const unsigned HeadOffset = LegOffset+NumLegJoints;
00094
00095 const unsigned LEDOffset = PIDJointOffset + NumPIDJoints;
00096
00097 const unsigned BinJointOffset = NumOutputs;
00098
00099 const unsigned BaseFrameOffset = NumOutputs;
00100 const unsigned FootFrameOffset = BaseFrameOffset+1;
00101 const unsigned PawFrameOffset = FootFrameOffset;
00102 const unsigned CameraFrameOffset = FootFrameOffset+NumLegs;
00103 const unsigned IRFrameOffset = CameraFrameOffset+1;
00104
00105
00106 enum LegOrder_t {
00107 LFrLegOrder = 0,
00108 RFrLegOrder,
00109 LBkLegOrder,
00110 RBkLegOrder
00111 };
00112
00113
00114 enum REKOffset_t {
00115 RotatorOffset=0,
00116 ElevatorOffset,
00117 KneeOffset
00118 };
00119
00120
00121 enum TPROffset_t {
00122 TiltOffset = 0,
00123 PanOffset,
00124 RollOffset,
00125 NodOffset=RollOffset
00126 };
00127
00128
00129 enum LegOffset_t {
00130 LFrLegOffset = LegOffset+LFrLegOrder*JointsPerLeg,
00131 RFrLegOffset = LegOffset+RFrLegOrder*JointsPerLeg,
00132 LBkLegOffset = LegOffset+LBkLegOrder*JointsPerLeg,
00133 RBkLegOffset = LegOffset+RBkLegOrder*JointsPerLeg
00134 };
00135
00136
00137
00138
00139 enum LEDOffset_t {
00140 FaceFrontLeftLEDOffset = LEDOffset,
00141 FaceFrontRightLEDOffset,
00142 FaceCenterLeftLEDOffset,
00143 FaceCenterRightLEDOffset,
00144 FaceBackLeftLEDOffset,
00145 FaceBackRightLEDOffset,
00146 ModeLEDOffset,
00147 BackLeft1LEDOffset,
00148 BackLeft2LEDOffset,
00149 BackLeft3LEDOffset,
00150 BackRight3LEDOffset,
00151 BackRight2LEDOffset,
00152 BackRight1LEDOffset,
00153 TailLeftLEDOffset,
00154 TailCenterLEDOffset,
00155 TailRightLEDOffset,
00156 FaceFrontBLEDOffset,
00157 FaceFrontALEDOffset,
00158 FaceFrontCLEDOffset,
00159 RetractableHeadLEDOffset,
00160
00161
00162 BotLLEDOffset = FaceFrontLeftLEDOffset,
00163 BotRLEDOffset = FaceFrontRightLEDOffset,
00164 MidLLEDOffset = FaceCenterLeftLEDOffset,
00165 MidRLEDOffset = FaceCenterRightLEDOffset,
00166 TopLLEDOffset = FaceBackLeftLEDOffset,
00167 TopRLEDOffset = FaceBackRightLEDOffset,
00168 TopBrLEDOffset = ModeLEDOffset,
00169 TlBluLEDOffset = TailLeftLEDOffset,
00170 TlRedLEDOffset = TailRightLEDOffset,
00171 };
00172
00173
00174
00175 typedef unsigned int LEDBitMask_t;
00176 const LEDBitMask_t FaceFrontLeftLEDMask = 1<<(FaceFrontLeftLEDOffset-LEDOffset);
00177 const LEDBitMask_t FaceFrontRightLEDMask = 1<<(FaceFrontRightLEDOffset-LEDOffset);
00178 const LEDBitMask_t FaceCenterLeftLEDMask = 1<<(FaceCenterLeftLEDOffset-LEDOffset);
00179 const LEDBitMask_t FaceCenterRightLEDMask = 1<<(FaceCenterRightLEDOffset-LEDOffset);
00180 const LEDBitMask_t FaceBackLeftLEDMask = 1<<(FaceBackLeftLEDOffset-LEDOffset);
00181 const LEDBitMask_t FaceBackRightLEDMask = 1<<(FaceBackRightLEDOffset-LEDOffset);
00182 const LEDBitMask_t ModeLEDMask = 1<<(ModeLEDOffset-LEDOffset);
00183 const LEDBitMask_t BackLeft1LEDMask = 1<<(BackLeft1LEDOffset-LEDOffset);
00184 const LEDBitMask_t BackLeft2LEDMask = 1<<(BackLeft2LEDOffset-LEDOffset);
00185 const LEDBitMask_t BackLeft3LEDMask = 1<<(BackLeft3LEDOffset-LEDOffset);
00186 const LEDBitMask_t BackRight3LEDMask = 1<<(BackRight3LEDOffset-LEDOffset);
00187 const LEDBitMask_t BackRight2LEDMask = 1<<(BackRight2LEDOffset-LEDOffset);
00188 const LEDBitMask_t BackRight1LEDMask = 1<<(BackRight1LEDOffset-LEDOffset);
00189 const LEDBitMask_t TailLeftLEDMask = 1<<(TailLeftLEDOffset-LEDOffset);
00190 const LEDBitMask_t TailCenterLEDMask = 1<<(TailCenterLEDOffset-LEDOffset);
00191 const LEDBitMask_t TailRightLEDMask = 1<<(TailRightLEDOffset-LEDOffset);
00192 const LEDBitMask_t FaceFrontBLEDMask = 1<<(FaceFrontBLEDOffset-LEDOffset);
00193 const LEDBitMask_t FaceFrontALEDMask = 1<<(FaceFrontALEDOffset-LEDOffset);
00194 const LEDBitMask_t FaceFrontCLEDMask = 1<<(FaceFrontCLEDOffset-LEDOffset);
00195 const LEDBitMask_t RetractableHeadLEDMask = 1<<(RetractableHeadLEDOffset-LEDOffset);
00196
00197
00198 const LEDBitMask_t BotLLEDMask = 1<<(BotLLEDOffset-LEDOffset);
00199 const LEDBitMask_t BotRLEDMask = 1<<(BotRLEDOffset-LEDOffset);
00200 const LEDBitMask_t MidLLEDMask = 1<<(MidLLEDOffset-LEDOffset);
00201 const LEDBitMask_t MidRLEDMask = 1<<(MidRLEDOffset-LEDOffset);
00202 const LEDBitMask_t TopLLEDMask = 1<<(TopLLEDOffset-LEDOffset);
00203 const LEDBitMask_t TopRLEDMask = 1<<(TopRLEDOffset-LEDOffset);
00204 const LEDBitMask_t TopBrLEDMask= 1<<(TopBrLEDOffset-LEDOffset);
00205 const LEDBitMask_t TlRedLEDMask= 1<<(TlRedLEDOffset-LEDOffset);
00206 const LEDBitMask_t TlBluLEDMask= 1<<(TlBluLEDOffset-LEDOffset);
00207
00208
00209 const LEDBitMask_t FaceLEDMask
00210 = FaceFrontLeftLEDMask
00211 | FaceFrontRightLEDMask
00212 | FaceCenterLeftLEDMask
00213 | FaceCenterRightLEDMask
00214 | FaceBackLeftLEDMask
00215 | FaceBackRightLEDMask
00216 | FaceFrontALEDMask
00217 | FaceFrontBLEDMask
00218 | FaceFrontCLEDMask
00219 | ModeLEDMask;
00220
00221
00222 const LEDBitMask_t HeadLEDMask
00223 = FaceLEDMask | RetractableHeadLEDMask;
00224
00225
00226 const LEDBitMask_t BackLEDMask
00227 = BackLeft1LEDMask
00228 | BackLeft2LEDMask
00229 | BackLeft3LEDMask
00230 | BackRight1LEDMask
00231 | BackRight2LEDMask
00232 | BackRight3LEDMask;
00233
00234
00235 const LEDBitMask_t TailLEDMask
00236 = TailLeftLEDMask
00237 | TailCenterLEDMask
00238 | TailRightLEDMask;
00239
00240
00241 const LEDBitMask_t AllLEDMask = (LEDBitMask_t)~0;
00242
00243
00244
00245 const fmat::Column<3> AgentBoundingBoxBaseFrameOffset = fmat::pack(0,0,0);
00246
00247
00248 const fmat::Column<3> AgentBoundingBoxHalfDims = fmat::pack(304.8/2, 304.8/2, 0);
00249
00250
00251
00252
00253
00254
00255
00256
00257
00258
00259
00260
00261
00262
00263
00264
00265
00266
00267
00268 enum ButtonOffset_t {
00269 LFrPawOffset = LFrLegOrder,
00270 RFrPawOffset = RFrLegOrder,
00271 LBkPawOffset = LBkLegOrder,
00272 RBkPawOffset = RBkLegOrder,
00273 ChinButOffset= 4,
00274 BackButOffset,
00275 HeadFrButOffset,
00276 HeadButOffset=HeadFrButOffset,
00277 HeadBkButOffset,
00278 TailLeftButOffset,
00279 TailCenterButOffset,
00280 TailRightButOffset,
00281 };
00282
00283
00284 const char* const buttonNames[NumButtons] = {
00285 "LFrPaw","RFrPaw","LBkPaw","RBkPaw",
00286 "ChinBut","BackBut","HeadFrBut","HeadBkBut",
00287 "TailLeftBut","TailCenterBut","TailRightBut"
00288 };
00289
00290
00291
00292 enum SensorOffset_t {
00293 IRDistOffset = 0,
00294 BAccelOffset,
00295 LAccelOffset,
00296 DAccelOffset,
00297 ThermoOffset,
00298 PowerRemainOffset,
00299 PowerThermoOffset,
00300 PowerCapacityOffset,
00301 PowerVoltageOffset,
00302 PowerCurrentOffset
00303 };
00304
00305
00306 const char* const sensorNames[NumSensors] = {
00307 "IRDist",
00308 "BAccel","LAccel","DAccel",
00309 "Thermo",
00310 "PowerRemain","PowerThermo","PowerCapacity","PowerVoltage","PowerCurrent"
00311 };
00312
00313
00314
00315
00316
00317 const char* const outputNames[NumReferenceFrames+1] = {
00318 "LFr:rotor",
00319 "LFr:elvtr",
00320 "LFr:knee",
00321 "RFr:rotor",
00322 "RFr:elvtr",
00323 "RFr:knee",
00324 "LBk:rotor",
00325 "LBk:elvtr",
00326 "LBk:knee",
00327 "RBk:rotor",
00328 "RBk:elvtr",
00329 "RBk:knee",
00330
00331 "NECK:tilt",
00332 "NECK:pan",
00333 "NECK:roll",
00334
00335 "LED:botL",
00336 "LED:botR",
00337 "LED:midL",
00338 "LED:midR",
00339 "LED:topL",
00340 "LED:topR",
00341 "LED:topBr",
00342
00343 "LED:bkL1",
00344 "LED:bkL2",
00345 "LED:bkL3",
00346 "LED:bkR3",
00347 "LED:bkR2",
00348 "LED:bkR1",
00349 "LED:tailL",
00350 "LED:tailC",
00351 "LED:tailR",
00352 "LED:faceB",
00353 "LED:faceA",
00354 "LED:faceC",
00355 "LED:light",
00356
00357 "BaseFrame",
00358 "LFrFootFrame",
00359 "RFrFootFrame",
00360 "LBkFootFrame",
00361 "RBkFootFrame",
00362 "CameraFrame",
00363 "IRFrame",
00364 NULL
00365 };
00366
00367
00368
00369 class ERS220Capabilities : public Capabilities {
00370 public:
00371
00372 ERS220Capabilities()
00373 : Capabilities(TargetName,NumReferenceFrames,outputNames,NumButtons,buttonNames,NumSensors,sensorNames,PIDJointOffset,NumPIDJoints,LEDOffset,NumLEDs,NumOutputs)
00374 {
00375
00376 buttonToIndex["HeadBut"]=HeadButOffset;
00377
00378 frameToIndex["LED:tlBlu"]=TlBluLEDOffset;
00379 frameToIndex["LED:tlRed"]=TlRedLEDOffset;
00380 }
00381 };
00382
00383 extern const ERS220Capabilities capabilities;
00384
00385
00386
00387
00388
00389
00390
00391
00392
00393
00394
00395
00396 const char* const PrimitiveName [NumOutputs] = {
00397 "PRM:/r2/c1-Joint2:j1",
00398 "PRM:/r2/c1/c2-Joint2:j2",
00399 "PRM:/r2/c1/c2/c3-Joint2:j3",
00400 "PRM:/r4/c1-Joint2:j1",
00401 "PRM:/r4/c1/c2-Joint2:j2",
00402 "PRM:/r4/c1/c2/c3-Joint2:j3",
00403
00404 "PRM:/r3/c1-Joint2:j1",
00405 "PRM:/r3/c1/c2-Joint2:j2",
00406 "PRM:/r3/c1/c2/c3-Joint2:j3",
00407 "PRM:/r5/c1-Joint2:j1",
00408 "PRM:/r5/c1/c2-Joint2:j2",
00409 "PRM:/r5/c1/c2/c3-Joint2:j3",
00410
00411 "PRM:/r1/c1-Joint2:j1",
00412 "PRM:/r1/c1/c2-Joint2:j2",
00413 "PRM:/r1/c1/c2/c3-Joint2:j3",
00414
00415 "PRM:/r1/c1/c2/c3/l1-LED2:l1",
00416 "PRM:/r1/c1/c2/c3/l4-LED2:l4",
00417 "PRM:/r1/c1/c2/c3/l2-LED2:l2",
00418 "PRM:/r1/c1/c2/c3/l5-LED2:l5",
00419 "PRM:/r1/c1/c2/c3/l3-LED2:l3",
00420 "PRM:/r1/c1/c2/c3/l6-LED2:l6",
00421 "PRM:/r1/c1/c2/c3/l7-LED2:l7",
00422
00423 "PRM:/r6/l1-LED2:l1",
00424 "PRM:/r6/l2-LED2:l2",
00425 "PRM:/r6/l3-LED2:l3",
00426 "PRM:/r6/l4-LED2:l4",
00427 "PRM:/r6/l5-LED2:l5",
00428 "PRM:/r6/l6-LED2:l6",
00429
00430 "PRM:/r6/l9-LED2:l9",
00431 "PRM:/r6/l7-LED2:l7",
00432 "PRM:/r6/l8-LED2:l8",
00433
00434 "PRM:/r1/c1/c2/c3/l8-LED2:l8",
00435 "PRM:/r1/c1/c2/c3/l9-LED2:l9",
00436 "PRM:/r1/c1/c2/c3/la-LED2:la",
00437 "PRM:/r1/c1/c2/c3/lb-LED2:lb",
00438 };
00439
00440
00441 const char* const SpeakerLocator="PRM:/r1/c1/c2/c3/s1-Speaker:S1";
00442
00443
00444 const char* const CameraLocator="PRM:/r1/c1/c2/c3/i1-FbkImageSensor:F1";
00445
00446
00447
00448
00449
00450
00451
00452
00453
00454
00455
00456
00457
00458
00459
00460
00461
00462
00463
00464
00465
00466
00467
00468
00469
00470
00471
00472 const float DefaultPIDs[NumPIDJoints][3] =
00473 {
00474 { 0x16/(float)(1<<(16-0xE)), 0x04/(float)(1<<(16-0x2)), 0x08/(float)(1<<(16-0xF)) },
00475 { 0x14/(float)(1<<(16-0xE)), 0x04/(float)(1<<(16-0x2)), 0x06/(float)(1<<(16-0xF)) },
00476 { 0x23/(float)(1<<(16-0xE)), 0x04/(float)(1<<(16-0x2)), 0x05/(float)(1<<(16-0xF)) },
00477 { 0x16/(float)(1<<(16-0xE)), 0x04/(float)(1<<(16-0x2)), 0x08/(float)(1<<(16-0xF)) },
00478 { 0x14/(float)(1<<(16-0xE)), 0x04/(float)(1<<(16-0x2)), 0x06/(float)(1<<(16-0xF)) },
00479 { 0x23/(float)(1<<(16-0xE)), 0x04/(float)(1<<(16-0x2)), 0x05/(float)(1<<(16-0xF)) },
00480 { 0x16/(float)(1<<(16-0xE)), 0x04/(float)(1<<(16-0x2)), 0x08/(float)(1<<(16-0xF)) },
00481 { 0x14/(float)(1<<(16-0xE)), 0x04/(float)(1<<(16-0x2)), 0x06/(float)(1<<(16-0xF)) },
00482 { 0x23/(float)(1<<(16-0xE)), 0x04/(float)(1<<(16-0x2)), 0x05/(float)(1<<(16-0xF)) },
00483 { 0x16/(float)(1<<(16-0xE)), 0x04/(float)(1<<(16-0x2)), 0x08/(float)(1<<(16-0xF)) },
00484 { 0x14/(float)(1<<(16-0xE)), 0x04/(float)(1<<(16-0x2)), 0x06/(float)(1<<(16-0xF)) },
00485 { 0x23/(float)(1<<(16-0xE)), 0x04/(float)(1<<(16-0x2)), 0x05/(float)(1<<(16-0xF)) },
00486
00487 { 0x0A/(float)(1<<(16-0xE)), 0x08/(float)(1<<(16-0x2)), 0x0C/(float)(1<<(16-0xF)) },
00488 { 0x0D/(float)(1<<(16-0xE)), 0x08/(float)(1<<(16-0x2)), 0x0B/(float)(1<<(16-0xF)) },
00489 { 0x0A/(float)(1<<(16-0xE)), 0x08/(float)(1<<(16-0x2)), 0x0C/(float)(1<<(16-0xF)) }
00490
00491
00492
00493
00494
00495 };
00496
00497
00498 const unsigned char DefaultPIDShifts[3] = {0x0E, 0x02, 0x0F};
00499
00500
00501
00502
00503
00504
00505 const float MaxOutputSpeed[NumOutputs] = {
00506 2.8143434f,
00507 2.4980025f,
00508 2.8361600f,
00509 2.8143434f,
00510 2.4980025f,
00511 2.8361600f,
00512 2.8143434f,
00513 2.4980025f,
00514 2.8361600f,
00515 2.8143434f,
00516 2.4980025f,
00517 2.8361600f,
00518
00519 2.1053034f,
00520 3.0106930f,
00521 3.0106930f,
00522
00523 0,0,0,
00524 0,0,0,
00525 0,
00526 0,0,0,
00527 0,0,0,
00528 0,0,0,
00529 0,0,0,
00530 0
00531 };
00532
00533 #ifndef RAD
00534
00535 #define RAD(deg) (((deg) * (float)M_PI ) / 180.0f)
00536
00537 #define __RI_RAD_FLAG
00538 #endif
00539
00540
00541 const float outputRanges[NumOutputs][2] =
00542 {
00543 { RAD(-117),RAD(117) },{ RAD(-11),RAD(89) },{ RAD(-27),RAD(147) },
00544 { RAD(-117),RAD(117) },{ RAD(-11),RAD(89) },{ RAD(-27),RAD(147) },
00545 { RAD(-117),RAD(117) },{ RAD(-11),RAD(89) },{ RAD(-27),RAD(147) },
00546 { RAD(-117),RAD(117) },{ RAD(-11),RAD(89) },{ RAD(-27),RAD(147) },
00547
00548 { RAD(-88.5f),RAD(43) },{ RAD(-89.6f),RAD(89.6f) },{ RAD(-29),RAD(29) },
00549
00550 {0,1},{0,1},{0,1},
00551 {0,1},{0,1},{0,1},
00552 {0,1},
00553 {0,1},{0,1},{0,1},
00554 {0,1},{0,1},{0,1},
00555 {0,1},{0,1},{0,1},
00556 {0,1},{0,1},{0,1},
00557 {0,1}
00558 };
00559
00560
00561 const float mechanicalLimits[NumOutputs][2] =
00562 {
00563 { RAD(-120),RAD(120) },{ RAD(-14),RAD(92) },{ RAD(-30),RAD(150) },
00564 { RAD(-120),RAD(120) },{ RAD(-14),RAD(92) },{ RAD(-30),RAD(150) },
00565 { RAD(-120),RAD(120) },{ RAD(-14),RAD(92) },{ RAD(-30),RAD(150) },
00566 { RAD(-120),RAD(120) },{ RAD(-14),RAD(92) },{ RAD(-30),RAD(150) },
00567
00568 { RAD(-91.5f),RAD(46) },{ RAD(-92.6f),RAD(92.6f) },{ RAD(-32),RAD(32) },
00569
00570 {0,1},{0,1},{0,1},
00571 {0,1},{0,1},{0,1},
00572 {0,1},
00573 {0,1},{0,1},{0,1},
00574 {0,1},{0,1},{0,1},
00575 {0,1},{0,1},{0,1},
00576 {0,1},{0,1},{0,1},
00577 {0,1}
00578 };
00579
00580 #ifdef __RI_RAD_FLAG
00581 #undef RAD
00582 #undef __RI_RAD_FLAG
00583 #endif
00584
00585
00586
00587 const int CPCJointNeckTilt = 0;
00588 const int CPCJointNeckPan = 1;
00589 const int CPCJointNeckRoll = 2;
00590 const int CPCSensorPSD = 3;
00591 const int CPCSensorHeadBackPressure = 4;
00592 const int CPCSensorHeadFrontPressure = 5;
00593 const int CPCSensorChinSwitch = 6;
00594 const int CPCJointLFRotator = 7;
00595 const int CPCJointLFElevator = 8;
00596 const int CPCJointLFKnee = 9;
00597 const int CPCSensorLFPaw = 10;
00598 const int CPCJointLHRotator = 11;
00599 const int CPCJointLHElevator = 12;
00600 const int CPCJointLHKnee = 13;
00601 const int CPCSensorLHPaw = 14;
00602 const int CPCJointRFRotator = 15;
00603 const int CPCJointRFElevator = 16;
00604 const int CPCJointRFKnee = 17;
00605 const int CPCSensorRFPaw = 18;
00606 const int CPCJointRHRotator = 19;
00607 const int CPCJointRHElevator = 20;
00608 const int CPCJointRHKnee = 21;
00609 const int CPCSensorRHPaw = 22;
00610 const int CPCSensorThermoSensor = 23;
00611 const int CPCSensorBackSwitch = 24;
00612 const int CPCSensorTailLeftSwitch = 25;
00613 const int CPCSensorTailCenterSwitch = 26;
00614 const int CPCSensorTailRightSwitch = 27;
00615 const int CPCSensorAccelFB = 28;
00616 const int CPCSensorAccelLR = 29;
00617 const int CPCSensorAccelUD = 30;
00618
00619
00620 }
00621
00622
00623
00624
00625
00626
00627
00628
00629 #endif