Simple Interface for Toshiba's TB6612FNG H-Bridge Motor Driver
TB6612FNG.cpp
- Committer:
- humlet
- Date:
- 2013-03-04
- Revision:
- 0:30d6828516f5
- Child:
- 1:3dd9137a5cec
File content as of revision 0:30d6828516f5:
/** * H-Bridge / Motor Driver TB6612FNG Control Library */ #include "TB6612FNG.h" TB6612FNG::TB6612FNG(PinName pwm, PinName ctrl1, PinName ctrl2) :m_pwm(pwm), m_ctrl1(ctrl1), m_ctrl2(ctrl2), m_dc(0), m_on(false) { m_ctrl1 = 0; m_ctrl2 = 0; m_pwm.period_us(1000); m_pwm.pulsewidth_us(0); } void TB6612FNG::setDC(int dc) { m_dc=dc; if(m_dc>1000) m_dc=1000; else if(m_dc<-1000) m_dc=-1000; if(m_on)on(); } void TB6612FNG::on() { m_on=true; if(m_dc>0) { m_ctrl1=1; m_ctrl2=0; m_pwm.pulsewidth_us(m_dc); } else if(m_dc<0) { m_ctrl1=0; m_ctrl2=1; m_pwm.pulsewidth_us(-m_dc); } else { m_ctrl1=0; m_ctrl2=0; } } void TB6612FNG::off() { m_on=false; m_ctrl1=0; m_ctrl2=0; } void TB6612FNG::brake() { m_on=false; m_ctrl1=1; m_ctrl2=1; }