modify for C210 webcam and Startboard Orange.

Dependencies:   TextLCD USBHost mbed

Fork of USBHostC270_example by Norimasa Okamoto

Norimasa Okamoto さんの http://mbed.org/users/va009039/code/USBHostC270_example/ を C210 webcam と StarBoard Orange での SD カード保存用に変更。

Committer:
masato
Date:
Tue Mar 19 12:21:08 2013 +0000
Revision:
11:944c66b16508
Parent:
10:387c49b2fc7e
Child:
12:c827ed52021d
change for C210 and SDFileSystem

Who changed what in which revision?

UserRevisionLine numberNew contents of line
masato 11:944c66b16508 1 // #include "USBHostMSD.h"
va009039 10:387c49b2fc7e 2 #include "USBHostC270.h"
masato 11:944c66b16508 3 #include "SDFileSystem.h"
va009039 10:387c49b2fc7e 4
va009039 10:387c49b2fc7e 5 Serial pc(USBTX, USBRX);
va009039 10:387c49b2fc7e 6 BusOut leds(LED1, LED2, LED3);
masato 11:944c66b16508 7 SDFileSystem sd(p5, p6, p7, p8, "sd");
va009039 10:387c49b2fc7e 8
va009039 10:387c49b2fc7e 9 int main() {
va009039 10:387c49b2fc7e 10 pc.baud(921600);
va009039 10:387c49b2fc7e 11
masato 11:944c66b16508 12 // USBHostMSD* msd = new USBHostMSD("usb"); // USB flash drive
va009039 10:387c49b2fc7e 13
va009039 10:387c49b2fc7e 14 USBHostC270* cam = new USBHostC270(C270_MJPEG, C270_160x120, _5FPS); // Logitech C270
va009039 10:387c49b2fc7e 15 while(!cam->connect()) {
va009039 10:387c49b2fc7e 16 Thread::wait(500);
va009039 10:387c49b2fc7e 17 }
va009039 10:387c49b2fc7e 18
va009039 10:387c49b2fc7e 19 uint8_t buf[1024*3];
va009039 10:387c49b2fc7e 20 Timer interval_t;
va009039 10:387c49b2fc7e 21 interval_t.reset();
va009039 10:387c49b2fc7e 22 interval_t.start();
va009039 10:387c49b2fc7e 23 int shot = 0;
va009039 10:387c49b2fc7e 24 while(1) {
masato 11:944c66b16508 25 if (interval_t.read_ms() > 2000) {
masato 11:944c66b16508 26 printf("start\r\n");
va009039 10:387c49b2fc7e 27 int r = cam->readJPEG(buf, sizeof(buf));
va009039 10:387c49b2fc7e 28 char path[32];
masato 11:944c66b16508 29 // snprintf(path, sizeof(path), "/usb/image%02d.jpg", shot % 20);
masato 11:944c66b16508 30 snprintf(path, sizeof(path), "/sd/image%02d.jpg", shot % 20);
masato 11:944c66b16508 31 printf("%d %s %d bytes\r\n", shot, path, r);
masato 11:944c66b16508 32 // if (msd->connected())
masato 11:944c66b16508 33 {
va009039 10:387c49b2fc7e 34 FILE* fp = fopen(path, "wb");
va009039 10:387c49b2fc7e 35 if (fp) {
masato 11:944c66b16508 36 printf("write\r\n");
va009039 10:387c49b2fc7e 37 fwrite(buf, r, 1, fp);
va009039 10:387c49b2fc7e 38 fclose(fp);
va009039 10:387c49b2fc7e 39 }
va009039 10:387c49b2fc7e 40 shot++;
va009039 10:387c49b2fc7e 41 leds = shot % 8;
va009039 10:387c49b2fc7e 42 }
va009039 10:387c49b2fc7e 43 interval_t.reset();
masato 11:944c66b16508 44 printf("end\r\n");
va009039 10:387c49b2fc7e 45 }
masato 11:944c66b16508 46 // if (!msd->connected()) msd->connect();
va009039 10:387c49b2fc7e 47 cam->poll();
va009039 10:387c49b2fc7e 48 }
va009039 10:387c49b2fc7e 49 }