Dependents:   InjectorValveFourthMicro InjectorValveFourthMicro1 InjectorValveFourthMicro2 ReadingInLines_copy

Fork of PWM-Coil-driver by David Wahl

coil-driver.cpp

Committer:
dmwahl
Date:
2017-06-20
Revision:
3:0b1f41462b97
Parent:
2:6df05ae10a1a
Child:
4:ca7107dff643

File content as of revision 3:0b1f41462b97:

#include "coil-driver.h"

// Default constructor
Coil::Coil(PinName _controlPin, uint16_t _spikeus, uint16_t _holdperiod_us, uint16_t _holdpulse_us)
    :   controlOut(_controlPin),
        spikeus(_spikeus),
        holdperiod_us(_holdperiod_us),
        holdpulse_us(_holdpulse_us)
{
    controlOut.write(0.0); // Ensure coil output is off by default
    controlOut.period_us(holdperiod_us); // PWM control period (uint16_t microseconds)

};

void Coil::on()
{
    controlOut.write(1.0);
    wait_us(spikeus);
    controlOut.pulsewidth_us(holdpulse_us);
}

void Coil::off()
{
    controlOut.write(0.0);
}