MODIFIED BY FEVZI YAZGAN BOUDRATE AND IMAGESIZE FUNCTION ADDED ALSO IT SENDS THE IMAGE AT ONE TIME TO THE MBED. SO IT IS FASTER TO SEND IMAGE AT A ONE TIME:)
Dependencies: mbed Camera_LS_Y201 SDFileSystem
Revision 0:21b87062f376, committed 2011-03-02
- Comitter:
- fyazgan
- Date:
- Wed Mar 02 05:53:13 2011 +0000
- Commit message:
Changed in this revision
diff -r 000000000000 -r 21b87062f376 Camera_LS_Y201.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Camera_LS_Y201.lib Wed Mar 02 05:53:13 2011 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/fyazgan/code/Camera_LS_Y201/#92b7ae8bc9f5
diff -r 000000000000 -r 21b87062f376 FATFileSystem.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/FATFileSystem.lib Wed Mar 02 05:53:13 2011 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_unsupported/code/fatfilesystem/ \ No newline at end of file
diff -r 000000000000 -r 21b87062f376 SDFileSystem.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SDFileSystem.lib Wed Mar 02 05:53:13 2011 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/simon/code/SDFileSystem/#b1ddfc9a9b25
diff -r 000000000000 -r 21b87062f376 main2.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main2.cpp Wed Mar 02 05:53:13 2011 +0000 @@ -0,0 +1,153 @@ +/** +MODIFIED BY FEVZI YAZGAN +BOUDRATE AND IMAGESIZE FUNCTION ADDED ALSO IT SENDS THE IMAGE AT ONE TIME TO THE MBED. +SO IT IS FASTER TO SEND IMAGE AT A ONE TIME:) + + * ============================================================================= + * LS-Y201 - Test program. (Version 0.0.2) + * ============================================================================= + * Copyright (c) 2010-2011 Shinichiro Nakamura (CuBeatSystems) + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + * ============================================================================= + */ +#include "mbed.h" +#include "Camera_LS_Y201.h" +#include "SDFileSystem.h" + +#define DEBMSG printf +#define NEWLINE() printf("\r\n") + +#define USE_SDCARD 0 + +#if USE_SDCARD +#define FILENAME "/sd/IMG_%04d.jpg" +SDFileSystem fs(p5, p6, p7, p8, "sd"); +#else +#define FILENAME "/local/IMG_%04d.jpg" +LocalFileSystem fs("local"); +#endif +Camera_LS_Y201 cam1(p13, p14, Camera_LS_Y201::Default); + +typedef struct work { + FILE *fp; +} work_t; + +work_t work; + +/** + * Callback function for readJpegFileContent. + * + * @param buf A pointer to a buffer. + * @param siz A size of the buffer. + */ +void callback_func( int total, uint8_t *buf, size_t siz) +{ + fwrite(buf, siz, 1, work.fp); +} + +/** + * Capture. + * + * @param cam A pointer to a camera object. + * @param filename The file name. + * + * @return Return 0 if it succeed. + */ +int capture(Camera_LS_Y201 *cam, char *filename) { + /* + * Take a picture. + */ + if (cam->takePicture() != 0) { + return -1; + } + DEBMSG("Captured."); + NEWLINE(); + + /* + * Open file. + */ + work.fp = fopen(filename, "wb"); + if (work.fp == NULL) { + return -2; + } + + /* + * Read the content. + */ + DEBMSG("%s", filename); + NEWLINE(); + if (cam->readJpegFileContent(callback_func) != 0) { + fclose(work.fp); + return -3; + } + fclose(work.fp); + + /* + * Stop taking pictures. + */ + cam->stopTakingPictures(); + + return 0; +} + +/** + * Entry point. + */ +int main(void) { + DEBMSG("Camera module"); + NEWLINE(); + DEBMSG("Resetting..."); + NEWLINE(); + wait(1); + + if (cam1.reset() == 0) { + DEBMSG("Reset OK."); + NEWLINE(); + } else { + DEBMSG("Reset fail."); + NEWLINE(); + error("Reset fail."); + } + + wait(1); + cam1.setImageSize(Camera_LS_Y201::ImageSize160x120); + wait(1); + cam1.setBaudrate(Camera_LS_Y201::Baud115200); + wait(1); + Camera_LS_Y201 cam2(p13, p14, Camera_LS_Y201::Bauds115200); + + wait(1); + + int cnt = 0; + while (cnt<10) { + char fname[64]; + snprintf(fname, sizeof(fname) - 1, FILENAME, cnt); + int r = capture(&cam2, fname); + if (r == 0) { + DEBMSG("[%04d]:OK.", cnt); + NEWLINE(); + } else { + DEBMSG("[%04d]:NG. (code=%d)", cnt, r); + NEWLINE(); + error("Failure."); + } + cnt++; + } +}
diff -r 000000000000 -r 21b87062f376 mbed.bld --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Wed Mar 02 05:53:13 2011 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed/builds/9a9732ce53a1