LAN(Wi-Fi) air controller through the Internet. Also you can use TANK. See:http://wizard.nestegg.jp/lanir.html

Dependencies:   EthernetNetIf mbed HTTPServer

Committer:
halfpitch
Date:
Mon Aug 01 19:21:55 2011 +0000
Revision:
0:6f9648f5eaab
Rev.A

Who changed what in which revision?

UserRevisionLine numberNew contents of line
halfpitch 0:6f9648f5eaab 1 // Copyright (C) 2010 Robert M. Bouwens
halfpitch 0:6f9648f5eaab 2
halfpitch 0:6f9648f5eaab 3 #ifndef _SEMAPHORE_H_
halfpitch 0:6f9648f5eaab 4 #define _SEMAPHORE_H_
halfpitch 0:6f9648f5eaab 5
halfpitch 0:6f9648f5eaab 6 /*
halfpitch 0:6f9648f5eaab 7 * http://mbed.org/forum/mbed/topic/181/#comment-799
halfpitch 0:6f9648f5eaab 8 */
halfpitch 0:6f9648f5eaab 9
halfpitch 0:6f9648f5eaab 10 class Semaphore {
halfpitch 0:6f9648f5eaab 11 public:
halfpitch 0:6f9648f5eaab 12 Semaphore(): s(SemFree) {};
halfpitch 0:6f9648f5eaab 13
halfpitch 0:6f9648f5eaab 14 bool try_enter() {
halfpitch 0:6f9648f5eaab 15 int oldval = __ldrex(&s);
halfpitch 0:6f9648f5eaab 16 if (oldval == SemTaken) {
halfpitch 0:6f9648f5eaab 17 __clrex();
halfpitch 0:6f9648f5eaab 18 return false;
halfpitch 0:6f9648f5eaab 19 }
halfpitch 0:6f9648f5eaab 20 s = SemTaken;
halfpitch 0:6f9648f5eaab 21 __clrex();
halfpitch 0:6f9648f5eaab 22 return SemTaken == s;
halfpitch 0:6f9648f5eaab 23 };
halfpitch 0:6f9648f5eaab 24
halfpitch 0:6f9648f5eaab 25 void release() {
halfpitch 0:6f9648f5eaab 26 s = SemFree;
halfpitch 0:6f9648f5eaab 27 };
halfpitch 0:6f9648f5eaab 28
halfpitch 0:6f9648f5eaab 29 private:
halfpitch 0:6f9648f5eaab 30 enum { SemFree = 1, SemTaken = 2 };
halfpitch 0:6f9648f5eaab 31 volatile int s;
halfpitch 0:6f9648f5eaab 32 };
halfpitch 0:6f9648f5eaab 33
halfpitch 0:6f9648f5eaab 34 #endif