| | |
| | | void InitSRC(void); |
| | | void SportsConfig(void); |
| | | |
| | | #if 0 |
| | | void Audio_Config(void) |
| | | { |
| | | SRU(DAI_PB02_O, SPORT0_CLK_I); |
| | |
| | | InitSRC(); |
| | | SportsConfig(); |
| | | } |
| | | #else |
| | | void Audio_Config(void) |
| | | { |
| | | SRU(DAI_PB02_O, SPORT0_CLK_I); |
| | | SRU(DAI_PB02_O, SPORT2_CLK_I); |
| | | |
| | | SRU(DAI_PB08_O, SPORT3_CLK_I); //iis |
| | | |
| | | SRU(DAI_PB01_O, SPORT0_FS_I); |
| | | SRU(DAI_PB01_O, SPORT2_FS_I); |
| | | |
| | | SRU(DAI_PB09_O, SPORT3_FS_I); //iis |
| | | |
| | | //analog input |
| | | SRU(DAI_PB17_O, SPORT2_DA_I); |
| | | SRU(DAI_PB14_O, SPORT2_DB_I); |
| | | |
| | | //analog output |
| | | SRU(HIGH, PBEN18_I); //OUT0 |
| | | SRU(SPORT0_DA_O, DAI_PB18_I); |
| | | SRU(HIGH, PBEN04_I); //OUT1 |
| | | SRU(SPORT0_DB_O, DAI_PB04_I); |
| | | |
| | | //hdmi input |
| | | SRU(DAI_PB05_O, SPORT3_DA_I); |
| | | |
| | | ///////////////////USB/////////////////////// |
| | | // SRC 外围时钟 |
| | | SRU(DAI_PB03_O, SRC0_CLK_IP_I); |
| | | SRU(DAI_PB13_O, SRC0_FS_IP_I); |
| | | SRU(DAI_PB03_O, SRC1_CLK_OP_I); |
| | | SRU(DAI_PB13_O, SRC1_FS_OP_I); |
| | | |
| | | // SRC 内部时钟 |
| | | SRU(DAI_PB08_O, SPORT4_CLK_I); |
| | | SRU(DAI_PB08_O, SPORT5_CLK_I); |
| | | SRU(DAI_PB09_O, SPORT4_FS_I); |
| | | SRU(DAI_PB09_O, SPORT5_FS_I); |
| | | |
| | | SRU(DAI_PB08_O, SRC0_CLK_OP_I); |
| | | SRU(DAI_PB09_O, SRC0_FS_OP_I); |
| | | SRU(DAI_PB08_O, SRC1_CLK_IP_I); |
| | | SRU(DAI_PB09_O, SRC1_FS_IP_I); |
| | | |
| | | // DATA输入ASRC |
| | | SRU(DAI_PB07_O, SRC0_DAT_IP_I); |
| | | SRU(SRC0_DAT_OP_O, SPORT5_DA_I); |
| | | |
| | | // ASRC输出DATA |
| | | SRU(SPORT4_DA_O, SRC1_DAT_IP_I); |
| | | |
| | | SRU(HIGH, PBEN19_I); |
| | | SRU(SRC1_DAT_OP_O, DAI_PB19_I); |
| | | ////////////////////////////////////////////// |
| | | |
| | | //SPDIF MCLK |
| | | SRU(HIGH, PBEN10_I); |
| | | SRU(DAI_PB06_O,DAI_PB10_I); //MCLK |
| | | |
| | | //TDM CLOCK |
| | | SRU(DAI_PB06_O,PCG_EXTA_I); |
| | | |
| | | SRU(PCG_CLKA_O,PCG_EXTB_I); |
| | | |
| | | SRU(HIGH, PBEN02_I); //clk |
| | | SRU(PCG_FSB_O,DAI_PB02_I); |
| | | |
| | | SRU(HIGH, PBEN01_I); //fs |
| | | SRU(PCG_FSA_O,DAI_PB01_I); |
| | | |
| | | //IIS CLOCK |
| | | SRU(HIGH, PBEN08_I); //clk |
| | | SRU(PCG_CLKC_O,DAI_PB08_I); |
| | | SRU(HIGH, PBEN09_I); //fs |
| | | SRU(PCG_FSC_O,DAI_PB09_I); |
| | | |
| | | SRU(DAI_PB10_O,PCG_EXTC_I); |
| | | |
| | | InitPCG(); |
| | | InitSRC(); |
| | | SportsConfig(); |
| | | } |
| | | #endif |
| | | |
| | | #if 0 |
| | | void SportsConfig(void) |
| | | { |
| | | #if 1 |
| | |
| | | InitSPORT(0,0); |
| | | #endif |
| | | } |
| | | #else |
| | | void SportsConfig(void) |
| | | { |
| | | int i ; |
| | | struct SportDef sports[8]; |
| | | |
| | | memset(sports , 0, sizeof(struct SportDef)*8); |
| | | |
| | | for (i = 0 ;i < 6;i ++){ |
| | | sports[i].clke = 0; |
| | | sports[i].enable = 1; |
| | | sports[i].enable_sec = 1; |
| | | sports[i].lfs = 0; |
| | | sports[i].mfd = 0; |
| | | sports[i].opmode = 1; |
| | | sports[i].slots = 2; |
| | | sports[i].spid = i; |
| | | sports[i].vld_a = 2; |
| | | sports[i].vld_b = 2; |
| | | sports[i].rx = 1; |
| | | sports[i].interrupt =0 ; |
| | | } |
| | | |
| | | sports[0].rx = 0; |
| | | sports[0].opmode = 0; |
| | | sports[0].slots = 8; |
| | | sports[0].clke = 1; |
| | | sports[0].mfd = 1; |
| | | sports[0].vld_a = 8; |
| | | sports[0].vld_b = 3; |
| | | |
| | | sports[1].enable = 0; |
| | | |
| | | sports[2].opmode = 0; |
| | | sports[2].slots = 8; |
| | | sports[2].clke = 1; |
| | | sports[2].mfd = 1; |
| | | sports[2].vld_a = 8; |
| | | sports[2].vld_b = 2; |
| | | sports[2].interrupt = 1; |
| | | |
| | | sports[3].enable_sec = 0; |
| | | sports[3].vld_a = 1; |
| | | |
| | | //sports[5].interrupt = 1; //sport 5 interrupt. |
| | | sports[4].rx = 0; |
| | | sports[4].enable_sec = 0; |
| | | sports[4].clke = 0; |
| | | sports[4].lfs = 0; |
| | | sports[5].enable_sec = 0; |
| | | sports[5].clke = 0; |
| | | sports[5].lfs = 0; |
| | | |
| | | |
| | | for(i = 0; i < 8 ; i++) { |
| | | if(sports[i].enable && sports[i].spid < 8) { |
| | | sport_config(&sports[i]); |
| | | } |
| | | } |
| | | } |
| | | #endif |
| | | |
| | | void InitPCG(void) |
| | | { |
| | |
| | | } |
| | | } |
| | | |
| | | void sportB_config(struct SportDef * config) |
| | | { |
| | | u32 i; |
| | | volatile u32 *pSPCTLn[8] = {pSPCTL0,pSPCTL1,pSPCTL2,pSPCTL3,pSPCTL4,pSPCTL5,pSPCTL6,pSPCTL7}; |
| | | volatile u32 *pSPnCS0[8] = {pSP0CS0,pSP1CS0,pSP2CS0,pSP3CS0,pSP4CS0,pSP5CS0,pSP6CS0,pSP7CS0}; |
| | | volatile u32 *pSPMCTLn[8] = {pSPMCTL0,pSPMCTL1,pSPMCTL2,pSPMCTL3,pSPMCTL4,pSPMCTL5,pSPMCTL6,pSPMCTL7}; |
| | | volatile u32 *pCPSPnAB[16] = {pCPSP0A,pCPSP0B,pCPSP1A,pCPSP1B,pCPSP2A,pCPSP2B,pCPSP3A,pCPSP3B |
| | | ,pCPSP4A,pCPSP4B,pCPSP5A,pCPSP5B,pCPSP6A,pCPSP6B,pCPSP7A,pCPSP7B}; |
| | | |
| | | struct DMA_Desc* desca_0 = &sp_desc[config->spid*4 + 0]; |
| | | struct DMA_Desc* desca_1 = &sp_desc[config->spid*4 + 1]; |
| | | |
| | | u32 dmaBufferLen = config->slots*SAMPLE_NUM; |
| | | u32 bufLen = dmaBufferLen; |
| | | s32* dmaBuffer_ping, *dmaBuffer_pong; |
| | | |
| | | if(config->interrupt ) { |
| | | u32 iid[] = {ADI_CID_SP0I,ADI_CID_SP1I,ADI_CID_SP2I,ADI_CID_SP3I |
| | | ,ADI_CID_SP4I,ADI_CID_SP5I,ADI_CID_SP6I,ADI_CID_SP7I}; |
| | | |
| | | adi_int_InstallHandler(iid[config->spid], DMACallBack, 0, true); |
| | | } |
| | | |
| | | dmaBuffer_ping = (s32*)SRAMMalloc(bufLen* 2*sizeof(s32));//for ping-pong. |
| | | if(dmaBuffer_ping == NULL) { |
| | | printf("dmaBuffer malloc fail.\n"); |
| | | } |
| | | memset(dmaBuffer_ping, 0 , bufLen* 2 *sizeof(s32)); |
| | | dmaBuffer_pong = dmaBuffer_ping + dmaBufferLen; |
| | | mAudioCodec[mCodecNum].dataPtr[0] = dmaBuffer_ping; |
| | | mAudioCodec[mCodecNum].dataPtr[1] = dmaBuffer_pong; |
| | | mAudioCodec[mCodecNum].slot_num = config->slots; |
| | | mAudioCodec[mCodecNum].channel_num = config->vld_b; |
| | | mAudioCodec[mCodecNum].rx = config->rx; |
| | | mCodecNum++; |
| | | |
| | | desca_0->next = ((u32)desca_1 + 3)&0x7ffff | (1<<19); |
| | | desca_0->buffer = (u32)dmaBuffer_ping; |
| | | desca_0->asize = sizeof(s32); |
| | | desca_0->bsize = config->slots*SAMPLE_NUM; |
| | | |
| | | desca_1->next = ((uint32_t)desca_0 + 3)&0x7ffff | (1<<19); |
| | | desca_1->buffer = (u32)dmaBuffer_pong; |
| | | desca_1->asize = sizeof(s32); |
| | | desca_1->bsize = config->slots*SAMPLE_NUM; |
| | | |
| | | *pCPSPnAB[config->spid*2+1] = desca_1->next; |
| | | |
| | | if(config->opmode) { //iis |
| | | u32 reg = SLEN32 | OPMODE | SPEN_B | SCHEN_B |SDEN_B |(config->lfs?(LFS):0) | (config->clke?CKRE:0); |
| | | // *pSPCTL6 = SPTRAN | SLEN32 | OPMODE | SPEN_A | SCHEN_A |SDEN_A | SPEN_B | SCHEN_B |SDEN_B;// 输出 |
| | | // *pSPCTL7 = SLEN32 | OPMODE | SPEN_A | SCHEN_A |SDEN_A | SPEN_B | SCHEN_B |SDEN_B; //输入 |
| | | // if(config->enable_sec) { |
| | | // reg |= SPEN_B | SCHEN_B |SDEN_B ; |
| | | // } |
| | | |
| | | if(config->rx == ufalse) { |
| | | reg |= SPTRAN; |
| | | } |
| | | |
| | | *pSPCTLn[config->spid] = reg; |
| | | } |
| | | else { //tdm |
| | | u32 reg = SLEN32 | SCHEN_B |SDEN_B | FSR | (config->clke?CKRE:0) | (config->lfs?LFS:0); |
| | | // if(config->enable_sec) { |
| | | // reg |= SCHEN_B |SDEN_B; |
| | | // } |
| | | |
| | | if(config->rx == ufalse) { |
| | | reg |= SPTRAN; |
| | | } |
| | | |
| | | *pSPCTLn[config->spid] = reg; |
| | | |
| | | reg = 0; |
| | | for(i=0 ;i < config->slots ;i ++ ){ |
| | | reg |= (1<<i); |
| | | } |
| | | *pSPnCS0[config->spid] = reg; |
| | | |
| | | *pSPMCTLn[config->spid] = ((config->slots-1)<<5) | (config->mfd << 1) | MCEA| (config->enable_sec?MCEB:0); |
| | | } |
| | | } |
| | | |
| | | uvoid sport_enable(struct SportDef * config) |
| | | { |
| | | u32 reg = SDEN_A; |
| | |
| | | extern uvoid AudioProcCallBack (void); |
| | | uvoid sport_enable(struct SportDef * config); |
| | | void sport_config(struct SportDef * config); |
| | | void sportB_config(struct SportDef * config); |
| | | uvoid DMACallBack (u32 iid, uvoidptr arg); |
| | | |
| | | #ifdef __cplusplus |
| | |
| | | if(codec->rx) { |
| | | s32* dataPtr = codec->dataPtr[blockIndex] ; |
| | | |
| | | for( j = 0; channel < mInputNum - 2 && j < codec->channel_num ;j ++,channel++) { |
| | | for( j = 0; channel < mInputNum && j < codec->channel_num ;j ++,channel++) { |
| | | // if(channel == (mInputNum - 2)) |
| | | // channel++; |
| | | if(mRxChannel[channel] != NULL) |
| | | floatData(mRxChannel[channel], dataPtr + ((j+1)&0x1),codec->slot_num, SAMPLE_NUM); |
| | | floatData(mRxChannel[channel], dataPtr + j,codec->slot_num, SAMPLE_NUM); |
| | | } |
| | | } |
| | | } |
| | | |
| | | if(mRxChannel[mInputNum - 1] != NULL){ |
| | | floatData(mRxChannel[mInputNum - 1], mAudioCodec[9].dataPtr[blockIndex] + 0, mAudioCodec[9].slot_num, SAMPLE_NUM); |
| | | //memcpy(mRxChannel[mInputNum - 1], pcm, SAMPLE_NUM); |
| | | } |
| | | // if(mRxChannel[mInputNum - 1] != NULL){ |
| | | // floatData(mRxChannel[mInputNum - 1], mAudioCodec[9].dataPtr[blockIndex] + 0, mAudioCodec[9].slot_num, SAMPLE_NUM); |
| | | // //memcpy(mRxChannel[mInputNum - 1], pcm, SAMPLE_NUM); |
| | | // } |
| | | #else |
| | | // float pcm[SAMPLE_NUM]; |
| | | // |
| | |
| | | if(codec->rx == ufalse) { |
| | | s32* dataPtr = codec->dataPtr[blockIndex] ; |
| | | |
| | | for( j = 0; channel < mOutputNum - 1 && j < codec->channel_num ;j ++,channel++) { |
| | | for( j = 0; channel < mOutputNum && j < codec->channel_num ;j ++,channel++) { |
| | | if(mTxChannel[channel] != NULL){ |
| | | // if(channel == 2 || channel == 3){ |
| | | // fixData(dataPtr + ((j+1)&0x1), mTxChannel[channel], codec->slot_num, SAMPLE_NUM); |
| | | // } |
| | | // else{ |
| | | fixData(dataPtr + ((j+1)&0x1), mTxChannel[channel], codec->slot_num, SAMPLE_NUM); |
| | | // } |
| | | if(channel == 11){ //usb通道 |
| | | fixData(dataPtr + 0, mTxChannel[channel], codec->slot_num, SAMPLE_NUM); |
| | | fixData(dataPtr + 1, mTxChannel[channel], codec->slot_num, SAMPLE_NUM); |
| | | } |
| | | else{ |
| | | fixData(dataPtr + j, mTxChannel[channel], codec->slot_num, SAMPLE_NUM); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | if(mTxChannel[mOutputNum - 1] != NULL){ |
| | | fixData(mAudioCodec[8].dataPtr[blockIndex] + 0, mTxChannel[mOutputNum - 1], mAudioCodec[8].slot_num, SAMPLE_NUM); |
| | | fixData(mAudioCodec[8].dataPtr[blockIndex] + 1, mTxChannel[mOutputNum - 1], mAudioCodec[8].slot_num, SAMPLE_NUM); |
| | | } |
| | | // if(mTxChannel[mOutputNum - 1] != NULL){ |
| | | // fixData(mAudioCodec[8].dataPtr[blockIndex] + 0, mTxChannel[mOutputNum - 1], mAudioCodec[8].slot_num, SAMPLE_NUM); |
| | | // fixData(mAudioCodec[8].dataPtr[blockIndex] + 1, mTxChannel[mOutputNum - 1], mAudioCodec[8].slot_num, SAMPLE_NUM); |
| | | // } |
| | | #endif |
| | | } |
| | | #else |
| | |
| | | for(u32 j=0 ;j < 5000000 ;j++); |
| | | } |
| | | |
| | | // while(1){ |
| | | // SRU(LOW,DPI_PB13_I); |
| | | // SRU(LOW,DPI_PB14_I); |
| | | // for(u32 j=0 ;j < 5000000 ;j++); |
| | | // SRU(HIGH,DPI_PB13_I); |
| | | // SRU(HIGH,DPI_PB14_I); |
| | | // for(u32 j=0 ;j < 5000000 ;j++); |
| | | // } |
| | | |
| | | fir_acc_init(); |
| | | |
| | | spi_init(); |
| | |
| | | ,{3,PROC_EXPANDER,"3|32","3",0,0,1,0,¶meters.in1[2]},{4,PROC_EXPANDER,"4|32","4",0,0,1,0,¶meters.in1[3]} |
| | | ,{5,PROC_EXPANDER,"5|32","5",0,0,1,0,¶meters.in1[4]},{6,PROC_EXPANDER,"6|32","6",0,0,1,0,¶meters.in1[5]} |
| | | ,{7,PROC_EXPANDER,"7|32","7",0,0,1,0,¶meters.in1[6]},{8,PROC_EXPANDER,"8|32","8",0,0,1,0,¶meters.in1[7]} |
| | | // ,{9,PROC_EXPANDER,"9|32","9",0,0,1,0,¶meters.in1[8]},{10,PROC_EXPANDER,"10|32","10",0,0,1,0,¶meters.in1[9]} |
| | | // ,{11,PROC_EXPANDER,"11|32","11",0,0,1,0,¶meters.in1[10]},{12,PROC_EXPANDER,"12|32","12",0,0,1,0,¶meters.in1[11]} |
| | | // ,{13,PROC_EXPANDER,"13|32","13",0,0,1,0,¶meters.in1[12]},{14,PROC_EXPANDER,"14|32","14",0,0,1,0,¶meters.in1[13]} |
| | | // ,{15,PROC_EXPANDER,"15|32","15",0,0,1,0,¶meters.in1[14]},{16,PROC_EXPANDER,"16|32","16",0,0,1,0,¶meters.in1[15]} |
| | | ,{9,PROC_EXPANDER,"9|32","9",0,0,1,0,¶meters.in1[8]},{10,PROC_EXPANDER,"10|32","10",0,0,1,0,¶meters.in1[9]} |
| | | ,{11,PROC_EXPANDER,"11|32","11",0,0,1,0,¶meters.in1[10]},{12,PROC_EXPANDER,"12|32","12",0,0,1,0,¶meters.in1[11]} |
| | | ,{13,PROC_EXPANDER,"13|32","13",0,0,1,0,¶meters.in1[12]},{14,PROC_EXPANDER,"14|32","14",0,0,1,0,¶meters.in1[13]} |
| | | ,{15,PROC_EXPANDER,"15|32","15",0,0,1,0,¶meters.in1[14]},{16,PROC_EXPANDER,"16|32","16",0,0,1,0,¶meters.in1[15]} |
| | | |
| | | |
| | | ,{33,PROC_COMPRESS,"1|32","1",0,0,1,0,¶meters.in2[0]},{34,PROC_COMPRESS,"2|32","2",0,0,1,0,¶meters.in2[1]} |
| | | ,{35,PROC_COMPRESS,"3|32","3",0,0,1,0,¶meters.in2[2]},{36,PROC_COMPRESS,"4|32","4",0,0,1,0,¶meters.in2[3]} |
| | | ,{37,PROC_COMPRESS,"5|32","5",0,0,1,0,¶meters.in2[4]},{38,PROC_COMPRESS,"6|32","6",0,0,1,0,¶meters.in2[5]} |
| | | ,{39,PROC_COMPRESS,"7|32","7",0,0,1,0,¶meters.in2[6]},{40,PROC_COMPRESS,"8|32","8",0,0,1,0,¶meters.in2[7]} |
| | | // ,{41,PROC_COMPRESS,"9|32","9",0,0,1,0,¶meters.in2[8]},{42,PROC_COMPRESS,"10|32","10",0,0,1,0,¶meters.in2[9]} |
| | | // ,{43,PROC_COMPRESS,"11|32","11",0,0,1,0,¶meters.in2[10]},{44,PROC_COMPRESS,"12|32","12",0,0,1,0,¶meters.in2[11]} |
| | | // ,{45,PROC_COMPRESS,"13|32","13",0,0,1,0,¶meters.in2[12]},{46,PROC_COMPRESS,"14|32","14",0,0,1,0,¶meters.in2[13]} |
| | | // ,{47,PROC_COMPRESS,"15|32","15",0,0,1,0,¶meters.in2[14]},{48,PROC_COMPRESS,"16|32","16",0,0,1,0,¶meters.in2[15]} |
| | | ,{41,PROC_COMPRESS,"9|32","9",0,0,1,0,¶meters.in2[8]},{42,PROC_COMPRESS,"10|32","10",0,0,1,0,¶meters.in2[9]} |
| | | ,{43,PROC_COMPRESS,"11|32","11",0,0,1,0,¶meters.in2[10]},{44,PROC_COMPRESS,"12|32","12",0,0,1,0,¶meters.in2[11]} |
| | | ,{45,PROC_COMPRESS,"13|32","13",0,0,1,0,¶meters.in2[12]},{46,PROC_COMPRESS,"14|32","14",0,0,1,0,¶meters.in2[13]} |
| | | ,{47,PROC_COMPRESS,"15|32","15",0,0,1,0,¶meters.in2[14]},{48,PROC_COMPRESS,"16|32","16",0,0,1,0,¶meters.in2[15]} |
| | | |
| | | |
| | | ,{65,PROC_AGC,"1|32","1",0,0,1,0,¶meters.in3[0]},{66,PROC_AGC,"2|32","2",0,0,1,0,¶meters.in3[1]} |
| | | ,{67,PROC_AGC,"3|32","3",0,0,1,0,¶meters.in3[2]},{68,PROC_AGC,"4|32","4",0,0,1,0,¶meters.in3[3]} |
| | | ,{69,PROC_AGC,"5|32","5",0,0,1,0,¶meters.in3[4]},{70,PROC_AGC,"6|32","6",0,0,1,0,¶meters.in3[5]} |
| | | ,{71,PROC_AGC,"7|32","7",0,0,1,0,¶meters.in3[6]},{72,PROC_AGC,"8|32","8",0,0,1,0,¶meters.in3[7]} |
| | | // ,{73,PROC_AGC,"9|32","9",0,0,1,0,¶meters.in3[8]},{74,PROC_AGC,"10|32","10",0,0,1,0,¶meters.in3[9]} |
| | | // ,{75,PROC_AGC,"11|32","11",0,0,1,0,¶meters.in3[10]},{76,PROC_AGC,"12|32","12",0,0,1,0,¶meters.in3[11]} |
| | | // ,{77,PROC_AGC,"13|32","13",0,0,1,0,¶meters.in3[12]},{78,PROC_AGC,"14|32","14",0,0,1,0,¶meters.in3[13]} |
| | | // ,{79,PROC_AGC,"15|32","15",0,0,1,0,¶meters.in3[14]},{80,PROC_AGC,"16|32","16",0,0,1,0,¶meters.in3[15]} |
| | | ,{73,PROC_AGC,"9|32","9",0,0,1,0,¶meters.in3[8]},{74,PROC_AGC,"10|32","10",0,0,1,0,¶meters.in3[9]} |
| | | ,{75,PROC_AGC,"11|32","11",0,0,1,0,¶meters.in3[10]},{76,PROC_AGC,"12|32","12",0,0,1,0,¶meters.in3[11]} |
| | | ,{77,PROC_AGC,"13|32","13",0,0,1,0,¶meters.in3[12]},{78,PROC_AGC,"14|32","14",0,0,1,0,¶meters.in3[13]} |
| | | ,{79,PROC_AGC,"15|32","15",0,0,1,0,¶meters.in3[14]},{80,PROC_AGC,"16|32","16",0,0,1,0,¶meters.in3[15]} |
| | | |
| | | |
| | | ,{97,PROC_EQ,"1|32","1",0,0,1,0,¶meters.in4[0]},{98,PROC_EQ,"2|32","2",0,0,1,0,¶meters.in4[1]} |
| | | ,{99,PROC_EQ,"3|32","3",0,0,1,0,¶meters.in4[2]},{100,PROC_EQ,"4|32","4",0,0,1,0,¶meters.in4[3]} |
| | | ,{101,PROC_EQ,"5|32","5",0,0,1,0,¶meters.in4[4]},{102,PROC_EQ,"6|32","6",0,0,1,0,¶meters.in4[5]} |
| | | ,{103,PROC_EQ,"7|32","7",0,0,1,0,¶meters.in4[6]},{104,PROC_EQ,"8|32","8",0,0,1,0,¶meters.in4[7]} |
| | | // ,{105,PROC_EQ,"9|32","9",0,0,1,0,¶meters.in4[8]},{106,PROC_EQ,"10|32","10",0,0,1,0,¶meters.in4[9]} |
| | | // ,{107,PROC_EQ,"11|32","11",0,0,1,0,¶meters.in4[10]},{108,PROC_EQ,"12|32","12",0,0,1,0,¶meters.in4[11]} |
| | | // ,{109,PROC_EQ,"13|32","13",0,0,1,0,¶meters.in4[12]},{110,PROC_EQ,"14|32","14",0,0,1,0,¶meters.in4[13]} |
| | | // ,{111,PROC_EQ,"15|32","15",0,0,1,0,¶meters.in4[14]},{112,PROC_EQ,"16|32","16",0,0,1,0,¶meters.in4[15]} |
| | | ,{105,PROC_EQ,"9|32","9",0,0,1,0,¶meters.in4[8]},{106,PROC_EQ,"10|32","10",0,0,1,0,¶meters.in4[9]} |
| | | ,{107,PROC_EQ,"11|32","11",0,0,1,0,¶meters.in4[10]},{108,PROC_EQ,"12|32","12",0,0,1,0,¶meters.in4[11]} |
| | | ,{109,PROC_EQ,"13|32","13",0,0,1,0,¶meters.in4[12]},{110,PROC_EQ,"14|32","14",0,0,1,0,¶meters.in4[13]} |
| | | ,{111,PROC_EQ,"15|32","15",0,0,1,0,¶meters.in4[14]},{112,PROC_EQ,"16|32","16",0,0,1,0,¶meters.in4[15]} |
| | | |
| | | |
| | | ,{129,PROC_FEEDBACK,"1|32","1",0,0,1,0,¶meters.in5[0]},{130,PROC_FEEDBACK,"2|32","2",0,0,1,0,¶meters.in5[1]} |
| | | ,{131,PROC_FEEDBACK,"3|32","3",0,0,1,0,¶meters.in5[2]},{132,PROC_FEEDBACK,"4|32","4",0,0,1,0,¶meters.in5[3]} |
| | | ,{133,PROC_FEEDBACK,"5|32","5",0,0,1,0,¶meters.in5[4]},{134,PROC_FEEDBACK,"6|32","6",0,0,1,0,¶meters.in5[5]} |
| | | ,{135,PROC_FEEDBACK,"7|32","7",0,0,1,0,¶meters.in5[6]},{136,PROC_FEEDBACK,"8|32","8",0,0,1,0,¶meters.in5[7]} |
| | | // ,{137,PROC_FEEDBACK,"9|32","9",0,0,1,0,¶meters.in5[8]},{138,PROC_FEEDBACK,"10|32","10",0,0,1,0,¶meters.in5[9]} |
| | | // ,{139,PROC_FEEDBACK,"11|32","11",0,0,1,0,¶meters.in5[10]},{140,PROC_FEEDBACK,"12|32","12",0,0,1,0,¶meters.in5[11]} |
| | | // ,{141,PROC_FEEDBACK,"13|32","13",0,0,1,0,¶meters.in5[12]},{142,PROC_FEEDBACK,"14|32","14",0,0,1,0,¶meters.in5[13]} |
| | | // ,{143,PROC_FEEDBACK,"15|32","15",0,0,1,0,¶meters.in5[14]},{144,PROC_FEEDBACK,"16|32","16",0,0,1,0,¶meters.in5[15]} |
| | | ,{137,PROC_FEEDBACK,"9|32","9",0,0,1,0,¶meters.in5[8]},{138,PROC_FEEDBACK,"10|32","10",0,0,1,0,¶meters.in5[9]} |
| | | ,{139,PROC_FEEDBACK,"11|32","11",0,0,1,0,¶meters.in5[10]},{140,PROC_FEEDBACK,"12|32","12",0,0,1,0,¶meters.in5[11]} |
| | | ,{141,PROC_FEEDBACK,"13|32","13",0,0,1,0,¶meters.in5[12]},{142,PROC_FEEDBACK,"14|32","14",0,0,1,0,¶meters.in5[13]} |
| | | ,{143,PROC_FEEDBACK,"15|32","15",0,0,1,0,¶meters.in5[14]},{144,PROC_FEEDBACK,"16|32","16",0,0,1,0,¶meters.in5[15]} |
| | | |
| | | |
| | | ,{161,PROC_AUTOMIXER,"1-32","1-33",0,1,1,0,¶meters.automixer} |
| | |
| | | ,{169,PROC_CROSSOVER,"3","3",1,0,0,0,¶meters.out1[2]},{170,PROC_CROSSOVER,"4","4",1,0,0,0,¶meters.out1[3]} |
| | | ,{171,PROC_CROSSOVER,"5","5",1,0,0,0,¶meters.out1[4]},{172,PROC_CROSSOVER,"6","6",1,0,0,0,¶meters.out1[5]} |
| | | ,{173,PROC_CROSSOVER,"7","7",1,0,0,0,¶meters.out1[6]},{174,PROC_CROSSOVER,"8","8",1,0,0,0,¶meters.out1[7]} |
| | | // ,{175,PROC_CROSSOVER,"9","9",1,0,0,0,¶meters.out1[8]},{176,PROC_CROSSOVER,"10","10",1,0,0,0,¶meters.out1[9]} |
| | | // ,{177,PROC_CROSSOVER,"11","11",1,0,0,0,¶meters.out1[10]},{178,PROC_CROSSOVER,"12","12",1,0,0,0,¶meters.out1[11]} |
| | | // ,{179,PROC_CROSSOVER,"13","13",1,0,0,0,¶meters.out1[12]},{180,PROC_CROSSOVER,"14","14",1,0,0,0,¶meters.out1[13]} |
| | | // ,{181,PROC_CROSSOVER,"15","15",1,0,0,0,¶meters.out1[14]},{182,PROC_CROSSOVER,"16","16",1,0,0,0,¶meters.out1[15]} |
| | | ,{175,PROC_CROSSOVER,"9","9",1,0,0,0,¶meters.out1[8]},{176,PROC_CROSSOVER,"10","10",1,0,0,0,¶meters.out1[9]} |
| | | ,{177,PROC_CROSSOVER,"11","11",1,0,0,0,¶meters.out1[10]},{178,PROC_CROSSOVER,"12","12",1,0,0,0,¶meters.out1[11]} |
| | | ,{179,PROC_CROSSOVER,"13","13",1,0,0,0,¶meters.out1[12]},{180,PROC_CROSSOVER,"14","14",1,0,0,0,¶meters.out1[13]} |
| | | ,{181,PROC_CROSSOVER,"15","15",1,0,0,0,¶meters.out1[14]},{182,PROC_CROSSOVER,"16","16",1,0,0,0,¶meters.out1[15]} |
| | | |
| | | //// |
| | | ,{199,PROC_EQ,"1","1",1,0,0,0,¶meters.out2[0]},{200,PROC_EQ,"2","2",1,0,0,0,¶meters.out2[1]} |
| | | ,{201,PROC_EQ,"3","3",1,0,0,0,¶meters.out2[2]},{202,PROC_EQ,"4","4",1,0,0,0,¶meters.out2[3]} |
| | | ,{203,PROC_EQ,"5","5",1,0,0,0,¶meters.out2[4]},{204,PROC_EQ,"6","6",1,0,0,0,¶meters.out2[5]} |
| | | ,{205,PROC_EQ,"7","7",1,0,0,0,¶meters.out2[6]},{206,PROC_EQ,"8","8",1,0,0,0,¶meters.out2[7]} |
| | | // ,{207,PROC_EQ,"9","9",1,0,0,0,¶meters.out2[8]},{208,PROC_EQ,"10","10",1,0,0,0,¶meters.out2[9]} |
| | | // ,{209,PROC_EQ,"11","11",1,0,0,0,¶meters.out2[10]},{210,PROC_EQ,"12","12",1,0,0,0,¶meters.out2[11]} |
| | | // ,{211,PROC_EQ,"13","13",1,0,0,0,¶meters.out2[12]},{212,PROC_EQ,"14","14",1,0,0,0,¶meters.out2[13]} |
| | | // ,{213,PROC_EQ,"15","15",1,0,0,0,¶meters.out2[14]},{214,PROC_EQ,"16","16",1,0,0,0,¶meters.out2[15]} |
| | | ,{207,PROC_EQ,"9","9",1,0,0,0,¶meters.out2[8]},{208,PROC_EQ,"10","10",1,0,0,0,¶meters.out2[9]} |
| | | ,{209,PROC_EQ,"11","11",1,0,0,0,¶meters.out2[10]},{210,PROC_EQ,"12","12",1,0,0,0,¶meters.out2[11]} |
| | | ,{211,PROC_EQ,"13","13",1,0,0,0,¶meters.out2[12]},{212,PROC_EQ,"14","14",1,0,0,0,¶meters.out2[13]} |
| | | ,{213,PROC_EQ,"15","15",1,0,0,0,¶meters.out2[14]},{214,PROC_EQ,"16","16",1,0,0,0,¶meters.out2[15]} |
| | | |
| | | |
| | | ,{231,PROC_DELAY,"1","1",1,0,0,0,¶meters.out3[0]},{232,PROC_DELAY,"2","2",1,0,0,0,¶meters.out3[1]} |
| | | ,{233,PROC_DELAY,"3","3",1,0,0,0,¶meters.out3[2]},{234,PROC_DELAY,"4","4",1,0,0,0,¶meters.out3[3]} |
| | | ,{235,PROC_DELAY,"5","5",1,0,0,0,¶meters.out3[4]},{236,PROC_DELAY,"6","6",1,0,0,0,¶meters.out3[5]} |
| | | ,{237,PROC_DELAY,"7","7",1,0,0,0,¶meters.out3[6]},{238,PROC_DELAY,"8","8",1,0,0,0,¶meters.out3[7]} |
| | | // ,{239,PROC_DELAY,"9","9",1,0,0,0,¶meters.out3[8]},{240,PROC_DELAY,"10","10",1,0,0,0,¶meters.out3[9]} |
| | | // ,{241,PROC_DELAY,"11","11",1,0,0,0,¶meters.out3[10]},{242,PROC_DELAY,"12","12",1,0,0,0,¶meters.out3[11]} |
| | | // ,{243,PROC_DELAY,"13","13",1,0,0,0,¶meters.out3[12]},{244,PROC_DELAY,"14","14",1,0,0,0,¶meters.out3[13]} |
| | | // ,{245,PROC_DELAY,"15","15",1,0,0,0,¶meters.out3[14]},{246,PROC_DELAY,"16","16",1,0,0,0,¶meters.out3[15]} |
| | | ,{239,PROC_DELAY,"9","9",1,0,0,0,¶meters.out3[8]},{240,PROC_DELAY,"10","10",1,0,0,0,¶meters.out3[9]} |
| | | ,{241,PROC_DELAY,"11","11",1,0,0,0,¶meters.out3[10]},{242,PROC_DELAY,"12","12",1,0,0,0,¶meters.out3[11]} |
| | | ,{243,PROC_DELAY,"13","13",1,0,0,0,¶meters.out3[12]},{244,PROC_DELAY,"14","14",1,0,0,0,¶meters.out3[13]} |
| | | ,{245,PROC_DELAY,"15","15",1,0,0,0,¶meters.out3[14]},{246,PROC_DELAY,"16","16",1,0,0,0,¶meters.out3[15]} |
| | | |
| | | |
| | | ,{263,PROC_LIMIT,"1","1",1,0,0,0,¶meters.out4[0]},{264,PROC_LIMIT,"2","2",1,0,0,0,¶meters.out4[1]} |
| | | ,{265,PROC_LIMIT,"3","3",1,0,0,0,¶meters.out4[2]},{266,PROC_LIMIT,"4","4",1,0,0,0,¶meters.out4[3]} |
| | | ,{267,PROC_LIMIT,"5","5",1,0,0,0,¶meters.out4[4]},{268,PROC_LIMIT,"6","6",1,0,0,0,¶meters.out4[5]} |
| | | ,{269,PROC_LIMIT,"7","7",1,0,0,0,¶meters.out4[6]},{270,PROC_LIMIT,"8","8",1,0,0,0,¶meters.out4[7]} |
| | | // ,{271,PROC_LIMIT,"9","9",1,0,0,0,¶meters.out4[8]},{272,PROC_LIMIT,"10","10",1,0,0,0,¶meters.out4[9]} |
| | | // ,{273,PROC_LIMIT,"11","11",1,0,0,0,¶meters.out4[10]},{274,PROC_LIMIT,"12","12",1,0,0,0,¶meters.out4[11]} |
| | | // ,{275,PROC_LIMIT,"13","13",1,0,0,0,¶meters.out4[12]},{276,PROC_LIMIT,"14","14",1,0,0,0,¶meters.out4[13]} |
| | | // ,{277,PROC_LIMIT,"15","15",1,0,0,0,¶meters.out4[14]},{278,PROC_LIMIT,"16","16",1,0,0,0,¶meters.out4[15]} |
| | | ,{271,PROC_LIMIT,"9","9",1,0,0,0,¶meters.out4[8]},{272,PROC_LIMIT,"10","10",1,0,0,0,¶meters.out4[9]} |
| | | ,{273,PROC_LIMIT,"11","11",1,0,0,0,¶meters.out4[10]},{274,PROC_LIMIT,"12","12",1,0,0,0,¶meters.out4[11]} |
| | | ,{275,PROC_LIMIT,"13","13",1,0,0,0,¶meters.out4[12]},{276,PROC_LIMIT,"14","14",1,0,0,0,¶meters.out4[13]} |
| | | ,{277,PROC_LIMIT,"15","15",1,0,0,0,¶meters.out4[14]},{278,PROC_LIMIT,"16","16",1,0,0,0,¶meters.out4[15]} |
| | | |
| | | |
| | | ,{295,PROC_OUTPUT,"1-32","1-32",1,1,1,2,¶meters.output} |
| | |
| | | } |
| | | dbg_printf("Phy InputNum %d, Output Num %d\n",nPhyInput,nPhyOutput); |
| | | |
| | | Frame* UsbRx = frames->GetFrame(nPhyInput+1); |
| | | Frame* UsbTx = frames->GetFrame(nPhyOutput); |
| | | // Frame* UsbRx = frames->GetFrame(nPhyInput+1); |
| | | // Frame* UsbTx = frames->GetFrame(nPhyOutput); |
| | | // |
| | | // SetRxChannelPtr(nPhyInput+1, UsbRx->Data()); |
| | | // SetTxChannelPtr(nPhyOutput, UsbTx->Data()); |
| | | |
| | | SetRxChannelPtr(nPhyInput+1, UsbRx->Data()); |
| | | SetTxChannelPtr(nPhyOutput, UsbTx->Data()); |
| | | |
| | | SetNumOfChannels(nPhyInput+2, nPhyOutput+1); |
| | | SetNumOfChannels(nPhyInput, nPhyOutput); |
| | | |
| | | processed = utrue; |
| | | |