📄 sn9cxxx.h
字号:
#ifndef SONIXJPGUSB_H#define SONIXJPGUSB_H/****************************************************************************# Sonix sn9c102p sn9c105 sn9c120 library ## Copyright (C) 2005 Michel Xhaard mxhaard@magic.fr ## ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by ## the Free Software Foundation; either version 2 of the License, or ## (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program; if not, write to the Free Software ## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ## #****************************************************************************/static int sn9cxxx_init(struct usb_spca50x *spca50x);static void sn9cxxx_start(struct usb_spca50x *spca50x);static void sn9cxxx_stopN(struct usb_spca50x *spca50x);static void sn9cxxx_stop0(struct usb_spca50x *spca50x);static void sn9cxxx_setbrightness(struct usb_spca50x *spca50x);static __u16 sn9cxxx_getbrightness(struct usb_spca50x *spca50x);static void sn9cxxx_setcontrast(struct usb_spca50x *spca50x);static __u16 sn9cxxx_getcontrast(struct usb_spca50x *spca50x);static void sn9cxxx_setcolors(struct usb_spca50x *spca50x);static __u16 sn9cxxx_getcolors(struct usb_spca50x *spca50x);static void sn9cxxx_setAutobright(struct usb_spca50x *spca50x);static void sn9cxxx_shutdown(struct usb_spca50x *spca50x);static void sn9cxxx_setquality(struct usb_spca50x *spca50x);static int sn9cxxx_sofdetect(struct usb_spca50x *spca50x, struct spca50x_frame *frame, unsigned char *cdata, int *iPix, int seqnum, int *datalength);/****************************************************************************/static voidsn9cxxx_shutdown(struct usb_spca50x *spca50x){}static voidsn9cxxx_stop0(struct usb_spca50x *spca50x){}static voidsn9cxxx_setquality(struct usb_spca50x *spca50x){}/****************************************************************************/static int sn9cxxx_probesensor(struct usb_spca50x *spca50x);//static unsigned int sn9cxxx_getexposure(struct usb_spca50x *spca50x);static unsigned int sn9cxxx_setexposure(struct usb_spca50x *spca50x, unsigned int expo);static struct cam_operation fsn9cxx = { .initialize = sn9cxxx_init, .configure = sonix_config, .start = sn9cxxx_start, .stopN = sn9cxxx_stopN, .stop0 = sn9cxxx_stop0, .get_bright = sn9cxxx_getbrightness, .set_bright = sn9cxxx_setbrightness, .get_contrast = sn9cxxx_getcontrast, .set_contrast = sn9cxxx_setcontrast, .get_colors = sn9cxxx_getcolors, .set_colors = sn9cxxx_setcolors, .set_autobright = sn9cxxx_setAutobright, .set_quality = sn9cxxx_setquality, .cam_shutdown = sn9cxxx_shutdown, .sof_detect = sn9cxxx_sofdetect,};enum { SN9C101 = 0, SN9C102, SN9C102P, SN9C103, SN9C105, SN9C110, SN9C120,};static __u8 sn_mi0360[] = { 0x00, 0x61, 0x44, 0x00, 0x1A, 0x20, 0x20, 0x20, 0xB1, 0x5D, 0x07, 0x00, 0x00, 0x00, 0x00, 0x10, 0x03, 0x00,//reg0 reg1 reg2 reg3 reg4 reg5 reg6 reg7 reg8 reg9 rega regb regc regd rege regf reg10 reg11 0x00, 0x02, 0x0a, 0x28, 0x1e, 0x61, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00//reg12 reg13 reg14 reg15 reg16 reg17 reg18 reg19 reg1a reg1b reg1c reg1d reg1e reg1f reg20 reg21 reg22 reg23};/*Data from sn9c102p+hv71331r */static __u8 sn_hv7131[] = { 0x00, 0x03, 0x64, 0x00, 0x1A, 0x20, 0x20, 0x20, 0xA1, 0x11, 0x02, 0x09, 0x00, 0x00, 0x00, 0x10, 0x03, 0x00, //00//reg0 reg1 reg2 reg3 reg4 reg5 reg6 reg7 reg8 reg9 rega regb regc regd rege regf reg10 reg11 0x00, 0x01, 0x03, 0x28, 0x1e, 0x41, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00//reg12 reg13 reg14 reg15 reg16 reg17 reg18 reg19 reg1a reg1b reg1c reg1d reg1e reg1f reg20 reg21 reg22 reg23};static __u8 sn_mo4000[] = { 0x12, 0x23, 0x60, 0x00, 0x1A, 0x00, 0x20, 0x18, 0x81, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, //reg0 reg1 reg2 reg3 reg4 reg5 reg6 reg7 reg8 reg9 rega regb regc regd rege regf reg10 reg11 0x0b, 0x0f, 0x14, 0x28, 0x1e, 0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x25, 0x39, 0x4b, //reg12 reg13 reg14 reg15 reg16 reg17 reg18 reg19 reg1a reg1b reg1c reg1d reg1e reg1f reg20 reg21 reg22 reg23 0x5c, 0x6b, 0x79, 0x87, 0x95, 0xa2, 0xaf, 0xbb, 0xc7, 0xd3, 0xdf, 0xea, 0xf5};static __u8 sn_ov7660[] = { 0x00, 0x61, 0x40, 0x00, 0x1A, 0x20, 0x20, 0x20, 0x81, 0x21, 0x07, 0x00, 0x00, 0x00, 0x00, 0x10, 0x03, 0x00, //reg0 reg1 reg2 reg3 reg4 reg5 reg6 reg7 reg8 reg9 rega regb regc regd rege regf reg10 reg11 0x01, 0x01, 0x08, 0x28, 0x1e, 0x20, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 //reg12 reg13 reg14 reg15 reg16 reg17 reg18 reg19 reg1a reg1b reg1c reg1d reg1e reg1f reg20 reg21 reg22 reg23}; static __u8 reg9a[] = { 0x08, 0x40, 0x20, 0x10, 0x00, 0x04};static __u8 regsn20[] = { 0x00, 0x2D, 0x46, 0x5A, 0x6C, 0x7C, 0x8B, 0x99, 0xA6, 0xB2, 0xBF, 0xCA, 0xD5, 0xE0, 0xEB, 0xF5, 0xFF};static __u8 reg84[] = { 0x14, 0x00, 0x27, 0x00, 0x07, 0x00, 0xE5, 0x0F, 0xE4, 0x0F, 0x38, 0x00, //0x3E, 0x00, 0xC3, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00 0x3E, 0x00, 0xC3, 0x0F, 0xf7, 0x0f, 0x0a, 0x00, 0x00};static __u8 hv7131r_sensor_init[][8] = { {0xC1, 0x11, 0x01, 0x08, 0x01, 0x00, 0x00, 0x10}, {0xB1, 0x11, 0x34, 0x17, 0x7F, 0x00, 0x00, 0x10}, {0xD1, 0x11, 0x40, 0xFF, 0x7F, 0x7F, 0x7F, 0x10}, {0x91, 0x11, 0x44, 0x00, 0x00, 0x00, 0x00, 0x10}, {0xD1, 0x11, 0x10, 0x00, 0x00, 0x00, 0x00, 0x10}, {0xD1, 0x11, 0x14, 0x01, 0xE2, 0x02, 0x82, 0x10}, {0x91, 0x11, 0x18, 0x00, 0x00, 0x00, 0x00, 0x10},// {0xA1, 0x11, 0x01, 0x08, 0x00, 0x00, 0x00, 0x10}, {0xA1, 0x11, 0x01, 0x08, 0x00, 0x00, 0x00, 0x10}, {0xC1, 0x11, 0x25, 0x00, 0x61, 0xA8, 0x00, 0x10}, {0xA1, 0x11, 0x30, 0x22, 0x00, 0x00, 0x00, 0x10}, {0xC1, 0x11, 0x31, 0x20, 0x2E, 0x20, 0x00, 0x10}, {0xC1, 0x11, 0x25, 0x00, 0xC3, 0x50, 0x00, 0x10}, {0xA1, 0x11, 0x30, 0x07, 0x00, 0x00, 0x00, 0x10}, //gain14 {0xC1, 0x11, 0x31, 0x10, 0x10, 0x10, 0x00, 0x10}, //r g b 101a10 // {0xA1, 0x11, 0x01, 0x08, 0x00, 0x00, 0x00, 0x10}, {0xA1, 0x11, 0x20, 0x00, 0x00, 0x00, 0x00, 0x10}, {0xA1, 0x11, 0x21, 0xD0, 0x00, 0x00, 0x00, 0x10}, {0xA1, 0x11, 0x22, 0x00, 0x00, 0x00, 0x00, 0x10}, {0xA1, 0x11, 0x23, 0x09, 0x00, 0x00, 0x00, 0x10},// {0xA1, 0x11, 0x01, 0x08, 0x00, 0x00, 0x00, 0x10}, {0xA1, 0x11, 0x20, 0x00, 0x00, 0x00, 0x00, 0x10}, {0xA1, 0x11, 0x21, 0xD0, 0x00, 0x00, 0x00, 0x10}, {0xA1, 0x11, 0x22, 0x00, 0x00, 0x00, 0x00, 0x10}, {0xA1, 0x11, 0x23, 0x10, 0x00, 0x00, 0x00, 0x10}, {0, 0, 0, 0, 0, 0, 0, 0}};static __u8 mi0360_sensor_init[][8] = { {0xB1, 0x5D, 0x07, 0x00, 0x02, 0x00, 0x00, 0x10}, {0xB1, 0x5D, 0x0D, 0x00, 0x01, 0x00, 0x00, 0x10}, {0xB1, 0x5D, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x10}, {0xD1, 0x5D, 0x01, 0x00, 0x08, 0x00, 0x16, 0x10}, {0xD1, 0x5D, 0x03, 0x01, 0xE2, 0x02, 0x82, 0x10}, {0xD1, 0x5D, 0x05, 0x00, 0x09, 0x00, 0x53, 0x10}, {0xB1, 0x5D, 0x0D, 0x00, 0x02, 0x00, 0x00, 0x10}, {0xD1, 0x5D, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x10}, {0xD1, 0x5D, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x10}, {0xD1, 0x5D, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x10}, {0xD1, 0x5D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x10}, {0xD1, 0x5D, 0x12, 0x00, 0x00, 0x00, 0x00, 0x10}, {0xD1, 0x5D, 0x14, 0x00, 0x00, 0x00, 0x00, 0x10}, {0xD1, 0x5D, 0x16, 0x00, 0x00, 0x00, 0x00, 0x10}, {0xD1, 0x5D, 0x18, 0x00, 0x00, 0x00, 0x00, 0x10}, {0xD1, 0x5D, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x10}, {0xD1, 0x5D, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x10}, {0xB1, 0x5D, 0x32, 0x00, 0x00, 0x00, 0x00, 0x10}, {0xD1, 0x5D, 0x20, 0x91, 0x01, 0x00, 0x00, 0x10}, {0xD1, 0x5D, 0x22, 0x00, 0x00, 0x00, 0x00, 0x10}, {0xD1, 0x5D, 0x24, 0x00, 0x00, 0x00, 0x00, 0x10}, {0xD1, 0x5D, 0x26, 0x00, 0x00, 0x00, 0x24, 0x10}, {0xD1, 0x5D, 0x2F, 0xF7, 0xB0, 0x00, 0x04, 0x10}, {0xD1, 0x5D, 0x31, 0x00, 0x00, 0x00, 0x00, 0x10}, {0xD1, 0x5D, 0x33, 0x00, 0x00, 0x01, 0x00, 0x10}, {0xB1, 0x5D, 0x3D, 0x06, 0x8F, 0x00, 0x00, 0x10}, {0xD1, 0x5D, 0x40, 0x01, 0xE0, 0x00, 0xD1, 0x10}, {0xB1, 0x5D, 0x44, 0x00, 0x82, 0x00, 0x00, 0x10}, {0xD1, 0x5D, 0x58, 0x00, 0x78, 0x00, 0x43, 0x10}, {0xD1, 0x5D, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x10}, {0xD1, 0x5D, 0x5C, 0x00, 0x00, 0x00, 0x00, 0x10}, {0xD1, 0x5D, 0x5E, 0x00, 0x00, 0xA3, 0x1D, 0x10}, {0xB1, 0x5D, 0x62, 0x04, 0x11, 0x00, 0x00, 0x10}, {0xB1, 0x5D, 0x20, 0x91, 0x01, 0x00, 0x00, 0x10}, {0xB1, 0x5D, 0x20, 0x11, 0x01, 0x00, 0x00, 0x10}, {0xB1, 0x5D, 0x09, 0x00, 0x64, 0x00, 0x00, 0x10}, {0xD1, 0x5D, 0x2B, 0x00, 0xA0, 0x00, 0xB0, 0x10}, {0xD1, 0x5D, 0x2D, 0x00, 0xA0, 0x00, 0xA0, 0x10}, {0xB1, 0x5D, 0x0A, 0x00, 0x02, 0x00, 0x00, 0x10}, //sensor clck ?2 {0xB1, 0x5D, 0x06, 0x00, 0x30, 0x00, 0x00, 0x10}, {0xB1, 0x5D, 0x05, 0x00, 0x0A, 0x00, 0x00, 0x10}, {0xB1, 0x5D, 0x09, 0x02, 0x35, 0x00, 0x00, 0x10}, // exposure 2 {0xD1, 0x5D, 0x2B, 0x00, 0xB9, 0x00, 0xE3, 0x10}, {0xD1, 0x5D, 0x2D, 0x00, 0x5f, 0x00, 0xB9, 0x10}, //42 //{0xB1, 0x5D, 0x35, 0x00, 0x67, 0x00, 0x00, 0x10}, //gain orig //{0xB1, 0x5D, 0x35, 0x00, 0x20, 0x00, 0x00, 0x10}, //gain {0xB1, 0x5D, 0x07, 0x00, 0x03, 0x00, 0x00, 0x10}, //update {0xB1, 0x5D, 0x07, 0x00, 0x02, 0x00, 0x00, 0x10}, //sensor on {0, 0, 0, 0, 0, 0, 0, 0}};static __u8 mo4000_sensor_init[][8] = { {0xa1, 0x21, 0x01, 0x02, 0x00, 0x00, 0x00, 0x10}, {0xa1, 0x21, 0x02, 0x00, 0x00, 0x00, 0x00, 0x10}, {0xa1, 0x21, 0x03, 0x00, 0x00, 0x00, 0x00, 0x10}, {0xa1, 0x21, 0x04, 0x00, 0x00, 0x00, 0x00, 0x10}, {0xa1, 0x21, 0x05, 0x00, 0x00, 0x00, 0x00, 0x10}, {0xa1, 0x21, 0x05, 0x04, 0x00, 0x00, 0x00, 0x10}, {0xa1, 0x21, 0x06, 0x80, 0x00, 0x00, 0x00, 0x10}, {0xa1, 0x21, 0x06, 0x81, 0x00, 0x00, 0x00, 0x10}, {0xa1, 0x21, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x10}, {0xa1, 0x21, 0x11, 0x00, 0x00, 0x00, 0x00, 0x10}, {0xa1, 0x21, 0x11, 0x20, 0x00, 0x00, 0x00, 0x10}, {0xa1, 0x21, 0x11, 0x30, 0x00, 0x00, 0x00, 0x10}, {0xa1, 0x21, 0x11, 0x38, 0x00, 0x00, 0x00, 0x10}, {0xa1, 0x21, 0x11, 0x38, 0x00, 0x00, 0x00, 0x10}, {0xa1, 0x21, 0x12, 0x00, 0x00, 0x00, 0x00, 0x10}, {0xa1, 0x21, 0x10, 0x00, 0x00, 0x00, 0x00, 0x10}, {0xa1, 0x21, 0x0f, 0x20, 0x00, 0x00, 0x00, 0x10}, {0xa1, 0x21, 0x10, 0x20, 0x00, 0x00, 0x00, 0x10}, {0xa1, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10}, {0xa1, 0x21, 0x11, 0x38, 0x00, 0x00, 0x00, 0x10}, {0, 0, 0, 0, 0, 0, 0, 0}};static __u8 ov7660_sensor_init[][8] = {{0xa1, 0x21, 0x12, 0x80, 0x00, 0x00, 0x00, 0x10},//reset SCCB{0xa1, 0x21, 0x12, 0x05, 0x00, 0x00, 0x00, 0x10},// Outformat ?? rawRGB {0xa1, 0x21, 0x13, 0xb8, 0x00, 0x00, 0x00, 0x10}, //init COM8//{0xd1, 0x21, 0x00, 0x01, 0x74, 0x92, 0x00, 0x10}, //GAIN BLUE RED VREF{0xd1, 0x21, 0x00, 0x01, 0x74, 0x74, 0x00, 0x10}, //GAIN BLUE RED VREF{0xd1, 0x21, 0x04, 0x00, 0x7d, 0x62, 0x00, 0x10},//COM 1 BAVE GEAVE AECHH{0xb1, 0x21, 0x08, 0x83, 0x01, 0x00, 0x00, 0x10},//RAVE COM2{0xd1, 0x21, 0x0c, 0x00, 0x08, 0x04, 0x4f, 0x10},//COM 3 4 5 6// {0xd1, 0x21, 0x10, 0x7f, 0x40, 0x05, 0xf8, 0x10},//AECH CLKRC COM7 COM8{0xd1, 0x21, 0x10, 0x7f, 0x40, 0x05, 0xff, 0x10},//AECH CLKRC COM7 COM8{0xc1, 0x21, 0x14, 0x2c, 0x00, 0x02, 0x00, 0x10}, // COM9 COM10{0xd1, 0x21, 0x17, 0x10, 0x60, 0x02, 0x7b, 0x10},//HSTART HSTOP VSTRT VSTOP{0xa1, 0x21, 0x1b, 0x02, 0x00, 0x00, 0x00, 0x10},//PSHFT{0xb1, 0x21, 0x1e, 0x01, 0x0e, 0x00, 0x00, 0x10}, //MVFP LAEC{0xd1, 0x21, 0x20, 0x07, 0x07, 0x07, 0x07, 0x10},// BOS GBOS GROS ROS (BGGR offset)// {0xd1, 0x21, 0x24, 0x68, 0x58, 0xd4, 0x80, 0x10}, //AEW AEB VPT BBIAS{0xd1, 0x21, 0x24, 0x78, 0x68, 0xd4, 0x80, 0x10}, //AEW AEB VPT BBIAS{0xd1, 0x21, 0x28, 0x80, 0x30, 0x00, 0x00, 0x10}, //GbBIAS RSVD EXHCH EXHCL{0xd1, 0x21, 0x2c, 0x80, 0x00, 0x00, 0x62, 0x10}, //RBIAS ADVFL ASDVFH YAVE{0xc1, 0x21, 0x30, 0x08, 0x30, 0xb4, 0x00, 0x10}, //HSYST HSYEN HREF {0xd1, 0x21, 0x33, 0x00, 0x07, 0x84, 0x00, 0x10}, //reserved{0xd1, 0x21, 0x37, 0x0c, 0x02, 0x43, 0x00, 0x10}, //ADC ACOM OFON TSLB{0xd1, 0x21, 0x3b, 0x02, 0x6c, 0x19, 0x0e, 0x10}, //COM11 COM12 COM13 COM14{0xd1, 0x21, 0x3f, 0x41, 0xc1, 0x22, 0x08, 0x10}, //EDGE COM15 COM16 COM17{0xd1, 0x21, 0x43, 0xf0, 0x10, 0x78, 0xa8, 0x10}, //reserved{0xd1, 0x21, 0x47, 0x60, 0x80, 0x00, 0x00, 0x10}, //reserved{0xd1, 0x21, 0x4b, 0x00, 0x00, 0x00, 0x00, 0x10}, //reserved{0xd1, 0x21, 0x4f, 0x46, 0x36, 0x0f, 0x17, 0x10}, //MTX 1 2 3 4{0xd1, 0x21, 0x53, 0x7f, 0x96, 0x40, 0x40, 0x10}, //MTX 5 6 7 8{0xb1, 0x21, 0x57, 0x40, 0x0f, 0x00, 0x00, 0x10}, //MTX9 MTXS{0xd1, 0x21, 0x59, 0xba, 0x9a, 0x22, 0xb9, 0x10}, //reserved{0xd1, 0x21, 0x5d, 0x9b, 0x10, 0xf0, 0x05, 0x10}, //reserved{0xa1, 0x21, 0x61, 0x60, 0x00, 0x00, 0x00, 0x10}, //reserved{0xd1, 0x21, 0x62, 0x00, 0x00, 0x50, 0x30, 0x10}, //LCC1 LCC2 LCC3 LCC4{0xa1, 0x21, 0x66, 0x00, 0x00, 0x00, 0x00, 0x10}, //LCC5 {0xd1, 0x21, 0x67, 0x80, 0x7a, 0x90, 0x80, 0x10},{0xa1, 0x21, 0x6b, 0x0a, 0x00, 0x00, 0x00, 0x10}, //band gap reference [0..3] DBLV{0xd1, 0x21, 0x6c, 0x30, 0x48, 0x80, 0x74, 0x10}, //gamma curve{0xd1, 0x21, 0x70, 0x64, 0x60, 0x5c, 0x58, 0x10}, //gamma curve{0xd1, 0x21, 0x74, 0x54, 0x4c, 0x40, 0x38, 0x10}, //gamma curve{0xd1, 0x21, 0x78, 0x34, 0x30, 0x2f, 0x2b, 0x10}, //gamma curve{0xd1, 0x21, 0x7c, 0x03, 0x07, 0x17, 0x34, 0x10}, //gamma curve{0xd1, 0x21, 0x80, 0x41, 0x4d, 0x58, 0x63, 0x10}, //gamma curve{0xd1, 0x21, 0x84, 0x6e, 0x77, 0x87, 0x95, 0x10}, //gamma curve{0xc1, 0x21, 0x88, 0xaf, 0xc7, 0xdf, 0x00, 0x10}, //gamma curve{0xc1, 0x21, 0x8b, 0x99, 0x99, 0xcf, 0x00, 0x10}, //reserved{0xb1, 0x21, 0x92, 0x00, 0x00, 0x00, 0x00, 0x10},/*******************/{0xa1, 0x21, 0x1e, 0x01, 0x00, 0x00, 0x00, 0x10},//bits[3..0]reserved{0xa1, 0x21, 0x1e, 0x01, 0x00, 0x00, 0x00, 0x10},{0xa1, 0x21, 0x03, 0x00, 0x00, 0x00, 0x00, 0x10}, //VREF vertical frame ctrl{0xa1, 0x21, 0x03, 0x00, 0x00, 0x00, 0x00, 0x10}, {0xa1, 0x21, 0x10, 0x20, 0x00, 0x00, 0x00, 0x10}, //0x20{0xa1, 0x21, 0x2d, 0x00, 0x00, 0x00, 0x00, 0x10},{0xa1, 0x21, 0x2e, 0x00, 0x00, 0x00, 0x00, 0x10}, {0xa1, 0x21, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x10},//{0xb1, 0x21, 0x01, 0x78, 0x78, 0x00, 0x00, 0x10},/******************/{0xa1, 0x21, 0x93, 0x00, 0x00, 0x00, 0x00, 0x10},//dummy line hight{0xa1, 0x21, 0x92, 0x25, 0x00, 0x00, 0x00, 0x10},//dummy line low{0xa1, 0x21, 0x2a, 0x00, 0x00, 0x00, 0x00, 0x10},{0xa1, 0x21, 0x2b, 0x00, 0x00, 0x00, 0x00, 0x10}, //{0xa1, 0x21, 0x02, 0x90, 0x00, 0x00, 0x00, 0x10},/**********startsensor boum if changed !!****/{0xa1, 0x21, 0x93, 0x01, 0x00, 0x00, 0x00, 0x10},{0xa1, 0x21, 0x92, 0xff, 0x00, 0x00, 0x00, 0x10},{0xa1, 0x21, 0x2a, 0x00, 0x00, 0x00, 0x00, 0x10},{0xa1, 0x21, 0x2b, 0xc3, 0x00, 0x00, 0x00, 0x10},{0, 0, 0, 0, 0, 0, 0, 0}};// reg0x04 reg0x07 reg 0x10//expo = (COM1 & 0x02) | (AECHH & 0x2f <<10) [ (AECh << 2)#if 0static __u8 qtable1[] = { 0x0B, 0x07, 0x07, 0x0B, 0x07, 0x07, 0x0B, 0x0B, 0x0B, 0x0B, 0x0E, 0x0B, 0x0B, 0x0E, 0x12, 0x1D, 0x12, 0x12, 0x0E, 0x0E, 0x12, 0x24, 0x19, 0x19, 0x15, 0x1D, 0x2B, 0x24, 0x2B, 0x2B, 0x27, 0x24, 0x27, 0x27, 0x2F, 0x32, 0x40, 0x39, 0x2F, 0x32, 0x3D, 0x32, 0x27, 0x27, 0x39, 0x4F, 0x39, 0x3D, 0x44, 0x48, 0x4B, 0x4B, 0x4B, 0x2B, 0x36, 0x52, 0x56, 0x4F, 0x48, 0x56, 0x40, 0x48, 0x4B, 0x48, 0x0B, 0x0E, 0x0E, 0x12, 0x0E, 0x12, 0x20, 0x12, 0x12, 0x20, 0x48, 0x2F, 0x27, 0x2F, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48};static __u8 qtable2[] = { 0x09, 0x06, 0x06, 0x09, 0x06, 0x06, 0x09, 0x09, 0x09, 0x09, 0x0C, 0x09, 0x09, 0x0C, 0x0F, 0x18, 0x0F, 0x0F, 0x0C, 0x0C, 0x0F, 0x1E, 0x15, 0x15, 0x12, 0x18, 0x24, 0x1E, 0x24, 0x24, 0x21, 0x1E, 0x21, 0x21, 0x27, 0x2A, 0x36, 0x30, 0x27, 0x2A, 0x33, 0x2A, 0x21, 0x21, 0x30, 0x42, 0x30, 0x33, 0x39, 0x3C, 0x3F, 0x3F, 0x3F, 0x24, 0x2D, 0x45, 0x48, 0x42, 0x3C, 0x48, 0x36, 0x3C, 0x3F, 0x3C, 0x09, 0x0C, 0x0C, 0x0F, 0x0C, 0x0F, 0x1B, 0x0F, 0x0F, 0x1B, 0x3C, 0x27, 0x21, 0x27, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C};static __u8 qtable3[] = { 0x07, 0x05, 0x05, 0x07, 0x05, 0x05, 0x07, 0x07, 0x07, 0x07, 0x0A, 0x07, 0x07, 0x0A, 0x0C, 0x14, 0x0C, 0x0C, 0x0A, 0x0A, 0x0C, 0x19, 0x11, 0x11, 0x0F, 0x14, 0x1E, 0x19, 0x1E, 0x1E, 0x1B, 0x19, 0x1B, 0x1B, 0x20, 0x23, 0x2D, 0x28, 0x20, 0x23, 0x2A, 0x23, 0x1B, 0x1B, 0x28, 0x37, 0x28, 0x2A, 0x2F, 0x32, 0x34, 0x34, 0x34, 0x1E, 0x25, 0x39, 0x3C, 0x37, 0x32, 0x3C, 0x2D, 0x32, 0x34, 0x32, 0x07, 0x0A, 0x0A, 0x0C, 0x0A, 0x0C, 0x16, 0x0C, 0x0C, 0x16, 0x32, 0x20, 0x1B, 0x20, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32};#endifstatic __u8 qtable4[] = { 0x06, 0x04, 0x04, 0x06, 0x04, 0x04, 0x06, 0x06, 0x06, 0x06, 0x08, 0x06, 0x06, 0x08, 0x0A, 0x11, 0x0A, 0x0A, 0x08, 0x08, 0x0A, 0x15, 0x0F, 0x0F, 0x0C, 0x11, 0x19, 0x15, 0x19, 0x19, 0x17, 0x15, 0x17, 0x17, 0x1B, 0x1D, 0x25, 0x21, 0x1B, 0x1D, 0x23, 0x1D, 0x17, 0x17, 0x21, 0x2E, 0x21, 0x23, 0x27, 0x29, 0x2C, 0x2C, 0x2C, 0x19, 0x1F, 0x30, 0x32, 0x2E, 0x29, 0x32, 0x25, 0x29, 0x2C, 0x29, 0x06, 0x08, 0x08, 0x0A, 0x08, 0x0A, 0x13, 0x0A, 0x0A, 0x13, 0x29, 0x1B, 0x17, 0x1B, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -