Library for LinkSprite Y201 JPEG serial camera.
Diff: Y201.h
- Revision:
- 10:fd12c96da974
- Parent:
- 3:decf96d8e6b0
--- a/Y201.h Thu Jul 19 15:48:25 2012 +0000 +++ b/Y201.h Fri Jul 20 08:59:03 2012 +0000 @@ -1,5 +1,5 @@ #include "mbed.h" -#define MODSERIAL_DEFAULT_RX_BUFFER_SIZE 512 +#define MODSERIAL_DEFAULT_RX_BUFFER_SIZE 1024 #define MODSERIAL_DEFAULT_TX_BUFFER_SIZE 64 #include "MODSERIAL.h" #pragma once @@ -9,36 +9,60 @@ 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; + static const char resetSeq [4]; + static const int resetSeqLen = 4; + static const char resetSeqAck [4]; + static const int resetSeqAckLen = 4; + static const char takePicSeq [5]; + static const int takePicSeqLen = 5; + static const char takePicSeqAck [5]; + static const int takePicSeqAckLen = 5; + static const char set160x120 [9]; + static const char set320x240 [9]; + static const char set640x480 [9]; + static const int setSizeLen = 9; + static const char setSizeAck [5]; + static const int setSizeAckLen = 5; + static const char readFileSize [5]; + static const int readFileSizeLen = 5; + static const char readFileSizeAck [7]; + static const int readFileSizeAckLen = 7; + static const char readFileHead [8]; + static const int readFileHeadLen = 8; + static const char readFileAck [5]; + static const int readFileAckLen = 5; + /* + static const char changeBaudRateSeq [5]; + static const int changeBaudRateSeqLen = 5; + static const char changeBaudRateAck [5]; + static const int changeBaudRateAckLen = 5; + */ + static const char enterPowerSavingSeq[7]; + static const int enterPowerSavingLen = 7; + static const char enterPowerSavingAck[5]; + static const int enterPowerSavingAckLen = 5; + static const char exitPowerSavingSeq [7]; + static const int exitPowerSavingLen = 7; + static const char exitPowerSavingAck[5]; + static const int exitPowerSavingAckLen = 5; public: enum Y201ImageSize { - e160x120, - e320x240, - e640x480 + e160x120, + e320x240, + e640x480 }; + + /* + enum Y201BaudRate { + e9600, + e19200, + e38400, + e57600, + e115200 + }; + */ Y201(PinName tx, PinName rx, const char *name = NULL); @@ -46,11 +70,14 @@ bool takePicture(); bool readImageSize(int *fileSize); bool readImage(int startAddress, int readLen, uint8_t *readBuffer); + //bool changeBaudRate(Y201BaudRate baudRate); + bool enterPowerSaving(); + bool exitPowerSaving(); void trash(); bool waitForInt(int bytes, int *fileSize); - bool waitFor(const int *seq, const int seqLen); - void putSeq(const int *seq, int seqLen); + bool waitFor(const char *seq, const int seqLen); + void putSeq(const char *seq, int seqLen); bool reset(); };