Dependencies:   PID_ PWMOut YMotorDriverBase YMotorDriverPusher YMotorDriverServo YMotorDriverShooter YMotorDriverSupplier

Dependents:   YMD

YMotorDriver.h

Committer:
inst
Date:
2015-10-14
Revision:
2:2e3b56f045f5
Parent:
0:44b89a084daf
Child:
4:7b3ed02bf4cc

File content as of revision 2:2e3b56f045f5:

#ifndef INCLUDED_YMOTOR_DRIVER_H
#define INCLUDED_YMOTOR_DRIVER_H

#include "mbed.h"

class YMotorDriverBase;

class YMotorDriver{
public:
    enum MotorTypeID{
        STEERING_0_ID,
        STEERING_1_ID,
        STEERING_2_ID,
        SHOOTER_ID,
        GENERAL_ID,
    };
    
    YMotorDriver();
    ~YMotorDriver();
    
    void update();
private:
    YMotorDriverBase* mYMotorDriver;

    static const PinName mAddressDeciderPinName[ 4 ];
    static const char mYMotorDriverBaseAddress[];
    static const char mYMotorDriverServoAddress[];
    static const char mYMotorDriverSupplierAddress[];
    static const char mYMotorDriverPusherAddress[];
    static const char mYMotorDriverShooterAddress[];
    static const char mYMotorDriverPositionManagerAddress[];
    
    static const size_t mNumOfYMotorDriverBaseAddress;
    static const size_t mNumOfYMotorDriverServoAddress;
    static const size_t mNumOfYMotorDriverSupplierAddress;
    static const size_t mNumOfYMotorDriverPusherAddress;
    static const size_t mNumOfYMotorDriverShooterAddress;
    static const size_t mNumOfYMotorDriverPositionManagerAddress;
    
    char mAddress;
};

#endif