diff options
author | Nick Van Doorn <vandoorn.nick@gmail.com> | 2017-12-13 20:55:35 -0800 |
---|---|---|
committer | Nick Van Doorn <vandoorn.nick@gmail.com> | 2017-12-13 20:55:35 -0800 |
commit | 9d1e6ad99708e8589cf77e4f27b9adec79044629 (patch) | |
tree | 264098774f6e5111da4c1b432118a404dce51429 | |
parent | e627ad5bddea057c874b9471b94a3329dece1a1a (diff) |
Log feedback when writing image data
-rw-r--r-- | camera.c | 11 |
1 files changed, 9 insertions, 2 deletions
@@ -443,7 +443,9 @@ uint8_t cam_getImageBlockSize (int jpgLen) { */ bool cam_readImageBlocks (Camera *cam, FILE *filePtr) { int jpgLen = cam_frameLength(cam); + int imgSize = jpgLen; bool success = true; + int nWrites = 0; while (jpgLen > 0) { uint8_t bytesToRead = cam_getImageBlockSize(jpgLen); uint8_t *buff = cam_readPicture(cam, bytesToRead); @@ -453,6 +455,10 @@ bool cam_readImageBlocks (Camera *cam, FILE *filePtr) { break; } fwrite(buff, sizeof(*buff), bytesToRead, filePtr); + if (++nWrites % 10 == 0) { + double percentComplete = (double)cam->bufferLen * 100.0 / (double)imgSize; + LE_INFO("Image write %f%% complete (%d bytes of %d bytes)",percentComplete, cam->bufferLen, imgSize); + } jpgLen -= bytesToRead; } return success; @@ -470,13 +476,14 @@ bool cam_readImageToFile (Camera *cam, char *path) { LE_INFO("Opening file pointer for path %s", writePath); FILE *filePtr = fopen(writePath, "w"); if (filePtr != NULL) { - LE_INFO("Got valid file pointer"); + LE_INFO("File pointer valid"); success = cam_readImageBlocks(cam, filePtr); + if (success) LE_INFO("Successfully wrote image to %s", writePath); + else LE_INFO("Failed to write photo data to %s", writePath); } else { LE_ERROR("Invalid file pointer for %s", writePath); } - LE_INFO("Done writing image"); fclose(filePtr); return success; } |