Function on LEDs
LEDFunction.cpp
- Committer:
- PA
- Date:
- 2012-05-28
- Revision:
- 0:38ffbf6895c1
- Child:
- 1:7fd22984c201
File content as of revision 0:38ffbf6895c1:
#include "LEDFunction.h" #include "mbed.h" LEDFunction::LEDFunction(PinName pin): _pin(pin){ _pin = 0; Period=16667; PWMMin=0; PWMDuty=Period/2; PWMMax=Period; Pulse.attach_us(this,&LEDFunction::SigStart,PWMDuty); void LEDFunction::OnOff(){ if(_pin == 0){ _pin = 1; } else _pin = 0; } void LEDFunction::SigStart(){ _pin=1; PulseEnd.attach_us(this,&LEDFunction::SigStop,PWMDuty); } void LEDFunction::SigStop(){ _Pin=0; } void LEDFunction::write_us(int PosIn){ PWMDuty=PosIn; if(PosIn<PWMMin){PWMDuty=PWMMin;} if(PosIn>PWMMax){PWMDuty=PWMMax;} } void LEDFunction::duty(float dutIn){ dutIn=Period*dutIn; int pos=(int)dutIn; write_us(pos); } int LEDFunction::read_us(){ return PWMDuty; }