mit

Dependencies:   QEI mbed-src

HBridge.cpp

Committer:
coldplay
Date:
2018-12-24
Revision:
5:e90c8b57811c
Parent:
4:5ae9f8b3a16f

File content as of revision 5:e90c8b57811c:

#include "HBridge.h"

HBridge::HBridge(PinName pwm_pin, PinName min_1_pin, PinName min_2_pin, float pwm_period): pwm_pin_(pwm_pin), min_1_pin_(min_1_pin), min_2_pin_(min_2_pin) {
    pwm_pin_.period(pwm_period);
}

//Input of -1 means full reverse, 1 means full forward
//An input of magnitude > 1 gets reduced to 1 (or -1) by the pwm.write function
void HBridge::set_output(float output) {
    this->output = output;
    if (output > 0) {
        min_1_pin_.write(0);
        min_2_pin_.write(1);
        pwm_pin_.write(0.5);
    } else if (output < 0) {
        min_1_pin_.write(1);
        min_2_pin_.write(0);
        pwm_pin_.write(0.5);
    } else {
        min_1_pin_.write(0);
        min_2_pin_.write(0);
        pwm_pin_.write(0.0);
    }
}

void HBridge::forward()
{
    min_1_pin_.write(1);
    min_2_pin_.write(0);
    pwm_pin_.write(0.5);   
}
void HBridge::back()
{
    min_1_pin_.write(0);
    min_2_pin_.write(1);
    pwm_pin_.write(0.5);   
    
}
void HBridge::initialize()
{
    min_1_pin_.write(0);
    min_2_pin_.write(0);
    pwm_pin_.write(0);   
}