Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of F401RE-USBHost by
USBHostC270/BaseUvc.h@26:78b505e6e49c, 2016-12-28 (annotated)
- Committer:
- Ownasaurus
- Date:
- Wed Dec 28 23:23:00 2016 +0000
- Revision:
- 26:78b505e6e49c
- Parent:
- 18:61554f238584
first release for keyboard
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| va009039 |
13:8774c07f12a5 | 1 | // BaseUvc.h |
| va009039 |
13:8774c07f12a5 | 2 | #pragma once |
| va009039 |
13:8774c07f12a5 | 3 | |
| va009039 |
13:8774c07f12a5 | 4 | // --- UVC -------------------------------------------------- |
| va009039 |
13:8774c07f12a5 | 5 | #define _30FPS 333333 |
| va009039 |
13:8774c07f12a5 | 6 | #define _25FPS 400000 |
| va009039 |
13:8774c07f12a5 | 7 | #define _20FPS 500000 |
| va009039 |
13:8774c07f12a5 | 8 | #define _15FPS 666666 |
| va009039 |
13:8774c07f12a5 | 9 | #define _10FPS 1000000 |
| va009039 |
13:8774c07f12a5 | 10 | #define _5FPS 2000000 |
| va009039 |
13:8774c07f12a5 | 11 | #define _1FPS 10000000 |
| va009039 |
13:8774c07f12a5 | 12 | |
| va009039 |
13:8774c07f12a5 | 13 | #define SET_CUR 0x01 |
| va009039 |
13:8774c07f12a5 | 14 | #define GET_CUR 0x81 |
| va009039 |
13:8774c07f12a5 | 15 | #define GET_MIN 0x82 |
| va009039 |
13:8774c07f12a5 | 16 | #define GET_MAX 0x83 |
| va009039 |
13:8774c07f12a5 | 17 | #define GET_RES 0x84 |
| va009039 |
13:8774c07f12a5 | 18 | #define GET_LEN 0x85 |
| va009039 |
13:8774c07f12a5 | 19 | #define GET_INFO 0x86 |
| va009039 |
13:8774c07f12a5 | 20 | #define GET_DEF 0x87 |
| va009039 |
13:8774c07f12a5 | 21 | |
| va009039 |
13:8774c07f12a5 | 22 | #define VS_PROBE_CONTROL 0x01 |
| va009039 |
13:8774c07f12a5 | 23 | #define VS_COMMIT_CONTROL 0x02 |
| va009039 |
13:8774c07f12a5 | 24 | |
| va009039 |
13:8774c07f12a5 | 25 | class BaseUvc { |
| va009039 |
13:8774c07f12a5 | 26 | public: |
| va009039 |
13:8774c07f12a5 | 27 | void poll(); |
| va009039 |
13:8774c07f12a5 | 28 | USB_TYPE Control(int req, int cs, int index, uint8_t* buf, int size); |
| va009039 |
13:8774c07f12a5 | 29 | USB_TYPE setInterfaceAlternate(uint8_t intf, uint8_t alt); |
| va009039 |
13:8774c07f12a5 | 30 | //IsochronousEp* m_isoEp; |
| va009039 |
13:8774c07f12a5 | 31 | // callback |
| va009039 |
13:8774c07f12a5 | 32 | void onResult(uint16_t frame, uint8_t* buf, int len); |
| va009039 |
13:8774c07f12a5 | 33 | void setOnResult( void (*pMethod)(uint16_t, uint8_t*, int) ); |
| va009039 |
13:8774c07f12a5 | 34 | class CDummy; |
| va009039 |
13:8774c07f12a5 | 35 | template<class T> |
| va009039 |
13:8774c07f12a5 | 36 | void setOnResult( T* pItem, void (T::*pMethod)(uint16_t, uint8_t*, int) ) |
| va009039 |
13:8774c07f12a5 | 37 | { |
| va009039 |
13:8774c07f12a5 | 38 | m_pCb = NULL; |
| va009039 |
13:8774c07f12a5 | 39 | m_pCbItem = (CDummy*) pItem; |
| va009039 |
13:8774c07f12a5 | 40 | m_pCbMeth = (void (CDummy::*)(uint16_t, uint8_t*, int)) pMethod; |
| va009039 |
13:8774c07f12a5 | 41 | } |
| va009039 |
13:8774c07f12a5 | 42 | void clearOnResult(); |
| va009039 |
13:8774c07f12a5 | 43 | CDummy* m_pCbItem; |
| va009039 |
13:8774c07f12a5 | 44 | void (CDummy::*m_pCbMeth)(uint16_t, uint8_t*, int); |
| va009039 |
13:8774c07f12a5 | 45 | void (*m_pCb)(uint16_t, uint8_t*, int); |
| va009039 |
13:8774c07f12a5 | 46 | protected: |
| va009039 |
13:8774c07f12a5 | 47 | USBHost * host; |
| va009039 |
13:8774c07f12a5 | 48 | USBDeviceConnected * dev; |
| va009039 |
13:8774c07f12a5 | 49 | USBEndpoint* ep_iso_in; |
| va009039 |
13:8774c07f12a5 | 50 | }; |
