Motor2

Dependents:   OneCircleRobot

Fork of Motor by Kiko Ishimoto

Motor.cpp

Committer:
kikoaac
Date:
2015-06-19
Revision:
0:1252cd3b995f
Child:
1:4ab6e9768847

File content as of revision 0:1252cd3b995f:

/**
 * Includes
 */
#include "Motor.h"

Motor::Motor(PinName _pin_h1, PinName _pin_g2, PinName _pin_g1, PinName _pin_h2,PinName _pwm,float Max) :
motor(_pin_h1,_pin_g2,_pin_g1,_pin_h2),PwmPin(_pwm)
{
    max=Max;
    PwmPin.period_ms(10);
    run(Stop,1);
}
void Motor::run(int i,float duty)
{
    static int state;
    Duty = duty/max;
    //if(state==i)return;
    PwmPin = Duty;
    if(state==i)return;
    Timer t;
    motor=0;
    //wait_us(20);
    t.start();
    t.reset();
    while(t.read_us()>=20);
    if(i==Front) motor=0x01|0x04;
    else if(i==Back) motor=0x02|0x08;
    else if(i==Stop) motor=0x01|0x08;
    else if(i==Free) motor=0x00|0x00;
    else motor=0;   
    state=i;
}