Function on LEDs
Diff: LEDFunction.cpp
- Revision:
- 0:38ffbf6895c1
- Child:
- 1:7fd22984c201
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/LEDFunction.cpp Mon May 28 02:58:18 2012 +0000 @@ -0,0 +1,42 @@ +#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; +} \ No newline at end of file