SyntekUSBVideoCamera
|
00001 00034 #include <linux/module.h> 00035 #include <linux/init.h> 00036 #include <linux/kernel.h> 00037 #include <linux/version.h> 00038 #include <linux/errno.h> 00039 #include <linux/slab.h> 00040 #include <linux/kref.h> 00041 00042 #include <linux/usb.h> 00043 #include <media/v4l2-common.h> 00044 #include <media/v4l2-ioctl.h> 00045 00046 #include "stk11xx.h" 00047 #include "stk11xx-dev.h" 00048 00049 00050 //============================================================================= 00051 // 00052 // STK-6D51 API 00053 // 00054 //============================================================================= 00055 00056 00070 int dev_stk6d51_initialize_device(struct usb_stk11xx *dev) 00071 { 00072 int value; 00073 00074 STK_INFO("Initialize USB2.0 Syntek Camera\n"); 00075 00076 usb_stk11xx_write_registry(dev, 0x0000, 0x00e0); 00077 usb_stk11xx_write_registry(dev, 0x0002, 0x00f8); 00078 usb_stk11xx_write_registry(dev, 0x0002, 0x0078); 00079 usb_stk11xx_write_registry(dev, 0x0000, 0x0020); 00080 00081 dev_stk6d51_configure_device(dev, 0); 00082 00083 dev_stk11xx_check_device(dev, 65); 00084 usb_stk11xx_read_registry(dev, 0x0209, &value); 00085 usb_stk11xx_write_registry(dev, 0x0200, 0x0020); 00086 dev_stk11xx_check_device(dev, 65); 00087 usb_stk11xx_read_registry(dev, 0x0209, &value); 00088 usb_stk11xx_write_registry(dev, 0x02ff, 0x0001); 00089 usb_stk11xx_write_registry(dev, 0x02ff, 0x0000); 00090 00091 dev_stk6d51_camera_asleep(dev); 00092 00093 usb_stk11xx_write_registry(dev, 0x0000, 0x00e0); 00094 usb_stk11xx_write_registry(dev, 0x0002, 0x00f8); 00095 usb_stk11xx_write_registry(dev, 0x0002, 0x0078); 00096 usb_stk11xx_write_registry(dev, 0x0000, 0x0020); 00097 usb_stk11xx_write_registry(dev, 0x0000, 0x00e0); 00098 usb_stk11xx_write_registry(dev, 0x0002, 0x00f8); 00099 usb_stk11xx_write_registry(dev, 0x0002, 0x0078); 00100 usb_stk11xx_write_registry(dev, 0x0000, 0x0020); 00101 usb_stk11xx_write_registry(dev, 0x0000, 0x00e0); 00102 usb_stk11xx_write_registry(dev, 0x0002, 0x00f8); 00103 usb_stk11xx_write_registry(dev, 0x0002, 0x0078); 00104 usb_stk11xx_write_registry(dev, 0x0000, 0x0020); 00105 usb_stk11xx_read_registry(dev, 0x02ff, &value); 00106 00107 dev_stk6d51_configure_device(dev, 1); 00108 00109 usb_stk11xx_set_feature(dev, 0); 00110 00111 // Device is initialized and is ready !!! 00112 STK_INFO("Syntek USB2.0 Camera is ready\n"); 00113 00114 return 0; 00115 } 00116 00117 00131 int dev_stk6d51_configure_device(struct usb_stk11xx *dev, int step) 00132 { 00133 int value; 00134 00135 // 0, 1 00136 static const int values_001B[] = { 00137 0x0e, 0x0e 00138 }; 00139 static const int values_001C[] = { 00140 0x46, 0x46 00141 }; 00142 static const int values_0202[] = { 00143 0x0a, 0x0a 00144 }; 00145 static const int values_0110[] = { 00146 0x00, 0x00 00147 }; 00148 static const int values_0112[] = { 00149 0x01, 0x01 00150 }; 00151 static const int values_0114[] = { 00152 0x80, 0x80 00153 }; 00154 static const int values_0115[] = { 00155 0x02, 0x02 00156 }; 00157 static const int values_0116[] = { 00158 0xe1, 0xe1 00159 }; 00160 static const int values_0117[] = { 00161 0x01, 0x01 00162 }; 00163 static const int values_0100[] = { 00164 0x20, 0x20 00165 }; 00166 00167 00168 STK_DEBUG("dev_stk6d51_configure_device : %d\n", step); 00169 00170 usb_stk11xx_write_registry(dev, 0x0000, 0x0024); 00171 usb_stk11xx_write_registry(dev, 0x0002, 0x0078); 00172 usb_stk11xx_write_registry(dev, 0x0003, 0x0080); 00173 usb_stk11xx_write_registry(dev, 0x0005, 0x0000); 00174 00175 usb_stk11xx_write_registry(dev, 0x0007, 0x0003); 00176 usb_stk11xx_write_registry(dev, 0x000d, 0x0000); 00177 usb_stk11xx_write_registry(dev, 0x000f, 0x0002); 00178 usb_stk11xx_write_registry(dev, 0x0300, 0x0012); 00179 usb_stk11xx_write_registry(dev, 0x0350, 0x0041); 00180 00181 usb_stk11xx_write_registry(dev, 0x0351, 0x0000); 00182 usb_stk11xx_write_registry(dev, 0x0352, 0x0000); 00183 usb_stk11xx_write_registry(dev, 0x0353, 0x0000); 00184 usb_stk11xx_write_registry(dev, 0x0018, 0x0010); 00185 usb_stk11xx_write_registry(dev, 0x0019, 0x0000); 00186 00187 usb_stk11xx_write_registry(dev, 0x001b, values_001B[step]); 00188 usb_stk11xx_write_registry(dev, 0x001c, values_001C[step]); 00189 usb_stk11xx_write_registry(dev, 0x0300, 0x0080); 00190 usb_stk11xx_write_registry(dev, 0x001a, 0x0004); 00191 usb_stk11xx_write_registry(dev, 0x0202, values_0202[step]); 00192 00193 usb_stk11xx_write_registry(dev, 0x0110, values_0110[step]); 00194 usb_stk11xx_write_registry(dev, 0x0111, 0x0000); 00195 usb_stk11xx_write_registry(dev, 0x0112, values_0112[step]); 00196 usb_stk11xx_write_registry(dev, 0x0113, 0x0000); 00197 usb_stk11xx_write_registry(dev, 0x0114, values_0114[step]); 00198 00199 usb_stk11xx_write_registry(dev, 0x0115, values_0115[step]); 00200 usb_stk11xx_write_registry(dev, 0x0116, values_0116[step]); 00201 usb_stk11xx_write_registry(dev, 0x0117, values_0117[step]); 00202 00203 usb_stk11xx_read_registry(dev, 0x0100, &value); 00204 usb_stk11xx_write_registry(dev, 0x0100, values_0100[step]); 00205 00206 usb_stk11xx_write_registry(dev, 0x02ff, 0x0001); 00207 00208 00209 switch (step) { 00210 case 0: 00211 usb_stk11xx_write_registry(dev, 0x0203, 0x007a); 00212 00213 usb_stk11xx_read_registry(dev, 0x02ff, &value); 00214 usb_stk11xx_write_registry(dev, 0x02ff, 0x0001); 00215 00216 usb_stk11xx_write_registry(dev, 0x0203, 0x007a); 00217 00218 usb_stk11xx_write_registry(dev, 0x0205, 0x0030); 00219 usb_stk11xx_write_registry(dev, 0x0205, 0x0000); 00220 00221 usb_stk11xx_write_registry(dev, 0x0200, 0x0061); 00222 00223 break; 00224 00225 case 1: 00226 usb_stk11xx_write_registry(dev, 0x0203, 0x007a); 00227 00228 dev_stk6d51_sensor_settings(dev); 00229 00230 usb_stk11xx_read_registry(dev, 0x0000, &value); 00231 usb_stk11xx_write_registry(dev, 0x0200, 0x0021); 00232 00233 break; 00234 } 00235 00236 return 0; 00237 } 00238 00239 00249 int dev_stk6d51_camera_asleep(struct usb_stk11xx *dev) 00250 { 00251 int value; 00252 00253 usb_stk11xx_read_registry(dev, 0x0104, &value); 00254 usb_stk11xx_read_registry(dev, 0x0105, &value); 00255 usb_stk11xx_read_registry(dev, 0x0106, &value); 00256 00257 usb_stk11xx_write_registry(dev, 0x0100, 0x0021); 00258 usb_stk11xx_write_registry(dev, 0x0116, 0x0000); 00259 usb_stk11xx_write_registry(dev, 0x0117, 0x0000); 00260 usb_stk11xx_write_registry(dev, 0x0018, 0x0000); 00261 00262 usb_stk11xx_read_registry(dev, 0x0000, &value); 00263 usb_stk11xx_write_registry(dev, 0x0000, 0x0049); 00264 00265 return 0; 00266 } 00267 00268 00279 int dev_stk6d51_init_camera(struct usb_stk11xx *dev) 00280 { 00281 return 0; 00282 } 00283 00284 00295 int dev_stk6d51_sensor_settings(struct usb_stk11xx *dev) 00296 { 00297 int i; 00298 int value; 00299 00300 int asize; 00301 00302 static const int values_205[][4] = { 00303 { 0x33, 0x86, 0x05, 0x01 }, 00304 { 0x33, 0x86, 0x05, 0x00 }, 00305 { 0x33, 0x8c, 0xa1, 0x04 }, 00306 { 0x33, 0x90, -1 }, 00307 { 0x30, 0x1a, 0x0a, 0xcc }, 00308 { 0x32, 0x02, 0x00, 0x08 }, 00309 { 0x33, 0xf4, 0x03, 0x1d }, 00310 { 0x33, 0x8c, 0xa1, 0x04 }, 00311 { 0x33, 0x90, -1 }, 00312 { 0x33, 0x8c, 0xa1, 0x04 }, 00313 { 0x33, 0x90, -1 }, 00314 { 0x33, 0x8c, 0xa1, 0x04 }, 00315 { 0x33, 0x90, -1 }, 00316 { 0x34, 0x1e, 0x8f, 0x09 }, 00317 { 0x34, 0x1c, 0x02, 0x50 }, 00318 { 0x34, 0x1e, 0x8f, 0x09 }, 00319 { 0x34, 0x1e, 0x8f, 0x08 }, 00320 { 0x33, 0x8c, 0x04, 0x00 }, 00321 { 0x33, 0x90, 0x30, 0x8f }, 00322 { 0x33, 0x92, 0xc3, 0xff }, 00323 { 0x33, 0x94, 0xed, 0x8f }, 00324 { 0x33, 0x96, 0x35, 0x8f }, 00325 { 0x33, 0x98, 0x18, 0x8f }, 00326 { 0x33, 0x9a, 0x30, 0x8f }, 00327 { 0x33, 0x9c, 0xc3, 0x00 }, 00328 { 0x33, 0x9e, 0x15, 0x8f }, 00329 { 0x33, 0x8c, 0x04, 0x10 }, 00330 { 0x33, 0x90, 0xcc, 0x00 }, 00331 { 0x33, 0x92, 0x07, 0xbd }, 00332 { 0x33, 0x94, 0x04, 0xb5 }, 00333 { 0x33, 0x96, 0xbd, 0x9e }, 00334 { 0x33, 0x98, 0x9f, 0xf6 }, 00335 { 0x33, 0x9a, 0x03, 0x22 }, 00336 { 0x33, 0x9c, 0x30, 0xe7 }, 00337 { 0x33, 0x9e, 0x0a, 0xf6 }, 00338 { 0x33, 0x8c, 0x04, 0x20 }, 00339 { 0x33, 0x90, 0x02, 0x39 }, 00340 { 0x33, 0x92, 0xc1, 0x01 }, 00341 { 0x33, 0x94, 0x26, 0x05 }, 00342 { 0x33, 0x96, 0xf6, 0x03 }, 00343 { 0x33, 0x98, 0x23, 0xe7 }, 00344 { 0x33, 0x9a, 0x0a, 0x7d }, 00345 { 0x33, 0x9c, 0x03, 0x21 }, 00346 { 0x33, 0x9e, 0x27, 0x20 }, 00347 { 0x33, 0x8c, 0x04, 0x30 }, 00348 { 0x33, 0x90, 0xf6, 0x02 }, 00349 { 0x33, 0x92, 0x39, 0xe7 }, 00350 { 0x33, 0x94, 0x02, 0x8f }, 00351 { 0x33, 0x96, 0xc3, 0x00 }, 00352 { 0x33, 0x98, 0x0b, 0x30 }, 00353 { 0x33, 0x9a, 0xed, 0x00 }, 00354 { 0x33, 0x9c, 0xfe, 0x02 }, 00355 { 0x33, 0x9e, 0x37, 0xee }, 00356 { 0x33, 0x8c, 0x04, 0x40 }, 00357 { 0x33, 0x90, 0x04, 0x5f }, 00358 { 0x33, 0x92, 0xad, 0x00 }, 00359 { 0x33, 0x94, 0x30, 0xe6 }, 00360 { 0x33, 0x96, 0x0a, 0x4f }, 00361 { 0x33, 0x98, 0xed, 0x08 }, 00362 { 0x33, 0x9a, 0xec, 0x11 }, 00363 { 0x33, 0x9c, 0xa3, 0x08 }, 00364 { 0x33, 0x9e, 0xdd, 0x56 }, 00365 { 0x33, 0x8c, 0x04, 0x50 }, 00366 { 0x33, 0x90, 0x30, 0xc6 }, 00367 { 0x33, 0x92, 0x13, 0x3a }, 00368 { 0x33, 0x94, 0x35, 0x39 }, 00369 { 0x33, 0x96, 0x3c, 0x3c }, 00370 { 0x33, 0x98, 0x3c, 0xc6 }, 00371 { 0x33, 0x9a, 0x01, 0xf7 }, 00372 { 0x33, 0x9c, 0x03, 0x21 }, 00373 { 0x33, 0x9e, 0xc6, 0x0a }, 00374 { 0x33, 0x8c, 0x04, 0x60 }, 00375 { 0x33, 0x90, 0xf7, 0x03 }, 00376 { 0x33, 0x92, 0x22, 0xf7 }, 00377 { 0x33, 0x94, 0x03, 0x23 }, 00378 { 0x33, 0x96, 0xcc, 0x03 }, 00379 { 0x33, 0x98, 0x03, 0x30 }, 00380 { 0x33, 0x9a, 0xed, 0x02 }, 00381 { 0x33, 0x9c, 0xfe, 0x10 }, 00382 { 0x33, 0x9e, 0x50, 0xec }, 00383 { 0x33, 0x8c, 0x04, 0x70 }, 00384 { 0x33, 0x90, 0x04, 0xfd }, 00385 { 0x33, 0x92, 0x02, 0xff }, 00386 { 0x33, 0x94, 0xfe, 0x02 }, 00387 { 0x33, 0x96, 0xff, 0xec }, 00388 { 0x33, 0x98, 0x00, 0xfd }, 00389 { 0x33, 0x9a, 0x03, 0x01 }, 00390 { 0x33, 0x9c, 0x5f, 0x4f }, 00391 { 0x33, 0x9e, 0x30, 0xed }, 00392 { 0x33, 0x8c, 0x04, 0x80 }, 00393 { 0x33, 0x90, 0x04, 0xec }, 00394 { 0x33, 0x92, 0x04, 0x05 }, 00395 { 0x33, 0x94, 0xf3, 0x03 }, 00396 { 0x33, 0x96, 0x01, 0x8f }, 00397 { 0x33, 0x98, 0xec, 0x00 }, 00398 { 0x33, 0x9a, 0x30, 0xed }, 00399 { 0x33, 0x9c, 0x00, 0xec }, 00400 { 0x33, 0x9e, 0x04, 0x05 }, 00401 { 0x33, 0x8c, 0x04, 0x90 }, 00402 { 0x33, 0x90, 0xe3, 0x02 }, 00403 { 0x33, 0x92, 0x18, 0x8f }, 00404 { 0x33, 0x94, 0xec, 0x00 }, 00405 { 0x33, 0x96, 0x18, 0xed }, 00406 { 0x33, 0x98, 0x00, 0xec }, 00407 { 0x33, 0x9a, 0x04, 0xc3 }, 00408 { 0x33, 0x9c, 0x00, 0x01 }, 00409 { 0x33, 0x9e, 0xed, 0x04 }, 00410 { 0x33, 0x8c, 0x04, 0xa0 }, 00411 { 0x33, 0x90, 0x83, 0x00 }, 00412 { 0x33, 0x92, 0x0f, 0x25 }, 00413 { 0x33, 0x94, 0xdc, 0xee }, 00414 { 0x33, 0x96, 0x02, 0xcc }, 00415 { 0x33, 0x98, 0x04, 0x00 }, 00416 { 0x33, 0x9a, 0xed, 0x04 }, 00417 { 0x33, 0x9c, 0xcc, 0x03 }, 00418 { 0x33, 0x9e, 0x03, 0xdd }, 00419 { 0x33, 0x8c, 0x04, 0xb0 }, 00420 { 0x33, 0x90, 0x52, 0x38 }, 00421 { 0x33, 0x92, 0x38, 0x38 }, 00422 { 0x33, 0x94, 0x39, 0x37 }, 00423 { 0x33, 0x96, 0x36, 0x8f }, 00424 { 0x33, 0x98, 0x30, 0xe3 }, 00425 { 0x33, 0x9a, 0x00, 0x8f }, 00426 { 0x33, 0x9c, 0x18, 0x8f }, 00427 { 0x33, 0x9e, 0x18, 0x30 }, 00428 { 0x33, 0x8c, 0x04, 0xc0 }, 00429 { 0x33, 0x90, 0x18, 0xe3 }, 00430 { 0x33, 0x92, 0x00, 0x18 }, 00431 { 0x33, 0x94, 0x8f, 0x32 }, 00432 { 0x33, 0x96, 0x33, 0x36 }, 00433 { 0x33, 0x98, 0xa6, 0x00 }, 00434 { 0x33, 0x9a, 0x18, 0xa7 }, 00435 { 0x33, 0x9c, 0x00, 0x09 }, 00436 { 0x33, 0x9e, 0x18, 0x09 }, 00437 { 0x33, 0x8c, 0x04, 0xd0 }, 00438 { 0x33, 0x90, 0xc0, 0x01 }, 00439 { 0x33, 0x92, 0x24, 0xf4 }, 00440 { 0x33, 0x94, 0x32, 0x80 }, 00441 { 0x33, 0x96, 0x01, 0x24 }, 00442 { 0x33, 0x98, 0xee, 0x39 }, 00443 { 0x33, 0x8c, 0x20, 0x03 }, 00444 { 0x33, 0x90, 0x04, 0x56 }, 00445 { 0x33, 0x8c, 0xa0, 0x02 }, 00446 { 0x33, 0x90, 0x00, 0x01 }, 00447 { 0x33, 0x8c, 0xa1, 0x04 }, 00448 { 0x33, 0x90, -1 }, 00449 { 0x34, 0xce, 0x81, 0x60 }, 00450 { 0x34, 0xd0, 0x66, 0x33 }, 00451 { 0x34, 0xd2, 0x31, 0x9a }, 00452 { 0x34, 0xd4, 0x94, 0x63 }, 00453 { 0x34, 0xd6, 0x4b, 0x25 }, 00454 { 0x34, 0xd8, 0x26, 0x70 }, 00455 { 0x34, 0xda, 0x72, 0x4c }, 00456 { 0x34, 0xdc, 0xff, 0x04 }, 00457 { 0x34, 0xde, 0x00, 0xf4 }, 00458 { 0x34, 0xe6, 0x00, 0xcc }, 00459 { 0x34, 0xee, 0x0e, 0x42 }, 00460 { 0x34, 0xf6, 0x0d, 0xb5 }, 00461 { 0x35, 0x00, 0x0a, 0xfa }, 00462 { 0x35, 0x08, 0x0f, 0x10 }, 00463 { 0x35, 0x10, 0x11, 0x22 }, 00464 { 0x35, 0x18, 0x0c, 0x28 }, 00465 { 0x35, 0x20, 0x1c, 0x2c }, 00466 { 0x35, 0x28, 0x17, 0x40 }, 00467 { 0x35, 0x30, 0x08, 0xf2 }, 00468 { 0x35, 0x38, 0xfb, 0xd5 }, 00469 { 0x35, 0x4c, 0x05, 0xc7 }, 00470 { 0x35, 0x44, 0x04, 0xf9 }, 00471 { 0x35, 0x5c, 0x05, 0xd0 }, 00472 { 0x35, 0x54, 0x05, 0xf4 }, 00473 { 0x34, 0xe0, 0x01, 0x05 }, 00474 { 0x34, 0xe8, 0x00, 0xa0 }, 00475 { 0x34, 0xf0, 0x0e, 0xa1 }, 00476 { 0x34, 0xf8, 0x0e, 0x01 }, 00477 { 0x35, 0x02, 0x0f, 0xeb }, 00478 { 0x35, 0x0a, 0x09, 0x0a }, 00479 { 0x35, 0x12, 0x10, 0x1e }, 00480 { 0x35, 0x1a, 0x08, 0x23 }, 00481 { 0x35, 0x22, 0x1c, 0x22 }, 00482 { 0x35, 0x2a, 0x07, 0x22 }, 00483 { 0x35, 0x32, 0x0b, 0x06 }, 00484 { 0x35, 0x3a, 0xf9, 0x16 }, 00485 { 0x35, 0x4e, 0x05, 0x9f }, 00486 { 0x35, 0x46, 0x05, 0x30 }, 00487 { 0x35, 0x5e, 0x06, 0x75 }, 00488 { 0x35, 0x56, 0x06, 0x5c }, 00489 { 0x34, 0xe4, 0x00, 0xc5 }, 00490 { 0x34, 0xec, 0x00, 0x48 }, 00491 { 0x34, 0xf4, 0x0f, 0x66 }, 00492 { 0x34, 0xfc, 0x0e, 0x61 }, 00493 { 0x35, 0x06, 0x1b, 0xdb }, 00494 { 0x35, 0x0e, 0x04, 0x0a }, 00495 { 0x35, 0x16, 0x11, 0x13 }, 00496 { 0x35, 0x1e, 0x08, 0x1f }, 00497 { 0x35, 0x26, 0x11, 0x19 }, 00498 { 0x35, 0x2e, 0xf8, 0x1a }, 00499 { 0x35, 0x36, 0x04, 0x0c }, 00500 { 0x35, 0x3e, 0xfa, 0x00 }, 00501 { 0x35, 0x52, 0x06, 0xf1 }, 00502 { 0x35, 0x4a, 0x04, 0x0e }, 00503 { 0x35, 0x62, 0x06, 0xa1 }, 00504 { 0x35, 0x5a, 0x06, 0x91 }, 00505 { 0x34, 0xe2, 0x00, 0xd2 }, 00506 { 0x34, 0xea, 0x00, 0x72 }, 00507 { 0x34, 0xf2, 0x0e, 0x1d }, 00508 { 0x34, 0xfa, 0x0e, 0x06 }, 00509 { 0x35, 0x04, 0x13, 0x0e }, 00510 { 0x35, 0x0c, 0x0f, 0x0d }, 00511 { 0x35, 0x14, 0x13, 0x1c }, 00512 { 0x35, 0x1c, 0x13, 0x29 }, 00513 { 0x35, 0x24, 0x0d, 0x24 }, 00514 { 0x35, 0x2c, 0xfd, 0x29 }, 00515 { 0x35, 0x34, 0x07, 0xf4 }, 00516 { 0x35, 0x3c, 0xee, 0xe7 }, 00517 { 0x35, 0x50, 0x06, 0x50 }, 00518 { 0x35, 0x48, 0x05, 0xc1 }, 00519 { 0x35, 0x60, 0x06, 0x11 }, 00520 { 0x35, 0x58, 0x06, 0x58 }, 00521 { 0x35, 0x40, 0x00, 0x00 }, 00522 { 0x35, 0x42, 0x00, 0x00 }, 00523 { 0x32, 0x10, 0x01, 0xfc }, 00524 { 0x33, 0x8c, 0xa3, 0x52 }, 00525 { 0x33, 0x90, 0x00, 0x3c }, 00526 { 0x33, 0x8c, 0xa1, 0x18 }, 00527 { 0x33, 0x90, 0x00, 0x3c }, 00528 { 0x33, 0x8c, 0xa1, 0x19 }, 00529 { 0x33, 0x90, 0x00, 0x0a }, 00530 { 0x33, 0x8c, 0xa7, 0x6d }, 00531 { 0x33, 0x90, 0x00, 0x03 }, 00532 { 0x33, 0x8c, 0xa7, 0x6e }, 00533 { 0x33, 0x90, 0x00, 0x03 }, 00534 { 0x33, 0x8c, 0xa7, 0x6f }, 00535 { 0x33, 0x90, 0x00, 0x00 }, 00536 { 0x33, 0x8c, 0xa7, 0x70 }, 00537 { 0x33, 0x90, 0x00, 0x05 }, 00538 { 0x33, 0x8c, 0xa7, 0x71 }, 00539 { 0x33, 0x90, 0x00, 0x10 }, 00540 { 0x33, 0x8c, 0xa7, 0x72 }, 00541 { 0x33, 0x90, 0x00, 0x30 }, 00542 { 0x33, 0x8c, 0xa7, 0x73 }, 00543 { 0x33, 0x90, 0x00, 0x5b }, 00544 { 0x33, 0x8c, 0xa7, 0x74 }, 00545 { 0x33, 0x90, 0x00, 0x77 }, 00546 { 0x33, 0x8c, 0xa7, 0x75 }, 00547 { 0x33, 0x90, 0x00, 0x8e }, 00548 { 0x33, 0x8c, 0xa7, 0x76 }, 00549 { 0x33, 0x90, 0x00, 0xa0 }, 00550 { 0x33, 0x8c, 0xa7, 0x77 }, 00551 { 0x33, 0x90, 0x00, 0xaf }, 00552 { 0x33, 0x8c, 0xa7, 0x78 }, 00553 { 0x33, 0x90, 0x00, 0xbc }, 00554 { 0x33, 0x8c, 0xa7, 0x79 }, 00555 { 0x33, 0x90, 0x00, 0xc7 }, 00556 { 0x33, 0x8c, 0xa7, 0x7a }, 00557 { 0x33, 0x90, 0x00, 0xd0 }, 00558 { 0x33, 0x8c, 0xa7, 0x7b }, 00559 { 0x33, 0x90, 0x00, 0xd9 }, 00560 { 0x33, 0x8c, 0xa7, 0x7c }, 00561 { 0x33, 0x90, 0x00, 0xe0 }, 00562 { 0x33, 0x8c, 0xa7, 0x7d }, 00563 { 0x33, 0x90, 0x00, 0xe8 }, 00564 { 0x33, 0x8c, 0xa7, 0x7e }, 00565 { 0x33, 0x90, 0x00, 0xee }, 00566 { 0x33, 0x8c, 0xa7, 0x7f }, 00567 { 0x33, 0x90, 0x00, 0xf4 }, 00568 { 0x33, 0x8c, 0xa7, 0x80 }, 00569 { 0x33, 0x90, 0x00, 0xfa }, 00570 { 0x33, 0x8c, 0xa7, 0x81 }, 00571 { 0x33, 0x90, 0x00, 0xff }, 00572 { 0x33, 0x8c, 0xa7, 0x82 }, 00573 { 0x33, 0x90, 0x00, 0x00 }, 00574 { 0x33, 0x8c, 0xa7, 0x83 }, 00575 { 0x33, 0x90, 0x00, 0x05 }, 00576 { 0x33, 0x8c, 0xa7, 0x84 }, 00577 { 0x33, 0x90, 0x00, 0x10 }, 00578 { 0x33, 0x8c, 0xa7, 0x85 }, 00579 { 0x33, 0x90, 0x00, 0x30 }, 00580 { 0x33, 0x8c, 0xa7, 0x86 }, 00581 { 0x33, 0x90, 0x00, 0x5b }, 00582 { 0x33, 0x8c, 0xa7, 0x87 }, 00583 { 0x33, 0x90, 0x00, 0x77 }, 00584 { 0x33, 0x8c, 0xa7, 0x88 }, 00585 { 0x33, 0x90, 0x00, 0x8e }, 00586 { 0x33, 0x8c, 0xa7, 0x89 }, 00587 { 0x33, 0x90, 0x00, 0xa0 }, 00588 { 0x33, 0x8c, 0xa7, 0x8a }, 00589 { 0x33, 0x90, 0x00, 0xaf }, 00590 { 0x33, 0x8c, 0xa7, 0x8b }, 00591 { 0x33, 0x90, 0x00, 0xbc }, 00592 { 0x33, 0x8c, 0xa7, 0x8c }, 00593 { 0x33, 0x90, 0x00, 0xc7 }, 00594 { 0x33, 0x8c, 0xa7, 0x8d }, 00595 { 0x33, 0x90, 0x00, 0xd0 }, 00596 { 0x33, 0x8c, 0xa7, 0x8e }, 00597 { 0x33, 0x90, 0x00, 0xd9 }, 00598 { 0x33, 0x8c, 0xa7, 0x8f }, 00599 { 0x33, 0x90, 0x00, 0xe0 }, 00600 { 0x33, 0x8c, 0xa7, 0x90 }, 00601 { 0x33, 0x90, 0x00, 0xe8 }, 00602 { 0x33, 0x8c, 0xa7, 0x91 }, 00603 { 0x33, 0x90, 0x00, 0xee }, 00604 { 0x33, 0x8c, 0xa7, 0x92 }, 00605 { 0x33, 0x90, 0x00, 0xf4 }, 00606 { 0x33, 0x8c, 0xa7, 0x93 }, 00607 { 0x33, 0x90, 0x00, 0xfa }, 00608 { 0x33, 0x8c, 0xa7, 0x94 }, 00609 { 0x33, 0x90, 0x00, 0xff }, 00610 { 0x33, 0x8c, 0xa1, 0x03 }, 00611 { 0x33, 0x90, 0x00, 0x05 }, 00612 { 0x33, 0x8c, 0xa1, 0x04 }, 00613 { 0x33, 0x90, -1 }, 00614 { 0x33, 0x8c, 0xa2, 0x06 }, 00615 { 0x33, 0x90, 0x00, 0x50 }, 00616 { 0x33, 0x8c, 0x27, 0x03 }, 00617 { 0x33, 0x90, 0x02, 0x82 }, 00618 { 0x33, 0x8c, 0x27, 0x05 }, 00619 { 0x33, 0x90, 0x01, 0xe2 }, 00620 { 0x33, 0x8c, 0x27, 0x07 }, 00621 { 0x33, 0x90, 0x05, 0x02 }, 00622 { 0x33, 0x8c, 0x27, 0x09 }, 00623 { 0x33, 0x90, 0x04, 0x02 }, 00624 { 0x33, 0x8c, 0x27, 0x0d }, 00625 { 0x33, 0x90, 0x00, 0x00 }, 00626 { 0x33, 0x8c, 0x27, 0x0f }, 00627 { 0x33, 0x90, 0x00, 0x00 }, 00628 { 0x33, 0x8c, 0x27, 0x11 }, 00629 { 0x33, 0x90, 0x04, 0xbd }, 00630 { 0x33, 0x8c, 0x27, 0x13 }, 00631 { 0x33, 0x90, 0x06, 0x4d }, 00632 { 0x33, 0x8c, 0x27, 0x15 }, 00633 { 0x33, 0x90, 0x04, 0x00 }, 00634 { 0x33, 0x8c, 0x27, 0x17 }, 00635 { 0x33, 0x90, 0x21, 0x11 }, 00636 { 0x33, 0x8c, 0x27, 0x19 }, 00637 { 0x33, 0x90, 0x04, 0x6c }, 00638 { 0x33, 0x8c, 0x27, 0x1b }, 00639 { 0x33, 0x90, 0x02, 0x4f }, 00640 { 0x33, 0x8c, 0x27, 0x1d }, 00641 { 0x33, 0x90, 0x01, 0x02 }, 00642 { 0x33, 0x8c, 0x27, 0x1f }, 00643 { 0x33, 0x90, 0x02, 0x79 }, 00644 { 0x33, 0x8c, 0x27, 0x21 }, 00645 { 0x33, 0x90, 0x01, 0x55 }, 00646 { 0x33, 0x8c, 0x27, 0x23 }, 00647 { 0x33, 0x90, 0x03, 0x5b }, 00648 { 0x33, 0x8c, 0x27, 0x25 }, 00649 { 0x33, 0x90, 0x06, 0x0f }, 00650 { 0x33, 0x8c, 0x27, 0x27 }, 00651 { 0x33, 0x90, 0x20, 0x20 }, 00652 { 0x33, 0x8c, 0x27, 0x29 }, 00653 { 0x33, 0x90, 0x20, 0x20 }, 00654 { 0x33, 0x8c, 0x27, 0x2b }, 00655 { 0x33, 0x90, 0x10, 0x20 }, 00656 { 0x33, 0x8c, 0x27, 0x2d }, 00657 { 0x33, 0x90, 0x20, 0x07 }, 00658 { 0x33, 0x8c, 0x27, 0x2f }, 00659 { 0x33, 0x90, 0x00, 0x04 }, 00660 { 0x33, 0x8c, 0x27, 0x31 }, 00661 { 0x33, 0x90, 0x00, 0x04 }, 00662 { 0x33, 0x8c, 0x27, 0x33 }, 00663 { 0x33, 0x90, 0x04, 0xbb }, 00664 { 0x33, 0x8c, 0x27, 0x35 }, 00665 { 0x33, 0x90, 0x06, 0x4b }, 00666 { 0x33, 0x8c, 0x27, 0x37 }, 00667 { 0x33, 0x90, 0x04, 0xce }, 00668 { 0x33, 0x8c, 0x27, 0x39 }, 00669 { 0x33, 0x90, 0x21, 0x11 }, 00670 { 0x33, 0x8c, 0x27, 0x3b }, 00671 { 0x33, 0x90, 0x00, 0x24 }, 00672 { 0x33, 0x8c, 0x27, 0x3d }, 00673 { 0x33, 0x90, 0x01, 0x20 }, 00674 { 0x33, 0x8c, 0x27, 0x41 }, 00675 { 0x33, 0x90, 0x01, 0x69 }, 00676 { 0x33, 0x8c, 0x27, 0x45 }, 00677 { 0x33, 0x90, 0x04, 0xff }, 00678 { 0x33, 0x8c, 0x27, 0x47 }, 00679 { 0x33, 0x90, 0x08, 0x24 }, 00680 { 0x33, 0x8c, 0x27, 0x51 }, 00681 { 0x33, 0x90, 0x00, 0x00 }, 00682 { 0x33, 0x8c, 0x27, 0x53 }, 00683 { 0x33, 0x90, 0x03, 0x20 }, 00684 { 0x33, 0x8c, 0x27, 0x55 }, 00685 { 0x33, 0x90, 0x00, 0x00 }, 00686 { 0x33, 0x8c, 0x27, 0x57 }, 00687 { 0x33, 0x90, 0x02, 0x58 }, 00688 { 0x33, 0x8c, 0x27, 0x5f }, 00689 { 0x33, 0x90, 0x00, 0x00 }, 00690 { 0x33, 0x8c, 0x27, 0x61 }, 00691 { 0x33, 0x90, 0x06, 0x40 }, 00692 { 0x33, 0x8c, 0x27, 0x63 }, 00693 { 0x33, 0x90, 0x00, 0x00 }, 00694 { 0x33, 0x8c, 0x27, 0x65 }, 00695 { 0x33, 0x90, 0x04, 0xb0 }, 00696 { 0x33, 0x8c, 0x22, 0x2e }, 00697 { 0x33, 0x90, 0x00, 0xd7 }, 00698 { 0x33, 0x8c, 0xa4, 0x08 }, 00699 { 0x33, 0x90, 0x00, 0x2a }, 00700 { 0x33, 0x8c, 0xa4, 0x09 }, 00701 { 0x33, 0x90, 0x00, 0x2c }, 00702 { 0x33, 0x8c, 0xa4, 0x0a }, 00703 { 0x33, 0x90, 0x00, 0x32 }, 00704 { 0x33, 0x8c, 0xa4, 0x0b }, 00705 { 0x33, 0x90, 0x00, 0x34 }, 00706 { 0x33, 0x8c, 0x24, 0x11 }, 00707 { 0x33, 0x90, 0x00, 0xd7 }, 00708 { 0x33, 0x8c, 0x24, 0x13 }, 00709 { 0x33, 0x90, 0x01, 0x02 }, 00710 { 0x33, 0x8c, 0x24, 0x15 }, 00711 { 0x33, 0x90, 0x00, 0xa0 }, 00712 { 0x33, 0x8c, 0x24, 0x17 }, 00713 { 0x33, 0x90, 0x00, 0xc0 }, 00714 { 0x33, 0x8c, 0x27, 0x99 }, 00715 { 0x33, 0x90, 0x64, 0x08 }, 00716 { 0x33, 0x8c, 0x27, 0x9b }, 00717 { 0x33, 0x90, 0x64, 0x08 }, 00718 { 0x33, 0x8c, 0xa2, 0x0c }, 00719 { 0x33, 0x90, 0x00, 0x18 }, 00720 { 0x33, 0x8c, 0xa2, 0x14 }, 00721 { 0x33, 0x90, 0x00, 0x24 }, 00722 { 0x33, 0x8c, 0xa2, 0x15 }, 00723 { 0x33, 0x90, 0x00, 0x02 }, // 0x04 or 0x02 00724 { 0x33, 0x8c, 0xa2, 0x0d }, 00725 { 0x33, 0x90, 0x00, 0x10 }, // 0x30 or 0x10 00726 { 0x33, 0x8c, 0xa2, 0x0e }, 00727 { 0x33, 0x90, 0x00, 0x80 }, 00728 { 0x33, 0x8c, 0xa1, 0x03 }, 00729 { 0x33, 0x90, 0x00, 0x05 }, 00730 { 0x33, 0x8c, 0xa1, 0x04 }, 00731 { 0x33, 0x90, -1 }, 00732 { 0x33, 0x8c, 0xa1, 0x03 }, 00733 { 0x33, 0x90, 0x00, 0x06 }, 00734 { 0x33, 0x8c, 0xa1, 0x04 }, 00735 { 0x33, 0x90, -1 }, 00736 { 0x33, 0x8c, 0xa1, 0x30 }, 00737 { 0x33, 0x90, 0x00, 0x04 }, 00738 { 0x33, 0x8c, 0xa1, 0x15 }, 00739 { 0x33, 0x90, 0x00, 0xef }, 00740 { 0x33, 0x8c, 0xa1, 0x16 }, 00741 { 0x33, 0x90, 0x00, 0x30 }, 00742 { 0x33, 0x8c, 0xa1, 0x17 }, 00743 { 0x33, 0x90, 0x00, 0x55 }, 00744 { 0x33, 0x8c, 0xa1, 0x18 }, 00745 { 0x33, 0x90, 0x00, 0x5a }, 00746 { 0x33, 0x8c, 0xa1, 0x19 }, 00747 { 0x33, 0x90, 0x00, 0x28 }, 00748 { 0x33, 0x8c, 0xa1, 0x1a }, 00749 { 0x33, 0x90, 0x00, 0x08 }, 00750 { 0x33, 0x8c, 0xa1, 0x1b }, 00751 { 0x33, 0x90, 0x00, 0x1e }, 00752 { 0x33, 0x8c, 0xa1, 0x1c }, 00753 { 0x33, 0x90, 0x00, 0x02 }, 00754 { 0x33, 0x8c, 0xa1, 0x1d }, 00755 { 0x33, 0x90, 0x00, 0x00 }, 00756 { 0x33, 0x8c, 0xa1, 0x1e }, 00757 { 0x33, 0x90, 0x00, 0x00 }, 00758 { 0x33, 0x8c, 0xa1, 0x1f }, 00759 { 0x33, 0x90, 0x00, 0x04 }, 00760 { 0x33, 0x8c, 0xab, 0x05 }, 00761 { 0x33, 0x90, 0x00, 0x00 }, 00762 { 0x33, 0x8c, 0xa7, 0x6d }, 00763 { 0x33, 0x90, 0x00, 0x03 }, 00764 { 0x33, 0x8c, 0xa7, 0x6e }, 00765 { 0x33, 0x90, 0x00, 0x03 }, 00766 { 0x33, 0x8c, 0xa7, 0x6f }, 00767 { 0x33, 0x90, 0x00, 0x00 }, 00768 { 0x33, 0x8c, 0xa7, 0x70 }, 00769 { 0x33, 0x90, 0x00, 0x15 }, 00770 { 0x33, 0x8c, 0xa7, 0x71 }, 00771 { 0x33, 0x90, 0x00, 0x25 }, 00772 { 0x33, 0x8c, 0xa7, 0x72 }, 00773 { 0x33, 0x90, 0x00, 0x3f }, 00774 { 0x33, 0x8c, 0xa7, 0x73 }, 00775 { 0x33, 0x90, 0x00, 0x64 }, 00776 { 0x33, 0x8c, 0xa7, 0x74 }, 00777 { 0x33, 0x90, 0x00, 0x80 }, 00778 { 0x33, 0x8c, 0xa7, 0x75 }, 00779 { 0x33, 0x90, 0x00, 0x97 }, 00780 { 0x33, 0x8c, 0xa7, 0x76 }, 00781 { 0x33, 0x90, 0x00, 0xa9 }, 00782 { 0x33, 0x8c, 0xa7, 0x77 }, 00783 { 0x33, 0x90, 0x00, 0xba }, 00784 { 0x33, 0x8c, 0xa7, 0x78 }, 00785 { 0x33, 0x90, 0x00, 0xc7 }, 00786 { 0x33, 0x8c, 0xa7, 0x79 }, 00787 { 0x33, 0x90, 0x00, 0xd2 }, 00788 { 0x33, 0x8c, 0xa7, 0x7a }, 00789 { 0x33, 0x90, 0x00, 0xdc }, 00790 { 0x33, 0x8c, 0xa7, 0x7b }, 00791 { 0x33, 0x90, 0x00, 0xe4 }, 00792 { 0x33, 0x8c, 0xa7, 0x7c }, 00793 { 0x33, 0x90, 0x00, 0xea }, 00794 { 0x33, 0x8c, 0xa7, 0x7d }, 00795 { 0x33, 0x90, 0x00, 0xf0 }, 00796 { 0x33, 0x8c, 0xa7, 0x7e }, 00797 { 0x33, 0x90, 0x00, 0xf4 }, 00798 { 0x33, 0x8c, 0xa7, 0x7f }, 00799 { 0x33, 0x90, 0x00, 0xf8 }, 00800 { 0x33, 0x8c, 0xa7, 0x80 }, 00801 { 0x33, 0x90, 0x00, 0xfc }, 00802 { 0x33, 0x8c, 0xa7, 0x81 }, 00803 { 0x33, 0x90, 0x00, 0xff }, 00804 { 0x33, 0x8c, 0xa7, 0x82 }, 00805 { 0x33, 0x90, 0x00, 0x00 }, 00806 { 0x33, 0x8c, 0xa7, 0x83 }, 00807 { 0x33, 0x90, 0x00, 0x15 }, 00808 { 0x33, 0x8c, 0xa7, 0x84 }, 00809 { 0x33, 0x90, 0x00, 0x25 }, 00810 { 0x33, 0x8c, 0xa7, 0x85 }, 00811 { 0x33, 0x90, 0x00, 0x3f }, 00812 { 0x33, 0x8c, 0xa7, 0x86 }, 00813 { 0x33, 0x90, 0x00, 0x64 }, 00814 { 0x33, 0x8c, 0xa7, 0x87 }, 00815 { 0x33, 0x90, 0x00, 0x80 }, 00816 { 0x33, 0x8c, 0xa7, 0x88 }, 00817 { 0x33, 0x90, 0x00, 0x97 }, 00818 { 0x33, 0x8c, 0xa7, 0x89 }, 00819 { 0x33, 0x90, 0x00, 0xa9 }, 00820 { 0x33, 0x8c, 0xa7, 0x8a }, 00821 { 0x33, 0x90, 0x00, 0xba }, 00822 { 0x33, 0x8c, 0xa7, 0x8b }, 00823 { 0x33, 0x90, 0x00, 0xc7 }, 00824 { 0x33, 0x8c, 0xa7, 0x8c }, 00825 { 0x33, 0x90, 0x00, 0xd2 }, 00826 { 0x33, 0x8c, 0xa7, 0x8d }, 00827 { 0x33, 0x90, 0x00, 0xdc }, 00828 { 0x33, 0x8c, 0xa7, 0x8e }, 00829 { 0x33, 0x90, 0x00, 0xe4 }, 00830 { 0x33, 0x8c, 0xa7, 0x8f }, 00831 { 0x33, 0x90, 0x00, 0xea }, 00832 { 0x33, 0x8c, 0xa7, 0x90 }, 00833 { 0x33, 0x90, 0x00, 0xf0 }, 00834 { 0x33, 0x8c, 0xa7, 0x91 }, 00835 { 0x33, 0x90, 0x00, 0xf4 }, 00836 { 0x33, 0x8c, 0xa7, 0x92 }, 00837 { 0x33, 0x90, 0x00, 0xf8 }, 00838 { 0x33, 0x8c, 0xa7, 0x93 }, 00839 { 0x33, 0x90, 0x00, 0xfc }, 00840 { 0x33, 0x8c, 0xa7, 0x94 }, 00841 { 0x33, 0x90, 0x00, 0xff }, 00842 { 0x33, 0x8c, 0xa1, 0x03 }, 00843 { 0x33, 0x90, 0x00, 0x06 }, 00844 { 0x33, 0x8c, 0xa1, 0x04 }, 00845 { 0x33, 0x90, -1 }, 00846 { 0x35, 0xa4, 0x05, 0x96 }, 00847 { 0x33, 0x8c, 0xa1, 0x18 }, 00848 { 0x33, 0x90, 0x00, 0x1e }, 00849 { 0x33, 0x8c, 0xa1, 0x19 }, 00850 { 0x33, 0x90, 0x00, 0x04 }, 00851 { 0x33, 0x8c, 0xa1, 0x1a }, 00852 { 0x33, 0x90, 0x00, 0x0a }, 00853 { 0x33, 0x8c, 0xa1, 0x1b }, 00854 { 0x33, 0x90, 0x00, 0x20 }, 00855 { 0x33, 0x8c, 0xa1, 0x3e }, 00856 { 0x33, 0x90, 0x00, 0x04 }, 00857 { 0x33, 0x8c, 0xa1, 0x3f }, 00858 { 0x33, 0x90, 0x00, 0x0e }, 00859 { 0x33, 0x8c, 0xa1, 0x40 }, 00860 { 0x33, 0x90, 0x00, 0x04 }, 00861 { 0x33, 0x8c, 0xa1, 0x41 }, 00862 { 0x33, 0x90, 0x00, 0x04 }, 00863 { 0x33, 0x8c, 0xa1, 0x42 }, 00864 { 0x33, 0x90, 0x00, 0x32 }, 00865 { 0x33, 0x8c, 0xa1, 0x43 }, 00866 { 0x33, 0x90, 0x00, 0x0f }, 00867 { 0x33, 0x8c, 0xa1, 0x44 }, 00868 { 0x33, 0x90, 0x00, 0x32 }, 00869 { 0x33, 0x8c, 0xa1, 0x45 }, 00870 { 0x33, 0x90, 0x00, 0x32 }, 00871 { 0x33, 0x8c, 0xa1, 0x46 }, 00872 { 0x33, 0x90, 0x00, 0x05 }, 00873 { 0x33, 0x8c, 0xa1, 0x04 }, 00874 { 0x33, 0x90, -1 }, 00875 { 0x33, 0x8c, 0xa1, 0x47 }, 00876 { 0x33, 0x90, 0x00, 0x3a }, 00877 { 0x33, 0x8c, 0x27, 0x95 }, 00878 { 0x33, 0x90, 0x01, 0x00 }, 00879 { 0x33, 0x8c, 0xa1, 0x03 }, 00880 { 0x33, 0x90, 0x00, 0x05 }, 00881 { 0x33, 0x8c, 0xa1, 0x04 }, 00882 { 0x33, 0x90, -1 }, 00883 { 0x33, 0x8c, 0x27, 0x97 }, 00884 { 0x33, 0x90, 0x01, 0x00 }, 00885 { 0x33, 0x8c, 0xa1, 0x03 }, 00886 { 0x33, 0x90, 0x00, 0x05 }, 00887 { 0x33, 0x8c, 0xa1, 0x04 }, 00888 { 0x33, 0x90, -1 }, 00889 { 0x33, 0x8c, 0xa4, 0x04 }, 00890 { 0x33, 0x90, 0x00, 0xc0 }, 00891 { 0x33, 0x8c, 0xa1, 0x03 }, 00892 { 0x33, 0x90, 0x00, 0x05 }, 00893 { 0x33, 0x8c, 0xa1, 0x04 }, 00894 { 0x33, 0x90, -1 }, 00895 { 0x33, 0x8c, 0xa2, 0x06 }, 00896 { 0x33, 0x90, 0x00, 0x50 }, 00897 { 0x33, 0x8c, 0xa2, 0x0c }, 00898 { 0x33, 0x90, 0x00, 0x18 }, 00899 { 0x33, 0x8c, 0xa2, 0x15 }, 00900 { 0x33, 0x90, 0x00, 0x02 }, 00901 { 0x33, 0x8c, 0xa2, 0x0d }, 00902 { 0x33, 0x90, 0x00, 0x10 }, 00903 { 0x33, 0x8c, 0xa2, 0x0e }, 00904 { 0x33, 0x90, 0x00, 0x80 }, 00905 { 0x33, 0x8c, 0xa4, 0x04 }, 00906 { 0x33, 0x90, 0x00, 0xc0 }, 00907 { 0x33, 0x8c, 0xa1, 0x03 }, 00908 { 0x33, 0x90, 0x00, 0x05 }, 00909 { 0x33, 0x8c, 0xa1, 0x04 }, 00910 { 0x33, 0x90, -1 } 00911 }; 00912 00913 00914 asize = ARRAY_SIZE(values_205); 00915 00916 for(i=0; i<asize; i++) { 00917 usb_stk11xx_read_registry(dev, 0x02ff, &value); 00918 usb_stk11xx_write_registry(dev, 0x02ff, 0x0001); 00919 00920 usb_stk11xx_write_registry(dev, 0x0203, 0x007a); 00921 00922 usb_stk11xx_write_registry(dev, 0x0205, values_205[i][0]); 00923 usb_stk11xx_write_registry(dev, 0x0205, values_205[i][1]); 00924 00925 if (values_205[i][2] == -1) { 00926 usb_stk11xx_write_registry(dev, 0x0200, 0x0061); 00927 00928 dev_stk11xx_check_device(dev, 500); 00929 00930 usb_stk11xx_read_registry(dev, 0x0209, &value); 00931 usb_stk11xx_write_registry(dev, 0x0200, 0x0020); 00932 00933 dev_stk11xx_check_device(dev, 500); 00934 00935 usb_stk11xx_read_registry(dev, 0x0209, &value); 00936 } 00937 else { 00938 usb_stk11xx_write_registry(dev, 0x0205, values_205[i][2]); 00939 usb_stk11xx_write_registry(dev, 0x0205, values_205[i][3]); 00940 usb_stk11xx_write_registry(dev, 0x0200, 0x0001); 00941 00942 dev_stk11xx_check_device(dev, 500); 00943 } 00944 00945 usb_stk11xx_write_registry(dev, 0x02ff, 0x0001); 00946 } 00947 00948 return 0; 00949 } 00950 00951 00965 int dev_stk6d51_camera_settings(struct usb_stk11xx *dev) 00966 { 00967 return 0; 00968 } 00969 00970 00984 int dev_stk6d51_set_camera_quality(struct usb_stk11xx *dev) 00985 { 00986 int value; 00987 00988 // Contrast register 00989 usb_stk11xx_read_registry(dev, 0x02ff, &value); 00990 usb_stk11xx_write_registry(dev, 0x02ff, 0x0000); 00991 00992 usb_stk11xx_write_registry(dev, 0x0204, 0x00b3); 00993 usb_stk11xx_write_registry(dev, 0x0205, (dev->vsettings.contrast >> 8)); 00994 00995 usb_stk11xx_write_registry(dev, 0x0200, 0x0001); 00996 dev_stk11xx_check_device(dev, 500); 00997 usb_stk11xx_write_registry(dev, 0x02ff, 0x0000); 00998 00999 STK_DEBUG("Set colour : %d\n", dev->vsettings.colour); 01000 STK_DEBUG("Set contrast : %d\n", dev->vsettings.contrast); 01001 STK_DEBUG("Set whiteness : %d\n", dev->vsettings.whiteness); 01002 STK_DEBUG("Set brightness : %d\n", dev->vsettings.brightness); 01003 01004 return 0; 01005 } 01006 01007 01017 int dev_stk6d51_set_camera_fps(struct usb_stk11xx *dev) 01018 { 01019 return 0; 01020 } 01021 01022 01033 int dev_stk6d51_start_stream(struct usb_stk11xx *dev) 01034 { 01035 return 0; 01036 } 01037 01038 01048 int dev_stk6d51_reconf_camera(struct usb_stk11xx *dev) 01049 { 01050 dev_stk11xx_camera_settings(dev); 01051 01052 return 0; 01053 } 01054 01055 01066 int dev_stk6d51_stop_stream(struct usb_stk11xx *dev) 01067 { 01068 return 0; 01069 } 01070 01071