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.
Dependencies: mbed MODSERIAL Y201 mbed-rtos
Revision 0:d927d630369a, committed 2012-06-29
- Comitter:
- ashleymills
- Date:
- Fri Jun 29 19:29:17 2012 +0000
- Child:
- 1:60a7ddc83644
- Commit message:
- This camera test presently works.;
Changed in this revision
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/MODSERIAL.lib Fri Jun 29 19:29:17 2012 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/AjK/code/MODSERIAL/#c11ea36f17f9
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Y201.lib Fri Jun 29 19:29:17 2012 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/ashleymills/code/Y201/#7d8a6087f2e5
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp Fri Jun 29 19:29:17 2012 +0000
@@ -0,0 +1,111 @@
+#include "mbed.h"
+#include "rtos.h"
+#include "Y201.h"
+
+const int Y201::resetSeq [4] = {0x56,0x00,0x26,0x00};
+const int Y201::resetSeqAck [4] = {0x76,0x00,0x26,0x00};
+const int Y201::takePicSeq [5] = {0x56,0x00,0x36,0x01,0x00};
+const int Y201::takePicSeqAck [5] = {0x76,0x00,0x36,0x00,0x00};
+const int Y201::set160x120 [9] = {0x56,0x00,0x31,0x05,0x04,0x01,0x00,0x19,0x22};
+const int Y201::set320x240 [9] = {0x56,0x00,0x31,0x05,0x04,0x01,0x00,0x19,0x11};
+const int Y201::set640x480 [9] = {0x56,0x00,0x31,0x05,0x04,0x01,0x00,0x19,0x00};
+const int Y201::setSizeAck [5] = {0x76,0x00,0x31,0x00,0x00};
+const int Y201::readFileSize [5] = {0x56,0x00,0x34,0x01,0x00};
+const int Y201::readFileSizeAck[7] = {0x76,0x00,0x34,0x00,0x04,0x00,0x00};
+const int Y201::readFileHead [8] = {0x56,0x00,0x32,0x0C,0x00,0x0A,0x00,0x00};
+const int Y201::readFileAck [5] = {0x76,0x00,0x32,0x00,0x00};
+
+DigitalOut led1(LED1);
+
+extern "C" void HardFault_Handler() {
+ error("Hard Fault!\n");
+}
+
+LocalFileSystem fs("fs");
+FILE *fp = fopen("picture.jpg","w");
+Serial pc(USBTX, USBRX);
+
+
+void test(void const*) {
+ pc.baud(115200);
+ pc.printf("RESET V^V^V^V^V^V^V^V^V^V^V RESET\r\n");
+
+ // open camera
+ Y201 camera(p13,p14);
+
+ // set image size
+ if(camera.setImageSize(Y201::e640x480)) {
+ printf("Set image size\r\n");
+ } else {
+ printf("Error setting image size!\r\n");
+ }
+
+ // reset camera
+ if(camera.reset()) {
+ printf("Camera reset successfull\r\n");
+ } else {
+ printf("Error resetting camera\r\n");
+ }
+
+ // take a picture
+ if(camera.takePicture()) {
+ printf("Took picture!\r\n");
+ } else {
+ printf("Take picture failed!\r\n");
+ }
+
+ // read file size
+ int fileSize = 0;
+ if(camera.readImageSize(&fileSize)) {
+ printf("Filesize: %d\r\n",fileSize);
+ } else {
+ printf("Error getting file size\r\n");
+ }
+
+
+ // IMAGE UPLOAD
+
+ int bytesRead = 0;
+ int chunkSize = 256;
+
+ uint8_t *readBuffer = (uint8_t*)malloc(chunkSize*sizeof(uint8_t));
+ while(bytesRead<fileSize) {
+ // read the image
+ size_t w;
+ if(w=camera.readImage(bytesRead,chunkSize,readBuffer)) {
+
+ } else {
+ printf("Error in file read\r\n");
+ }
+ bytesRead += chunkSize;
+ printf("%d..",bytesRead,w);
+ if(bytesRead<fileSize) {
+ //size_t w = fwrite(readBuffer,chunkSize,1,fp);
+ } else {
+ //size_t w = fwrite(readBuffer,(chunkSize-(bytesRead-fileSize)),1,fp);
+ }
+
+ camera.trash();
+
+ }
+
+ printf("\r\n");
+ fclose(fp);
+ printf("loop exit\r\n");
+ printf("filesize: %d\r\n",fileSize);
+}
+
+void tick() {
+ led1 = !led1;
+}
+
+int main() {
+ Ticker t;
+ t.attach(tick, 1);
+
+ Thread testTask(test, NULL, osPriorityNormal, 1024 * 4);
+ //Thread testTask(test);
+ while(1);
+
+ return 0;
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Fri Jun 29 19:29:17 2012 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed/builds/976df7c37ad5 \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/rtos.lib Fri Jun 29 19:29:17 2012 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/donatien/code/rtos/#bee70210126a

