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 // 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 }