Download NHK English news podcast automatically. This application requires mpod mother board. See also http://mbed.org/users/geodenx/notebook/mpod/
Dependencies: BlinkLed HTTPClient EthernetInterface FatFileSystemCpp MSCFileSystem mbed-rtos mbed
Download NHK English news podcast automatically. This application requires mpod mother board. See also http://mbed.org/users/geodenx/notebook/mpod/
Diff: BlinkLed.cpp
- Revision:
- 2:0da3a4508b46
- Parent:
- 0:1855a008f28e
- Child:
- 3:07562878d3c3
diff -r 1637e625b21b -r 0da3a4508b46 BlinkLed.cpp --- a/BlinkLed.cpp Fri Aug 17 12:49:12 2012 +0000 +++ b/BlinkLed.cpp Sat Aug 18 16:46:40 2012 +0000 @@ -1,60 +1,61 @@ -#include "BlinkLed.h" - -BlinkLed::BlinkLed(PinName pin, uint32_t millisecWait, const char* name) : -led(pin, name), -millisecWait(millisecWait), -thread(0) -{ -} - -BlinkLed::~BlinkLed() -{ -} - -void BlinkLed::startBlink() -{ - if(thread == 0) - { - thread = new Thread(blink, this); - } -} - -void BlinkLed::finishBlink() -{ - if(thread != 0) - { - thread->terminate(); - thread = 0; - led = 0.0; - } -} - -void BlinkLed::blink(void const *argument) -{ - BlinkLed* blinkLed = (BlinkLed*)argument; - - int up = 1; - float brightness = 0.0; - while (1) { - if (up == 1 && brightness < 1.0) { - ; - } else if (up == 1 && brightness >= 1.0) { - up = 0; - } else if (up == 0 && brightness > 0) { - ; - } else if (up == 0 && brightness <= 0.0) { - up = 1; - } else { - error("LED PWM error\n"); - } - - if (up == 1) { - brightness += 0.01; - } else { - brightness -= 0.01; - } - blinkLed->led = brightness; - - Thread::wait(blinkLed->millisecWait); - } -} +#include "BlinkLed.h" + +BlinkLed::BlinkLed(PinName pin, uint32_t millisecWait, const char* name) : +led(pin, name), +millisecWait(millisecWait), +thread(0) +{ +} + +BlinkLed::~BlinkLed() +{ +} + +void BlinkLed::startBlink() +{ + if(thread == 0) + { + thread = new Thread(blink, this, osPriorityNormal, 128, NULL); + } +} + +void BlinkLed::finishBlink() +{ + if(thread != 0) + { + thread->terminate(); + delete thread; + thread = 0; + led = 0.0; + } +} + +void BlinkLed::blink(void const *argument) +{ + BlinkLed* blinkLed = (BlinkLed*)argument; + + int up = 1; + float brightness = 0.0; + while (1) { + if (up == 1 && brightness < 1.0) { + ; + } else if (up == 1 && brightness >= 1.0) { + up = 0; + } else if (up == 0 && brightness > 0) { + ; + } else if (up == 0 && brightness <= 0.0) { + up = 1; + } else { + error("LED PWM error\n"); + } + + if (up == 1) { + brightness += 0.01; + } else { + brightness -= 0.01; + } + blinkLed->led = brightness; + + Thread::wait(blinkLed->millisecWait); + } +}