00001
00002 #ifndef INCLUDED_CommonCalliopeInfo_h
00003 #define INCLUDED_CommonCalliopeInfo_h
00004
00005 #include <cmath>
00006 #include <stdlib.h>
00007 #include "CommonInfo.h"
00008 using namespace RobotInfo;
00009
00010
00011
00012 #if defined(TGT_CALLIOPE)
00013 # define TGT_IS_CALLIOPE
00014 #endif
00015
00016 #if defined(TGT_CALLIOPESP) || defined(TGT_CALLIOPELP) || defined(TGT_CALLIOPEKP)
00017 # define TGT_IS_CALLIOPE
00018 # define TGT_IS_CALLIOPE0
00019 #endif
00020
00021 #if defined(TGT_CALLIOPE2SP) || defined(TGT_CALLIOPE2LP) || defined(TGT_CALLIOPE2KP)
00022 # define TGT_IS_CALLIOPE
00023 # define TGT_IS_CALLIOPE2
00024 #endif
00025
00026 #if defined(TGT_CALLIOPE5SP) || defined(TGT_CALLIOPE5LP) || defined(TGT_CALLIOPE5KP)
00027 # define TGT_IS_CALLIOPE
00028 # define TGT_IS_CALLIOPE5
00029 #endif
00030
00031 #if defined(TGT_CALLIOPEKP) || defined(TGT_CALLIOPE2KP) || defined(TGT_CALLIOPE5KP)
00032 # define TGT_HAS_KINECT
00033 #endif
00034
00035
00036 #if defined(TGT_IS_CALLIOPE)
00037 # define TGT_IS_CREATE
00038 # define TGT_HAS_WHEELS 2
00039 # define TGT_HAS_BUTTONS 15
00040 # define TGT_HAS_LEDS 4
00041 # define TGT_HAS_CAMERA 1
00042 #endif
00043
00044
00045 #if !defined(TGT_CALLIOPE)
00046 # define TGT_HAS_HEAD 1
00047 #endif
00048
00049
00050 #if defined(TGT_IS_CALLIOPE2)
00051 # define TGT_HAS_ARMS 1
00052 # define TGT_HAS_GRIPPER 1
00053 #endif
00054
00055
00056 #if defined(TGT_IS_CALLIOPE5)
00057 # define TGT_HAS_ARMS 1
00058 # define TGT_HAS_GRIPPER 1
00059 # define TGT_HAS_FINGERS 2
00060 #endif
00061
00062
00063 #if defined(TGT_HAS_HEAD) && !defined(TGT_HAS_KINECT)
00064 # define TGT_HAS_IR_DISTANCE 3
00065 #endif
00066
00067 #ifndef RAD
00068
00069 #define RAD(deg) (((deg) * (float)M_PI ) / 180.0f)
00070
00071 #define __RI_RAD_FLAG
00072 #endif
00073
00074
00075
00076 namespace CommonCalliopeInfo {
00077
00078
00079
00080
00081
00082 const unsigned int FrameTime=30;
00083 const unsigned int NumFrames=1;
00084 const unsigned int SoundBufferTime=32;
00085
00086
00087 const unsigned NumWheels = 2;
00088
00089 const unsigned JointsPerLeg = 0;
00090 const unsigned NumLegs = 0;
00091 const unsigned NumLegJoints = JointsPerLeg*NumLegs;
00092 const unsigned NumTailJoints = 0;
00093 const unsigned NumMouthJoints = 0;
00094 const unsigned NumEarJoints = 0;
00095 const unsigned NumButtons = 15;
00096 const unsigned NumLEDs = 4;
00097 const unsigned NumFacePanelLEDs = 0;
00098
00099
00100
00101
00102
00103
00104
00105
00106
00107
00108
00109 const unsigned PIDJointOffset = 0;
00110 const unsigned WheelOffset = PIDJointOffset;
00111
00112 enum WheelOffset_t {
00113 LWheelOffset=WheelOffset,
00114 RWheelOffset
00115 };
00116
00117
00118 const fmat::Column<3> AgentBoundingBoxBaseFrameOffset = fmat::pack(838.4/2-304.8/2,0,0);
00119
00120
00121 const fmat::Column<3> AgentBoundingBoxHalfDims = fmat::pack(838.4/2, 304.8/2, 0);
00122
00123
00124
00125
00126
00127
00128
00129
00130
00131
00132
00133
00134
00135
00136 enum ButtonOffset_t {
00137 PlayButOffset,
00138 AdvanceButOffset,
00139 WallButOffset,
00140 DropCasterButOffset,
00141 DropLeftWheelButOffset,
00142 DropRightWheelButOffset,
00143 BumpLeftButOffset,
00144 BumpRightButOffset,
00145 OvercurrentLeftWheelOffset,
00146 OvercurrentRightWheelOffset,
00147 LowSideDriver0ButOffset,
00148 LowSideDriver1ButOffset,
00149 LowSideDriver2ButOffset,
00150 BaseChargerButOffset,
00151 InternalChargerButOffset
00152 };
00153
00154 const ButtonOffset_t GreenButOffset = PlayButOffset;
00155 const ButtonOffset_t YellowButOffset = AdvanceButOffset;
00156 const ButtonOffset_t RedButOffset = PlayButOffset;
00157
00158
00159 const char* const buttonNames[NumButtons+1] = {
00160 "Play", "Advance",
00161 "Wall",
00162 "CasterDrop", "LWheelDrop", "RWheelDrop",
00163 "LBump", "RBump",
00164 "LOverCurrent", "ROverCurrent",
00165 "DriverLow0", "DriverLow1", "DriverLow2",
00166 "BaseCharger", "InternalCharger",
00167 NULL
00168 };
00169
00170
00171
00172 enum SensorOffset_t {
00173 DigitalInput0Offset,
00174 DigitalInput1Offset,
00175 DigitalInput2Offset,
00176 DigitalInput3Offset,
00177 AnalogSignalOffset,
00178 WallSignalOffset,
00179 IRCommOffset,
00180 CliffLeftSignalOffset,
00181 CliffFrontLeftSignalOffset,
00182 CliffFrontRightSignalOffset,
00183 CliffRightSignalOffset,
00184 EncoderDistanceOffset,
00185 EncoderAngleOffset,
00186 VoltageOffset,
00187 CurrentOffset,
00188 BatteryChargeOffset,
00189 BatteryTempOffset,
00190 ChargingStateOffset,
00191 ModeStateOffset,
00192 };
00193
00194 enum IRComm_t {
00195 IR_REMOTE_LEFT=129,
00196 IR_REMOTE_FORWARD,
00197 IR_REMOTE_RIGHT,
00198 IR_REMOTE_SPOT,
00199 IR_REMOTE_MAX,
00200 IR_REMOTE_SMALL,
00201 IR_REMOTE_MEDIUM,
00202 IR_REMOTE_LARGE,
00203 IR_REMOTE_PAUSE,
00204 IR_REMOTE_POWER,
00205 IR_REMOTE_ARC_LEFT,
00206 IR_REMOTE_ARC_RIGHT,
00207 IR_REMOTE_STOP,
00208 IR_REMOTE_SEND,
00209 IR_REMOTE_DOCK,
00210 IR_BASE_RED=248,
00211 IR_BASE_GREEN=244,
00212 IR_BASE_FORCE=242,
00213 IR_BASE_RED_GREEN=252,
00214 IR_BASE_RED_FORCE=250,
00215 IR_BASE_GREEN_FORCE=246,
00216 IR_BASE_RED_GREEN_FORCE=254
00217 };
00218
00219
00220
00221
00222
00223 enum ChargingState_t {
00224 CHARGING_OFF,
00225 CHARGING_RECONDITIONING,
00226 CHARGING_FULL,
00227 CHARGING_TRICKLE,
00228 CHARGING_WAITING,
00229 CHARGING_FAULT
00230 };
00231
00232 enum ModeState_t {
00233 MODE_OFF,
00234 MODE_PASSIVE,
00235 MODE_SAFE,
00236 MODE_FULL
00237 };
00238
00239
00240
00241
00242 namespace WithoutAXS1Sensors {
00243 const unsigned NumSensors = 19;
00244
00245
00246 const char* const sensorNames[NumSensors+1] = {
00247 "DigitalIn0",
00248 "DigitalIn1",
00249 "DigitalIn2",
00250 "DigitalIn3",
00251 "AnalogIn",
00252 "WallSignal",
00253 "IR",
00254 "CliffLeftSignal",
00255 "CliffFrontLeftSignal",
00256 "CliffFrontRightSignal",
00257 "CliffRight",
00258 "Distance",
00259 "Angle",
00260 "BatteryVoltage",
00261 "BatteryCurrent",
00262 "BatteryCharge",
00263 "BatteryTemp",
00264 "ChargingState",
00265 "ModeState",
00266 NULL
00267 };
00268
00269 }
00270
00271 namespace WithAXS1Sensors {
00272 const unsigned NumSensors = WithoutAXS1Sensors::NumSensors+3+3+2;
00273
00274 enum AXS1SensorOffset_t {
00275 LeftIRDistOffset = ModeStateOffset+1,
00276 CenterIRDistOffset,
00277 IRDistOffset = CenterIRDistOffset,
00278 RightIRDistOffset,
00279 LeftLuminosityOffset,
00280 CenterLuminosityOffset,
00281 RightLuminosityOffset,
00282 MicVolumeOffset,
00283 MicSpikeCountOffset
00284 };
00285
00286
00287 const char* const sensorNames[NumSensors+1] = {
00288 "DigitalIn0",
00289 "DigitalIn1",
00290 "DigitalIn2",
00291 "DigitalIn3",
00292 "AnalogIn",
00293 "WallSignal",
00294 "IR",
00295 "CliffLeftSignal",
00296 "CliffFrontLeftSignal",
00297 "CliffFrontRightSignal",
00298 "CliffRight",
00299 "Distance",
00300 "Angle",
00301 "BatteryVoltage",
00302 "BatteryCurrent",
00303 "BatteryCharge",
00304 "BatteryTemp",
00305 "ChargingState",
00306 "ModeState",
00307 "LeftIRDist", "CenterIRDist", "RightIRDist",
00308 "LeftLuminosity", "CenterLuminosity", "RightLuminosity",
00309 "MicVolume", "MicSpikeCount",
00310 NULL
00311 };
00312 }
00313
00314 namespace WithHead {
00315 const unsigned NumHeadJoints = 2;
00316 const unsigned HeadOffset = WheelOffset+NumWheels;
00317
00318
00319 enum TPROffset_t {
00320 PanOffset = 0,
00321 TiltOffset,
00322 NodOffset = TiltOffset
00323 };
00324
00325
00326 enum HeadOffset_t {
00327 HeadPanOffset = HeadOffset,
00328 HeadTiltOffset,
00329 };
00330 }
00331
00332
00333 namespace CalliopeInfo {
00334 const unsigned JointsPerArm = 0;
00335 const unsigned NumArms = 0;
00336 const unsigned NumArmJoints = JointsPerArm*NumArms;
00337 const unsigned NumHeadJoints = 0;
00338 const unsigned NumPIDJoints = NumWheels + NumHeadJoints + NumArmJoints;
00339 const unsigned NumOutputs = NumPIDJoints + NumLEDs + 1 ;
00340
00341 const unsigned LEDOffset = WheelOffset+NumWheels;
00342 const unsigned ModeOffset = LEDOffset + NumLEDs;
00343
00344 const unsigned BaseFrameOffset = NumOutputs;
00345 const unsigned CameraFrameOffset = BaseFrameOffset+1;
00346
00347
00348
00349 enum LEDOffset_t {
00350 PowerRedLEDOffset=LEDOffset,
00351 PowerGreenLEDOffset,
00352 PlayLEDOffset,
00353 AdvanceLEDOffset
00354 };
00355
00356 const LEDOffset_t RedLEDOffset = PowerRedLEDOffset;
00357 const LEDOffset_t BlueLEDOffset = AdvanceLEDOffset;
00358 const LEDOffset_t GreenLEDOffset = PlayLEDOffset;
00359 const LEDOffset_t YellowLEDOffset = AdvanceLEDOffset;
00360
00361 typedef unsigned int LEDBitMask_t;
00362
00363 const LEDBitMask_t BlueLEDMask = (1<<(AdvanceLEDOffset-LEDOffset)) |
00364 (1<<(PowerRedLEDOffset-LEDOffset));
00365 const LEDBitMask_t GreenLEDMask = 1<<(GreenLEDOffset-LEDOffset);
00366 const LEDBitMask_t YellowLEDMask = 1<<(YellowLEDOffset-LEDOffset);
00367 const LEDBitMask_t RedLEDMask = 1<<(RedLEDOffset-LEDOffset);
00368
00369 const LEDBitMask_t PowerRedLEDMask = 1<<(PowerRedLEDOffset-LEDOffset);
00370 const LEDBitMask_t PowerGreenLEDMask = 1<<(PowerGreenLEDOffset-LEDOffset);
00371 const LEDBitMask_t PlayLEDMask = 1<<(PlayLEDOffset-LEDOffset);
00372 const LEDBitMask_t AdvanceLEDMask = 1<<(AdvanceLEDOffset-LEDOffset);
00373
00374
00375 const LEDBitMask_t FaceLEDMask = 0;
00376
00377 const LEDBitMask_t AllLEDMask = (LEDBitMask_t)~0;
00378
00379
00380
00381 const float DefaultPIDs[NumPIDJoints][3] = {
00382 {1,0,0},
00383 {1,0,0},
00384 };
00385
00386
00387 const float MaxOutputSpeed[NumOutputs] = {
00388 0, 0,
00389 0,
00390 0,
00391 0,
00392 0,
00393 0
00394 };
00395
00396
00397 const float outputRanges[NumOutputs][2] =
00398 {
00399 { -500 , 500 },
00400 { -500 , 500 },
00401 { 0 , 1 },
00402 { 0 , 1 },
00403 { 0 , 1 },
00404 { 0 , 1 },
00405 { MODE_PASSIVE, MODE_SAFE }
00406 };
00407
00408 }
00409
00410
00411 namespace Calliope0 {
00412 using namespace CommonCalliopeInfo::WithHead;
00413
00414 const unsigned JointsPerArm = 0;
00415 const unsigned NumArms = 0;
00416 const unsigned NumArmJoints = JointsPerArm*NumArms;
00417 const unsigned NumPIDJoints = NumWheels + NumHeadJoints + NumArmJoints;
00418 const unsigned NumOutputs = NumPIDJoints + NumLEDs + 1 ;
00419
00420 const unsigned LEDOffset = WheelOffset+NumWheels;
00421 const unsigned ModeOffset = LEDOffset + NumLEDs;
00422
00423 const unsigned BaseFrameOffset = NumOutputs;
00424 const unsigned CameraFrameOffset = BaseFrameOffset+1;
00425 const unsigned LeftIRFrameOffset = CameraFrameOffset+1;
00426 const unsigned CenterIRFrameOffset = LeftIRFrameOffset+1;
00427 const unsigned IRFrameOffset = CenterIRFrameOffset;
00428 const unsigned RightIRFrameOffset = CenterIRFrameOffset+1;
00429
00430
00431
00432 enum LEDOffset_t {
00433 PowerRedLEDOffset=LEDOffset,
00434 PowerGreenLEDOffset,
00435 PlayLEDOffset,
00436 AdvanceLEDOffset
00437 };
00438
00439 const LEDOffset_t RedLEDOffset = PowerRedLEDOffset;
00440 const LEDOffset_t BlueLEDOffset = AdvanceLEDOffset;
00441 const LEDOffset_t GreenLEDOffset = PlayLEDOffset;
00442 const LEDOffset_t YellowLEDOffset = AdvanceLEDOffset;
00443
00444 typedef unsigned int LEDBitMask_t;
00445
00446 const LEDBitMask_t BlueLEDMask = (1<<(AdvanceLEDOffset-LEDOffset)) |
00447 (1<<(PowerRedLEDOffset-LEDOffset));
00448 const LEDBitMask_t GreenLEDMask = 1<<(GreenLEDOffset-LEDOffset);
00449 const LEDBitMask_t YellowLEDMask = 1<<(YellowLEDOffset-LEDOffset);
00450 const LEDBitMask_t RedLEDMask = 1<<(RedLEDOffset-LEDOffset);
00451
00452 const LEDBitMask_t PowerRedLEDMask = 1<<(PowerRedLEDOffset-LEDOffset);
00453 const LEDBitMask_t PowerGreenLEDMask = 1<<(PowerGreenLEDOffset-LEDOffset);
00454 const LEDBitMask_t PlayLEDMask = 1<<(PlayLEDOffset-LEDOffset);
00455 const LEDBitMask_t AdvanceLEDMask = 1<<(AdvanceLEDOffset-LEDOffset);
00456
00457
00458 const LEDBitMask_t FaceLEDMask = 0;
00459
00460 const LEDBitMask_t AllLEDMask = (LEDBitMask_t)~0;
00461
00462
00463 const float DefaultPIDs[NumPIDJoints][3] = {
00464 {1,0,0},
00465 {1,0,0},
00466 {1,0,0},
00467 {1,0,0}
00468 };
00469
00470
00471 const float MaxOutputSpeed[NumOutputs] = {
00472 0, 0,
00473 0, 0,
00474 0,
00475 0,
00476 0,
00477 0,
00478 0
00479 };
00480
00481
00482 const float outputRanges[NumOutputs][2] =
00483 {
00484 { -500 , 500 },
00485 { -500 , 500 },
00486 {RAD(-150),RAD(150)},
00487 {RAD(-92),RAD(75)},
00488 { 0 , 1 },
00489 { 0 , 1 },
00490 { 0 , 1 },
00491 { 0 , 1 },
00492 { MODE_PASSIVE, MODE_SAFE }
00493 };
00494
00495 }
00496
00497
00498 namespace Calliope2 {
00499 using namespace CommonCalliopeInfo::WithHead;
00500
00501 const unsigned JointsPerArm = 3;
00502 const unsigned NumArms = 1;
00503 const unsigned NumArmJoints = JointsPerArm*NumArms;
00504 const unsigned NumPIDJoints = NumWheels + NumHeadJoints + NumArmJoints;
00505 const unsigned NumOutputs = NumPIDJoints + NumLEDs + 1 ;
00506
00507 const unsigned ArmOffset = HeadOffset+NumHeadJoints;
00508 const unsigned LEDOffset = ArmOffset+NumArmJoints;
00509 const unsigned ModeOffset = LEDOffset + NumLEDs;
00510
00511 const unsigned BaseFrameOffset = NumOutputs;
00512 const unsigned GripperFrameOffset = BaseFrameOffset + 1;
00513 const unsigned CameraFrameOffset = GripperFrameOffset+NumArms;
00514 const unsigned LeftIRFrameOffset = CameraFrameOffset+1;
00515 const unsigned CenterIRFrameOffset = LeftIRFrameOffset+1;
00516 const unsigned IRFrameOffset = CenterIRFrameOffset;
00517 const unsigned RightIRFrameOffset = CenterIRFrameOffset+1;
00518
00519
00520 enum ArmOffset_t {
00521 ArmBaseOffset=ArmOffset,
00522 ArmElbowOffset,
00523 GripperOffset
00524 };
00525
00526
00527
00528 enum LEDOffset_t {
00529 PowerRedLEDOffset=LEDOffset,
00530 PowerGreenLEDOffset,
00531 PlayLEDOffset,
00532 AdvanceLEDOffset
00533 };
00534
00535 const LEDOffset_t RedLEDOffset = PowerRedLEDOffset;
00536 const LEDOffset_t BlueLEDOffset = AdvanceLEDOffset;
00537 const LEDOffset_t GreenLEDOffset = PlayLEDOffset;
00538 const LEDOffset_t YellowLEDOffset = AdvanceLEDOffset;
00539
00540 typedef unsigned int LEDBitMask_t;
00541
00542 const LEDBitMask_t BlueLEDMask = (1<<(AdvanceLEDOffset-LEDOffset)) |
00543 (1<<(PowerRedLEDOffset-LEDOffset));
00544 const LEDBitMask_t GreenLEDMask = 1<<(GreenLEDOffset-LEDOffset);
00545 const LEDBitMask_t YellowLEDMask = 1<<(YellowLEDOffset-LEDOffset);
00546 const LEDBitMask_t RedLEDMask = 1<<(RedLEDOffset-LEDOffset);
00547
00548 const LEDBitMask_t PowerRedLEDMask = 1<<(PowerRedLEDOffset-LEDOffset);
00549 const LEDBitMask_t PowerGreenLEDMask = 1<<(PowerGreenLEDOffset-LEDOffset);
00550 const LEDBitMask_t PlayLEDMask = 1<<(PlayLEDOffset-LEDOffset);
00551 const LEDBitMask_t AdvanceLEDMask = 1<<(AdvanceLEDOffset-LEDOffset);
00552
00553
00554 const LEDBitMask_t FaceLEDMask = 0;
00555
00556 const LEDBitMask_t AllLEDMask = (LEDBitMask_t)~0;
00557
00558
00559 const float DefaultPIDs[NumPIDJoints][3] = {
00560 {1,0,0},
00561 {1,0,0},
00562 {1,0,0},
00563 {1,0,0},
00564 {1,0,0},
00565 {1,0,0},
00566 {1,0,0}
00567 };
00568
00569
00570 const float MaxOutputSpeed[NumOutputs] = {
00571 0, 0,
00572 0, 0,
00573 0, 0, 0,
00574 0,
00575 0,
00576 0,
00577 0,
00578 0
00579 };
00580
00581
00582 const float outputRanges[NumOutputs][2] =
00583 {
00584 { -500 , 500 },
00585 { -500 , 500 },
00586 {RAD(-150),RAD(150)},
00587 {RAD(-92),RAD(75)},
00588 {RAD(-150),RAD(75)},
00589 {RAD(-60),RAD(49)},
00590 {RAD(0),RAD(150)},
00591 { 0 , 1 },
00592 { 0 , 1 },
00593 { 0 , 1 },
00594 { 0 , 1 },
00595 { MODE_PASSIVE, MODE_SAFE }
00596 };
00597
00598 }
00599
00600
00601 namespace Calliope5 {
00602 using namespace CommonCalliopeInfo::WithHead;
00603
00604 const unsigned JointsPerArm = 7;
00605 const unsigned NumArms = 1;
00606 const unsigned NumArmJoints = JointsPerArm*NumArms;
00607 const unsigned NumPIDJoints = NumWheels + NumHeadJoints + NumArmJoints;
00608 const unsigned NumOutputs = NumPIDJoints + NumLEDs + 1 ;
00609
00610 const unsigned ArmOffset = HeadOffset+NumHeadJoints;
00611 const unsigned LEDOffset = ArmOffset+NumArmJoints;
00612 const unsigned ModeOffset = LEDOffset + NumLEDs;
00613
00614 const unsigned BaseFrameOffset = NumOutputs;
00615 const unsigned GripperFrameOffset = BaseFrameOffset + 1;
00616 const unsigned LeftFingerFrameOffset = GripperFrameOffset+1;
00617 const unsigned RightFingerFrameOffset = LeftFingerFrameOffset+1;
00618 const unsigned CameraFrameOffset = RightFingerFrameOffset+NumArms;
00619
00620
00621 enum ArmOffset_t {
00622 ArmBaseOffset=ArmOffset,
00623 ArmShoulderOffset,
00624 ArmElbowOffset,
00625 ArmWristOffset,
00626 WristRotateOffset,
00627 LeftFingerOffset,
00628 RightFingerOffset
00629 };
00630
00631 namespace WithoutAXS1Sensors {
00632 using namespace Calliope5;
00633 using namespace CommonCalliopeInfo::WithoutAXS1Sensors;
00634 }
00635 namespace WithAXS1Sensors {
00636 using namespace Calliope5;
00637 using namespace CommonCalliopeInfo::WithAXS1Sensors;
00638 const unsigned LeftIRFrameOffset = CameraFrameOffset+1;
00639 const unsigned CenterIRFrameOffset = LeftIRFrameOffset+1;
00640 const unsigned IRFrameOffset = CenterIRFrameOffset;
00641 const unsigned RightIRFrameOffset = CenterIRFrameOffset+1;
00642 }
00643
00644
00645
00646 enum LEDOffset_t {
00647 PowerRedLEDOffset=LEDOffset,
00648 PowerGreenLEDOffset,
00649 PlayLEDOffset,
00650 AdvanceLEDOffset
00651 };
00652
00653 const LEDOffset_t RedLEDOffset = PowerRedLEDOffset;
00654 const LEDOffset_t BlueLEDOffset = AdvanceLEDOffset;
00655 const LEDOffset_t GreenLEDOffset = PlayLEDOffset;
00656 const LEDOffset_t YellowLEDOffset = AdvanceLEDOffset;
00657
00658 typedef unsigned int LEDBitMask_t;
00659
00660 const LEDBitMask_t BlueLEDMask = (1<<(AdvanceLEDOffset-LEDOffset)) |
00661 (1<<(PowerRedLEDOffset-LEDOffset));
00662 const LEDBitMask_t GreenLEDMask = 1<<(GreenLEDOffset-LEDOffset);
00663 const LEDBitMask_t YellowLEDMask = 1<<(YellowLEDOffset-LEDOffset);
00664 const LEDBitMask_t RedLEDMask = 1<<(RedLEDOffset-LEDOffset);
00665
00666 const LEDBitMask_t PowerRedLEDMask = 1<<(PowerRedLEDOffset-LEDOffset);
00667 const LEDBitMask_t PowerGreenLEDMask = 1<<(PowerGreenLEDOffset-LEDOffset);
00668 const LEDBitMask_t PlayLEDMask = 1<<(PlayLEDOffset-LEDOffset);
00669 const LEDBitMask_t AdvanceLEDMask = 1<<(AdvanceLEDOffset-LEDOffset);
00670
00671
00672 const LEDBitMask_t FaceLEDMask = 0;
00673
00674 const LEDBitMask_t AllLEDMask = (LEDBitMask_t)~0;
00675
00676
00677 const float DefaultPIDs[NumPIDJoints][3] = {
00678 {1,0,0},
00679 {1,0,0},
00680 {1,0,0},
00681 {1,0,0},
00682 {1,0,0},
00683 {1,0,0},
00684 {1,0,0},
00685 {1,0,0},
00686 {1,0,0},
00687 {1,0,0},
00688 {1,0,0}
00689 };
00690
00691
00692 const float MaxOutputSpeed[NumOutputs] = {
00693 0, 0,
00694 0, 0,
00695 0, 0, 0, 0, 0, 0, 0,
00696 0,
00697 0,
00698 0,
00699 0,
00700 0
00701 };
00702
00703
00704 const float outputRanges[NumOutputs][2] =
00705 {
00706 { -500 , 500 },
00707 { -500 , 500 },
00708 {RAD(-150),RAD(150)},
00709 {RAD(-92),RAD(75)},
00710 {RAD(-150),RAD(150)},
00711 {RAD(-150),RAD(150)},
00712 {RAD(-150),RAD(150)},
00713 {RAD(-150),RAD(150)},
00714 {RAD(-150),RAD(150)},
00715 {RAD(-70),RAD(44)},
00716 {RAD(-25),RAD(70)},
00717 { 0 , 1 },
00718 { 0 , 1 },
00719 { 0 , 1 },
00720 { 0 , 1 },
00721 { MODE_PASSIVE, MODE_SAFE }
00722 };
00723
00724 }
00725
00726 }
00727
00728 #endif