HOme Sheriff And Lamp
Dependencies: CameraC328 HCSR04 SDFileSystem WIZnetInterface mbed
Fork of HoSAL by
rev_Camera.cpp
- Committer:
- uasonice
- Date:
- 2015-08-11
- Revision:
- 2:3c7526a1893a
- Child:
- 3:8c4e0e7c8cea
File content as of revision 2:3c7526a1893a:
/* # coded by revival / uasonice (at) gmail.com # DATE: 2015/08/09 / Sun Aug 9 23:55:31 KST 2015 # # DESCRIPTION: # rev Camera utility */ #include "mbed.h" #include "CameraC328.h" #define DEBUG_TYPE 1 #define P_ uart.printf #include "rev_config.h" #include "rev_Camera.h" #if defined(USE_CAMERA) static FILE *fp_jpeg; //CameraC328 cam(PA_14, PA_13, CameraC328::Baud14400); //CameraC328::JpegResolution camResul; /** * A callback function for jpeg images. * You can block this function until saving the image datas. * * @param buf A pointer to the image buffer. * @param siz A size of the image buffer. */ void cb_jpeg(char *buf, size_t szImage) { for (int i = 0; i < (int)szImage; i++) { fprintf(fp_jpeg, "%c", buf[i]); } } /** * Synchronizing. */ void revSync(void) { CameraC328::ErrorNumber err = CameraC328::NoError; err = cam.sync(); if (CameraC328::NoError == err) { DM_fLN("[ OK ] : CameraC328::sync"); } else { DM_fLN("[FAIL] : CameraC328::sync (Error=%02X)", (int)err); } } /** * jpeg snapshot picture. * param strFile: "/fs/file01.jpg" * param resol : CameraC328::JpegResolution640x480, CameraC328::JpegResolution320x240 */ void revJpeg_snapshot(char *strFile, CameraC328::JpegResolution resol) { CameraC328::ErrorNumber err = CameraC328::NoError; err = cam.init(CameraC328::Jpeg, CameraC328::RawResolution80x60, resol); if (CameraC328::NoError == err) { DM_fLN("[ OK ] : CameraC328::init"); } else { DM_fLN("[FAIL] : CameraC328::init (Error=%02X)", (int)err); } fp_jpeg = fopen(strFile, "w"); err = cam.getJpegSnapshotPicture(cb_jpeg); if (CameraC328::NoError == err) { DM_fLN("[ OK ] : CameraC328::getJpegPreview"); } else { DM_fLN("[FAIL] : CameraC328::getJpegPreview (Error=%02X)", (int)err); } fclose(fp_jpeg); } /** * jpeg preview picture. * param strFile: "/fs/file01.jpg" * param resol : CameraC328::JpegResolution640x480, CameraC328::JpegResolution320x240 */ void revJpeg_preview(char *strFile, CameraC328::JpegResolution resol) { CameraC328::ErrorNumber err = CameraC328::NoError; err = cam.init(CameraC328::Jpeg, CameraC328::RawResolution80x60, resol); if (CameraC328::NoError == err) { DM_fLN("[ OK ] : CameraC328::init"); } else { DM_fLN("[FAIL] : CameraC328::init (Error=%02X)", (int)err); } fp_jpeg = fopen(strFile, "w"); err = cam.getJpegPreviewPicture(cb_jpeg); if (CameraC328::NoError == err) { DM_fLN("[ OK ] : CameraC328::getJpegPreview"); } else { DM_fLN("[FAIL] : CameraC328::getJpegPreview (Error=%02X)", (int)err); } fclose(fp_jpeg); } #endif // defined(USE_CAMERA)