Dependencies:   PID_ PWMOut YMotorDriverBase YMotorDriverPusher YMotorDriverServo YMotorDriverShooter YMotorDriverSupplier

Dependents:   YMD

Committer:
inst
Date:
Fri Nov 13 08:19:04 2015 +0000
Revision:
4:7b3ed02bf4cc
Parent:
2:2e3b56f045f5

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
inst 0:44b89a084daf 1 #ifndef INCLUDED_YMOTOR_DRIVER_H
inst 0:44b89a084daf 2 #define INCLUDED_YMOTOR_DRIVER_H
inst 0:44b89a084daf 3
inst 0:44b89a084daf 4 #include "mbed.h"
inst 0:44b89a084daf 5
inst 0:44b89a084daf 6 class YMotorDriverBase;
inst 0:44b89a084daf 7
inst 0:44b89a084daf 8 class YMotorDriver{
inst 0:44b89a084daf 9 public:
inst 2:2e3b56f045f5 10 enum MotorTypeID{
inst 2:2e3b56f045f5 11 STEERING_0_ID,
inst 2:2e3b56f045f5 12 STEERING_1_ID,
inst 2:2e3b56f045f5 13 STEERING_2_ID,
inst 2:2e3b56f045f5 14 SHOOTER_ID,
inst 4:7b3ed02bf4cc 15 GENERAL_ID
inst 2:2e3b56f045f5 16 };
inst 2:2e3b56f045f5 17
inst 4:7b3ed02bf4cc 18 static YMotorDriver* getInstance(){
inst 4:7b3ed02bf4cc 19 if ( mInstance == NULL ){
inst 4:7b3ed02bf4cc 20 mInstance = new YMotorDriver();
inst 4:7b3ed02bf4cc 21 }
inst 4:7b3ed02bf4cc 22 return mInstance;
inst 4:7b3ed02bf4cc 23 }
inst 4:7b3ed02bf4cc 24 void update();
inst 4:7b3ed02bf4cc 25
inst 4:7b3ed02bf4cc 26 private:
inst 0:44b89a084daf 27 YMotorDriver();
inst 0:44b89a084daf 28 ~YMotorDriver();
inst 0:44b89a084daf 29
inst 4:7b3ed02bf4cc 30 static YMotorDriver* mInstance;
inst 0:44b89a084daf 31
inst 4:7b3ed02bf4cc 32 static const PinName mAddressDeciderPinName[];
inst 0:44b89a084daf 33 static const char mYMotorDriverBaseAddress[];
inst 0:44b89a084daf 34 static const char mYMotorDriverServoAddress[];
inst 0:44b89a084daf 35 static const char mYMotorDriverSupplierAddress[];
inst 0:44b89a084daf 36 static const char mYMotorDriverPusherAddress[];
inst 0:44b89a084daf 37 static const char mYMotorDriverShooterAddress[];
inst 2:2e3b56f045f5 38 static const char mYMotorDriverPositionManagerAddress[];
inst 0:44b89a084daf 39
inst 0:44b89a084daf 40 static const size_t mNumOfYMotorDriverBaseAddress;
inst 0:44b89a084daf 41 static const size_t mNumOfYMotorDriverServoAddress;
inst 0:44b89a084daf 42 static const size_t mNumOfYMotorDriverSupplierAddress;
inst 0:44b89a084daf 43 static const size_t mNumOfYMotorDriverPusherAddress;
inst 0:44b89a084daf 44 static const size_t mNumOfYMotorDriverShooterAddress;
inst 2:2e3b56f045f5 45 static const size_t mNumOfYMotorDriverPositionManagerAddress;
inst 0:44b89a084daf 46
inst 4:7b3ed02bf4cc 47 YMotorDriverBase* mYMotorDriver;
inst 0:44b89a084daf 48 char mAddress;
inst 0:44b89a084daf 49 };
inst 0:44b89a084daf 50
inst 0:44b89a084daf 51 #endif