Xbee-Smart-Home-Inside RX Test
Dependencies: Si7021 mbed-rtos JPEGCamera mbed
Fork of Xbee-Smart-Home-Inside by
Diff: main.cpp
- Revision:
- 2:21031e885513
- Parent:
- 1:e9068d048f58
- Child:
- 3:415ccd1f7ae1
--- a/main.cpp Mon Apr 17 17:55:01 2017 +0000 +++ b/main.cpp Mon Apr 17 18:36:03 2017 +0000 @@ -10,33 +10,20 @@ Thread t2; Serial xbee1(p9, p10); //Creates a variable for serial comunication through pin 9 and 10 -JPEGCamera camera(p13, p14); // TX, RX +JPEGCamera camera(p13, p14); // Camera serial TX, RX DigitalOut rst1(p8); //Digital reset for the XBee, 200ns for reset -DigitalOut myled(LED3);//Create variable for Led 3 on the mbed -DigitalOut myled2(LED4);//Create variable for Led 4 on the mbed - Serial pc(USBTX, USBRX);//Opens up serial communication through the USB port via the computer int main() { rst1 = 0; //Set reset pin to 0 - myled = 0;//Set LED3 to 0 - myled2= 0;//Set LED4 to 0 wait_ms(1);//Wait at least one millisecond rst1 = 1;//Set reset pin to 1 wait_ms(1);//Wait another millisecond - - while (1) {//Neverending Loop - if (pc.readable()) {//Checking for serial communication - myled = 0; //Turn Led 3 Off - if(xbee1.putc(pc.getc()) == EOF){} //XBee write whatever the PC is sending - else {myled = 1;} //Turn Led 3 on for succcessfull communication - } - } - t1.start(callback(ambient_sensor()); - + t1.start(callback(ambient_sensor())); + t2.start(callback(cameraThread())); } void ambinet_sensor(){ @@ -55,10 +42,13 @@ char filename[32]; sprintf(filename, "/local/pict.jpg"); printf("Picture: %s ", filename); - if (camera.takePicture(filename)) { - while (camera.isProcessing()) { + if (camera.takePicture(filename)){ + while (camera.isProcessing()){ camera.processPicture(); } + putMutex.lock(); + // xbee.putc(filename()); // Send image from xbee + putMutex.unlock(); break; } }