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/

Revision:
2:0da3a4508b46
Parent:
0:1855a008f28e
Child:
3:07562878d3c3
--- 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);
+    }
+}