HOme Sheriff And Lamp

Dependencies:   CameraC328 HCSR04 SDFileSystem WIZnetInterface mbed

Fork of HoSAL by pi bae

Revision:
2:3c7526a1893a
Child:
3:8c4e0e7c8cea
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rev_Camera.cpp	Tue Aug 11 16:30:37 2015 +0000
@@ -0,0 +1,107 @@
+/*
+# 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)
+
+