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(); + +};