Simple USBHost library for Nucleo F446RE/F411RE/F401RE FRDM-KL46Z/KL25Z/F64F LPC4088/LPC1768

Dependencies:   FATFileSystem

Dependents:   F401RE-BTstack_example F401RE-USBHostMSD_HelloWorld

Fork of KL46Z-USBHost by Norimasa Okamoto

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers CamInfo.cpp Source File

CamInfo.cpp

00001 // CamInfo.cpp
00002 #include "USBHostCam.h"
00003 
00004 // Logitech C270
00005 #define C270_VID 0x046d
00006 #define C270_PID 0x0825
00007 #define C270_160x120 2
00008 #define C270_176x144 3
00009 #define C270_320x176 4
00010 #define C270_320x240 5
00011 #define C270_352x288 6
00012 #define C270_432x240 7
00013 #define C270_640x480 1
00014 #define C270_544x288 8
00015 #define C270_640x360 9
00016 #define C270_752x416 10
00017 #define C270_800x448 11
00018 #define C270_800x600 12
00019 
00020 #define C270_MJPEG 2
00021 #define C270_YUV2  1
00022 
00023 #define C270_EN  0x81
00024 #define C270_MPS  192
00025 #define C270_IF_ALT_192 1
00026 #define C270_IF_ALT(A) C270_IF_ALT_##A
00027 
00028 #define C270_INFO(SIZE) {C270_VID, C270_PID, _##SIZE, 0, \
00029     "C270", \
00030     C270_MJPEG, \
00031     C270_##SIZE, \
00032     _5FPS, \
00033     C270_EN, \
00034     192, \
00035     C270_IF_ALT(192), \
00036     4, \
00037     3}
00038 
00039 #define C210_PID 0x819
00040 #define C210_INFO(SIZE) {C270_VID, C210_PID, _##SIZE, 0, \
00041     "C210", \
00042     C270_MJPEG, \
00043     C270_##SIZE, \
00044     _5FPS, \
00045     C270_EN, \
00046     192, \
00047     C270_IF_ALT(192), \
00048     4, \
00049     3}
00050 
00051 // Logitech Qcam Orbit AF QCAM-200R
00052 #define Q200R_VID 0x046d
00053 #define Q200R_PID 0x0994
00054 #define Q200R_160x120 1
00055 #define Q200R_176x144 2
00056 #define Q200R_320x240 3
00057 #define Q200R_352x288 4
00058 #define Q200R_640x480 5
00059 #define Q200R_800x600 6
00060 
00061 #define Q200R_MJPEG 1
00062 #define Q200R_YUV2  2
00063 
00064 #define Q200R_EN  0x81
00065 #define Q200R_MPS  192
00066 #define Q200R_IF_ALT_192 1
00067 #define Q200R_IF_ALT_384 2
00068 #define Q200R_IF_ALT_512 3
00069 #define Q200R_IF_ALT_640 4
00070 #define Q200R_IF_ALT_800 5
00071 #define Q200R_IF_ALT_944 6
00072 #define Q200R_IF_ALT(A) Q200R_IF_ALT_##A
00073 #define Q200R_INFO(SIZE) {Q200R_VID, Q200R_PID, _##SIZE, 0, \
00074     "Q200R", \
00075     Q200R_MJPEG, \
00076     Q200R_##SIZE, \
00077     _5FPS, \
00078     Q200R_EN, \
00079     192, \
00080     Q200R_IF_ALT(192), \
00081     4, \
00082     3}
00083 
00084 //LifeCam VX700 / VX500
00085 #define VX700_VID 0x045e
00086 #define VX700_PID 0x074a
00087 
00088 #define VX700_160x120 5
00089 #define VX700_176x144 4
00090 #define VX700_320x240 3
00091 #define VX700_352x288 2
00092 #define VX700_640x480 1
00093 
00094 #define VX700_MJPEG 1
00095 
00096 #define VX700_EN  0x81
00097 #define VX700_MPS  128
00098 #define VX700_IF_ALT_128 1 
00099 #define VX700_IF_ALT(A) VX700_IF_ALT_##A
00100 #define VX700_INFO(SIZE) {VX700_VID, VX700_PID, _##SIZE, 0, \
00101     "VX700", \
00102     VX700_MJPEG, \
00103     VX700_##SIZE, \
00104     _5FPS, \
00105     VX700_EN, \
00106     128, \
00107     VX700_IF_ALT(128), \
00108     4, \
00109     3}
00110 
00111 //Sonix USB 2.0 Camera
00112 #define SONIX_160x120 5
00113 #define SONIX_176x144 4
00114 #define SONIX_320x240 3
00115 #define SONIX_352x288 2
00116 #define SONIX_640x480 1
00117 
00118 #define SONIX_IF_ALT_128 1
00119 #define SONIX_IF_ALT_256 2
00120 #define SONIX_IF_ALT_512 3
00121 #define SONIX_IF_ALT_600 4
00122 #define SONIX_IF_ALT_800 5
00123 #define SONIX_IF_ALT_956 6
00124 #define SONIX_IF_ALT(A) SONIX_IF_ALT_##A
00125 #define SONIX_INFO(SIZE) {0x0c45, 0x62c0, _##SIZE, 0, \
00126     "SONIX", \
00127     1, \
00128     SONIX_##SIZE, \
00129     _5FPS, \
00130     0x81, \
00131     128, \
00132     SONIX_IF_ALT(128), \
00133     4, \
00134     3}
00135 
00136 static const CamInfo CamInfoList[] = {
00137 // Logitech C270
00138 C270_INFO(160x120),
00139 C270_INFO(176x144),
00140 C270_INFO(320x176),
00141 C270_INFO(320x240),
00142 C270_INFO(352x288),
00143 C270_INFO(432x240),
00144 C270_INFO(640x480),
00145 C270_INFO(544x288),
00146 C270_INFO(640x360),
00147 C270_INFO(752x416),
00148 C270_INFO(800x448),
00149 C270_INFO(800x600),
00150 
00151 // Logitech C210
00152 C210_INFO(160x120),
00153 C210_INFO(176x144),
00154 C210_INFO(320x176),
00155 C210_INFO(320x240),
00156 C210_INFO(352x288),
00157 C210_INFO(432x240),
00158 C210_INFO(640x480),
00159 C210_INFO(544x288),
00160 C210_INFO(640x360),
00161 C210_INFO(752x416),
00162 C210_INFO(800x448),
00163 C210_INFO(800x600),
00164 
00165 // Logitech Qcam Orbit AF QCAM-200R
00166 Q200R_INFO(160x120),
00167 Q200R_INFO(176x144),
00168 Q200R_INFO(320x240),
00169 Q200R_INFO(352x288),
00170 Q200R_INFO(640x480),
00171 Q200R_INFO(800x600),
00172 
00173 // LifeCam VX700
00174 VX700_INFO(160x120),
00175 VX700_INFO(176x144),
00176 VX700_INFO(320x240),
00177 VX700_INFO(352x288),
00178 VX700_INFO(640x480),
00179 
00180 // Sonix USB 2.0 Camera
00181 SONIX_INFO(160x120),
00182 SONIX_INFO(176x144),
00183 SONIX_INFO(320x240),
00184 SONIX_INFO(352x288),
00185 SONIX_INFO(640x480),
00186 
00187 // Not found
00188 {0,0,0,0},
00189 };
00190 
00191 CamInfo* getCamInfoList() {
00192     return const_cast<CamInfo*>(CamInfoList);
00193 }