Download picasa web albums photos 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 picasa web albums photos automatically.
This application requires mpod mother board.
Picasaウェブアルバムから、自動的に写真をダウンロードして、ディジタルフォトフレームに表示します。
動作させるには mpod マザーボード が必要です。
プログラムの中で、ご自分のアルバムのRSSファイルへのURLを指定してからご利用下さい。
BlinkLed.cpp@0:dfd5cfea7112, 2012-08-22 (annotated)
- Committer:
- togayan
- Date:
- Wed Aug 22 16:00:38 2012 +0000
- Revision:
- 0:dfd5cfea7112
- Child:
- 5:66c3398a14c9
1st version of mpod_picasa_photoframe
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| togayan | 0:dfd5cfea7112 | 1 | #include "BlinkLed.h" |
| togayan | 0:dfd5cfea7112 | 2 | |
| togayan | 0:dfd5cfea7112 | 3 | BlinkLed::BlinkLed(PinName pin, float dutyChangeStep, const char* name) : |
| togayan | 0:dfd5cfea7112 | 4 | led(pin, name), |
| togayan | 0:dfd5cfea7112 | 5 | dutyChangeStep(dutyChangeStep), |
| togayan | 0:dfd5cfea7112 | 6 | thread(0) |
| togayan | 0:dfd5cfea7112 | 7 | { |
| togayan | 0:dfd5cfea7112 | 8 | } |
| togayan | 0:dfd5cfea7112 | 9 | |
| togayan | 0:dfd5cfea7112 | 10 | BlinkLed::~BlinkLed() |
| togayan | 0:dfd5cfea7112 | 11 | { |
| togayan | 0:dfd5cfea7112 | 12 | } |
| togayan | 0:dfd5cfea7112 | 13 | |
| togayan | 0:dfd5cfea7112 | 14 | void BlinkLed::startBlink() |
| togayan | 0:dfd5cfea7112 | 15 | { |
| togayan | 0:dfd5cfea7112 | 16 | if(thread == 0) |
| togayan | 0:dfd5cfea7112 | 17 | { |
| togayan | 0:dfd5cfea7112 | 18 | thread = new Thread(blink, this, osPriorityNormal, 128, NULL); |
| togayan | 0:dfd5cfea7112 | 19 | } |
| togayan | 0:dfd5cfea7112 | 20 | } |
| togayan | 0:dfd5cfea7112 | 21 | |
| togayan | 0:dfd5cfea7112 | 22 | void BlinkLed::finishBlink() |
| togayan | 0:dfd5cfea7112 | 23 | { |
| togayan | 0:dfd5cfea7112 | 24 | if(thread != 0) |
| togayan | 0:dfd5cfea7112 | 25 | { |
| togayan | 0:dfd5cfea7112 | 26 | thread->terminate(); |
| togayan | 0:dfd5cfea7112 | 27 | delete thread; |
| togayan | 0:dfd5cfea7112 | 28 | thread = 0; |
| togayan | 0:dfd5cfea7112 | 29 | led = 0.0; |
| togayan | 0:dfd5cfea7112 | 30 | } |
| togayan | 0:dfd5cfea7112 | 31 | } |
| togayan | 0:dfd5cfea7112 | 32 | |
| togayan | 0:dfd5cfea7112 | 33 | void BlinkLed::blink(void const *argument) |
| togayan | 0:dfd5cfea7112 | 34 | { |
| togayan | 0:dfd5cfea7112 | 35 | BlinkLed* blinkLed = (BlinkLed*)argument; |
| togayan | 0:dfd5cfea7112 | 36 | |
| togayan | 0:dfd5cfea7112 | 37 | int up = 1; |
| togayan | 0:dfd5cfea7112 | 38 | float brightness = 0.0; |
| togayan | 0:dfd5cfea7112 | 39 | while (1) { |
| togayan | 0:dfd5cfea7112 | 40 | if (up == 1 && brightness < 1.0) { |
| togayan | 0:dfd5cfea7112 | 41 | ; |
| togayan | 0:dfd5cfea7112 | 42 | } else if (up == 1 && brightness >= 1.0) { |
| togayan | 0:dfd5cfea7112 | 43 | up = 0; |
| togayan | 0:dfd5cfea7112 | 44 | } else if (up == 0 && brightness > 0) { |
| togayan | 0:dfd5cfea7112 | 45 | ; |
| togayan | 0:dfd5cfea7112 | 46 | } else if (up == 0 && brightness <= 0.0) { |
| togayan | 0:dfd5cfea7112 | 47 | up = 1; |
| togayan | 0:dfd5cfea7112 | 48 | } else { |
| togayan | 0:dfd5cfea7112 | 49 | error("LED PWM error\n"); |
| togayan | 0:dfd5cfea7112 | 50 | } |
| togayan | 0:dfd5cfea7112 | 51 | |
| togayan | 0:dfd5cfea7112 | 52 | float dutyChangeStep = blinkLed->dutyChangeStep; |
| togayan | 0:dfd5cfea7112 | 53 | if (up == 1) { |
| togayan | 0:dfd5cfea7112 | 54 | brightness += dutyChangeStep; |
| togayan | 0:dfd5cfea7112 | 55 | } else { |
| togayan | 0:dfd5cfea7112 | 56 | brightness -= dutyChangeStep; |
| togayan | 0:dfd5cfea7112 | 57 | } |
| togayan | 0:dfd5cfea7112 | 58 | blinkLed->led = brightness; |
| togayan | 0:dfd5cfea7112 | 59 | |
| togayan | 0:dfd5cfea7112 | 60 | Thread::wait(20); |
| togayan | 0:dfd5cfea7112 | 61 | } |
| togayan | 0:dfd5cfea7112 | 62 | } |
Satoshi Togawa