Chris Styles
/
DemoBoard_RFID_HID
main.cpp@1:bde97f4fdef6, 2009-09-22 (annotated)
- Committer:
- chris
- Date:
- Tue Sep 22 11:58:25 2009 +0000
- Revision:
- 1:bde97f4fdef6
- Parent:
- 0:f4582ce9b8d7
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
chris | 1:bde97f4fdef6 | 1 | #include "DemoBoard.h" |
chris | 0:f4582ce9b8d7 | 2 | |
chris | 0:f4582ce9b8d7 | 3 | |
chris | 0:f4582ce9b8d7 | 4 | |
chris | 0:f4582ce9b8d7 | 5 | // Function for Rising ede of RedButton |
chris | 0:f4582ce9b8d7 | 6 | void RedRise () { |
chris | 0:f4582ce9b8d7 | 7 | led1 = !led1; |
chris | 0:f4582ce9b8d7 | 8 | } |
chris | 0:f4582ce9b8d7 | 9 | |
chris | 0:f4582ce9b8d7 | 10 | |
chris | 0:f4582ce9b8d7 | 11 | |
chris | 0:f4582ce9b8d7 | 12 | |
chris | 0:f4582ce9b8d7 | 13 | int main() { |
chris | 0:f4582ce9b8d7 | 14 | |
chris | 0:f4582ce9b8d7 | 15 | // Attach the interupt hander to RedButton |
chris | 0:f4582ce9b8d7 | 16 | RedButton.rise(&RedRise); |
chris | 0:f4582ce9b8d7 | 17 | |
chris | 0:f4582ce9b8d7 | 18 | // Print to LCD and the serial port |
chris | 0:f4582ce9b8d7 | 19 | lcd.printf("Hello World!"); |
chris | 0:f4582ce9b8d7 | 20 | pc.printf("Hello World!"); |
chris | 0:f4582ce9b8d7 | 21 | |
chris | 0:f4582ce9b8d7 | 22 | |
chris | 0:f4582ce9b8d7 | 23 | while (1) { |
chris | 0:f4582ce9b8d7 | 24 | |
chris | 0:f4582ce9b8d7 | 25 | |
chris | 0:f4582ce9b8d7 | 26 | // ---------------------------------- |
chris | 0:f4582ce9b8d7 | 27 | // Accelerometer example |
chris | 0:f4582ce9b8d7 | 28 | // ---------------------------------- |
chris | 0:f4582ce9b8d7 | 29 | |
chris | 0:f4582ce9b8d7 | 30 | /* |
chris | 0:f4582ce9b8d7 | 31 | float x = acc.x(); |
chris | 0:f4582ce9b8d7 | 32 | float y = acc.y(); |
chris | 0:f4582ce9b8d7 | 33 | float z = acc.z(); |
chris | 0:f4582ce9b8d7 | 34 | lcd.locate(0,0); |
chris | 0:f4582ce9b8d7 | 35 | lcd.printf("x=%0.3f ",x); |
chris | 0:f4582ce9b8d7 | 36 | lcd.locate(0,1); |
chris | 0:f4582ce9b8d7 | 37 | lcd.printf("y=%0.3f ",y); |
chris | 0:f4582ce9b8d7 | 38 | lcd.locate(0,2); |
chris | 0:f4582ce9b8d7 | 39 | lcd.printf("z=%0.3f ",z); |
chris | 0:f4582ce9b8d7 | 40 | wait (0.5); |
chris | 0:f4582ce9b8d7 | 41 | */ |
chris | 0:f4582ce9b8d7 | 42 | |
chris | 0:f4582ce9b8d7 | 43 | |
chris | 0:f4582ce9b8d7 | 44 | // ---------------------------------- |
chris | 0:f4582ce9b8d7 | 45 | // RFID Example |
chris | 0:f4582ce9b8d7 | 46 | // ---------------------------------- |
chris | 0:f4582ce9b8d7 | 47 | /* |
chris | 0:f4582ce9b8d7 | 48 | if (rfid.readable()) { |
chris | 0:f4582ce9b8d7 | 49 | int id=rfid.read(); |
chris | 0:f4582ce9b8d7 | 50 | lcd.cls(); |
chris | 0:f4582ce9b8d7 | 51 | lcd.printf("ID : %d",id); |
chris | 0:f4582ce9b8d7 | 52 | |
chris | 0:f4582ce9b8d7 | 53 | } |
chris | 0:f4582ce9b8d7 | 54 | */ |
chris | 0:f4582ce9b8d7 | 55 | |
chris | 0:f4582ce9b8d7 | 56 | |
chris | 0:f4582ce9b8d7 | 57 | // ---------------------------------- |
chris | 0:f4582ce9b8d7 | 58 | // Accelerometer example |
chris | 0:f4582ce9b8d7 | 59 | // ---------------------------------- |
chris | 0:f4582ce9b8d7 | 60 | |
chris | 0:f4582ce9b8d7 | 61 | /* |
chris | 0:f4582ce9b8d7 | 62 | float x = acc.x(); |
chris | 0:f4582ce9b8d7 | 63 | float y = acc.y(); |
chris | 0:f4582ce9b8d7 | 64 | float z = acc.z(); |
chris | 0:f4582ce9b8d7 | 65 | lcd.locate(0,0); |
chris | 0:f4582ce9b8d7 | 66 | lcd.printf("x=%0.3f ",x); |
chris | 0:f4582ce9b8d7 | 67 | lcd.locate(0,1); |
chris | 0:f4582ce9b8d7 | 68 | lcd.printf("y=%0.3f ",y); |
chris | 0:f4582ce9b8d7 | 69 | lcd.locate(0,2); |
chris | 0:f4582ce9b8d7 | 70 | lcd.printf("z=%0.3f ",z); |
chris | 0:f4582ce9b8d7 | 71 | wait (0.5); |
chris | 0:f4582ce9b8d7 | 72 | */ |
chris | 0:f4582ce9b8d7 | 73 | |
chris | 0:f4582ce9b8d7 | 74 | |
chris | 0:f4582ce9b8d7 | 75 | |
chris | 0:f4582ce9b8d7 | 76 | // ---------------------------------- |
chris | 0:f4582ce9b8d7 | 77 | // Servo example |
chris | 0:f4582ce9b8d7 | 78 | // ---------------------------------- |
chris | 0:f4582ce9b8d7 | 79 | /* |
chris | 0:f4582ce9b8d7 | 80 | servo=pot; |
chris | 0:f4582ce9b8d7 | 81 | wait (0.01); |
chris | 0:f4582ce9b8d7 | 82 | */ |
chris | 0:f4582ce9b8d7 | 83 | |
chris | 0:f4582ce9b8d7 | 84 | // ---------------------------------- |
chris | 0:f4582ce9b8d7 | 85 | // RGB LED example with accelerometer |
chris | 0:f4582ce9b8d7 | 86 | // ---------------------------------- |
chris | 0:f4582ce9b8d7 | 87 | /* |
chris | 0:f4582ce9b8d7 | 88 | rgb.red(abs(acc.x())); |
chris | 0:f4582ce9b8d7 | 89 | rgb.green(abs(acc.y())); |
chris | 0:f4582ce9b8d7 | 90 | rgb.blue(abs(acc.z())); |
chris | 0:f4582ce9b8d7 | 91 | */ |
chris | 0:f4582ce9b8d7 | 92 | |
chris | 0:f4582ce9b8d7 | 93 | |
chris | 0:f4582ce9b8d7 | 94 | // ---------------------------------- |
chris | 0:f4582ce9b8d7 | 95 | // Light sensor example |
chris | 0:f4582ce9b8d7 | 96 | // ---------------------------------- |
chris | 0:f4582ce9b8d7 | 97 | /* |
chris | 0:f4582ce9b8d7 | 98 | lcd.locate(0,0); |
chris | 0:f4582ce9b8d7 | 99 | lcd.printf("Light: %.2f ",light.read()); |
chris | 0:f4582ce9b8d7 | 100 | wait (0.2); |
chris | 0:f4582ce9b8d7 | 101 | */ |
chris | 0:f4582ce9b8d7 | 102 | |
chris | 0:f4582ce9b8d7 | 103 | |
chris | 0:f4582ce9b8d7 | 104 | // ---------------------------------- |
chris | 0:f4582ce9b8d7 | 105 | // USB HID |
chris | 0:f4582ce9b8d7 | 106 | // ---------------------------------- |
chris | 0:f4582ce9b8d7 | 107 | /* |
chris | 0:f4582ce9b8d7 | 108 | if (rfid.readable()) { |
chris | 0:f4582ce9b8d7 | 109 | int id; |
chris | 0:f4582ce9b8d7 | 110 | char msg[25]; |
chris | 0:f4582ce9b8d7 | 111 | id = rfid.read(); |
chris | 0:f4582ce9b8d7 | 112 | sprintf(msg,"Tag ID : %d\n",id); |
chris | 0:f4582ce9b8d7 | 113 | hid.keyboard(msg); |
chris | 0:f4582ce9b8d7 | 114 | } |
chris | 0:f4582ce9b8d7 | 115 | |
chris | 0:f4582ce9b8d7 | 116 | */ |
chris | 0:f4582ce9b8d7 | 117 | |
chris | 0:f4582ce9b8d7 | 118 | |
chris | 0:f4582ce9b8d7 | 119 | |
chris | 0:f4582ce9b8d7 | 120 | // ---------------------------------- |
chris | 0:f4582ce9b8d7 | 121 | // RPC over ethernet |
chris | 0:f4582ce9b8d7 | 122 | // ---------------------------------- |
chris | 0:f4582ce9b8d7 | 123 | /* |
chris | 0:f4582ce9b8d7 | 124 | |
chris | 0:f4582ce9b8d7 | 125 | // Create a HTTPServer on default Port |
chris | 0:f4582ce9b8d7 | 126 | HTTPServer *http = new HTTPServer(); |
chris | 0:f4582ce9b8d7 | 127 | // Register RPC in /rpc space |
chris | 0:f4582ce9b8d7 | 128 | http->addHandler(new HTTPRPC()); |
chris | 0:f4582ce9b8d7 | 129 | // HTTP File system |
chris | 0:f4582ce9b8d7 | 130 | http->addHandler(new HTTPFileSystemHandler("/", "/local/")); |
chris | 0:f4582ce9b8d7 | 131 | // Register the HTTPServer on the Network device (will hopfully disappear in the next Version) |
chris | 0:f4582ce9b8d7 | 132 | http->bind(); |
chris | 0:f4582ce9b8d7 | 133 | |
chris | 0:f4582ce9b8d7 | 134 | NetServer *net = NetServer::get(); |
chris | 0:f4582ce9b8d7 | 135 | |
chris | 0:f4582ce9b8d7 | 136 | lcd.locate(0,1); |
chris | 0:f4582ce9b8d7 | 137 | 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:f4582ce9b8d7 | 138 | |
chris | 0:f4582ce9b8d7 | 139 | while(1) { |
chris | 0:f4582ce9b8d7 | 140 | http->poll(); |
chris | 0:f4582ce9b8d7 | 141 | } |
chris | 0:f4582ce9b8d7 | 142 | |
chris | 0:f4582ce9b8d7 | 143 | */ |
chris | 0:f4582ce9b8d7 | 144 | |
chris | 0:f4582ce9b8d7 | 145 | |
chris | 0:f4582ce9b8d7 | 146 | |
chris | 0:f4582ce9b8d7 | 147 | |
chris | 0:f4582ce9b8d7 | 148 | // ---------------------------------- |
chris | 0:f4582ce9b8d7 | 149 | // Ultra Sonic range finder |
chris | 0:f4582ce9b8d7 | 150 | // ---------------------------------- |
chris | 0:f4582ce9b8d7 | 151 | float d = srf; |
chris | 0:f4582ce9b8d7 | 152 | |
chris | 0:f4582ce9b8d7 | 153 | float norm = (2.0/d) - 0.02; // max 1.0, min 0.02 |
chris | 0:f4582ce9b8d7 | 154 | |
chris | 0:f4582ce9b8d7 | 155 | rgb.red(norm); |
chris | 0:f4582ce9b8d7 | 156 | rgb.green(1.0-norm); |
chris | 0:f4582ce9b8d7 | 157 | pc.printf("%f\n",norm); |
chris | 0:f4582ce9b8d7 | 158 | pc.printf("Range is %.1f cm\n",(float)srf); |
chris | 0:f4582ce9b8d7 | 159 | wait (0.2); |
chris | 0:f4582ce9b8d7 | 160 | |
chris | 0:f4582ce9b8d7 | 161 | |
chris | 0:f4582ce9b8d7 | 162 | } |
chris | 0:f4582ce9b8d7 | 163 | |
chris | 0:f4582ce9b8d7 | 164 | |
chris | 0:f4582ce9b8d7 | 165 | } |
chris | 0:f4582ce9b8d7 | 166 | |
chris | 0:f4582ce9b8d7 | 167 |