Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of JPEGCamera by
Revision 2:609037d25e10, committed 2015-08-22
- Comitter:
- rockstar
- Date:
- Sat Aug 22 10:12:47 2015 +0000
- Parent:
- 1:27417b6a951d
- Commit message:
- Done some changes in array size
Changed in this revision
| JPEGCamera.cpp | Show annotated file Show diff for this revision Revisions of this file |
| JPEGCamera.h | Show annotated file Show diff for this revision Revisions of this file |
--- a/JPEGCamera.cpp Thu Nov 17 13:59:40 2011 +0000
+++ b/JPEGCamera.cpp Sat Aug 22 10:12:47 2015 +0000
@@ -34,12 +34,34 @@
}
bool JPEGCamera::isProcessing() {
+ // printf("Im here/n2");
return state == PROCESSING;
}
+bool JPEGCamera::processPicture_ref() {
+ if (state == PROCESSING) {
+ if (address < imageSize) {
+ char data[1024];
+ int size = readData(data, min(sizeof(data), imageSize - address), address);
+ int ret = fwrite(data, size, 1, fp);
+ if (ret > 0)
+ address += size;
+ if (ret == 0 || address >= imageSize) {
+ stopPictures();
+ fclose(fp);
+ wait(0.1); // ????
+ state = ret > 0 ? READY : ERROR;
+ }
+ }
+ }
+ return state == PROCESSING || state == READY;
+}
+
+
bool JPEGCamera::takePicture(char *filename) {
+ //printf("Im here1O/n");
if (state == READY) {
- fp = fopen(filename, "wb");
+ fp = fopen(filename, "wb");
if (fp != 0) {
if (takePicture()) {
imageSize = getImageSize();
@@ -55,6 +77,7 @@
state = ERROR;
}
}
+ // printf("Im here1C/n");
return state != ERROR;
}
@@ -104,6 +127,10 @@
return ret == 4 && buf[0] == 0x76;
}
+int JPEGCamera::getSizeOfimage(void){
+ return imageSize;
+}
+
int JPEGCamera::getImageSize() {
char buf[9] = {0x56, 0x00, 0x34, 0x01, 0x00};
int ret = sendReceive(buf, sizeof buf, 9);
@@ -135,7 +162,7 @@
int i = 0;
while (i < size && timer.read_ms() < timeout) {
- if (readable())
+ if (readable())
buf[i++] = getc();
}
--- a/JPEGCamera.h Thu Nov 17 13:59:40 2011 +0000
+++ b/JPEGCamera.h Sat Aug 22 10:12:47 2015 +0000
@@ -67,7 +67,7 @@
* @returns true if no error in processing, false otherwise
*/
bool processPicture();
-
+ bool processPicture_ref();
/**
* Perform reset oepration (it takes 4 seconds)
*
@@ -106,10 +106,13 @@
* @returns the size of the data read
*/
int readData(char *dataBuf, int size, int address);
-
+
+ //return the current value of imageSize
+ int getSizeOfimage(void);
//private:
Timer timer;
- FILE *fp;
+ FILE *fp, *ir;
+ int def;
int imageSize;
int address;
enum State {UNKNOWN, READY, PROCESSING, ERROR = -1} state;
