Library creation

Committer:
GlessConsult
Date:
Thu Mar 17 17:53:43 2016 +0000
Revision:
0:bd5d25911e06
A little library to control a Mobius ActionCam by connecting the USB interface via relays.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
GlessConsult 0:bd5d25911e06 1 #include "mbed.h"
GlessConsult 0:bd5d25911e06 2 #include "USBHostMSD.h"
GlessConsult 0:bd5d25911e06 3 #include "MobiusCam.h"
GlessConsult 0:bd5d25911e06 4
GlessConsult 0:bd5d25911e06 5 void MobiusCam::clip(int t) { // take a clip for t seconds
GlessConsult 0:bd5d25911e06 6 printf("Start a clip\r\n");
GlessConsult 0:bd5d25911e06 7 _camUSB = 0;
GlessConsult 0:bd5d25911e06 8 Thread::wait(200);
GlessConsult 0:bd5d25911e06 9 _camV5V = 1;
GlessConsult 0:bd5d25911e06 10 Thread::wait(t * 1000);
GlessConsult 0:bd5d25911e06 11 printf("Stop the clip\r\n");
GlessConsult 0:bd5d25911e06 12 _camUSB = 0;
GlessConsult 0:bd5d25911e06 13 _camV5V = 0;
GlessConsult 0:bd5d25911e06 14 Thread::wait(1000);
GlessConsult 0:bd5d25911e06 15 }
GlessConsult 0:bd5d25911e06 16
GlessConsult 0:bd5d25911e06 17 void MobiusCam::directory(char *buf, int bufLen) {
GlessConsult 0:bd5d25911e06 18 printf("Start the camera\r\n");
GlessConsult 0:bd5d25911e06 19 _camUSB = 1;
GlessConsult 0:bd5d25911e06 20 Thread::wait(200);
GlessConsult 0:bd5d25911e06 21 _camV5V = 1;
GlessConsult 0:bd5d25911e06 22 Thread::wait(7000);
GlessConsult 0:bd5d25911e06 23 printf("Try to connect the MSD device\r\n");
GlessConsult 0:bd5d25911e06 24 int cnt = 0;
GlessConsult 0:bd5d25911e06 25 while(!_msd.connect() && (cnt++ < 5)) {
GlessConsult 0:bd5d25911e06 26 Thread::wait(500);
GlessConsult 0:bd5d25911e06 27 }
GlessConsult 0:bd5d25911e06 28 if (cnt < 5) {
GlessConsult 0:bd5d25911e06 29 printf("MSD device connected\r\n");
GlessConsult 0:bd5d25911e06 30 DIR *d = opendir("/usb/DCIM/101HDDVR");
GlessConsult 0:bd5d25911e06 31 //DIR *d = opendir("/usb/DCIM");
GlessConsult 0:bd5d25911e06 32 if (d != NULL) {
GlessConsult 0:bd5d25911e06 33 struct dirent *p;
GlessConsult 0:bd5d25911e06 34 uint32_t counter = 0;
GlessConsult 0:bd5d25911e06 35 printf("Lecture du repertoire ...\r\n");
GlessConsult 0:bd5d25911e06 36 while ((p = readdir(d)) != NULL) {
GlessConsult 0:bd5d25911e06 37 counter++;
GlessConsult 0:bd5d25911e06 38 printf("%s\r\n", p->d_name);
GlessConsult 0:bd5d25911e06 39 }
GlessConsult 0:bd5d25911e06 40 closedir(d);
GlessConsult 0:bd5d25911e06 41 printf("\r\nFin de lecture du repertoire\r\n");
GlessConsult 0:bd5d25911e06 42 }
GlessConsult 0:bd5d25911e06 43 else
GlessConsult 0:bd5d25911e06 44 printf("No directory\r\n");
GlessConsult 0:bd5d25911e06 45 }
GlessConsult 0:bd5d25911e06 46 else
GlessConsult 0:bd5d25911e06 47 printf("MSD device NOT connected\r\n");
GlessConsult 0:bd5d25911e06 48 Thread::wait(500);
GlessConsult 0:bd5d25911e06 49 printf("Stop the camera\r\n");
GlessConsult 0:bd5d25911e06 50 _camUSB = 0;
GlessConsult 0:bd5d25911e06 51 _camV5V = 0;
GlessConsult 0:bd5d25911e06 52 Thread::wait(1000);
GlessConsult 0:bd5d25911e06 53 }