BaseUsbHost example program

Dependencies:   BaseUsbHost FATFileSystem mbed mbed-rtos

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers UvcCam.h Source File

UvcCam.h

00001 // UvcCam.h 2012/12/9
00002 #ifndef UVC_CAM_H
00003 #define UVC_CAM_H
00004 
00005 #define UVC_160x120 2
00006 #define UVC_176x144 3
00007 #define UVC_320x176 4
00008 #define UVC_320x240 5
00009 #define UVC_352x288 6
00010 #define UVC_432x240 7
00011 #define UVC_640x480 1
00012 #define UVC_544x288 8
00013 #define UVC_640x360 9
00014 #define UVC_752x416 10
00015 #define UVC_800x448 11
00016 #define UVC_800x600 12
00017 
00018 #define UVC_MJPEG 2
00019 #define UVC_YUY2  1
00020 
00021 #define VERBOSE(...) do{printf(__VA_ARGS__);} while(0);
00022 
00023 class UvcCam : public BaseUvc {
00024 public:
00025     UvcCam(int formatIndex = UVC_MJPEG, int frameIndex = UVC_160x120, uint32_t interval = _5FPS, ControlEp* ctlEp = NULL);
00026     static bool check(ControlEp* ctlEp);
00027 };
00028 
00029 class UvcCfg {
00030 public:
00031     UvcCfg(int formatIndex, int frameIndex, ControlEp* ctlEp);
00032     uint8_t bEndpointAddress; 
00033     uint16_t wMaxPacketSize;
00034     uint8_t FormatIndex;
00035     uint8_t FrameIndex;
00036     uint32_t dwFrameInterval;
00037     uint8_t bInterface;
00038     uint8_t bAlternate;
00039     uint16_t bcdUVC;
00040 protected:
00041     void _parserAudioControl(uint8_t* buf, int len);
00042     void _parserAudioStream(uint8_t* buf, int len);
00043     void _parserVideoControl(uint8_t* buf, int len);
00044     void _parserVideoStream(uint8_t* buf, int len);
00045     void _parserConfigurationDescriptor(uint8_t* buf, int len);
00046     uint16_t _width;
00047     uint16_t _height;
00048     uint8_t _payload;
00049     int _If;
00050     int _Ifalt;
00051     int _IfClass;
00052     int _IfSubClass;
00053 };
00054 
00055 #endif //UVC_CAM_H