Toma de foto y descomprimir en HEX

Dependencies:   JPEGCamera SDFileSystem mbed

Fork of SaibiCansat2014 by Takashi SASAKI

Committer:
TakashiSasaki
Date:
Tue Jul 15 08:22:19 2014 +0000
Revision:
4:05e46365f442
Child:
5:8a4b2ffa8d71
camera.cpp is copied from main.cpp of kamera-tesuto2 project.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
TakashiSasaki 4:05e46365f442 1 #include "mbed.h"
TakashiSasaki 4:05e46365f442 2 #include "JPEGCamera.h"
TakashiSasaki 4:05e46365f442 3 #include "SDFileSystem.h"
TakashiSasaki 4:05e46365f442 4
TakashiSasaki 4:05e46365f442 5 DigitalOut myled1(LED1); //show successful picture was taken
TakashiSasaki 4:05e46365f442 6 DigitalOut myled2(LED2); //show end of sequence
TakashiSasaki 4:05e46365f442 7 DigitalOut myled3(LED3); //show picture take failed
TakashiSasaki 4:05e46365f442 8 DigitalOut myled4(LED4); //show camera is not ready
TakashiSasaki 4:05e46365f442 9
TakashiSasaki 4:05e46365f442 10 //SDFileSystem sd(p5,p6,p7,p8,"sd");
TakashiSasaki 4:05e46365f442 11 //AnalogIn ain(p15);
TakashiSasaki 4:05e46365f442 12
TakashiSasaki 4:05e46365f442 13 LocalFileSystem local("local");
TakashiSasaki 4:05e46365f442 14 #define FILENAME "/sd/pict%03d.jpg"
TakashiSasaki 4:05e46365f442 15
TakashiSasaki 4:05e46365f442 16 int main_camera() {
TakashiSasaki 4:05e46365f442 17
TakashiSasaki 4:05e46365f442 18 printf("%s\n", __FILE__); //sourcefilename printout
TakashiSasaki 4:05e46365f442 19 printf("start!!\n");
TakashiSasaki 4:05e46365f442 20
TakashiSasaki 4:05e46365f442 21 JPEGCamera camera(p9, p10); // TX, RX
TakashiSasaki 4:05e46365f442 22 LocalFileSystem local("local"); //save images on mbed
TakashiSasaki 4:05e46365f442 23 Timer timer;
TakashiSasaki 4:05e46365f442 24 timer.start();
TakashiSasaki 4:05e46365f442 25 camera.setPictureSize(JPEGCamera::SIZE320x240);
TakashiSasaki 4:05e46365f442 26
TakashiSasaki 4:05e46365f442 27 FILE *fp;
TakashiSasaki 4:05e46365f442 28 if ((fp==fopen(FILENAME,"wb")) == NULL) ;
TakashiSasaki 4:05e46365f442 29
TakashiSasaki 4:05e46365f442 30
TakashiSasaki 4:05e46365f442 31 for (int i = 0; i < 2; i++) {
TakashiSasaki 4:05e46365f442 32
TakashiSasaki 4:05e46365f442 33 if (camera.isReady()) {
TakashiSasaki 4:05e46365f442 34 char filename[32];
TakashiSasaki 4:05e46365f442 35 sprintf(filename, "/sd/pict%03d.jpg", i);
TakashiSasaki 4:05e46365f442 36 printf("Picture: %s ", filename);
TakashiSasaki 4:05e46365f442 37 if (camera.takePicture(filename)) {
TakashiSasaki 4:05e46365f442 38 while (camera.isProcessing()) {
TakashiSasaki 4:05e46365f442 39 camera.processPicture();
TakashiSasaki 4:05e46365f442 40 }
TakashiSasaki 4:05e46365f442 41 myled1 = 1; //show successful picture was taken
TakashiSasaki 4:05e46365f442 42 wait(2.0);
TakashiSasaki 4:05e46365f442 43 myled1 = 0;
TakashiSasaki 4:05e46365f442 44 } else {
TakashiSasaki 4:05e46365f442 45 printf("take picture picture\n");
TakashiSasaki 4:05e46365f442 46 myled3 = 1; //show picture take failed
TakashiSasaki 4:05e46365f442 47 wait(2.0);
TakashiSasaki 4:05e46365f442 48 myled3 = 0;
TakashiSasaki 4:05e46365f442 49 }
TakashiSasaki 4:05e46365f442 50 } else {
TakashiSasaki 4:05e46365f442 51 printf("show camera is not ready\n");
TakashiSasaki 4:05e46365f442 52 myled4 = 1; //show camera is not ready
TakashiSasaki 4:05e46365f442 53 wait(2.0);
TakashiSasaki 4:05e46365f442 54 myled4 = 0;
TakashiSasaki 4:05e46365f442 55 }
TakashiSasaki 4:05e46365f442 56 }
TakashiSasaki 4:05e46365f442 57 myled2 = 1; //show end of sequence
TakashiSasaki 4:05e46365f442 58 wait(2.0);
TakashiSasaki 4:05e46365f442 59 myled2 = 0;
TakashiSasaki 4:05e46365f442 60 printf("time = %f\n", timer.read());
TakashiSasaki 4:05e46365f442 61
TakashiSasaki 4:05e46365f442 62 fclose(fp);
TakashiSasaki 4:05e46365f442 63 exit(1);
TakashiSasaki 4:05e46365f442 64 }