Class導入前です まだできてません
Dependencies: mbed CameraUS015sb612-3
Diff: JPEGCamera.h
- Revision:
- 4:1354e56c7dd3
diff -r 5d0c4b13f4e8 -r 1354e56c7dd3 JPEGCamera.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/JPEGCamera.h Wed Nov 20 08:06:46 2019 +0000 @@ -0,0 +1,122 @@ + +/* Arduino JPEGCamera Library + * Copyright 2010 SparkFun Electronics + * Written by Ryan Owens + * Modified by arms22 + * Ported to mbed by yamaguch + */ + +#ifndef JPEG_CAMERA_H +#define JPEG_CAMERA_H + +#include "mbed.h" + +/** + * Interface for LinkSprite JPEG Camera module LS-Y201 + */ +class JPEGCamera : public Serial { +public: + /***/ + enum PictureSize { + SIZE160x120 = 0x22, + SIZE320x240 = 0x11, + SIZE640x480 = 0x00, + }; + + /** + * Create JPEG Camera + * + * @param tx tx pin + * @param rx rx pin + */ + JPEGCamera(PinName tx, PinName rx); + + /** + * Set picture size + * + * @param size picture size (available sizes are SIZE160x120, SIZE320x240, SIZE640x480) + * @param doReset flag to perform reset operation after changing size + * + * @returns true if succeeded, false otherwise + */ + bool setPictureSize(JPEGCamera::PictureSize size, bool doReset = true); + + /** + * Return whether camera is ready or not + * + * @returns true if ready, false otherwise + */ + bool isReady(); + + /** + * Return whether camera is processing the taken picture or not + * + * @returns true if the camera is in processing, false otherwise + */ + bool isProcessing(); + + /** + * Take a picture + * + * @param filename filename to store the picture data + * @returns true if succeeded, false otherwise + */ + bool takePicture(char *filename); + /** + * Process picture (writing the file) + * + * @returns true if no error in processing, false otherwise + */ + bool processPicture(); + + /** + * Perform reset oepration (it takes 4 seconds) + * + * @returns true if succeeded, false otherwise + */ + bool reset(); + + /** + * Send a picture command to the camera module + * + * @returns true if succeeded, false otherwise + */ + bool takePicture(void); + + /** + * Send a stop pictures command to the camera module + * + * @returns true if succeeded, false otherwise + */ + bool stopPictures(void); + + /** + * Get the picture image size + * + * @returns the actual image size in bytes + */ + int getImageSize(); + + /** + * Read the picture data to the buffer + * + * @param dataBuf data buffer address to store the received data + * @param size data size to read + * @param address the address of the picture data to read + * + * @returns the size of the data read + */ + int readData(char *dataBuf, int size, int address); + +//private: + Timer timer; + FILE *fp; + int imageSize; + int address; + enum State {UNKNOWN, READY, PROCESSING, ERROR = -1} state; + + int sendReceive(char *buf, int sendSize, int receiveSize); + int receive(char *buf, int size, int timeout); +}; + +#endif