see: http://mbed.org/users/okini3939/notebook/wifi_webcam/

Dependencies:   GSwifiInterface_ap_webcam USBHost mbed

Committer:
okini3939
Date:
Fri Jun 06 00:44:06 2014 +0000
Revision:
0:8558bdecb0fa
1st build

Who changed what in which revision?

UserRevisionLine numberNew contents of line
okini3939 0:8558bdecb0fa 1 // BaseUvc.h
okini3939 0:8558bdecb0fa 2 #include "USBIsochronous.h"
okini3939 0:8558bdecb0fa 3 #pragma once
okini3939 0:8558bdecb0fa 4
okini3939 0:8558bdecb0fa 5 // --- UVC --------------------------------------------------
okini3939 0:8558bdecb0fa 6 #define _30FPS 333333
okini3939 0:8558bdecb0fa 7 #define _25FPS 400000
okini3939 0:8558bdecb0fa 8 #define _20FPS 500000
okini3939 0:8558bdecb0fa 9 #define _15FPS 666666
okini3939 0:8558bdecb0fa 10 #define _10FPS 1000000
okini3939 0:8558bdecb0fa 11 #define _5FPS 2000000
okini3939 0:8558bdecb0fa 12 #define _1FPS 10000000
okini3939 0:8558bdecb0fa 13
okini3939 0:8558bdecb0fa 14 #define SET_CUR 0x01
okini3939 0:8558bdecb0fa 15 #define GET_CUR 0x81
okini3939 0:8558bdecb0fa 16 #define GET_MIN 0x82
okini3939 0:8558bdecb0fa 17 #define GET_MAX 0x83
okini3939 0:8558bdecb0fa 18 #define GET_RES 0x84
okini3939 0:8558bdecb0fa 19 #define GET_LEN 0x85
okini3939 0:8558bdecb0fa 20 #define GET_INFO 0x86
okini3939 0:8558bdecb0fa 21 #define GET_DEF 0x87
okini3939 0:8558bdecb0fa 22
okini3939 0:8558bdecb0fa 23 #define VS_PROBE_CONTROL 0x01
okini3939 0:8558bdecb0fa 24 #define VS_COMMIT_CONTROL 0x02
okini3939 0:8558bdecb0fa 25
okini3939 0:8558bdecb0fa 26 class BaseUvc {
okini3939 0:8558bdecb0fa 27 public:
okini3939 0:8558bdecb0fa 28 void poll(int millisec = 0);
okini3939 0:8558bdecb0fa 29 USB_TYPE Control(int req, int cs, int index, uint8_t* buf, int size);
okini3939 0:8558bdecb0fa 30 USB_TYPE setInterfaceAlternate(uint8_t intf, uint8_t alt);
okini3939 0:8558bdecb0fa 31 IsochronousEp* m_isoEp;
okini3939 0:8558bdecb0fa 32 uint32_t report_cc_count[16]; // ConditionCode
okini3939 0:8558bdecb0fa 33 uint32_t report_ps_cc_count[16]; // Packt Status ConditionCode
okini3939 0:8558bdecb0fa 34 // callback
okini3939 0:8558bdecb0fa 35 void onResult(uint16_t frame, uint8_t* buf, int len);
okini3939 0:8558bdecb0fa 36 void setOnResult( void (*pMethod)(uint16_t, uint8_t*, int) );
okini3939 0:8558bdecb0fa 37 class CDummy;
okini3939 0:8558bdecb0fa 38 template<class T>
okini3939 0:8558bdecb0fa 39 void setOnResult( T* pItem, void (T::*pMethod)(uint16_t, uint8_t*, int) )
okini3939 0:8558bdecb0fa 40 {
okini3939 0:8558bdecb0fa 41 m_pCb = NULL;
okini3939 0:8558bdecb0fa 42 m_pCbItem = (CDummy*) pItem;
okini3939 0:8558bdecb0fa 43 m_pCbMeth = (void (CDummy::*)(uint16_t, uint8_t*, int)) pMethod;
okini3939 0:8558bdecb0fa 44 }
okini3939 0:8558bdecb0fa 45 void clearOnResult();
okini3939 0:8558bdecb0fa 46 CDummy* m_pCbItem;
okini3939 0:8558bdecb0fa 47 void (CDummy::*m_pCbMeth)(uint16_t, uint8_t*, int);
okini3939 0:8558bdecb0fa 48 void (*m_pCb)(uint16_t, uint8_t*, int);
okini3939 0:8558bdecb0fa 49 protected:
okini3939 0:8558bdecb0fa 50 USBHost * host;
okini3939 0:8558bdecb0fa 51 USBDeviceConnected * dev;
okini3939 0:8558bdecb0fa 52 };