Library for LinkSprite Y201 JPEG serial camera.
Diff: Y201.h
- Revision:
- 0:4c0fca059a0a
- Child:
- 1:30a6aeda21c2
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Y201.h Sat Jun 02 11:47:56 2012 +0000
@@ -0,0 +1,53 @@
+#include "mbed.h"
+#pragma once
+
+class Y201 : Serial {
+
+private:
+
+ // serial commands to drive camera
+ static const int resetSeq [4];
+ static const int resetSeqLen = 4;
+ static const int resetSeqAck [4];
+ static const int resetSeqAckLen = 4;
+ static const int takePicSeq [5];
+ static const int takePicSeqLen = 5;
+ static const int takePicSeqAck [5];
+ static const int takePicSeqAckLen = 5;
+ static const int set160x120 [9];
+ static const int set320x240 [9];
+ static const int set640x480 [9];
+ static const int setSizeLen = 9;
+ static const int setSizeAck [5];
+ static const int setSizeAckLen = 5;
+ static const int readFileSize [5];
+ static const int readFileSizeLen = 5;
+ static const int readFileSizeAck [7];
+ static const int readFileSizeAckLen = 7;
+ static const int readFileHead [8];
+ static const int readFileHeadLen = 8;
+ static const int readFileAck [5];
+ static const int readFileAckLen = 5;
+
+public:
+
+ enum Y201ImageSize {
+ e160x120,
+ e320x240,
+ e640x480
+ };
+
+ Y201(PinName tx, PinName rx, const char *name = NULL);
+
+ bool setImageSize(Y201ImageSize size);
+ bool takePicture();
+ bool readImageSize(int *fileSize);
+ bool readImage(int startAddress, int readLen, uint8_t *readBuffer);
+ void trash();
+
+ bool waitForInt(int bytes, int *fileSize);
+ bool waitFor(const int *seq, const int seqLen);
+ void putSeq(const int *seq, int seqLen);
+ bool reset();
+
+};



