Xbee-Smart-Home-Inside RX Test

Dependencies:   Si7021 mbed-rtos JPEGCamera mbed

Fork of Xbee-Smart-Home-Inside by prana koirala

Committer:
pkoirala3
Date:
Mon Apr 17 18:36:03 2017 +0000
Revision:
2:21031e885513
Parent:
1:e9068d048f58
Child:
3:415ccd1f7ae1
v1.2

Who changed what in which revision?

UserRevisionLine numberNew contents of line
pkoirala3 1:e9068d048f58 1 #include "mbed.h"
pkoirala3 1:e9068d048f58 2 #include "rtos.h"
pkoirala3 1:e9068d048f58 3 #include "JPEGCamera.h"
pkoirala3 0:5b1386641010 4
pkoirala3 1:e9068d048f58 5 AnalogIn ambient(p15);
pkoirala3 1:e9068d048f58 6 Mutex getMutex;
pkoirala3 1:e9068d048f58 7 Mutex putMutex;
pkoirala3 1:e9068d048f58 8
pkoirala3 1:e9068d048f58 9 Thread t1;
pkoirala3 1:e9068d048f58 10 Thread t2;
pkoirala3 0:5b1386641010 11
pkoirala3 0:5b1386641010 12 Serial xbee1(p9, p10); //Creates a variable for serial comunication through pin 9 and 10
pkoirala3 2:21031e885513 13 JPEGCamera camera(p13, p14); // Camera serial TX, RX
pkoirala3 0:5b1386641010 14
pkoirala3 0:5b1386641010 15 DigitalOut rst1(p8); //Digital reset for the XBee, 200ns for reset
pkoirala3 0:5b1386641010 16
pkoirala3 0:5b1386641010 17 Serial pc(USBTX, USBRX);//Opens up serial communication through the USB port via the computer
pkoirala3 0:5b1386641010 18
pkoirala3 0:5b1386641010 19 int main() {
pkoirala3 0:5b1386641010 20 rst1 = 0; //Set reset pin to 0
pkoirala3 0:5b1386641010 21 wait_ms(1);//Wait at least one millisecond
pkoirala3 0:5b1386641010 22 rst1 = 1;//Set reset pin to 1
pkoirala3 0:5b1386641010 23 wait_ms(1);//Wait another millisecond
pkoirala3 1:e9068d048f58 24
pkoirala3 2:21031e885513 25 t1.start(callback(ambient_sensor()));
pkoirala3 2:21031e885513 26 t2.start(callback(cameraThread()));
pkoirala3 1:e9068d048f58 27 }
pkoirala3 1:e9068d048f58 28
pkoirala3 1:e9068d048f58 29 void ambinet_sensor(){
pkoirala3 1:e9068d048f58 30 float amb_val = ambient();
pkoirala3 1:e9068d048f58 31 // Scale to proper unit
pkoirala3 1:e9068d048f58 32 putMutex.lock();
pkoirala3 1:e9068d048f58 33 xbee.puts(amb_val);
pkoirala3 1:e9068d048f58 34 putMutex.unlock();
pkoirala3 1:e9068d048f58 35 }
pkoirala3 1:e9068d048f58 36
pkoirala3 1:e9068d048f58 37 void cameraThread(){
pkoirala3 1:e9068d048f58 38 LocalFileSystem local("local"); //save images on mbed
pkoirala3 1:e9068d048f58 39 camera.setPictureSize(JPEGCamera::SIZE160x120);
pkoirala3 1:e9068d048f58 40 while(1){
pkoirala3 1:e9068d048f58 41 if (camera.isReady()){
pkoirala3 1:e9068d048f58 42 char filename[32];
pkoirala3 1:e9068d048f58 43 sprintf(filename, "/local/pict.jpg");
pkoirala3 1:e9068d048f58 44 printf("Picture: %s ", filename);
pkoirala3 2:21031e885513 45 if (camera.takePicture(filename)){
pkoirala3 2:21031e885513 46 while (camera.isProcessing()){
pkoirala3 1:e9068d048f58 47 camera.processPicture();
pkoirala3 1:e9068d048f58 48 }
pkoirala3 2:21031e885513 49 putMutex.lock();
pkoirala3 2:21031e885513 50 // xbee.putc(filename()); // Send image from xbee
pkoirala3 2:21031e885513 51 putMutex.unlock();
pkoirala3 1:e9068d048f58 52 break;
pkoirala3 1:e9068d048f58 53 }
pkoirala3 1:e9068d048f58 54 }
pkoirala3 1:e9068d048f58 55 }
pkoirala3 0:5b1386641010 56 }