HOme Sheriff And Lamp
Dependencies: CameraC328 HCSR04 SDFileSystem WIZnetInterface mbed
Fork of HoSAL by
rev_Camera.cpp
00001 /* 00002 # coded by revival / uasonice (at) gmail.com 00003 # DATE: 2015/08/09 / Sun Aug 9 23:55:31 KST 2015 00004 # 00005 # DESCRIPTION: 00006 # rev Camera utility 00007 */ 00008 00009 #include "mbed.h" 00010 #include "CameraC328.h" 00011 00012 #define DEBUG_TYPE 1 00013 #define P_ uart.printf 00014 #include "rev_config.h" 00015 00016 #include "rev_Camera.h" 00017 00018 00019 #if defined(USE_CAMERA) 00020 static FILE *fp_jpeg; 00021 00022 //CameraC328 cam(PA_14, PA_13, CameraC328::Baud14400); 00023 //CameraC328::JpegResolution camResul; 00024 00025 00026 /** 00027 * A callback function for jpeg images. 00028 * You can block this function until saving the image datas. 00029 * 00030 * @param buf A pointer to the image buffer. 00031 * @param siz A size of the image buffer. 00032 */ 00033 void cb_jpeg(char *buf, size_t szImage) { 00034 for (int i = 0; i < (int)szImage; i++) { 00035 fprintf(fp_jpeg, "%c", buf[i]); 00036 } 00037 } 00038 00039 /** 00040 * Synchronizing. 00041 */ 00042 void revSync(CameraC328 *pH) { 00043 CameraC328::ErrorNumber err = CameraC328::NoError; 00044 00045 if(pH == NULL) return; 00046 err = pH->sync(); 00047 if (CameraC328::NoError == err) { 00048 DM_fLN("[ OK ] : CameraC328::sync"); 00049 } else { 00050 DM_fLN("[FAIL] : CameraC328::sync (Error=%02X)", (int)err); 00051 } 00052 } 00053 00054 /** 00055 * jpeg snapshot picture. 00056 * param strFile: "/fs/file01.jpg" 00057 * param resol : CameraC328::JpegResolution640x480, CameraC328::JpegResolution320x240 00058 */ 00059 void revJpeg_snapshot(CameraC328 *pH, char *strFile, CameraC328::JpegResolution resol) { 00060 CameraC328::ErrorNumber err = CameraC328::NoError; 00061 00062 if(pH == NULL) return; 00063 err = pH->init(CameraC328::Jpeg, CameraC328::RawResolution80x60, resol); 00064 if (CameraC328::NoError == err) { 00065 DM_fLN("[ OK ] : CameraC328::init"); 00066 } else { 00067 DM_fLN("[FAIL] : CameraC328::init (Error=%02X)", (int)err); 00068 } 00069 00070 fp_jpeg = fopen(strFile, "w"); 00071 err = pH->getJpegSnapshotPicture(cb_jpeg); 00072 if (CameraC328::NoError == err) { 00073 DM_fLN("[ OK ] : CameraC328::getJpegPreview"); 00074 } else { 00075 DM_fLN("[FAIL] : CameraC328::getJpegPreview (Error=%02X)", (int)err); 00076 } 00077 00078 fclose(fp_jpeg); 00079 } 00080 00081 /** 00082 * jpeg preview picture. 00083 * param strFile: "/fs/file01.jpg" 00084 * param resol : CameraC328::JpegResolution640x480, CameraC328::JpegResolution320x240 00085 */ 00086 void revJpeg_preview(CameraC328 *pH, char *strFile, CameraC328::JpegResolution resol) { 00087 CameraC328::ErrorNumber err = CameraC328::NoError; 00088 00089 if(pH == NULL) return; 00090 err = pH->init(CameraC328::Jpeg, CameraC328::RawResolution80x60, resol); 00091 if (CameraC328::NoError == err) { 00092 DM_fLN("[ OK ] : CameraC328::init"); 00093 } else { 00094 DM_fLN("[FAIL] : CameraC328::init (Error=%02X)", (int)err); 00095 } 00096 00097 fp_jpeg = fopen(strFile, "w"); 00098 00099 //err = pH->getJpegPreviewPicture(cb_jpeg); 00100 err = pH->getJpegSnapshotPicture(cb_jpeg); 00101 if (CameraC328::NoError == err) { 00102 DM_fLN("[ OK ] : CameraC328::getJpegPreview"); 00103 } else { 00104 DM_fLN("[FAIL] : CameraC328::getJpegPreview (Error=%02X)", (int)err); 00105 } 00106 00107 fclose(fp_jpeg); 00108 } 00109 00110 #endif // defined(USE_CAMERA) 00111
Generated on Mon Jul 18 2022 23:38:57 by
1.7.2
