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