creating server
Dependencies: EthernetNetIf HTTPServer JPEGCamera RPCInterface mbed
Fork of Gaurd_Server2 by
main.cpp@4:e35e2a5c2dc7, 2015-01-20 (annotated)
- Committer:
- rockstar
- Date:
- Tue Jan 20 19:09:24 2015 +0000
- Revision:
- 4:e35e2a5c2dc7
- Parent:
- 2:80d46ccdc614
Used as it is in my progrm;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
lotfi_baghli | 0:7f9517ce9e71 | 1 | #include "mbed.h" |
lotfi_baghli | 0:7f9517ce9e71 | 2 | #include "EthernetNetIf.h" |
lotfi_baghli | 0:7f9517ce9e71 | 3 | #include "HTTPServer.h" |
lotfi_baghli | 0:7f9517ce9e71 | 4 | #include "RPCFunction.h" |
SRINATHMADHU | 2:80d46ccdc614 | 5 | #include "JPEGCamera.h" |
SRINATHMADHU | 2:80d46ccdc614 | 6 | //#include "rtos.h" |
SRINATHMADHU | 2:80d46ccdc614 | 7 | |
SRINATHMADHU | 2:80d46ccdc614 | 8 | |
lotfi_baghli | 0:7f9517ce9e71 | 9 | EthernetNetIf eth( |
rockstar | 4:e35e2a5c2dc7 | 10 | IpAddr(192,168,1,10), //IP Address |
lotfi_baghli | 0:7f9517ce9e71 | 11 | IpAddr(255,255,255,0), //Network Mask |
rockstar | 4:e35e2a5c2dc7 | 12 | IpAddr(192,168,1,1), //Gateway |
rockstar | 4:e35e2a5c2dc7 | 13 | IpAddr(192,168,1,1) |
lotfi_baghli | 0:7f9517ce9e71 | 14 | ); |
lotfi_baghli | 0:7f9517ce9e71 | 15 | HTTPServer svr; |
lotfi_baghli | 0:7f9517ce9e71 | 16 | |
lotfi_baghli | 0:7f9517ce9e71 | 17 | DigitalOut led1(LED1, "led1"); |
rockstar | 4:e35e2a5c2dc7 | 18 | DigitalOut led2(LED2, "led2"); // (signalPin was replaced with led2 as led2 was not being used) |
lotfi_baghli | 0:7f9517ce9e71 | 19 | DigitalOut led3(LED3, "led3"); |
lotfi_baghli | 0:7f9517ce9e71 | 20 | DigitalOut led4(LED4, "led4"); |
SRINATHMADHU | 2:80d46ccdc614 | 21 | DigitalOut pin11(p11); // pin for resetting |
rockstar | 4:e35e2a5c2dc7 | 22 | DigitalOut pin12(p12); // pin for showing error with camera while taking reference image led4 is also used |
SRINATHMADHU | 2:80d46ccdc614 | 23 | DigitalOut pin13(p13); // pin for showing error with camera while taking new image |
rockstar | 4:e35e2a5c2dc7 | 24 | |
SRINATHMADHU | 2:80d46ccdc614 | 25 | DigitalOut pin3(p23); // motor pin from analogVal of sensor |
rockstar | 4:e35e2a5c2dc7 | 26 | DigitalOut pin30(p30); // buzzer |
SRINATHMADHU | 2:80d46ccdc614 | 27 | DigitalOut signalPin(p25); |
lotfi_baghli | 0:7f9517ce9e71 | 28 | |
SRINATHMADHU | 2:80d46ccdc614 | 29 | Serial pc(USBTX,USBRX); |
SRINATHMADHU | 2:80d46ccdc614 | 30 | Serial xbee(p28, p27); // TX, RX for Xbee |
SRINATHMADHU | 2:80d46ccdc614 | 31 | JPEGCamera camera(p9, p10); // TX, RX for Camera |
lotfi_baghli | 0:7f9517ce9e71 | 32 | LocalFileSystem fs("webfs"); |
rockstar | 4:e35e2a5c2dc7 | 33 | char discard=NULL; |
rockstar | 4:e35e2a5c2dc7 | 34 | |
rockstar | 4:e35e2a5c2dc7 | 35 | void callback(void) |
rockstar | 4:e35e2a5c2dc7 | 36 | { |
rockstar | 4:e35e2a5c2dc7 | 37 | if(xbee.getc()==0x7E) |
rockstar | 4:e35e2a5c2dc7 | 38 | { discard = xbee.getc(); |
rockstar | 4:e35e2a5c2dc7 | 39 | char leng=xbee.getc(); |
rockstar | 4:e35e2a5c2dc7 | 40 | for(int i=1;i<=16;i++) discard = xbee.getc(); |
rockstar | 4:e35e2a5c2dc7 | 41 | int high = xbee.getc(); |
rockstar | 4:e35e2a5c2dc7 | 42 | int low=xbee.getc(); |
rockstar | 4:e35e2a5c2dc7 | 43 | if(leng==0x12) |
rockstar | 4:e35e2a5c2dc7 | 44 | { |
rockstar | 4:e35e2a5c2dc7 | 45 | int analogVal = high*256 + low; |
rockstar | 4:e35e2a5c2dc7 | 46 | pc.printf("High=%d Low=%d AnalogValue= %d\r\n",high,low,analogVal); |
rockstar | 4:e35e2a5c2dc7 | 47 | char discard= xbee.getc(); |
rockstar | 4:e35e2a5c2dc7 | 48 | /* |
rockstar | 4:e35e2a5c2dc7 | 49 | if(analogVal<600 && pin3==1) |
rockstar | 4:e35e2a5c2dc7 | 50 | { |
rockstar | 4:e35e2a5c2dc7 | 51 | char buff[20]={0x7E,0x00,0x10,0x17,0x01,0x00,0x13,0xA2,0x00,0x40,0xB5,0x92,0x0D,0xFF,0xFE,0x02,0x44,0x33,0x04,0x24}; //FOR SETTING PIN D3 low |
rockstar | 4:e35e2a5c2dc7 | 52 | for(int i=0;i<20;i++) xbee.putc(buff[i]); |
rockstar | 4:e35e2a5c2dc7 | 53 | pin3=0; // p25 |
rockstar | 4:e35e2a5c2dc7 | 54 | wait(0.1); |
rockstar | 4:e35e2a5c2dc7 | 55 | while(xbee.readable()) char discard=xbee.getc(); |
rockstar | 4:e35e2a5c2dc7 | 56 | } |
rockstar | 4:e35e2a5c2dc7 | 57 | if(analogVal>600 && pin3==0) |
rockstar | 4:e35e2a5c2dc7 | 58 | { |
rockstar | 4:e35e2a5c2dc7 | 59 | char buff[20]={0x7E,0x00,0x10,0x17,0x01,0x00,0x13,0xA2,0x00,0x40,0xB5,0x92,0x0D,0xFF,0xFE,0x02,0x44,0x33,0x05,0x23}; //FOR SETTING PIN D3 HIGH |
rockstar | 4:e35e2a5c2dc7 | 60 | for(int i=0;i<20;i++) xbee.putc(buff[i]); |
rockstar | 4:e35e2a5c2dc7 | 61 | pin3=1; // p25 |
rockstar | 4:e35e2a5c2dc7 | 62 | wait(0.1); |
rockstar | 4:e35e2a5c2dc7 | 63 | while(xbee.readable()) char discard=xbee.getc(); |
rockstar | 4:e35e2a5c2dc7 | 64 | } */ |
rockstar | 4:e35e2a5c2dc7 | 65 | } |
rockstar | 4:e35e2a5c2dc7 | 66 | } |
rockstar | 4:e35e2a5c2dc7 | 67 | } |
SRINATHMADHU | 2:80d46ccdc614 | 68 | |
lotfi_baghli | 0:7f9517ce9e71 | 69 | //Create a function of the required format |
rockstar | 4:e35e2a5c2dc7 | 70 | //void rpcMOTOR(char * input, char * output); |
lotfi_baghli | 0:7f9517ce9e71 | 71 | void rpcX10rf(char * input, char * output); |
rockstar | 4:e35e2a5c2dc7 | 72 | //RPCFunction rpc_foo2(&rpcMOTOR, "rpcMOTOR"); |
lotfi_baghli | 0:7f9517ce9e71 | 73 | RPCFunction rpc_foo(&rpcX10rf, "rpcX10rf"); |
rockstar | 4:e35e2a5c2dc7 | 74 | void rpcX10rf(char * input, char * output) |
rockstar | 4:e35e2a5c2dc7 | 75 | { |
SRINATHMADHU | 1:574f254ef68c | 76 | char houseCode; |
SRINATHMADHU | 1:574f254ef68c | 77 | short int numberCode, action; |
SRINATHMADHU | 2:80d46ccdc614 | 78 | pc.printf("%s\r\n", input); |
SRINATHMADHU | 1:574f254ef68c | 79 | sscanf(input, " %c,%d,%d", &houseCode, &numberCode, &action); |
SRINATHMADHU | 2:80d46ccdc614 | 80 | pc.printf("%c, %d,%d\r\n", houseCode, numberCode, action); |
rockstar | 4:e35e2a5c2dc7 | 81 | if(numberCode==4 && action==1){led1=1;} // 5 replaced 4 |
rockstar | 4:e35e2a5c2dc7 | 82 | else if(numberCode==4 && action==0){led1=0;} // 5 replaced 4 |
rockstar | 4:e35e2a5c2dc7 | 83 | else if(numberCode==2 && action==1){led2=1;} |
rockstar | 4:e35e2a5c2dc7 | 84 | else if(numberCode==2 && action==0){led2=0;} |
rockstar | 4:e35e2a5c2dc7 | 85 | else if(numberCode==5 && action==1) // // 4 replaced 5 |
rockstar | 4:e35e2a5c2dc7 | 86 | { |
rockstar | 4:e35e2a5c2dc7 | 87 | |
rockstar | 4:e35e2a5c2dc7 | 88 | char buff[20]={0x7E,0x00,0x10,0x17,0x01,0x00,0x13,0xA2,0x00,0x40,0xB5,0x92,0x0D,0xFF,0xFE,0x02,0x44,0x33,0x05,0x23}; //FOR SETTING PIN D3 HIGH |
rockstar | 4:e35e2a5c2dc7 | 89 | for(int i=0;i<20;i++) xbee.putc(buff[i]); |
rockstar | 4:e35e2a5c2dc7 | 90 | led4=1; // p25 |
rockstar | 4:e35e2a5c2dc7 | 91 | wait(0.1); |
rockstar | 4:e35e2a5c2dc7 | 92 | while(xbee.readable()) char discard=xbee.getc(); |
rockstar | 4:e35e2a5c2dc7 | 93 | |
rockstar | 4:e35e2a5c2dc7 | 94 | } |
rockstar | 4:e35e2a5c2dc7 | 95 | else if(numberCode==5 && action==0) // // 4 replaced 5 |
rockstar | 4:e35e2a5c2dc7 | 96 | { |
rockstar | 4:e35e2a5c2dc7 | 97 | |
rockstar | 4:e35e2a5c2dc7 | 98 | char buff[20]={0x7E,0x00,0x10,0x17,0x01,0x00,0x13,0xA2,0x00,0x40,0xB5,0x92,0x0D,0xFF,0xFE,0x02,0x44,0x33,0x04,0x24}; //FOR SETTING PIN D3 low |
rockstar | 4:e35e2a5c2dc7 | 99 | for(int i=0;i<20;i++) xbee.putc(buff[i]); |
rockstar | 4:e35e2a5c2dc7 | 100 | led4=0; // p25 |
rockstar | 4:e35e2a5c2dc7 | 101 | wait(0.1); |
rockstar | 4:e35e2a5c2dc7 | 102 | while(xbee.readable()) char discard=xbee.getc(); |
rockstar | 4:e35e2a5c2dc7 | 103 | |
rockstar | 4:e35e2a5c2dc7 | 104 | } |
rockstar | 4:e35e2a5c2dc7 | 105 | |
rockstar | 4:e35e2a5c2dc7 | 106 | |
rockstar | 4:e35e2a5c2dc7 | 107 | |
rockstar | 4:e35e2a5c2dc7 | 108 | } |
SRINATHMADHU | 2:80d46ccdc614 | 109 | |
rockstar | 4:e35e2a5c2dc7 | 110 | |
rockstar | 4:e35e2a5c2dc7 | 111 | void takeImgRef(void); |
rockstar | 4:e35e2a5c2dc7 | 112 | void takeNewImage(float x); |
rockstar | 4:e35e2a5c2dc7 | 113 | void doreset(void); |
rockstar | 4:e35e2a5c2dc7 | 114 | int Count; |
rockstar | 4:e35e2a5c2dc7 | 115 | int devicesAction(int Count); |
SRINATHMADHU | 2:80d46ccdc614 | 116 | |
SRINATHMADHU | 2:80d46ccdc614 | 117 | int main() |
SRINATHMADHU | 2:80d46ccdc614 | 118 | { |
rockstar | 4:e35e2a5c2dc7 | 119 | Count=0; |
SRINATHMADHU | 2:80d46ccdc614 | 120 | Timer tm; |
SRINATHMADHU | 2:80d46ccdc614 | 121 | pc.baud(9600); |
SRINATHMADHU | 2:80d46ccdc614 | 122 | xbee.baud(9600); |
rockstar | 4:e35e2a5c2dc7 | 123 | |
rockstar | 4:e35e2a5c2dc7 | 124 | led2=0; // signalPin was here |
rockstar | 4:e35e2a5c2dc7 | 125 | signalPin=0; /// changed here |
lotfi_baghli | 0:7f9517ce9e71 | 126 | Base::add_rpc_class<DigitalOut>(); |
lotfi_baghli | 0:7f9517ce9e71 | 127 | EthernetErr ethErr = eth.setup(); |
lotfi_baghli | 0:7f9517ce9e71 | 128 | if (ethErr) { |
SRINATHMADHU | 2:80d46ccdc614 | 129 | pc.printf("Error %d in setup.\n", ethErr); |
lotfi_baghli | 0:7f9517ce9e71 | 130 | return -1; |
lotfi_baghli | 0:7f9517ce9e71 | 131 | } |
SRINATHMADHU | 2:80d46ccdc614 | 132 | pc.printf("\r\nSetup OK\r\n"); |
lotfi_baghli | 0:7f9517ce9e71 | 133 | |
lotfi_baghli | 0:7f9517ce9e71 | 134 | FSHandler::mount("/webfs", "/files"); //Mount /webfs path on /files web path |
lotfi_baghli | 0:7f9517ce9e71 | 135 | FSHandler::mount("/webfs", "/"); //Mount /webfs path on web root path |
lotfi_baghli | 0:7f9517ce9e71 | 136 | |
lotfi_baghli | 0:7f9517ce9e71 | 137 | //svr.addHandler<SimpleHandler>("/hello"); |
lotfi_baghli | 0:7f9517ce9e71 | 138 | svr.addHandler<RPCHandler>("/rpc"); |
lotfi_baghli | 0:7f9517ce9e71 | 139 | svr.addHandler<FSHandler>("/files"); |
lotfi_baghli | 0:7f9517ce9e71 | 140 | svr.addHandler<FSHandler>("/"); //Default handler |
lotfi_baghli | 0:7f9517ce9e71 | 141 | //Example : Access to mbed.htm : http://a.b.c.d/mbed.htm or http://a.b.c.d/files/mbed.htm |
lotfi_baghli | 0:7f9517ce9e71 | 142 | svr.bind(80); |
SRINATHMADHU | 2:80d46ccdc614 | 143 | |
SRINATHMADHU | 2:80d46ccdc614 | 144 | printf("Server Start and Setting Camera\r\n"); |
SRINATHMADHU | 2:80d46ccdc614 | 145 | |
SRINATHMADHU | 2:80d46ccdc614 | 146 | // camera.reset(); |
SRINATHMADHU | 2:80d46ccdc614 | 147 | // pc.printf("Setting SIZE 320X240"); |
rockstar | 4:e35e2a5c2dc7 | 148 | camera.setPictureSize(JPEGCamera::SIZE320x240); |
SRINATHMADHU | 2:80d46ccdc614 | 149 | // pc.printf("\nSetting SIZE 320X240 done and Taking reference image\n"); |
rockstar | 4:e35e2a5c2dc7 | 150 | pin12=1; |
rockstar | 4:e35e2a5c2dc7 | 151 | takeImgRef(); |
rockstar | 4:e35e2a5c2dc7 | 152 | // xbee.attach(&callback); |
lotfi_baghli | 0:7f9517ce9e71 | 153 | tm.start(); |
SRINATHMADHU | 2:80d46ccdc614 | 154 | // wt.start(); |
SRINATHMADHU | 2:80d46ccdc614 | 155 | while(pc.readable()==0) |
rockstar | 4:e35e2a5c2dc7 | 156 | { Net::poll(); |
SRINATHMADHU | 2:80d46ccdc614 | 157 | if (tm.read()>.5) |
rockstar | 4:e35e2a5c2dc7 | 158 | { //led1=!led1; //Show that we are alive |
SRINATHMADHU | 2:80d46ccdc614 | 159 | tm.reset(); |
SRINATHMADHU | 2:80d46ccdc614 | 160 | } |
rockstar | 4:e35e2a5c2dc7 | 161 | takeNewImage(tm.read()); |
rockstar | 4:e35e2a5c2dc7 | 162 | |
rockstar | 4:e35e2a5c2dc7 | 163 | // if(pin11==1) doreset(); |
rockstar | 4:e35e2a5c2dc7 | 164 | // if(pin12==1) takeImgRef(); |
SRINATHMADHU | 2:80d46ccdc614 | 165 | |
rockstar | 4:e35e2a5c2dc7 | 166 | if(xbee.readable()) callback(); |
rockstar | 4:e35e2a5c2dc7 | 167 | |
rockstar | 4:e35e2a5c2dc7 | 168 | if (led1==1 && Count==0) // |
rockstar | 4:e35e2a5c2dc7 | 169 | { pc.printf("Making High"); |
rockstar | 4:e35e2a5c2dc7 | 170 | char buff[20]={0x7E,0x00,0x10,0x17,0x01,0x00,0x13,0xA2,0x00,0x40,0xB5,0x92,0x0D,0xFF,0xFE,0x02,0x44,0x32,0x05,0x24}; //FOR SETTING PIN D2 HIGH |
rockstar | 4:e35e2a5c2dc7 | 171 | |
rockstar | 4:e35e2a5c2dc7 | 172 | for(int i=0;i<=19;i++) xbee.putc(buff[i]); |
rockstar | 4:e35e2a5c2dc7 | 173 | |
rockstar | 4:e35e2a5c2dc7 | 174 | wait(0.1); |
rockstar | 4:e35e2a5c2dc7 | 175 | while(xbee.readable()) {char discard=xbee.getc();Count=1; } |
rockstar | 4:e35e2a5c2dc7 | 176 | |
rockstar | 4:e35e2a5c2dc7 | 177 | } |
rockstar | 4:e35e2a5c2dc7 | 178 | if (led1==0 && Count==1) // && Count==1 |
rockstar | 4:e35e2a5c2dc7 | 179 | { pc.printf("Making low"); |
rockstar | 4:e35e2a5c2dc7 | 180 | |
rockstar | 4:e35e2a5c2dc7 | 181 | char buff[20]={0x7E,0x00,0x10,0x17,0x01,0x00,0x13,0xA2,0x00,0x40,0xB5,0x92,0x0D,0xFF,0xFE,0x02,0x44,0x32,0x04,0x25}; //FOR SETTING PIN D2 LOW |
rockstar | 4:e35e2a5c2dc7 | 182 | for(int i=0;i<=19;i++) xbee.putc(buff[i]); |
rockstar | 4:e35e2a5c2dc7 | 183 | wait(0.1); |
rockstar | 4:e35e2a5c2dc7 | 184 | while(xbee.readable()){ char discard=xbee.getc();Count=0;} |
rockstar | 4:e35e2a5c2dc7 | 185 | } |
SRINATHMADHU | 2:80d46ccdc614 | 186 | } |
SRINATHMADHU | 2:80d46ccdc614 | 187 | } |
SRINATHMADHU | 2:80d46ccdc614 | 188 | |
rockstar | 4:e35e2a5c2dc7 | 189 | void takeNewImage(float x) |
rockstar | 4:e35e2a5c2dc7 | 190 | { if(signalPin==0 && led2==0) // change was here for led2 |
rockstar | 4:e35e2a5c2dc7 | 191 | { |
rockstar | 4:e35e2a5c2dc7 | 192 | remove("/webfs/PICT.jpg"); |
rockstar | 4:e35e2a5c2dc7 | 193 | pc.printf("Capturing new image Picture\r\n"); |
SRINATHMADHU | 2:80d46ccdc614 | 194 | // camera.reset(); |
SRINATHMADHU | 2:80d46ccdc614 | 195 | if (camera.isReady()) |
SRINATHMADHU | 2:80d46ccdc614 | 196 | { char filename[32]; |
SRINATHMADHU | 2:80d46ccdc614 | 197 | sprintf(filename, "/webfs/PICT.jpg"); |
SRINATHMADHU | 2:80d46ccdc614 | 198 | pc.printf("Picture: %s \r\n", filename); |
SRINATHMADHU | 2:80d46ccdc614 | 199 | if (camera.takePicture(filename)) |
rockstar | 4:e35e2a5c2dc7 | 200 | { while (camera.isProcessing()) camera.processPicture(); |
rockstar | 4:e35e2a5c2dc7 | 201 | led4=0; |
rockstar | 4:e35e2a5c2dc7 | 202 | // led2=1; //change was here |
rockstar | 4:e35e2a5c2dc7 | 203 | signalPin=1; |
rockstar | 4:e35e2a5c2dc7 | 204 | |
rockstar | 4:e35e2a5c2dc7 | 205 | } else {pc.printf("take picture failed\n"); led4=1; camera.reset();} // pin13=1;} |
rockstar | 4:e35e2a5c2dc7 | 206 | }else {pc.printf("camera is not ready\n");led4=1; camera.reset();} // pin13=1;} |
rockstar | 4:e35e2a5c2dc7 | 207 | |
rockstar | 4:e35e2a5c2dc7 | 208 | |
SRINATHMADHU | 2:80d46ccdc614 | 209 | pc.printf("Took PICT\r\n"); |
rockstar | 4:e35e2a5c2dc7 | 210 | } else { pc.printf("waiting for processing \r\n"); |
rockstar | 4:e35e2a5c2dc7 | 211 | if (x > .2) {led3=!led3;} //Show that waiting for response |
SRINATHMADHU | 2:80d46ccdc614 | 212 | |
SRINATHMADHU | 2:80d46ccdc614 | 213 | } |
SRINATHMADHU | 2:80d46ccdc614 | 214 | } |
SRINATHMADHU | 2:80d46ccdc614 | 215 | |
SRINATHMADHU | 2:80d46ccdc614 | 216 | |
SRINATHMADHU | 2:80d46ccdc614 | 217 | |
rockstar | 4:e35e2a5c2dc7 | 218 | void doreset(void) |
SRINATHMADHU | 2:80d46ccdc614 | 219 | { |
rockstar | 4:e35e2a5c2dc7 | 220 | camera.reset(); |
rockstar | 4:e35e2a5c2dc7 | 221 | if(!(camera.isReady())) |
rockstar | 4:e35e2a5c2dc7 | 222 | doreset(); |
rockstar | 4:e35e2a5c2dc7 | 223 | pin11=0; |
SRINATHMADHU | 2:80d46ccdc614 | 224 | } |
SRINATHMADHU | 2:80d46ccdc614 | 225 | |
SRINATHMADHU | 2:80d46ccdc614 | 226 | |
SRINATHMADHU | 2:80d46ccdc614 | 227 | |
rockstar | 4:e35e2a5c2dc7 | 228 | void takeImgRef(void) |
SRINATHMADHU | 2:80d46ccdc614 | 229 | { |
rockstar | 4:e35e2a5c2dc7 | 230 | //camera.reset(); |
SRINATHMADHU | 2:80d46ccdc614 | 231 | if (camera.isReady()) |
SRINATHMADHU | 2:80d46ccdc614 | 232 | { |
SRINATHMADHU | 2:80d46ccdc614 | 233 | char filename[32]; |
SRINATHMADHU | 2:80d46ccdc614 | 234 | sprintf(filename, "/webfs/IMG_REF.jpg"); |
SRINATHMADHU | 2:80d46ccdc614 | 235 | pc.printf("Picture: %s \r\n", filename); |
SRINATHMADHU | 2:80d46ccdc614 | 236 | if (camera.takePicture(filename)) |
rockstar | 4:e35e2a5c2dc7 | 237 | {while (camera.isProcessing()) camera.processPicture(); |
rockstar | 4:e35e2a5c2dc7 | 238 | pin12=0; |
rockstar | 4:e35e2a5c2dc7 | 239 | led4=0; |
rockstar | 4:e35e2a5c2dc7 | 240 | } else {pc.printf("take picture failed\n"); led4=1; camera.reset();} |
rockstar | 4:e35e2a5c2dc7 | 241 | } else {pc.printf("camera is not ready\n"); led4=1; camera.reset();} |
rockstar | 4:e35e2a5c2dc7 | 242 | |
SRINATHMADHU | 2:80d46ccdc614 | 243 | pc.printf("Took IMG_REF \r\n"); |
SRINATHMADHU | 2:80d46ccdc614 | 244 | |
SRINATHMADHU | 2:80d46ccdc614 | 245 | } |