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.
Fork of Camera_LS_Y201 by
Diff: Camera_LS_Y201.cpp
- Revision:
- 1:43358d40f879
- Parent:
- 0:f71232252dcf
- Child:
- 2:88128c9da228
--- a/Camera_LS_Y201.cpp Thu Nov 25 15:43:42 2010 +0000 +++ b/Camera_LS_Y201.cpp Wed Dec 01 23:10:56 2010 +0000 @@ -157,6 +157,11 @@ && (recv[2] == 0x36) && (recv[3] == 0x00) && (recv[4] == 0x00)) { + /* + * I think the camera need a time for operating. + * But there is no any comments on the documents. + */ + wait_ms(100); return NoError; } else { return UnexpectedReply; @@ -207,7 +212,7 @@ * @param func A pointer to a call back function. * @return Error code. */ -Camera_LS_Y201::ErrorCode Camera_LS_Y201::readJpegFileContent(void (*func)(uint8_t *buf, size_t siz)) { +Camera_LS_Y201::ErrorCode Camera_LS_Y201::readJpegFileContent(void (*func)(int done, int total, uint8_t *buf, size_t siz)) { uint8_t send[16] = { 0x56, 0x00, @@ -231,6 +236,17 @@ uint16_t k = sizeof(body); // Packet size. uint16_t x = 10; // Interval time. XX XX * 0.01m[sec] bool end = false; + + /* + * Get the data size. + */ + int siz_done = 0; + int siz_total = 0; + ErrorCode r = readJpegFileSize(&siz_total); + if (r != NoError) { + return r; + } + do { send[8] = (m >> 8) & 0xff; send[9] = (m >> 0) & 0xff; @@ -262,8 +278,12 @@ if (!recvBytes(body, sizeof(body), 2 * 1000 * 1000)) { return RecvError; } + siz_done += sizeof(body); if (func != NULL) { - func(body, sizeof(body)); + if (siz_done > siz_total) { + siz_done = siz_total; + } + func(siz_done, siz_total, body, sizeof(body)); } for (int i = 1; i < sizeof(body); i++) { if ((body[i - 1] == 0xFF) && (body[i - 0] == 0xD9)) { @@ -313,6 +333,11 @@ && (recv[2] == 0x36) && (recv[3] == 0x00) && (recv[4] == 0x00)) { + /* + * I think the camera need a time for operating. + * But there is no any comments on the documents. + */ + wait_ms(100); return NoError; } else { return UnexpectedReply;