Dependencies:   mbed lwip

Committer:
chris
Date:
Fri Sep 18 17:53:52 2009 +0000
Revision:
0:bde94a805da1

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
chris 0:bde94a805da1 1 #include "mbed.h"
chris 0:bde94a805da1 2
chris 0:bde94a805da1 3 #include "HTTPServer.h"
chris 0:bde94a805da1 4 #include "HTTPRPC.h"
chris 0:bde94a805da1 5 #include "HTTPFS.h"
chris 0:bde94a805da1 6
chris 0:bde94a805da1 7 #include "MobileLCD.h"
chris 0:bde94a805da1 8 #include "LIS302.h"
chris 0:bde94a805da1 9 #include "RFID.h"
chris 0:bde94a805da1 10 #include "RGBLED.h"
chris 0:bde94a805da1 11 #include "Servo.h"
chris 0:bde94a805da1 12 #include "usbhid.h"
chris 0:bde94a805da1 13
chris 0:bde94a805da1 14 LocalFileSystem local("local");
chris 0:bde94a805da1 15 Serial pc(USBTX, USBRX);
chris 0:bde94a805da1 16
chris 0:bde94a805da1 17 InterruptIn RedButton(p30,"redbutton");
chris 0:bde94a805da1 18 DigitalIn GreenButton(p29,"greenbutton");
chris 0:bde94a805da1 19 DigitalIn BlueButton(p28,"bluebutton");
chris 0:bde94a805da1 20
chris 0:bde94a805da1 21 DigitalOut led1(LED1,"led1");
chris 0:bde94a805da1 22 DigitalOut led2(LED2,"led2");
chris 0:bde94a805da1 23 DigitalOut led3(LED3,"led3");
chris 0:bde94a805da1 24 DigitalOut led4(LED4,"led4");
chris 0:bde94a805da1 25
chris 0:bde94a805da1 26 AnalogIn light(p16);
chris 0:bde94a805da1 27 AnalogIn pot(p20,"pot");
chris 0:bde94a805da1 28
chris 0:bde94a805da1 29 RFID rfid (NC,p27);
chris 0:bde94a805da1 30 MobileLCD lcd(p11, p12, p13, p14, p15);
chris 0:bde94a805da1 31 LIS302 acc (p5,p6,p7,p8);
chris 0:bde94a805da1 32 RGBLED rgb (p24,p22,p23);
chris 0:bde94a805da1 33 Servo servo (p21);
chris 0:bde94a805da1 34
chris 0:bde94a805da1 35 usbhid hid;
chris 0:bde94a805da1 36
chris 0:bde94a805da1 37 // Function for Rising ede of RedButton
chris 0:bde94a805da1 38 void RedRise () {
chris 0:bde94a805da1 39 led1 = !led1;
chris 0:bde94a805da1 40 }
chris 0:bde94a805da1 41
chris 0:bde94a805da1 42
chris 0:bde94a805da1 43
chris 0:bde94a805da1 44
chris 0:bde94a805da1 45 int main() {
chris 0:bde94a805da1 46
chris 0:bde94a805da1 47 // Attach the interupt hander to RedButton
chris 0:bde94a805da1 48 RedButton.rise(&RedRise);
chris 0:bde94a805da1 49
chris 0:bde94a805da1 50 // Print to LCD and the serial port
chris 0:bde94a805da1 51 lcd.printf("Hello World!");
chris 0:bde94a805da1 52 pc.printf("Hello World!");
chris 0:bde94a805da1 53
chris 0:bde94a805da1 54
chris 0:bde94a805da1 55 while (1) {
chris 0:bde94a805da1 56
chris 0:bde94a805da1 57
chris 0:bde94a805da1 58 // ----------------------------------
chris 0:bde94a805da1 59 // Accelerometer example
chris 0:bde94a805da1 60 // ----------------------------------
chris 0:bde94a805da1 61
chris 0:bde94a805da1 62 /*
chris 0:bde94a805da1 63 float x = acc.x();
chris 0:bde94a805da1 64 float y = acc.y();
chris 0:bde94a805da1 65 float z = acc.z();
chris 0:bde94a805da1 66 lcd.locate(0,0);
chris 0:bde94a805da1 67 lcd.printf("x=%0.3f ",x);
chris 0:bde94a805da1 68 lcd.locate(0,1);
chris 0:bde94a805da1 69 lcd.printf("y=%0.3f ",y);
chris 0:bde94a805da1 70 lcd.locate(0,2);
chris 0:bde94a805da1 71 lcd.printf("z=%0.3f ",z);
chris 0:bde94a805da1 72 wait (0.5);
chris 0:bde94a805da1 73 */
chris 0:bde94a805da1 74
chris 0:bde94a805da1 75
chris 0:bde94a805da1 76 // ----------------------------------
chris 0:bde94a805da1 77 // RFID Example
chris 0:bde94a805da1 78 // ----------------------------------
chris 0:bde94a805da1 79 /*
chris 0:bde94a805da1 80 if (rfid.readable()) {
chris 0:bde94a805da1 81 int id=rfid.read();
chris 0:bde94a805da1 82 lcd.cls();
chris 0:bde94a805da1 83 lcd.printf("ID : %d",id);
chris 0:bde94a805da1 84
chris 0:bde94a805da1 85 }
chris 0:bde94a805da1 86 */
chris 0:bde94a805da1 87
chris 0:bde94a805da1 88
chris 0:bde94a805da1 89 // ----------------------------------
chris 0:bde94a805da1 90 // Accelerometer example
chris 0:bde94a805da1 91 // ----------------------------------
chris 0:bde94a805da1 92
chris 0:bde94a805da1 93 /*
chris 0:bde94a805da1 94 float x = acc.x();
chris 0:bde94a805da1 95 float y = acc.y();
chris 0:bde94a805da1 96 float z = acc.z();
chris 0:bde94a805da1 97 lcd.locate(0,0);
chris 0:bde94a805da1 98 lcd.printf("x=%0.3f ",x);
chris 0:bde94a805da1 99 lcd.locate(0,1);
chris 0:bde94a805da1 100 lcd.printf("y=%0.3f ",y);
chris 0:bde94a805da1 101 lcd.locate(0,2);
chris 0:bde94a805da1 102 lcd.printf("z=%0.3f ",z);
chris 0:bde94a805da1 103 wait (0.5);
chris 0:bde94a805da1 104 */
chris 0:bde94a805da1 105
chris 0:bde94a805da1 106
chris 0:bde94a805da1 107
chris 0:bde94a805da1 108 // ----------------------------------
chris 0:bde94a805da1 109 // Servo example
chris 0:bde94a805da1 110 // ----------------------------------
chris 0:bde94a805da1 111 /*
chris 0:bde94a805da1 112 servo=pot;
chris 0:bde94a805da1 113 wait (0.01);
chris 0:bde94a805da1 114 */
chris 0:bde94a805da1 115
chris 0:bde94a805da1 116 // ----------------------------------
chris 0:bde94a805da1 117 // RGB LED example with accelerometer
chris 0:bde94a805da1 118 // ----------------------------------
chris 0:bde94a805da1 119 /*
chris 0:bde94a805da1 120 rgb.red(abs(acc.x()));
chris 0:bde94a805da1 121 rgb.green(abs(acc.y()));
chris 0:bde94a805da1 122 rgb.blue(abs(acc.z()));
chris 0:bde94a805da1 123 */
chris 0:bde94a805da1 124
chris 0:bde94a805da1 125
chris 0:bde94a805da1 126 // ----------------------------------
chris 0:bde94a805da1 127 // Light sensor example
chris 0:bde94a805da1 128 // ----------------------------------
chris 0:bde94a805da1 129 /*
chris 0:bde94a805da1 130 lcd.locate(0,0);
chris 0:bde94a805da1 131 lcd.printf("Light: %.2f ",light.read());
chris 0:bde94a805da1 132 wait (0.2);
chris 0:bde94a805da1 133 */
chris 0:bde94a805da1 134
chris 0:bde94a805da1 135
chris 0:bde94a805da1 136 // ----------------------------------
chris 0:bde94a805da1 137 // USB HID
chris 0:bde94a805da1 138 // ----------------------------------
chris 0:bde94a805da1 139 /*
chris 0:bde94a805da1 140 if (rfid.readable()) {
chris 0:bde94a805da1 141 int id;
chris 0:bde94a805da1 142 char msg[25];
chris 0:bde94a805da1 143 id = rfid.read();
chris 0:bde94a805da1 144 sprintf(msg,"Tag ID : %d\n",id);
chris 0:bde94a805da1 145 hid.keyboard(msg);
chris 0:bde94a805da1 146 }
chris 0:bde94a805da1 147
chris 0:bde94a805da1 148 */
chris 0:bde94a805da1 149
chris 0:bde94a805da1 150
chris 0:bde94a805da1 151
chris 0:bde94a805da1 152 // ----------------------------------
chris 0:bde94a805da1 153 // RPC over ethernet
chris 0:bde94a805da1 154 // ----------------------------------
chris 0:bde94a805da1 155
chris 0:bde94a805da1 156
chris 0:bde94a805da1 157 // Create a HTTPServer on default Port
chris 0:bde94a805da1 158 HTTPServer *http = new HTTPServer();
chris 0:bde94a805da1 159 // Register RPC in /rpc space
chris 0:bde94a805da1 160 http->addHandler(new HTTPRPC());
chris 0:bde94a805da1 161 // HTTP File system
chris 0:bde94a805da1 162 http->addHandler(new HTTPFileSystemHandler("/", "/local/"));
chris 0:bde94a805da1 163 // Register the HTTPServer on the Network device (will hopfully disappear in the next Version)
chris 0:bde94a805da1 164 http->bind();
chris 0:bde94a805da1 165
chris 0:bde94a805da1 166 NetServer *net = NetServer::get();
chris 0:bde94a805da1 167
chris 0:bde94a805da1 168 lcd.locate(0,1);
chris 0:bde94a805da1 169 lcd.printf("%hhu.%hhu.%hhu.%hhu", (net->getIPAddr().addr)&0xFF, (net->getIPAddr().addr>>8)&0xFF, (net->getIPAddr().addr>>16)&0xFF, (net->getIPAddr().addr>>24)&0xFF);
chris 0:bde94a805da1 170
chris 0:bde94a805da1 171 while(1) {
chris 0:bde94a805da1 172 http->poll();
chris 0:bde94a805da1 173 }
chris 0:bde94a805da1 174
chris 0:bde94a805da1 175
chris 0:bde94a805da1 176
chris 0:bde94a805da1 177
chris 0:bde94a805da1 178
chris 0:bde94a805da1 179
chris 0:bde94a805da1 180
chris 0:bde94a805da1 181
chris 0:bde94a805da1 182
chris 0:bde94a805da1 183
chris 0:bde94a805da1 184
chris 0:bde94a805da1 185
chris 0:bde94a805da1 186
chris 0:bde94a805da1 187
chris 0:bde94a805da1 188
chris 0:bde94a805da1 189
chris 0:bde94a805da1 190
chris 0:bde94a805da1 191
chris 0:bde94a805da1 192
chris 0:bde94a805da1 193 }
chris 0:bde94a805da1 194
chris 0:bde94a805da1 195
chris 0:bde94a805da1 196 }
chris 0:bde94a805da1 197
chris 0:bde94a805da1 198