![](/media/cache/profiles/5f14615696649541a025d3d0f8e0447f.jpg.50x50_q85.jpg)
JBBoardに接続したモーター2つをRCBControllerでコントロールするテストです。
Dependencies: FatFileSystem TB6612FNG2 mbed
Fork of JBB_BTLE_Test by
uvc/uvc.h
- Committer:
- jksoft
- Date:
- 2014-05-12
- Revision:
- 7:3ed1e36587d4
- Parent:
- 0:1ed23ab1345f
File content as of revision 7:3ed1e36587d4:
#ifndef UVC_H #define UVC_H #include "UsbBaseClass.h" #include "usb_mem.h" #include "usb_mjpeg.h" #define CLASS_VIDEO 0x0E #define SET_CUR 0x01 #define GET_CUR 0x81 #define GET_MIN 0x82 #define GET_MAX 0x83 #define GET_RES 0x84 #define GET_LEN 0x85 #define GET_INFO 0x86 #define GET_DEF 0x87 #define VS_PROBE_CONTROL 0x01 #define VS_COMMIT_CONTROL 0x02 #define PAYLOAD_UNDEF 0 #define PAYLOAD_MJPEG 1 #define PAYLOAD_YUY2 2 class uvc : public UsbBaseClass { public: uvc(int cam = 0); ~uvc(); int setup(); int get_jpeg(const char* path); int get_jpeg(uint8_t* buf, int size); bool interrupt(); int isochronous(); void attach(usb_stream* stream); void detach(); ///set format index void SetFormatIndex(int index = 1); ///set frame index void SetFrameIndex(int index = 1); ///set frame interval void SetFrameInterval(int val = 2000000); ///set packet size void SetPacketSize(int size = 128); ///set image size void SetImageSize(int width = 160, int height = 120); ///set payload MJPEG or YUY2 void SetPayload(int payload); // MJPEG,YUV422(YUY2) UsbErr Control(int req, int cs, int index, uint8_t* buf, int size); ///Setups the result callback /** @param pMethod : callback function */ void setOnResult( void (*pMethod)(uint16_t, uint8_t*, int) ); ///Setups the result callback /** @param pItem : instance of class on which to execute the callback method @param pMethod : callback method */ class CDummy; template<class T> void setOnResult( T* pItem, void (T::*pMethod)(uint16_t, uint8_t*, int) ) { m_pCb = NULL; m_pCbItem = (CDummy*) pItem; m_pCbMeth = (void (CDummy::*)(uint16_t, uint8_t*, int)) pMethod; } void clearOnResult(); void poll(); void wait(float s); void wait_ms(int ms); uint16_t ReportConditionCode[16]; protected: int _init(); void _config(struct stcamcfg* cfg); void onResult(uint16_t frame, uint8_t* buf, int len); bool m_connect; bool m_init; int m_cam; UsbDevice* m_pDev; UsbEndpoint* m_pEpIntIn; UsbEndpoint* m_pEpIsoIn; int m_width; int m_height; int m_payload; int m_FormatIndex; int m_FrameIndex; int m_FrameInterval; int m_PacketSize; int m_FrameCount; // 1-8 int m_itdCount; uint8_t m_int_buf[16]; int m_int_seq; int m_iso_seq; uint16_t m_iso_frame; usb_stream* m_stream; CDummy* m_pCbItem; void (CDummy::*m_pCbMeth)(uint16_t, uint8_t*, int); void (*m_pCb)(uint16_t, uint8_t*, int); }; #endif //UVC_H