00001
00002 #ifndef INCLUDED_ERS7Info_h
00003 #define INCLUDED_ERS7Info_h
00004
00005 #include <math.h>
00006 #ifndef PLATFORM_APERIOS
00007 typedef unsigned short word;
00008 #else
00009 #include <Types.h>
00010 #endif
00011
00012 #include "CommonInfo.h"
00013 using namespace RobotInfo;
00014
00015
00016 namespace ERS7Info {
00017
00018
00019
00020
00021
00022
00023 const unsigned int FrameTime=8;
00024 const unsigned int NumFrames=4;
00025 const unsigned int SlowFrameTime=8;
00026 const unsigned int NumSlowFrames=4;
00027 const unsigned int SoundBufferTime=32;
00028
00029
00030
00031
00032 const unsigned JointsPerLeg = 3;
00033 const unsigned NumLegs = 4;
00034 const unsigned NumLegJoints = JointsPerLeg*NumLegs;
00035 const unsigned NumHeadJoints = 3;
00036 const unsigned NumTailJoints = 2;
00037 const unsigned NumMouthJoints = 1;
00038 const unsigned NumEarJoints = 2;
00039 const unsigned NumButtons = 2+4+3+1;
00040 const unsigned NumSensors = 3+3+5;
00041 const unsigned NumLEDs = 27;
00042
00043 const unsigned NumPIDJoints = NumLegJoints+NumHeadJoints+NumTailJoints+NumMouthJoints;
00044 const unsigned NumBinJoints = NumEarJoints;
00045 const unsigned NumOutputs = NumPIDJoints + NumBinJoints + NumLEDs;
00046 const unsigned NumReferenceFrames = NumOutputs + 1 + NumLegs + 1 + 3;
00047
00048
00049 const bool IsFastOutput[NumOutputs] = {
00050 true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,
00051 true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,
00052 true,true
00053 };
00054
00055 const bool IsRealERS7[NumOutputs] = {
00056 true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,
00057 true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,false,
00058 true,true
00059 };
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070 const unsigned PIDJointOffset = 0;
00071 const unsigned LegOffset = PIDJointOffset;
00072 const unsigned HeadOffset = LegOffset+NumLegJoints;
00073 const unsigned TailOffset = HeadOffset+NumHeadJoints;
00074 const unsigned MouthOffset = TailOffset+NumTailJoints;
00075
00076 const unsigned LEDOffset = PIDJointOffset + NumPIDJoints;
00077
00078 const unsigned BinJointOffset = LEDOffset + NumLEDs;
00079 const unsigned EarOffset = BinJointOffset;
00080
00081 const unsigned BaseFrameOffset = NumOutputs;
00082 const unsigned PawFrameOffset = BaseFrameOffset+1;
00083 const unsigned CameraFrameOffset = PawFrameOffset+NumLegs;
00084 const unsigned NearIRFrameOffset = CameraFrameOffset+1;
00085 const unsigned FarIRFrameOffset = NearIRFrameOffset+1;
00086 const unsigned ChestIRFrameOffset = FarIRFrameOffset+1;
00087
00088
00089
00090 enum LegOffset_t {
00091 LFrLegOffset = LegOffset+LFrLegOrder*JointsPerLeg,
00092 RFrLegOffset = LegOffset+RFrLegOrder*JointsPerLeg,
00093 LBkLegOffset = LegOffset+LBkLegOrder*JointsPerLeg,
00094 RBkLegOffset = LegOffset+RBkLegOrder*JointsPerLeg
00095 };
00096
00097
00098
00099
00100 enum LEDOffset_t {
00101 HeadColorLEDOffset = LEDOffset,
00102 HeadWhiteLEDOffset,
00103 ModeRedLEDOffset,
00104 ModeGreenLEDOffset,
00105 ModeBlueLEDOffset,
00106 WirelessLEDOffset,
00107 FaceLEDPanelOffset,
00108 FrBackColorLEDOffset = FaceLEDPanelOffset+14,
00109 FrBackWhiteLEDOffset,
00110 MdBackColorLEDOffset,
00111 MdBackWhiteLEDOffset,
00112 RrBackColorLEDOffset,
00113 RrBackWhiteLEDOffset,
00114 LEDABModeOffset,
00115
00116
00117 BotLLEDOffset = FaceLEDPanelOffset+0,
00118 BotRLEDOffset = FaceLEDPanelOffset+1,
00119 MidLLEDOffset = FaceLEDPanelOffset+2,
00120 MidRLEDOffset = FaceLEDPanelOffset+3,
00121 TopLLEDOffset = FaceLEDPanelOffset+6,
00122 TopRLEDOffset = FaceLEDPanelOffset+7,
00123 TopBrLEDOffset= HeadColorLEDOffset,
00124 TlRedLEDOffset= RrBackColorLEDOffset,
00125 TlBluLEDOffset= FrBackColorLEDOffset
00126 };
00127
00128
00129
00130 typedef unsigned int LEDBitMask_t;
00131
00132 const LEDBitMask_t HeadColorLEDMask = 1<<(HeadColorLEDOffset-LEDOffset);
00133 const LEDBitMask_t HeadWhiteLEDMask = 1<<(HeadWhiteLEDOffset-LEDOffset);
00134 const LEDBitMask_t ModeRedLEDMask = 1<<(ModeRedLEDOffset-LEDOffset);
00135 const LEDBitMask_t ModeGreenLEDMask = 1<<(ModeGreenLEDOffset-LEDOffset);
00136 const LEDBitMask_t ModeBlueLEDMask = 1<<(ModeBlueLEDOffset-LEDOffset);
00137 const LEDBitMask_t WirelessLEDMask = 1<<(WirelessLEDOffset-LEDOffset);
00138 const LEDBitMask_t FaceLEDPanelMask = 1<<(FaceLEDPanelOffset-LEDOffset);
00139 const LEDBitMask_t FrBackColorLEDMask = 1<<(FrBackColorLEDOffset-LEDOffset);
00140 const LEDBitMask_t FrBackWhiteLEDMask = 1<<(FrBackWhiteLEDOffset-LEDOffset);
00141 const LEDBitMask_t MdBackColorLEDMask = 1<<(MdBackColorLEDOffset-LEDOffset);
00142 const LEDBitMask_t MdBackWhiteLEDMask = 1<<(MdBackWhiteLEDOffset-LEDOffset);
00143 const LEDBitMask_t RrBackColorLEDMask = 1<<(RrBackColorLEDOffset-LEDOffset);
00144 const LEDBitMask_t RrBackWhiteLEDMask = 1<<(RrBackWhiteLEDOffset-LEDOffset);
00145 const LEDBitMask_t LEDABModeMask = 1<<(LEDABModeOffset-LEDOffset);
00146
00147 const LEDBitMask_t BotLLEDMask = 1<<(BotLLEDOffset-LEDOffset);
00148 const LEDBitMask_t BotRLEDMask = 1<<(BotRLEDOffset-LEDOffset);
00149 const LEDBitMask_t MidLLEDMask = 1<<(MidLLEDOffset-LEDOffset);
00150 const LEDBitMask_t MidRLEDMask = 1<<(MidRLEDOffset-LEDOffset);
00151 const LEDBitMask_t TopLLEDMask = 1<<(TopLLEDOffset-LEDOffset);
00152 const LEDBitMask_t TopRLEDMask = 1<<(TopRLEDOffset-LEDOffset);
00153 const LEDBitMask_t TopBrLEDMask= 1<<(TopBrLEDOffset-LEDOffset);
00154 const LEDBitMask_t TlRedLEDMask= 1<<(TlRedLEDOffset-LEDOffset);
00155 const LEDBitMask_t TlBluLEDMask= 1<<(TlBluLEDOffset-LEDOffset);
00156
00157 const LEDBitMask_t FaceLEDMask = (FaceLEDPanelMask<<0)|(FaceLEDPanelMask<<1)|(FaceLEDPanelMask<<2)|(FaceLEDPanelMask<<3)|(FaceLEDPanelMask<<4)|(FaceLEDPanelMask<<5)|(FaceLEDPanelMask<<6)|(FaceLEDPanelMask<<7)|(FaceLEDPanelMask<<8)|(FaceLEDPanelMask<<9)|(FaceLEDPanelMask<<10)|(FaceLEDPanelMask<<11)|(FaceLEDPanelMask<<12)|(FaceLEDPanelMask<<13);
00158 const LEDBitMask_t HeadLEDMask = FaceLEDMask|HeadColorLEDMask|HeadWhiteLEDMask|ModeRedLEDMask|ModeGreenLEDMask|ModeBlueLEDMask|WirelessLEDMask;
00159 const LEDBitMask_t BackLEDMask = FrBackColorLEDMask|FrBackWhiteLEDMask|MdBackColorLEDMask|MdBackWhiteLEDMask|RrBackColorLEDMask|RrBackWhiteLEDMask;
00160 const LEDBitMask_t TailLEDMask = 0;
00161 const LEDBitMask_t AllLEDMask = ~0;
00162
00163
00164
00165
00166
00167
00168
00169
00170
00171
00172
00173
00174
00175
00176
00177
00178
00179
00180
00181
00182 enum ButtonOffset_t {
00183 LFrPawOffset = LFrLegOrder,
00184 RFrPawOffset = RFrLegOrder,
00185 LBkPawOffset = LBkLegOrder,
00186 RBkPawOffset = RBkLegOrder,
00187 ChinButOffset= 4,
00188 HeadButOffset,
00189 HeadFrButOffset=HeadButOffset,
00190 FrontBackButOffset,
00191 MiddleBackButOffset,
00192 BackButOffset = MiddleBackButOffset,
00193 RearBackButOffset,
00194 WirelessSwOffset
00195 };
00196
00197
00198 const char* const buttonNames[NumButtons] = {
00199 "LFrPaw","RFrPaw","LBkPaw","RBkPaw",
00200 "ChinBut","HeadBut",
00201 "FrontBackBut","MiddleBackBut","RearBackBut",
00202 "WirelessSw"
00203 };
00204
00205
00206
00207 enum SensorOffset_t {
00208 NearIRDistOffset = 0,
00209 FarIRDistOffset,
00210 ChestIRDistOffset,
00211 BAccelOffset,
00212 LAccelOffset,
00213 DAccelOffset,
00214 PowerRemainOffset,
00215 PowerThermoOffset,
00216 PowerCapacityOffset,
00217 PowerVoltageOffset,
00218 PowerCurrentOffset
00219 };
00220
00221
00222 const char* const sensorNames[NumSensors] = {
00223 "NearIRDist","FarIRDist","ChestIRDist",
00224 "BAccel","LAccel","DAccel",
00225 "PowerRemain","PowerThermo","PowerCapacity","PowerVoltage","PowerCurrent"
00226 };
00227
00228
00229
00230
00231
00232 const unsigned outputNameLen = 9;
00233
00234 const char* const outputNames[NumOutputs] = {
00235 "LFr:rotor",
00236 "LFr:elvtr",
00237 "LFr:knee~",
00238 "RFr:rotor",
00239 "RFr:elvtr",
00240 "RFr:knee~",
00241 "LBk:rotor",
00242 "LBk:elvtr",
00243 "LBk:knee~",
00244 "RBk:rotor",
00245 "RBk:elvtr",
00246 "RBk:knee~",
00247
00248 "NECK:tilt",
00249 "NECK:pan~",
00250 "NECK:nod~",
00251
00252 "TAIL:tilt",
00253 "TAIL:pan~",
00254
00255 "MOUTH~~~~",
00256
00257 "LED:headC",
00258 "LED:headW",
00259 "LED:modeR",
00260 "LED:modeG",
00261 "LED:modeB",
00262 "LED:wless",
00263 "LED:faceA",
00264 "LED:faceB",
00265 "LED:faceC",
00266 "LED:faceD",
00267 "LED:faceE",
00268 "LED:faceF",
00269 "LED:faceG",
00270 "LED:faceH",
00271 "LED:faceI",
00272 "LED:faceJ",
00273 "LED:faceK",
00274 "LED:faceL",
00275 "LED:faceM",
00276 "LED:faceN",
00277 "LED:bkFrC",
00278 "LED:bkFrW",
00279 "LED:bkMdC",
00280 "LED:bkMdW",
00281 "LED:bkRrC",
00282 "LED:bkRrW",
00283 "LED:ABmod",
00284
00285 "EAR:left~",
00286 "EAR:right"
00287 };
00288
00289
00290
00291
00292
00293
00294
00295
00296
00297
00298
00299
00300 const char* const PrimitiveName [NumOutputs] = {
00301 "PRM:/r2/c1-Joint2:21",
00302 "PRM:/r2/c1/c2-Joint2:22",
00303 "PRM:/r2/c1/c2/c3-Joint2:23",
00304 "PRM:/r4/c1-Joint2:41",
00305 "PRM:/r4/c1/c2-Joint2:42",
00306 "PRM:/r4/c1/c2/c3-Joint2:43",
00307
00308 "PRM:/r3/c1-Joint2:31",
00309 "PRM:/r3/c1/c2-Joint2:32",
00310 "PRM:/r3/c1/c2/c3-Joint2:33",
00311 "PRM:/r5/c1-Joint2:51",
00312 "PRM:/r5/c1/c2-Joint2:52",
00313 "PRM:/r5/c1/c2/c3-Joint2:53",
00314
00315 "PRM:/r1/c1-Joint2:11",
00316 "PRM:/r1/c1/c2-Joint2:12",
00317 "PRM:/r1/c1/c2/c3-Joint2:13",
00318
00319 "PRM:/r6/c1-Joint2:61",
00320 "PRM:/r6/c2-Joint2:62",
00321
00322 "PRM:/r1/c1/c2/c3/c4-Joint2:14",
00323
00324 "PRM:/r1/c1/c2/c3/l1-LED2:l1",
00325 "PRM:/r1/c1/c2/c3/l2-LED2:l2",
00326 "PRM:/r1/c1/c2/c3/l3-LED2:l3",
00327 "PRM:/r1/c1/c2/c3/l4-LED2:l4",
00328 "PRM:/r1/c1/c2/c3/l5-LED2:l5",
00329 "PRM:/r1/c1/c2/c3/l6-LED2:l6",
00330
00331 "PRM:/r1/c1/c2/c3/la-LED3:la",
00332 "PRM:/r1/c1/c2/c3/lb-LED3:lb",
00333 "PRM:/r1/c1/c2/c3/lc-LED3:lc",
00334 "PRM:/r1/c1/c2/c3/ld-LED3:ld",
00335 "PRM:/r1/c1/c2/c3/le-LED3:le",
00336 "PRM:/r1/c1/c2/c3/lf-LED3:lf",
00337 "PRM:/r1/c1/c2/c3/lg-LED3:lg",
00338 "PRM:/r1/c1/c2/c3/lh-LED3:lh",
00339 "PRM:/r1/c1/c2/c3/li-LED3:li",
00340 "PRM:/r1/c1/c2/c3/lj-LED3:lj",
00341 "PRM:/r1/c1/c2/c3/lk-LED3:lk",
00342 "PRM:/r1/c1/c2/c3/ll-LED3:ll",
00343 "PRM:/r1/c1/c2/c3/lm-LED3:lm",
00344 "PRM:/r1/c1/c2/c3/ln-LED3:ln",
00345
00346 "PRM:/lu-LED3:lu",
00347 "PRM:/lv-LED3:lv",
00348 "PRM:/lw-LED3:lw",
00349 "PRM:/lx-LED3:lx",
00350 "PRM:/ly-LED3:ly",
00351 "PRM:/lz-LED3:lz",
00352 "",
00353
00354 "PRM:/r1/c1/c2/c3/e5-Joint4:15",
00355 "PRM:/r1/c1/c2/c3/e6-Joint4:16"
00356 };
00357
00358
00359 const char* const SpeakerLocator="PRM:/s1-Speaker:S1";
00360
00361
00362 const char* const CameraLocator="PRM:/r1/c1/c2/c3/i1-FbkImageSensor:F1";
00363
00364
00365 const float DefaultPIDs[NumPIDJoints][3] =
00366 {
00367 { 0x1C/(double)(1<<(16-0xE)), 0x08/(double)(1<<(16-0x2)), 0x01/(double)(1<<(16-0xF)) },
00368 { 0x14/(double)(1<<(16-0xE)), 0x04/(double)(1<<(16-0x2)), 0x01/(double)(1<<(16-0xF)) },
00369 { 0x1C/(double)(1<<(16-0xE)), 0x08/(double)(1<<(16-0x2)), 0x01/(double)(1<<(16-0xF)) },
00370 { 0x1C/(double)(1<<(16-0xE)), 0x08/(double)(1<<(16-0x2)), 0x01/(double)(1<<(16-0xF)) },
00371 { 0x14/(double)(1<<(16-0xE)), 0x04/(double)(1<<(16-0x2)), 0x01/(double)(1<<(16-0xF)) },
00372 { 0x1C/(double)(1<<(16-0xE)), 0x08/(double)(1<<(16-0x2)), 0x01/(double)(1<<(16-0xF)) },
00373 { 0x1C/(double)(1<<(16-0xE)), 0x08/(double)(1<<(16-0x2)), 0x01/(double)(1<<(16-0xF)) },
00374 { 0x14/(double)(1<<(16-0xE)), 0x04/(double)(1<<(16-0x2)), 0x01/(double)(1<<(16-0xF)) },
00375 { 0x1C/(double)(1<<(16-0xE)), 0x08/(double)(1<<(16-0x2)), 0x01/(double)(1<<(16-0xF)) },
00376 { 0x1C/(double)(1<<(16-0xE)), 0x08/(double)(1<<(16-0x2)), 0x01/(double)(1<<(16-0xF)) },
00377 { 0x14/(double)(1<<(16-0xE)), 0x04/(double)(1<<(16-0x2)), 0x01/(double)(1<<(16-0xF)) },
00378 { 0x1C/(double)(1<<(16-0xE)), 0x08/(double)(1<<(16-0x2)), 0x01/(double)(1<<(16-0xF)) },
00379
00380 { 0x0A/(double)(1<<(16-0xE)), 0x04/(double)(1<<(16-0x2)), 0x02/(double)(1<<(16-0xF)) },
00381 { 0x08/(double)(1<<(16-0xE)), 0x02/(double)(1<<(16-0x2)), 0x04/(double)(1<<(16-0xF)) },
00382 { 0x08/(double)(1<<(16-0xE)), 0x08/(double)(1<<(16-0x2)), 0x02/(double)(1<<(16-0xF)) },
00383
00384 { 0x0A/(double)(1<<(16-0xE)), 0x04/(double)(1<<(16-0x2)), 0x04/(double)(1<<(16-0xF)) },
00385 { 0x0A/(double)(1<<(16-0xE)), 0x04/(double)(1<<(16-0x2)), 0x04/(double)(1<<(16-0xF)) },
00386
00387 { 0x08/(double)(1<<(16-0xE)), 0x00/(double)(1<<(16-0x2)), 0x04/(double)(1<<(16-0xF)) }
00388 };
00389
00390
00391
00392 const unsigned char DefaultPIDShifts[3] = {0x0E, 0x02-1, 0x0F-3};
00393
00394
00395
00396
00397
00398
00399
00400
00401 const float MaxOutputSpeed[NumOutputs] = {
00402 4.86510529e-3,
00403 5.27962099e-3,
00404 5.27962099e-3,
00405 4.86510529e-3,
00406 5.27962099e-3,
00407 5.27962099e-3,
00408 4.86510529e-3,
00409 5.27962099e-3,
00410 5.27962099e-3,
00411 4.86510529e-3,
00412 5.27962099e-3,
00413 5.27962099e-3,
00414
00415 3.18522588e-3,
00416 1.00574598e-2,
00417 5.78140315e-3,
00418
00419 1.51625479e-2,
00420 1.51625479e-2,
00421
00422 1.01447263e-2,
00423
00424 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
00425
00426 0,0
00427 };
00428
00429 #ifndef RAD
00430
00431 #define RAD(deg) (((deg) * M_PI ) / 180.0)
00432
00433 #define __RI_RAD_FLAG
00434 #endif
00435
00436
00437 enum MinMaxRange_t { MinRange,MaxRange };
00438
00439
00440 const double outputRanges[NumOutputs][2] =
00441 {
00442 { RAD(-115),RAD(130) },{ RAD(-10),RAD(88) },{ RAD(-25),RAD(122) },
00443 { RAD(-115),RAD(130) },{ RAD(-10),RAD(88) },{ RAD(-25),RAD(122) },
00444 { RAD(-130),RAD(115) },{ RAD(-10),RAD(88) },{ RAD(-25),RAD(122) },
00445 { RAD(-130),RAD(115) },{ RAD(-10),RAD(88) },{ RAD(-25),RAD(122) },
00446
00447 { RAD(-75),RAD(0) },{ RAD(-88),RAD(88) },{ RAD(-15),RAD(45) },
00448
00449 { RAD(5),RAD(60) },{ RAD(-45),RAD(45) },
00450
00451 { RAD(-55),RAD(-3) },
00452
00453 {0,1},{0,1},{0,1},{0,1},{0,1},{0,1},
00454 {0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},
00455 {0,1},{0,1},{0,1},{0,1},{0,1},{0,1},
00456 {0,1},
00457
00458 {0,1},{0,1}
00459 };
00460
00461
00462 const double mechanicalLimits[NumOutputs][2] =
00463 {
00464 { RAD(-115),RAD(130) },{ RAD(-10),RAD(88) },{ RAD(-25),RAD(122) },
00465 { RAD(-115),RAD(130) },{ RAD(-10),RAD(88) },{ RAD(-25),RAD(122) },
00466 { RAD(-115),RAD(130) },{ RAD(-10),RAD(88) },{ RAD(-25),RAD(122) },
00467 { RAD(-115),RAD(130) },{ RAD(-10),RAD(88) },{ RAD(-25),RAD(122) },
00468
00469 { RAD(-75),RAD(0) },{ RAD(-88),RAD(88) },{ RAD(-15),RAD(45) },
00470
00471 { RAD(5),RAD(60) },{ RAD(-45),RAD(45) },
00472
00473 { RAD(-55),RAD(-3) },
00474
00475 {0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},
00476
00477 {0,1},{0,1}
00478 };
00479
00480 #ifdef __RI_RAD_FLAG
00481 #undef RAD
00482 #undef __RI_RAD_FLAG
00483 #endif
00484
00485
00486
00487
00488 static const int CPCJointMouth = 0;
00489 static const int CPCSwitchChin = 1;
00490 static const int CPCJointNeckNod = 2;
00491 static const int CPCSensorHead = 3;
00492 static const int CPCSensorNearPSD = 4;
00493 static const int CPCSensorFarPSD = 5;
00494 static const int CPCJointNeckPan = 6;
00495 static const int CPCJointNeckTilt = 7;
00496 static const int CPCSwitchLFPaw = 8;
00497 static const int CPCJointLFKnee = 9;
00498 static const int CPCJointLFElevator = 10;
00499 static const int CPCJointLFRotator = 11;
00500 static const int CPCSwitchLHPaw = 12;
00501 static const int CPCJointLHKnee = 13;
00502 static const int CPCJointLHElevator = 14;
00503 static const int CPCJointLHRotator = 15;
00504 static const int CPCSwitchRFPaw = 16;
00505 static const int CPCJointRFKnee = 17;
00506 static const int CPCJointRFElevator = 18;
00507 static const int CPCJointRFRotator = 19;
00508 static const int CPCSwitchRHPaw = 20;
00509 static const int CPCJointRHKnee = 21;
00510 static const int CPCJointRHElevator = 22;
00511 static const int CPCJointRHRotator = 23;
00512 static const int CPCJointTailTilt = 24;
00513 static const int CPCJointTailPan = 25;
00514 static const int CPCSensorAccelFB = 26;
00515 static const int CPCSensorAccelLR = 27;
00516 static const int CPCSensorAccelUD = 28;
00517 static const int CPCSensorChestPSD = 29;
00518 static const int CPCSwitchWireless = 30;
00519 static const int CPCSensorBackRear = 31;
00520 static const int CPCSensorBackMiddle= 32;
00521 static const int CPCSensorBackFront = 33;
00522
00523
00524 }
00525
00526
00527
00528
00529
00530
00531
00532
00533
00534
00535
00536
00537 #endif