![](/media/cache/profiles/f095cedd23b99f1696fc8caecbcf257e.jpg.50x50_q85.jpg)
see: http://mbed.org/users/okini3939/notebook/wifi_webcam/
Dependencies: GSwifiInterface_ap_webcam USBHost mbed
USBHostCam/CamInfo.cpp@0:8558bdecb0fa, 2014-06-06 (annotated)
- Committer:
- okini3939
- Date:
- Fri Jun 06 00:44:06 2014 +0000
- Revision:
- 0:8558bdecb0fa
1st build
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
okini3939 | 0:8558bdecb0fa | 1 | // CamInfo.cpp |
okini3939 | 0:8558bdecb0fa | 2 | #include "USBHostCam.h" |
okini3939 | 0:8558bdecb0fa | 3 | |
okini3939 | 0:8558bdecb0fa | 4 | // Logitech C270 |
okini3939 | 0:8558bdecb0fa | 5 | #define C270_VID 0x046d |
okini3939 | 0:8558bdecb0fa | 6 | #define C270_PID 0x0825 |
okini3939 | 0:8558bdecb0fa | 7 | #define C270_160x120 2 |
okini3939 | 0:8558bdecb0fa | 8 | #define C270_176x144 3 |
okini3939 | 0:8558bdecb0fa | 9 | #define C270_320x176 4 |
okini3939 | 0:8558bdecb0fa | 10 | #define C270_320x240 5 |
okini3939 | 0:8558bdecb0fa | 11 | #define C270_352x288 6 |
okini3939 | 0:8558bdecb0fa | 12 | #define C270_432x240 7 |
okini3939 | 0:8558bdecb0fa | 13 | #define C270_640x480 1 |
okini3939 | 0:8558bdecb0fa | 14 | #define C270_544x288 8 |
okini3939 | 0:8558bdecb0fa | 15 | #define C270_640x360 9 |
okini3939 | 0:8558bdecb0fa | 16 | #define C270_752x416 10 |
okini3939 | 0:8558bdecb0fa | 17 | #define C270_800x448 11 |
okini3939 | 0:8558bdecb0fa | 18 | #define C270_800x600 12 |
okini3939 | 0:8558bdecb0fa | 19 | |
okini3939 | 0:8558bdecb0fa | 20 | #define C270_MJPEG 2 |
okini3939 | 0:8558bdecb0fa | 21 | #define C270_YUV2 1 |
okini3939 | 0:8558bdecb0fa | 22 | |
okini3939 | 0:8558bdecb0fa | 23 | #define C270_EN 0x81 |
okini3939 | 0:8558bdecb0fa | 24 | #define C270_MPS 192 |
okini3939 | 0:8558bdecb0fa | 25 | #define C270_IF_ALT_192 1 |
okini3939 | 0:8558bdecb0fa | 26 | #define C270_IF_ALT(A) C270_IF_ALT_##A |
okini3939 | 0:8558bdecb0fa | 27 | |
okini3939 | 0:8558bdecb0fa | 28 | #define C270_INFO(SIZE) {C270_VID, C270_PID, _##SIZE, 0, \ |
okini3939 | 0:8558bdecb0fa | 29 | "C270", \ |
okini3939 | 0:8558bdecb0fa | 30 | C270_MJPEG, \ |
okini3939 | 0:8558bdecb0fa | 31 | C270_##SIZE, \ |
okini3939 | 0:8558bdecb0fa | 32 | _5FPS, \ |
okini3939 | 0:8558bdecb0fa | 33 | C270_EN, \ |
okini3939 | 0:8558bdecb0fa | 34 | 192, \ |
okini3939 | 0:8558bdecb0fa | 35 | C270_IF_ALT(192), \ |
okini3939 | 0:8558bdecb0fa | 36 | 4, \ |
okini3939 | 0:8558bdecb0fa | 37 | 3} |
okini3939 | 0:8558bdecb0fa | 38 | |
okini3939 | 0:8558bdecb0fa | 39 | #define C210_PID 0x819 |
okini3939 | 0:8558bdecb0fa | 40 | #define C210_INFO(SIZE) {C270_VID, C210_PID, _##SIZE, 0, \ |
okini3939 | 0:8558bdecb0fa | 41 | "C270", \ |
okini3939 | 0:8558bdecb0fa | 42 | C270_MJPEG, \ |
okini3939 | 0:8558bdecb0fa | 43 | C270_##SIZE, \ |
okini3939 | 0:8558bdecb0fa | 44 | _5FPS, \ |
okini3939 | 0:8558bdecb0fa | 45 | C270_EN, \ |
okini3939 | 0:8558bdecb0fa | 46 | 192, \ |
okini3939 | 0:8558bdecb0fa | 47 | C270_IF_ALT(192), \ |
okini3939 | 0:8558bdecb0fa | 48 | 4, \ |
okini3939 | 0:8558bdecb0fa | 49 | 3} |
okini3939 | 0:8558bdecb0fa | 50 | |
okini3939 | 0:8558bdecb0fa | 51 | // Logitech Qcam Orbit AF QCAM-200R |
okini3939 | 0:8558bdecb0fa | 52 | #define Q200R_VID 0x046d |
okini3939 | 0:8558bdecb0fa | 53 | #define Q200R_PID 0x0994 |
okini3939 | 0:8558bdecb0fa | 54 | #define Q200R_160x120 1 |
okini3939 | 0:8558bdecb0fa | 55 | #define Q200R_176x144 2 |
okini3939 | 0:8558bdecb0fa | 56 | #define Q200R_320x240 3 |
okini3939 | 0:8558bdecb0fa | 57 | #define Q200R_352x288 4 |
okini3939 | 0:8558bdecb0fa | 58 | #define Q200R_640x480 5 |
okini3939 | 0:8558bdecb0fa | 59 | #define Q200R_800x600 6 |
okini3939 | 0:8558bdecb0fa | 60 | |
okini3939 | 0:8558bdecb0fa | 61 | #define Q200R_MJPEG 1 |
okini3939 | 0:8558bdecb0fa | 62 | #define Q200R_YUV2 2 |
okini3939 | 0:8558bdecb0fa | 63 | |
okini3939 | 0:8558bdecb0fa | 64 | #define Q200R_EN 0x81 |
okini3939 | 0:8558bdecb0fa | 65 | #define Q200R_MPS 192 |
okini3939 | 0:8558bdecb0fa | 66 | #define Q200R_IF_ALT_192 1 |
okini3939 | 0:8558bdecb0fa | 67 | #define Q200R_IF_ALT_384 2 |
okini3939 | 0:8558bdecb0fa | 68 | #define Q200R_IF_ALT_512 3 |
okini3939 | 0:8558bdecb0fa | 69 | #define Q200R_IF_ALT_640 4 |
okini3939 | 0:8558bdecb0fa | 70 | #define Q200R_IF_ALT_800 5 |
okini3939 | 0:8558bdecb0fa | 71 | #define Q200R_IF_ALT_944 6 |
okini3939 | 0:8558bdecb0fa | 72 | #define Q200R_IF_ALT(A) Q200R_IF_ALT_##A |
okini3939 | 0:8558bdecb0fa | 73 | #define Q200R_INFO(SIZE) {Q200R_VID, Q200R_PID, _##SIZE, 0, \ |
okini3939 | 0:8558bdecb0fa | 74 | "Q200R", \ |
okini3939 | 0:8558bdecb0fa | 75 | Q200R_MJPEG, \ |
okini3939 | 0:8558bdecb0fa | 76 | Q200R_##SIZE, \ |
okini3939 | 0:8558bdecb0fa | 77 | _5FPS, \ |
okini3939 | 0:8558bdecb0fa | 78 | Q200R_EN, \ |
okini3939 | 0:8558bdecb0fa | 79 | 192, \ |
okini3939 | 0:8558bdecb0fa | 80 | Q200R_IF_ALT(192), \ |
okini3939 | 0:8558bdecb0fa | 81 | 4, \ |
okini3939 | 0:8558bdecb0fa | 82 | 3} |
okini3939 | 0:8558bdecb0fa | 83 | |
okini3939 | 0:8558bdecb0fa | 84 | //LifeCam VX700 / VX500 |
okini3939 | 0:8558bdecb0fa | 85 | #define VX700_VID 0x045e |
okini3939 | 0:8558bdecb0fa | 86 | #define VX700_PID 0x074a |
okini3939 | 0:8558bdecb0fa | 87 | |
okini3939 | 0:8558bdecb0fa | 88 | #define VX700_160x120 5 |
okini3939 | 0:8558bdecb0fa | 89 | #define VX700_176x144 4 |
okini3939 | 0:8558bdecb0fa | 90 | #define VX700_320x240 3 |
okini3939 | 0:8558bdecb0fa | 91 | #define VX700_352x288 2 |
okini3939 | 0:8558bdecb0fa | 92 | #define VX700_640x480 1 |
okini3939 | 0:8558bdecb0fa | 93 | |
okini3939 | 0:8558bdecb0fa | 94 | #define VX700_MJPEG 1 |
okini3939 | 0:8558bdecb0fa | 95 | |
okini3939 | 0:8558bdecb0fa | 96 | #define VX700_EN 0x81 |
okini3939 | 0:8558bdecb0fa | 97 | #define VX700_MPS 128 |
okini3939 | 0:8558bdecb0fa | 98 | #define VX700_IF_ALT_128 1 |
okini3939 | 0:8558bdecb0fa | 99 | #define VX700_IF_ALT(A) VX700_IF_ALT_##A |
okini3939 | 0:8558bdecb0fa | 100 | #define VX700_INFO(SIZE) {VX700_VID, VX700_PID, _##SIZE, 0, \ |
okini3939 | 0:8558bdecb0fa | 101 | "VX700", \ |
okini3939 | 0:8558bdecb0fa | 102 | VX700_MJPEG, \ |
okini3939 | 0:8558bdecb0fa | 103 | VX700_##SIZE, \ |
okini3939 | 0:8558bdecb0fa | 104 | _5FPS, \ |
okini3939 | 0:8558bdecb0fa | 105 | VX700_EN, \ |
okini3939 | 0:8558bdecb0fa | 106 | 128, \ |
okini3939 | 0:8558bdecb0fa | 107 | VX700_IF_ALT(128), \ |
okini3939 | 0:8558bdecb0fa | 108 | 4, \ |
okini3939 | 0:8558bdecb0fa | 109 | 3} |
okini3939 | 0:8558bdecb0fa | 110 | |
okini3939 | 0:8558bdecb0fa | 111 | //Sonix USB 2.0 Camera |
okini3939 | 0:8558bdecb0fa | 112 | #define SONIX_160x120 5 |
okini3939 | 0:8558bdecb0fa | 113 | #define SONIX_176x144 4 |
okini3939 | 0:8558bdecb0fa | 114 | #define SONIX_320x240 3 |
okini3939 | 0:8558bdecb0fa | 115 | #define SONIX_352x288 2 |
okini3939 | 0:8558bdecb0fa | 116 | #define SONIX_640x480 1 |
okini3939 | 0:8558bdecb0fa | 117 | |
okini3939 | 0:8558bdecb0fa | 118 | #define SONIX_IF_ALT_128 1 |
okini3939 | 0:8558bdecb0fa | 119 | #define SONIX_IF_ALT_256 2 |
okini3939 | 0:8558bdecb0fa | 120 | #define SONIX_IF_ALT_512 3 |
okini3939 | 0:8558bdecb0fa | 121 | #define SONIX_IF_ALT_600 4 |
okini3939 | 0:8558bdecb0fa | 122 | #define SONIX_IF_ALT_800 5 |
okini3939 | 0:8558bdecb0fa | 123 | #define SONIX_IF_ALT_956 6 |
okini3939 | 0:8558bdecb0fa | 124 | #define SONIX_IF_ALT(A) SONIX_IF_ALT_##A |
okini3939 | 0:8558bdecb0fa | 125 | #define SONIX_INFO(SIZE) {0x0c45, 0x62c0, _##SIZE, 0, \ |
okini3939 | 0:8558bdecb0fa | 126 | "SONIX", \ |
okini3939 | 0:8558bdecb0fa | 127 | 1, \ |
okini3939 | 0:8558bdecb0fa | 128 | SONIX_##SIZE, \ |
okini3939 | 0:8558bdecb0fa | 129 | _5FPS, \ |
okini3939 | 0:8558bdecb0fa | 130 | 0x81, \ |
okini3939 | 0:8558bdecb0fa | 131 | 128, \ |
okini3939 | 0:8558bdecb0fa | 132 | SONIX_IF_ALT(128), \ |
okini3939 | 0:8558bdecb0fa | 133 | 4, \ |
okini3939 | 0:8558bdecb0fa | 134 | 3} |
okini3939 | 0:8558bdecb0fa | 135 | |
okini3939 | 0:8558bdecb0fa | 136 | static const CamInfo CamInfoList[] = { |
okini3939 | 0:8558bdecb0fa | 137 | // Logitech C270 |
okini3939 | 0:8558bdecb0fa | 138 | C270_INFO(160x120), |
okini3939 | 0:8558bdecb0fa | 139 | C270_INFO(176x144), |
okini3939 | 0:8558bdecb0fa | 140 | C270_INFO(320x176), |
okini3939 | 0:8558bdecb0fa | 141 | C270_INFO(320x240), |
okini3939 | 0:8558bdecb0fa | 142 | C270_INFO(352x288), |
okini3939 | 0:8558bdecb0fa | 143 | C270_INFO(432x240), |
okini3939 | 0:8558bdecb0fa | 144 | C270_INFO(640x480), |
okini3939 | 0:8558bdecb0fa | 145 | C270_INFO(544x288), |
okini3939 | 0:8558bdecb0fa | 146 | C270_INFO(640x360), |
okini3939 | 0:8558bdecb0fa | 147 | C270_INFO(752x416), |
okini3939 | 0:8558bdecb0fa | 148 | C270_INFO(800x448), |
okini3939 | 0:8558bdecb0fa | 149 | C270_INFO(800x600), |
okini3939 | 0:8558bdecb0fa | 150 | |
okini3939 | 0:8558bdecb0fa | 151 | // Logitech C210 |
okini3939 | 0:8558bdecb0fa | 152 | C210_INFO(160x120), |
okini3939 | 0:8558bdecb0fa | 153 | C210_INFO(176x144), |
okini3939 | 0:8558bdecb0fa | 154 | C210_INFO(320x176), |
okini3939 | 0:8558bdecb0fa | 155 | C210_INFO(320x240), |
okini3939 | 0:8558bdecb0fa | 156 | C210_INFO(352x288), |
okini3939 | 0:8558bdecb0fa | 157 | C210_INFO(432x240), |
okini3939 | 0:8558bdecb0fa | 158 | C210_INFO(640x480), |
okini3939 | 0:8558bdecb0fa | 159 | C210_INFO(544x288), |
okini3939 | 0:8558bdecb0fa | 160 | C210_INFO(640x360), |
okini3939 | 0:8558bdecb0fa | 161 | C210_INFO(752x416), |
okini3939 | 0:8558bdecb0fa | 162 | C210_INFO(800x448), |
okini3939 | 0:8558bdecb0fa | 163 | C210_INFO(800x600), |
okini3939 | 0:8558bdecb0fa | 164 | |
okini3939 | 0:8558bdecb0fa | 165 | // Logitech Qcam Orbit AF QCAM-200R |
okini3939 | 0:8558bdecb0fa | 166 | Q200R_INFO(160x120), |
okini3939 | 0:8558bdecb0fa | 167 | Q200R_INFO(176x144), |
okini3939 | 0:8558bdecb0fa | 168 | Q200R_INFO(320x240), |
okini3939 | 0:8558bdecb0fa | 169 | Q200R_INFO(352x288), |
okini3939 | 0:8558bdecb0fa | 170 | Q200R_INFO(640x480), |
okini3939 | 0:8558bdecb0fa | 171 | Q200R_INFO(800x600), |
okini3939 | 0:8558bdecb0fa | 172 | |
okini3939 | 0:8558bdecb0fa | 173 | // LifeCam VX700 |
okini3939 | 0:8558bdecb0fa | 174 | VX700_INFO(160x120), |
okini3939 | 0:8558bdecb0fa | 175 | VX700_INFO(176x144), |
okini3939 | 0:8558bdecb0fa | 176 | VX700_INFO(320x240), |
okini3939 | 0:8558bdecb0fa | 177 | VX700_INFO(352x288), |
okini3939 | 0:8558bdecb0fa | 178 | VX700_INFO(640x480), |
okini3939 | 0:8558bdecb0fa | 179 | |
okini3939 | 0:8558bdecb0fa | 180 | // Sonix USB 2.0 Camera |
okini3939 | 0:8558bdecb0fa | 181 | SONIX_INFO(160x120), |
okini3939 | 0:8558bdecb0fa | 182 | SONIX_INFO(176x144), |
okini3939 | 0:8558bdecb0fa | 183 | SONIX_INFO(320x240), |
okini3939 | 0:8558bdecb0fa | 184 | SONIX_INFO(352x288), |
okini3939 | 0:8558bdecb0fa | 185 | SONIX_INFO(640x480), |
okini3939 | 0:8558bdecb0fa | 186 | |
okini3939 | 0:8558bdecb0fa | 187 | // Not found |
okini3939 | 0:8558bdecb0fa | 188 | {0,0,0,0}, |
okini3939 | 0:8558bdecb0fa | 189 | }; |
okini3939 | 0:8558bdecb0fa | 190 | |
okini3939 | 0:8558bdecb0fa | 191 | CamInfo* getCamInfoList() { |
okini3939 | 0:8558bdecb0fa | 192 | return const_cast<CamInfo*>(CamInfoList); |
okini3939 | 0:8558bdecb0fa | 193 | } |