Dependents:   RobotBase

Committer:
inst
Date:
Fri Nov 13 08:15:58 2015 +0000
Revision:
3:115488d3ca1a
Parent:
2:869012d317b5

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
inst 0:7e177131730d 1 #ifndef INCLUDED_XBEE_H
inst 0:7e177131730d 2 #define INCLUDED_XBEE_H
inst 0:7e177131730d 3
inst 0:7e177131730d 4 #include "mbed.h"
inst 0:7e177131730d 5 #include "I2CDevice.h"
inst 1:7f0b90daef14 6 #include "Command.h"
inst 2:869012d317b5 7 #include "Steering.h"
inst 0:7e177131730d 8
inst 0:7e177131730d 9 class XBee : public I2CDevice{
inst 0:7e177131730d 10 public:
inst 1:7f0b90daef14 11 XBee( char address );
inst 0:7e177131730d 12
inst 2:869012d317b5 13 virtual int read();
inst 2:869012d317b5 14
inst 2:869012d317b5 15 static void setAngleAdjust_deg( float angle_deg ){
inst 2:869012d317b5 16 mAngleAdjust_deg = angle_deg;
inst 2:869012d317b5 17 }
inst 2:869012d317b5 18 static void setMoveDirection_rad( float direction_rad ){
inst 2:869012d317b5 19 mMoveDirection_rad = direction_rad;
inst 2:869012d317b5 20 }
inst 2:869012d317b5 21
inst 2:869012d317b5 22 Command createCommand();
inst 0:7e177131730d 23
inst 2:869012d317b5 24 enum AngleAdjustType{
inst 2:869012d317b5 25 NO_OPERATION,
inst 2:869012d317b5 26 INCREMENT,
inst 2:869012d317b5 27 DECREMENT
inst 2:869012d317b5 28 };
inst 2:869012d317b5 29
inst 2:869012d317b5 30 enum SpeedType{
inst 2:869012d317b5 31 LOW_SPEED = 0x03,
inst 2:869012d317b5 32 HIGH_SPEED = 0x04
inst 2:869012d317b5 33 };
inst 2:869012d317b5 34
inst 2:869012d317b5 35 enum RollDirection{
inst 2:869012d317b5 36 CONTERCLOCKWISE = 0x00,
inst 2:869012d317b5 37 CLOCKWISE = 0x01
inst 2:869012d317b5 38 };
inst 2:869012d317b5 39
inst 2:869012d317b5 40 static const float mAngleAdjustTable[];
inst 0:7e177131730d 41
inst 0:7e177131730d 42 private:
inst 1:7f0b90daef14 43 static const size_t mNumOfDivDirection;
inst 1:7f0b90daef14 44 static const float mDutyTable[];
inst 1:7f0b90daef14 45 static const float mRollCoeffTable[];
inst 2:869012d317b5 46 static float mAngleAdjust_deg;
inst 2:869012d317b5 47 static float mMoveDirection_rad;
inst 1:7f0b90daef14 48
inst 1:7f0b90daef14 49 float mMoveDuty;
inst 1:7f0b90daef14 50 float mRollCoeff;
inst 2:869012d317b5 51 ShootingSystem::AimState mAimState;
inst 2:869012d317b5 52 Steering::ActionType mSteeringActionType;
inst 2:869012d317b5 53 SpeedType mSpeedMode;
inst 2:869012d317b5 54 bool mIsShooting;
inst 2:869012d317b5 55 bool mIsSupplying;
inst 2:869012d317b5 56 bool mIsNotStop;
inst 2:869012d317b5 57 AngleAdjustType mPrevAngleAdjustType;
inst 0:7e177131730d 58 };
inst 0:7e177131730d 59
inst 0:7e177131730d 60 #endif