📄 d0360_init.c
字号:
if(InitParams->NbDefVal == STV360_NBREGS)
{
hChip = ChipOpen(InitParams->Chip);
DefVal = InitParams->DefVal;
if(hChip != NULL)
{
for (Rindex=0;Rindex<STV360_NBREGS;Rindex++)
{
ChipAddReg(hChip,Rindex,"\0",*Addr++ ,*DefVal++,STCHIP_ACCESS_WR);
temppatternstore=fieldpattern[Rindex];
bitvalue = 0;
for (bitposition=7;bitposition>=0;bitposition--)
{
temppatternstore = temppatternstore<<1;
if (((temppatternstore & 0x80/*1000 0000*/)==bitvalue) && (bitposition!=0))
{
fieldwidth++;
}
else
{
ChipAddField(hChip,Rindex,Findex,"\0",bitposition,fieldwidth,CHIP_UNSIGNED);
/*STTBX_Print(("\n\nChipAddField(hChip,Rindex%d,Findex%d,nullstring,(bitposition)%d,fieldwidth%d,CHIP_UNSIGNED)\n\n",Rindex,Findex,bitposition,fieldwidth));*/
fieldwidth=1;
Findex++;
bitvalue = ((bitvalue==0) ? (bitvalue=0x80) : (bitvalue=0));
}
}/*end for loop on bitposition*/
}/*end for loop on Rindex*/
}
ChipAddField(hChip,R_SYR_CTL,LONG_ECHO,"LONG_ECHO",3,4,CHIP_SIGNED);
ChipAddField(hChip,R_ICONSTEL,ICONSTEL,"\0",0,8,CHIP_SIGNED);
ChipAddField(hChip,R_QCONSTEL,QCONSTEL,"\0",0,8,CHIP_SIGNED);
ChipApplyDefaultValues(hChip);
}
else
{
return (STCHIP_Handle_t) NULL;
}
#else
/*
** REGISTER CONFIGURATION
** ----------------------
*/
/* fill elements of external chip data structure */
InitParams->Chip->NbRegs = STV360_NBREGS;
InitParams->Chip->NbFields = STV360_NBFIELDS;
InitParams->Chip->ChipMode = STCHIP_MODE_SUBADR_8;
if(InitParams->NbDefVal != STV360_NBREGS) return (STCHIP_Handle_t) NULL;
hChip = ChipOpen(InitParams->Chip);
DefVal = InitParams->DefVal;
if(hChip != NULL)
{
/* REGISTER INITIALISATION */
/* ID 00000000 */
ChipAddReg(hChip,R_ID,"ID",0x00,*DefVal++/*0x21*/,STCHIP_ACCESS_WR);
ChipAddField(hChip,R_ID,IDENTIFICATIONREGISTER,"IDENTIFICATIONREGISTER",0,8,CHIP_UNSIGNED);
/* I2CRPT 0111010R 01110101*/
ChipAddReg(hChip,R_I2CRPT,"I2CRPT",0x01,*DefVal++/*0x27*/,STCHIP_ACCESS_WR); /* with no bug on I2Crpt 0xA2 */
ChipAddField(hChip,R_I2CRPT,I2CT_ON,"I2CT_ON",7,1,CHIP_UNSIGNED);
ChipAddField(hChip,R_I2CRPT,ENARPT_LEVEL,"ENARPT_LEVEL",4,3,CHIP_UNSIGNED);
ChipAddField(hChip,R_I2CRPT,SCLT_DELAY,"SCLT_DELAY",3,1,CHIP_UNSIGNED);
ChipAddField(hChip,R_I2CRPT,SCLT_NOD,"SCLT_NOD",2,1,CHIP_UNSIGNED);
ChipAddField(hChip,R_I2CRPT,STOP_ENABLE,"STOP_ENABLE",1,1,CHIP_UNSIGNED);
/* TOPCTRL 01010101 */
ChipAddReg(hChip,R_TOPCTRL,"TOPCTRL",0x02,*DefVal++/*0x2*/,STCHIP_ACCESS_WR);
ChipAddField(hChip,R_TOPCTRL,STDBY,"STDBY",7,1,CHIP_UNSIGNED);
ChipAddField(hChip,R_TOPCTRL,STDBY_FEC,"STDBY_FEC",6,1,CHIP_UNSIGNED);
ChipAddField(hChip,R_TOPCTRL,STDBY_CORE,"STDBY_CORE",5,1,CHIP_UNSIGNED);
ChipAddField(hChip,R_TOPCTRL,DIR_CLK,"DIR_CLK",4,1,CHIP_UNSIGNED);
ChipAddField(hChip,R_TOPCTRL,TS_DIS,"TS_DIS",3,1,CHIP_UNSIGNED);
ChipAddField(hChip,R_TOPCTRL,TQFP80,"TQFP80",2,1,CHIP_UNSIGNED);
ChipAddField(hChip,R_TOPCTRL,BYPASS_PGA,"BYPASS_PGA",1,1,CHIP_UNSIGNED);
ChipAddField(hChip,R_TOPCTRL,ENA_27,"ENA_27",0,1,CHIP_UNSIGNED);
/* IOCFG0 01010000 */
ChipAddReg(hChip,R_IOCFG0,"IOCFG0",0x03,*DefVal++/*0x40*/,STCHIP_ACCESS_WR);
ChipAddField(hChip,R_IOCFG0,OP0_SD,"OP0_SD",7,1,CHIP_UNSIGNED);
ChipAddField(hChip,R_IOCFG0,OP0_VAL,"OP0_VAL",6,1,CHIP_UNSIGNED);
ChipAddField(hChip,R_IOCFG0,OP0_OD,"OP0_OD",5,1,CHIP_UNSIGNED);
ChipAddField(hChip,R_IOCFG0,OP0_INV,"OP0_INV",4,1,CHIP_UNSIGNED);
ChipAddField(hChip,R_IOCFG0,OP0_DACVALUE_HI,"OP0_DACVALUE_HI",0,4,CHIP_UNSIGNED);
/* DAC0R 00000000 */
ChipAddReg(hChip,R_DAC0R,"DAC0R",0x04,*DefVal++/*0x00*/,STCHIP_ACCESS_WR);
ChipAddField(hChip,R_DAC0R,OP0_DACVALUE_LO,"OP0_DACVALUE_LO",0,8,CHIP_UNSIGNED);
/* IOCFG1 R1010000 01010000 */
ChipAddReg(hChip,R_IOCFG1,"IOCFG1",0x05,*DefVal++/*0x00*/,STCHIP_ACCESS_WR);
/*ChipAddField(hChip,R_IOCFG1,OP1_SD,"OP1_SD",7,1,CHIP_UNSIGNED);*/
ChipAddField(hChip,R_IOCFG1,IP0,"IP0",6,1,CHIP_UNSIGNED);
ChipAddField(hChip,R_IOCFG1,OP1_OD,"OP1_OD",5,1,CHIP_UNSIGNED);
ChipAddField(hChip,R_IOCFG1,OP1_INV,"OP1_INV",4,1,CHIP_UNSIGNED);
ChipAddField(hChip,R_IOCFG1,OP1_DACVALUE_HI,"OP1_DACVALUE_HI",0,4,CHIP_UNSIGNED);
/* DAC1R 00000000*/
ChipAddReg(hChip,R_DAC1R,"DAC1R",0x06,*DefVal++/*0x00*/,STCHIP_ACCESS_WR);
ChipAddField(hChip,R_DAC1R,OP1_DACVALUE_LO,"OP1_DACVALUE_LO",0,8,CHIP_UNSIGNED);
/* IOCFG2 00010111 */
ChipAddReg(hChip,R_IOCFG2,"IOCFG2",0x07,*DefVal++/*0x80*/,STCHIP_ACCESS_WR);
ChipAddField(hChip,R_IOCFG2,OP2_LOCK_CONF,"OP2_LOCK_CONF",5,3,CHIP_UNSIGNED);
ChipAddField(hChip,R_IOCFG2,OP2_OD,"OP2_OD",4,1,CHIP_UNSIGNED);
ChipAddField(hChip,R_IOCFG2,OP2_VAL,"OP2_VAL",3,1,CHIP_UNSIGNED);
ChipAddField(hChip,R_IOCFG2,OP1_LOCK_CONF,"OP1_LOCK_CONF",0,3,CHIP_UNSIGNED);
/* PWMFR 00001111 */
ChipAddReg(hChip,R_PWMFR,"PWMFR",0x08,*DefVal++/*0x00*/,STCHIP_ACCESS_WR);
ChipAddField(hChip,R_PWMFR,OP0_FREQ,"OP0_FREQ",4,4,CHIP_UNSIGNED);
ChipAddField(hChip,R_PWMFR,OP1_FREQ,"OP1_FREQ",0,4,CHIP_UNSIGNED);
/* STATUS 01010111 */
ChipAddReg(hChip,R_STATUS,"STATUS",0x09,*DefVal++/*0xf9*/,STCHIP_ACCESS_WR);
ChipAddField(hChip,R_STATUS,TPS_LOCK,"TPS_LOCK",7,1,CHIP_UNSIGNED);
ChipAddField(hChip,R_STATUS,SYR_LOCK,"SYR_LOCK",6,1,CHIP_UNSIGNED);
ChipAddField(hChip,R_STATUS,AGC_LOCK,"AGC_LOCK",5,1,CHIP_UNSIGNED);
ChipAddField(hChip,R_STATUS,PRF,"PRF",4,1,CHIP_UNSIGNED);
ChipAddField(hChip,R_STATUS,LK,"LK",3,1,CHIP_UNSIGNED);
ChipAddField(hChip,R_STATUS,PR,"PR",0,3,CHIP_UNSIGNED);
/* AUX_CLK 01011001 */
ChipAddReg(hChip,R_AUX_CLK,"AUX_CLK",0x0a,*DefVal++/*0x1c*/,STCHIP_ACCESS_WR);
ChipAddField(hChip,R_AUX_CLK,AUXFEC12B,"AUXFEC12B",7,1,CHIP_UNSIGNED);
ChipAddField(hChip,R_AUX_CLK,AUXFEC_ENA,"AUXFEC_ENA",6,1,CHIP_UNSIGNED);
ChipAddField(hChip,R_AUX_CLK,DIS_CKX4,"DIS_CKX4",5,1,CHIP_UNSIGNED);
ChipAddField(hChip,R_AUX_CLK,CKSEL,"CKSEL",3,2,CHIP_UNSIGNED);
ChipAddField(hChip,R_AUX_CLK,CKDIV_PROG,"CKDIV_PROG",1,2,CHIP_UNSIGNED);
ChipAddField(hChip,R_AUX_CLK,AUXCLK_ENA,"AUXCLK_ENA",0,1,CHIP_UNSIGNED);
/* FREESYS1 RRRRRRRR 00000000 */
ChipAddReg(hChip,R_FREESYS1,"FREESYS1",0x0b,*DefVal++/*0x0*/,STCHIP_ACCESS_WR);
/* FREESYS2 RRRRRRRR 00000000 */
ChipAddReg(hChip,R_FREESYS2,"FREESYS2",0x0c,*DefVal++/*0x0*/,STCHIP_ACCESS_WR);
/* FREESYS3 RRRRRRRR 00000000 */
ChipAddReg(hChip,R_FREESYS3,"FREESYS3",0x0d,*DefVal++/*0x0*/,STCHIP_ACCESS_WR);
/* AGC2MAX 00000000*/
ChipAddReg(hChip,R_AGC2MAX,"AGC2MAX",0x10,*DefVal++/*0x8c*/,STCHIP_ACCESS_WR);
ChipAddField(hChip,R_AGC2MAX,AGC2MAX,"AGC2MAX",0,8,CHIP_UNSIGNED);
/* AGC2MIN 00000000*/
ChipAddReg(hChip,R_AGC2MIN,"AGC2MIN",0x11,*DefVal++/*0x28*/,STCHIP_ACCESS_WR);
ChipAddField(hChip,R_AGC2MIN,AGC2MIN,"AGC2MIN",0,8,CHIP_UNSIGNED);
/* AGC1MAX 00000000*/
ChipAddReg(hChip,R_AGC1MAX,"AGC1MAX",0x12,*DefVal++/*0xFF*/,STCHIP_ACCESS_WR);
ChipAddField(hChip,R_AGC1MAX,AGC1MAX,"AGC1MAX",0,8,CHIP_UNSIGNED);
/* AGC1MIN 00000000*/
ChipAddReg(hChip,R_AGC1MIN,"AGC1MIN",0x13,*DefVal++/*0x6B*/,STCHIP_ACCESS_WR);
ChipAddField(hChip,R_AGC1MIN,AGC1MIN,"AGC1MIN",0,8,CHIP_UNSIGNED);
/* AGCR 00011000 */
ChipAddReg(hChip,R_AGCR,"AGCR",0x14,*DefVal++/*0xBC*/,STCHIP_ACCESS_WR);
ChipAddField(hChip,R_AGCR,RATIO_A,"RATIO_A",5,3,CHIP_UNSIGNED);
ChipAddField(hChip,R_AGCR,RATIO_B,"RATIO_B",3,2,CHIP_UNSIGNED);
ChipAddField(hChip,R_AGCR,RATIO_C,"RATIO_C",0,3,CHIP_UNSIGNED);
/* AGC2TH 00000000 */
ChipAddReg(hChip,R_AGC2TH,"AGC2TH",0x15,*DefVal++/*0x0c*/,STCHIP_ACCESS_WR);
ChipAddField(hChip,R_AGC2TH,AGC2_THRES,"AGC2_THRES",0,8,CHIP_UNSIGNED);
/* AGC12C3 01010100*/
ChipAddReg(hChip,R_AGC12C3,"AGC12C3",0x16,*DefVal++/*0x00*/,STCHIP_ACCESS_WR);
ChipAddField(hChip,R_AGC12C3,AGC1_IV,"AGC1_IV",7,1,CHIP_UNSIGNED);
ChipAddField(hChip,R_AGC12C3,AGC1_OD,"AGC1_OD",6,1,CHIP_UNSIGNED);
ChipAddField(hChip,R_AGC12C3,AGC1_LOAD,"AGC1_LOAD",5,1,CHIP_UNSIGNED);
ChipAddField(hChip,R_AGC12C3,AGC2_IV,"AGC2_IV",4,1,CHIP_UNSIGNED);
ChipAddField(hChip,R_AGC12C3,AGC2_OD,"AGC2_OD",3,1,CHIP_UNSIGNED);
ChipAddField(hChip,R_AGC12C3,AGC2_LOAD,"AGC2_LOAD",2,1,CHIP_UNSIGNED);
ChipAddField(hChip,R_AGC12C3,AGC12_MODE,"AGC12_MODE",0,2,CHIP_UNSIGNED);
/* AGCCTRL1 0x0RRR0111 0x01110111 */
ChipAddReg(hChip,R_AGCCTRL1,"AGCCTRL1",0x17,*DefVal++/*0x85*/,STCHIP_ACCESS_WR);
ChipAddField(hChip,R_AGCCTRL1,DAGC_ON,"DAGC_ON",7,1,CHIP_UNSIGNED);
ChipAddField(hChip,R_AGCCTRL1,AGC1_MODE,"AGC1_MODE",3,1,CHIP_UNSIGNED);
ChipAddField(hChip,R_AGCCTRL1,AGC2_MODE,"AGC2_MODE",0,3,CHIP_UNSIGNED);
/* AGCCTRL2 R1100111 01100111 */
ChipAddReg(hChip,R_AGCCTRL2,"AGCCTRL2",0x18,*DefVal++/*0x1f*/,STCHIP_ACCESS_WR);
ChipAddField(hChip,R_AGCCTRL2,FRZ2_CTRL,"FRZ2_CTRL",5,2,CHIP_UNSIGNED);
ChipAddField(hChip,R_AGCCTRL2,FRZ1_CTRL,"FRZ1_CTRL",3,2,CHIP_UNSIGNED);
ChipAddField(hChip,R_AGCCTRL2,TIME_CST,"TIME_CST",0,3,CHIP_UNSIGNED);
/* AGC1VAL1 00000000 */
ChipAddReg(hChip,R_AGC1VAL1,"AGC1VAL1",0x19,*DefVal++/*0xFF*/,STCHIP_ACCESS_WR);
ChipAddField(hChip,R_AGC1VAL1,AGC1_VAL_LO,"AGC1_VAL_LO",0,8,CHIP_UNSIGNED);
/* AGC1VAL2 RRRR1111 00001111 */
ChipAddReg(hChip,R_AGC1VAL2,"AGC1VAL2",0x1a,*DefVal++/*0xF*/,STCHIP_ACCESS_WR);
ChipAddField(hChip,R_AGC1VAL2,AGC1_VAL_HI,"AGC1_VAL_HI",0,4,CHIP_UNSIGNED);
/* AGC2VAL1 00000000 */
ChipAddReg(hChip,R_AGC2VAL1,"AGC2VAL1",0x1b,*DefVal++/*0xFF*/,STCHIP_ACCESS_WR);
ChipAddField(hChip,R_AGC2VAL1,AGC2_VAL_LO,"AGC2_VAL_LO",0,8,CHIP_UNSIGNED);
/* AGC2VAL2 RRRR1111 00001111*/
ChipAddReg(hChip,R_AGC2VAL2,"AGC2VAL2",0x1c,*DefVal++/*0x0F*/,STCHIP_ACCESS_WR);
ChipAddField(hChip,R_AGC2VAL2,AGC2_VAL_HI,"AGC2_VAL_HI",0,4,CHIP_UNSIGNED);
/* AGC2PGA RR111111 00111111 */
ChipAddReg(hChip,R_AGC2PGA,"AGC2PGA",0x1d,*DefVal++/*0x00*/,STCHIP_ACCESS_WR);
ChipAddField(hChip,R_AGC2PGA,UAGC2PGA,"UAGC2PGA",0,6,CHIP_UNSIGNED);
/* OVF_RATE1 RRRR1111 00001111 */
ChipAddReg(hChip,R_OVF_RATE1,"OVF_RATE1",0x1e,*DefVal++/*0x00*/,STCHIP_ACCESS_WR);
ChipAddField(hChip,R_OVF_RATE1,OVF_RATE_HI,"OVF_RATE_HI",0,4,CHIP_UNSIGNED);
/* OVF_RATE2 00000000*/
ChipAddReg(hChip,R_OVF_RATE2,"OVF_RATE2",0x1f,*DefVal++/*0x00*/,STCHIP_ACCESS_WR);
ChipAddField(hChip,R_OVF_RATE2,OVF_RATE_LO,"OVF_RATE_LO",0,8,CHIP_UNSIGNED);
/* GAIN_SRC1 010R0000 01010000*/
/*ChipAddReg(hChip,R_GAIN_SRC1,"GAIN_SRC1",0x20,0xCF,STCHIP_ACCESS_WR);gbgb*/
ChipAddReg(hChip,R_GAIN_SRC1,"GAIN_SRC1",0x20,*DefVal++/*0xCA*/,STCHIP_ACCESS_WR);
ChipAddField(hChip,R_GAIN_SRC1,INV_SPECTR,"INV_SPECTR",7,1,CHIP_UNSIGNED);
ChipAddField(hChip,R_GAIN_SRC1,IQ_INVERT,"IQ_INVERT",6,1,CHIP_UNSIGNED);
ChipAddField(hChip,R_GAIN_SRC1,INR_BYPASS,"INR_BYPASS",5,1,CHIP_UNSIGNED);
ChipAddField(hChip,R_GAIN_SRC1,GAIN_SRC_HI,"GAIN_SRC_HI",0,4,CHIP_UNSIGNED); /**/
/* GAIN_SRC2 00000000*/
/*ChipAddReg(hChip,R_GAIN_SRC2,"GAIN_SRC2",0x21,0x3C,STCHIP_ACCESS_WR);gbgb*/
ChipAddReg(hChip,R_GAIN_SRC2,"GAIN_SRC2",0x21,*DefVal++/*0x41*/,STCHIP_ACCESS_WR);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -