From fd0b5f94939d30fe65a98f9111aee2987d12e41f Mon Sep 17 00:00:00 2001
From: qipp <2969964114@qq.com>
Date: 星期三, 18 三月 2026 17:46:42 +0800
Subject: [PATCH] 碧云祥定制代码提交

---
 DSP180x_core/drv/sport.h   |    1 
 DSP180x_core/src/scene.cpp |   72 ++++++------
 DSP180x_core/src/f2f.c     |   35 +++--
 DSP180x_core/src/tob.cpp   |   12 +-
 DSP180x_core/drv/board.c   |  144 ++++++++++++++++++++++++
 DSP180x_core/drv/sport.c   |   84 ++++++++++++++
 DSP180x_core/src/main.cpp  |    9 -
 7 files changed, 289 insertions(+), 68 deletions(-)

diff --git a/DSP180x_core/drv/board.c b/DSP180x_core/drv/board.c
index 1221e65..3a64edd 100644
--- a/DSP180x_core/drv/board.c
+++ b/DSP180x_core/drv/board.c
@@ -44,6 +44,7 @@
 void InitSRC(void);
 void SportsConfig(void);
 
+#if 0
 void Audio_Config(void)
 {
 	SRU(DAI_PB02_O, SPORT0_CLK_I);
@@ -133,8 +134,91 @@
 	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
@@ -176,7 +260,67 @@
 	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)
 {
diff --git a/DSP180x_core/drv/sport.c b/DSP180x_core/drv/sport.c
index 5a0fbc2..777842c 100644
--- a/DSP180x_core/drv/sport.c
+++ b/DSP180x_core/drv/sport.c
@@ -344,6 +344,90 @@
 	}
 }
 
+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;
diff --git a/DSP180x_core/drv/sport.h b/DSP180x_core/drv/sport.h
index 5a862a1..539673e 100644
--- a/DSP180x_core/drv/sport.h
+++ b/DSP180x_core/drv/sport.h
@@ -28,6 +28,7 @@
 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
diff --git a/DSP180x_core/src/f2f.c b/DSP180x_core/src/f2f.c
index 7837283..0f1bb6e 100644
--- a/DSP180x_core/src/f2f.c
+++ b/DSP180x_core/src/f2f.c
@@ -147,19 +147,19 @@
 		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];
 //
@@ -297,23 +297,24 @@
 		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
diff --git a/DSP180x_core/src/main.cpp b/DSP180x_core/src/main.cpp
index 152432f..b4a5472 100644
--- a/DSP180x_core/src/main.cpp
+++ b/DSP180x_core/src/main.cpp
@@ -82,15 +82,6 @@
 		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();
diff --git a/DSP180x_core/src/scene.cpp b/DSP180x_core/src/scene.cpp
index 8c98bc5..be4209a 100644
--- a/DSP180x_core/src/scene.cpp
+++ b/DSP180x_core/src/scene.cpp
@@ -53,50 +53,50 @@
 		,{3,PROC_EXPANDER,"3|32","3",0,0,1,0,&parameters.in1[2]},{4,PROC_EXPANDER,"4|32","4",0,0,1,0,&parameters.in1[3]}
 		,{5,PROC_EXPANDER,"5|32","5",0,0,1,0,&parameters.in1[4]},{6,PROC_EXPANDER,"6|32","6",0,0,1,0,&parameters.in1[5]}
 		,{7,PROC_EXPANDER,"7|32","7",0,0,1,0,&parameters.in1[6]},{8,PROC_EXPANDER,"8|32","8",0,0,1,0,&parameters.in1[7]}
-//		,{9,PROC_EXPANDER,"9|32","9",0,0,1,0,&parameters.in1[8]},{10,PROC_EXPANDER,"10|32","10",0,0,1,0,&parameters.in1[9]}
-//		,{11,PROC_EXPANDER,"11|32","11",0,0,1,0,&parameters.in1[10]},{12,PROC_EXPANDER,"12|32","12",0,0,1,0,&parameters.in1[11]}
-//		,{13,PROC_EXPANDER,"13|32","13",0,0,1,0,&parameters.in1[12]},{14,PROC_EXPANDER,"14|32","14",0,0,1,0,&parameters.in1[13]}
-//		,{15,PROC_EXPANDER,"15|32","15",0,0,1,0,&parameters.in1[14]},{16,PROC_EXPANDER,"16|32","16",0,0,1,0,&parameters.in1[15]}
+		,{9,PROC_EXPANDER,"9|32","9",0,0,1,0,&parameters.in1[8]},{10,PROC_EXPANDER,"10|32","10",0,0,1,0,&parameters.in1[9]}
+		,{11,PROC_EXPANDER,"11|32","11",0,0,1,0,&parameters.in1[10]},{12,PROC_EXPANDER,"12|32","12",0,0,1,0,&parameters.in1[11]}
+		,{13,PROC_EXPANDER,"13|32","13",0,0,1,0,&parameters.in1[12]},{14,PROC_EXPANDER,"14|32","14",0,0,1,0,&parameters.in1[13]}
+		,{15,PROC_EXPANDER,"15|32","15",0,0,1,0,&parameters.in1[14]},{16,PROC_EXPANDER,"16|32","16",0,0,1,0,&parameters.in1[15]}
 
 
 		,{33,PROC_COMPRESS,"1|32","1",0,0,1,0,&parameters.in2[0]},{34,PROC_COMPRESS,"2|32","2",0,0,1,0,&parameters.in2[1]}
 		,{35,PROC_COMPRESS,"3|32","3",0,0,1,0,&parameters.in2[2]},{36,PROC_COMPRESS,"4|32","4",0,0,1,0,&parameters.in2[3]}
 		,{37,PROC_COMPRESS,"5|32","5",0,0,1,0,&parameters.in2[4]},{38,PROC_COMPRESS,"6|32","6",0,0,1,0,&parameters.in2[5]}
 		,{39,PROC_COMPRESS,"7|32","7",0,0,1,0,&parameters.in2[6]},{40,PROC_COMPRESS,"8|32","8",0,0,1,0,&parameters.in2[7]}
-//		,{41,PROC_COMPRESS,"9|32","9",0,0,1,0,&parameters.in2[8]},{42,PROC_COMPRESS,"10|32","10",0,0,1,0,&parameters.in2[9]}
-//		,{43,PROC_COMPRESS,"11|32","11",0,0,1,0,&parameters.in2[10]},{44,PROC_COMPRESS,"12|32","12",0,0,1,0,&parameters.in2[11]}
-//		,{45,PROC_COMPRESS,"13|32","13",0,0,1,0,&parameters.in2[12]},{46,PROC_COMPRESS,"14|32","14",0,0,1,0,&parameters.in2[13]}
-//		,{47,PROC_COMPRESS,"15|32","15",0,0,1,0,&parameters.in2[14]},{48,PROC_COMPRESS,"16|32","16",0,0,1,0,&parameters.in2[15]}
+		,{41,PROC_COMPRESS,"9|32","9",0,0,1,0,&parameters.in2[8]},{42,PROC_COMPRESS,"10|32","10",0,0,1,0,&parameters.in2[9]}
+		,{43,PROC_COMPRESS,"11|32","11",0,0,1,0,&parameters.in2[10]},{44,PROC_COMPRESS,"12|32","12",0,0,1,0,&parameters.in2[11]}
+		,{45,PROC_COMPRESS,"13|32","13",0,0,1,0,&parameters.in2[12]},{46,PROC_COMPRESS,"14|32","14",0,0,1,0,&parameters.in2[13]}
+		,{47,PROC_COMPRESS,"15|32","15",0,0,1,0,&parameters.in2[14]},{48,PROC_COMPRESS,"16|32","16",0,0,1,0,&parameters.in2[15]}
 
 
 		,{65,PROC_AGC,"1|32","1",0,0,1,0,&parameters.in3[0]},{66,PROC_AGC,"2|32","2",0,0,1,0,&parameters.in3[1]}
 		,{67,PROC_AGC,"3|32","3",0,0,1,0,&parameters.in3[2]},{68,PROC_AGC,"4|32","4",0,0,1,0,&parameters.in3[3]}
 		,{69,PROC_AGC,"5|32","5",0,0,1,0,&parameters.in3[4]},{70,PROC_AGC,"6|32","6",0,0,1,0,&parameters.in3[5]}
 		,{71,PROC_AGC,"7|32","7",0,0,1,0,&parameters.in3[6]},{72,PROC_AGC,"8|32","8",0,0,1,0,&parameters.in3[7]}
-//		,{73,PROC_AGC,"9|32","9",0,0,1,0,&parameters.in3[8]},{74,PROC_AGC,"10|32","10",0,0,1,0,&parameters.in3[9]}
-//		,{75,PROC_AGC,"11|32","11",0,0,1,0,&parameters.in3[10]},{76,PROC_AGC,"12|32","12",0,0,1,0,&parameters.in3[11]}
-//		,{77,PROC_AGC,"13|32","13",0,0,1,0,&parameters.in3[12]},{78,PROC_AGC,"14|32","14",0,0,1,0,&parameters.in3[13]}
-//		,{79,PROC_AGC,"15|32","15",0,0,1,0,&parameters.in3[14]},{80,PROC_AGC,"16|32","16",0,0,1,0,&parameters.in3[15]}
+		,{73,PROC_AGC,"9|32","9",0,0,1,0,&parameters.in3[8]},{74,PROC_AGC,"10|32","10",0,0,1,0,&parameters.in3[9]}
+		,{75,PROC_AGC,"11|32","11",0,0,1,0,&parameters.in3[10]},{76,PROC_AGC,"12|32","12",0,0,1,0,&parameters.in3[11]}
+		,{77,PROC_AGC,"13|32","13",0,0,1,0,&parameters.in3[12]},{78,PROC_AGC,"14|32","14",0,0,1,0,&parameters.in3[13]}
+		,{79,PROC_AGC,"15|32","15",0,0,1,0,&parameters.in3[14]},{80,PROC_AGC,"16|32","16",0,0,1,0,&parameters.in3[15]}
 
 
 		,{97,PROC_EQ,"1|32","1",0,0,1,0,&parameters.in4[0]},{98,PROC_EQ,"2|32","2",0,0,1,0,&parameters.in4[1]}
 		,{99,PROC_EQ,"3|32","3",0,0,1,0,&parameters.in4[2]},{100,PROC_EQ,"4|32","4",0,0,1,0,&parameters.in4[3]}
 		,{101,PROC_EQ,"5|32","5",0,0,1,0,&parameters.in4[4]},{102,PROC_EQ,"6|32","6",0,0,1,0,&parameters.in4[5]}
 		,{103,PROC_EQ,"7|32","7",0,0,1,0,&parameters.in4[6]},{104,PROC_EQ,"8|32","8",0,0,1,0,&parameters.in4[7]}
-//		,{105,PROC_EQ,"9|32","9",0,0,1,0,&parameters.in4[8]},{106,PROC_EQ,"10|32","10",0,0,1,0,&parameters.in4[9]}
-//		,{107,PROC_EQ,"11|32","11",0,0,1,0,&parameters.in4[10]},{108,PROC_EQ,"12|32","12",0,0,1,0,&parameters.in4[11]}
-//		,{109,PROC_EQ,"13|32","13",0,0,1,0,&parameters.in4[12]},{110,PROC_EQ,"14|32","14",0,0,1,0,&parameters.in4[13]}
-//		,{111,PROC_EQ,"15|32","15",0,0,1,0,&parameters.in4[14]},{112,PROC_EQ,"16|32","16",0,0,1,0,&parameters.in4[15]}
+		,{105,PROC_EQ,"9|32","9",0,0,1,0,&parameters.in4[8]},{106,PROC_EQ,"10|32","10",0,0,1,0,&parameters.in4[9]}
+		,{107,PROC_EQ,"11|32","11",0,0,1,0,&parameters.in4[10]},{108,PROC_EQ,"12|32","12",0,0,1,0,&parameters.in4[11]}
+		,{109,PROC_EQ,"13|32","13",0,0,1,0,&parameters.in4[12]},{110,PROC_EQ,"14|32","14",0,0,1,0,&parameters.in4[13]}
+		,{111,PROC_EQ,"15|32","15",0,0,1,0,&parameters.in4[14]},{112,PROC_EQ,"16|32","16",0,0,1,0,&parameters.in4[15]}
 
 
 		,{129,PROC_FEEDBACK,"1|32","1",0,0,1,0,&parameters.in5[0]},{130,PROC_FEEDBACK,"2|32","2",0,0,1,0,&parameters.in5[1]}
 		,{131,PROC_FEEDBACK,"3|32","3",0,0,1,0,&parameters.in5[2]},{132,PROC_FEEDBACK,"4|32","4",0,0,1,0,&parameters.in5[3]}
 		,{133,PROC_FEEDBACK,"5|32","5",0,0,1,0,&parameters.in5[4]},{134,PROC_FEEDBACK,"6|32","6",0,0,1,0,&parameters.in5[5]}
 		,{135,PROC_FEEDBACK,"7|32","7",0,0,1,0,&parameters.in5[6]},{136,PROC_FEEDBACK,"8|32","8",0,0,1,0,&parameters.in5[7]}
-//		,{137,PROC_FEEDBACK,"9|32","9",0,0,1,0,&parameters.in5[8]},{138,PROC_FEEDBACK,"10|32","10",0,0,1,0,&parameters.in5[9]}
-//		,{139,PROC_FEEDBACK,"11|32","11",0,0,1,0,&parameters.in5[10]},{140,PROC_FEEDBACK,"12|32","12",0,0,1,0,&parameters.in5[11]}
-//		,{141,PROC_FEEDBACK,"13|32","13",0,0,1,0,&parameters.in5[12]},{142,PROC_FEEDBACK,"14|32","14",0,0,1,0,&parameters.in5[13]}
-//		,{143,PROC_FEEDBACK,"15|32","15",0,0,1,0,&parameters.in5[14]},{144,PROC_FEEDBACK,"16|32","16",0,0,1,0,&parameters.in5[15]}
+		,{137,PROC_FEEDBACK,"9|32","9",0,0,1,0,&parameters.in5[8]},{138,PROC_FEEDBACK,"10|32","10",0,0,1,0,&parameters.in5[9]}
+		,{139,PROC_FEEDBACK,"11|32","11",0,0,1,0,&parameters.in5[10]},{140,PROC_FEEDBACK,"12|32","12",0,0,1,0,&parameters.in5[11]}
+		,{141,PROC_FEEDBACK,"13|32","13",0,0,1,0,&parameters.in5[12]},{142,PROC_FEEDBACK,"14|32","14",0,0,1,0,&parameters.in5[13]}
+		,{143,PROC_FEEDBACK,"15|32","15",0,0,1,0,&parameters.in5[14]},{144,PROC_FEEDBACK,"16|32","16",0,0,1,0,&parameters.in5[15]}
 
 
 		,{161,PROC_AUTOMIXER,"1-32","1-33",0,1,1,0,&parameters.automixer}
@@ -111,40 +111,40 @@
 		,{169,PROC_CROSSOVER,"3","3",1,0,0,0,&parameters.out1[2]},{170,PROC_CROSSOVER,"4","4",1,0,0,0,&parameters.out1[3]}
 		,{171,PROC_CROSSOVER,"5","5",1,0,0,0,&parameters.out1[4]},{172,PROC_CROSSOVER,"6","6",1,0,0,0,&parameters.out1[5]}
 		,{173,PROC_CROSSOVER,"7","7",1,0,0,0,&parameters.out1[6]},{174,PROC_CROSSOVER,"8","8",1,0,0,0,&parameters.out1[7]}
-//		,{175,PROC_CROSSOVER,"9","9",1,0,0,0,&parameters.out1[8]},{176,PROC_CROSSOVER,"10","10",1,0,0,0,&parameters.out1[9]}
-//		,{177,PROC_CROSSOVER,"11","11",1,0,0,0,&parameters.out1[10]},{178,PROC_CROSSOVER,"12","12",1,0,0,0,&parameters.out1[11]}
-//		,{179,PROC_CROSSOVER,"13","13",1,0,0,0,&parameters.out1[12]},{180,PROC_CROSSOVER,"14","14",1,0,0,0,&parameters.out1[13]}
-//		,{181,PROC_CROSSOVER,"15","15",1,0,0,0,&parameters.out1[14]},{182,PROC_CROSSOVER,"16","16",1,0,0,0,&parameters.out1[15]}
+		,{175,PROC_CROSSOVER,"9","9",1,0,0,0,&parameters.out1[8]},{176,PROC_CROSSOVER,"10","10",1,0,0,0,&parameters.out1[9]}
+		,{177,PROC_CROSSOVER,"11","11",1,0,0,0,&parameters.out1[10]},{178,PROC_CROSSOVER,"12","12",1,0,0,0,&parameters.out1[11]}
+		,{179,PROC_CROSSOVER,"13","13",1,0,0,0,&parameters.out1[12]},{180,PROC_CROSSOVER,"14","14",1,0,0,0,&parameters.out1[13]}
+		,{181,PROC_CROSSOVER,"15","15",1,0,0,0,&parameters.out1[14]},{182,PROC_CROSSOVER,"16","16",1,0,0,0,&parameters.out1[15]}
 
 		////
 		,{199,PROC_EQ,"1","1",1,0,0,0,&parameters.out2[0]},{200,PROC_EQ,"2","2",1,0,0,0,&parameters.out2[1]}
 		,{201,PROC_EQ,"3","3",1,0,0,0,&parameters.out2[2]},{202,PROC_EQ,"4","4",1,0,0,0,&parameters.out2[3]}
 		,{203,PROC_EQ,"5","5",1,0,0,0,&parameters.out2[4]},{204,PROC_EQ,"6","6",1,0,0,0,&parameters.out2[5]}
 		,{205,PROC_EQ,"7","7",1,0,0,0,&parameters.out2[6]},{206,PROC_EQ,"8","8",1,0,0,0,&parameters.out2[7]}
-//		,{207,PROC_EQ,"9","9",1,0,0,0,&parameters.out2[8]},{208,PROC_EQ,"10","10",1,0,0,0,&parameters.out2[9]}
-//		,{209,PROC_EQ,"11","11",1,0,0,0,&parameters.out2[10]},{210,PROC_EQ,"12","12",1,0,0,0,&parameters.out2[11]}
-//		,{211,PROC_EQ,"13","13",1,0,0,0,&parameters.out2[12]},{212,PROC_EQ,"14","14",1,0,0,0,&parameters.out2[13]}
-//		,{213,PROC_EQ,"15","15",1,0,0,0,&parameters.out2[14]},{214,PROC_EQ,"16","16",1,0,0,0,&parameters.out2[15]}
+		,{207,PROC_EQ,"9","9",1,0,0,0,&parameters.out2[8]},{208,PROC_EQ,"10","10",1,0,0,0,&parameters.out2[9]}
+		,{209,PROC_EQ,"11","11",1,0,0,0,&parameters.out2[10]},{210,PROC_EQ,"12","12",1,0,0,0,&parameters.out2[11]}
+		,{211,PROC_EQ,"13","13",1,0,0,0,&parameters.out2[12]},{212,PROC_EQ,"14","14",1,0,0,0,&parameters.out2[13]}
+		,{213,PROC_EQ,"15","15",1,0,0,0,&parameters.out2[14]},{214,PROC_EQ,"16","16",1,0,0,0,&parameters.out2[15]}
 
 
 		,{231,PROC_DELAY,"1","1",1,0,0,0,&parameters.out3[0]},{232,PROC_DELAY,"2","2",1,0,0,0,&parameters.out3[1]}
 		,{233,PROC_DELAY,"3","3",1,0,0,0,&parameters.out3[2]},{234,PROC_DELAY,"4","4",1,0,0,0,&parameters.out3[3]}
 		,{235,PROC_DELAY,"5","5",1,0,0,0,&parameters.out3[4]},{236,PROC_DELAY,"6","6",1,0,0,0,&parameters.out3[5]}
 		,{237,PROC_DELAY,"7","7",1,0,0,0,&parameters.out3[6]},{238,PROC_DELAY,"8","8",1,0,0,0,&parameters.out3[7]}
-//		,{239,PROC_DELAY,"9","9",1,0,0,0,&parameters.out3[8]},{240,PROC_DELAY,"10","10",1,0,0,0,&parameters.out3[9]}
-//		,{241,PROC_DELAY,"11","11",1,0,0,0,&parameters.out3[10]},{242,PROC_DELAY,"12","12",1,0,0,0,&parameters.out3[11]}
-//		,{243,PROC_DELAY,"13","13",1,0,0,0,&parameters.out3[12]},{244,PROC_DELAY,"14","14",1,0,0,0,&parameters.out3[13]}
-//		,{245,PROC_DELAY,"15","15",1,0,0,0,&parameters.out3[14]},{246,PROC_DELAY,"16","16",1,0,0,0,&parameters.out3[15]}
+		,{239,PROC_DELAY,"9","9",1,0,0,0,&parameters.out3[8]},{240,PROC_DELAY,"10","10",1,0,0,0,&parameters.out3[9]}
+		,{241,PROC_DELAY,"11","11",1,0,0,0,&parameters.out3[10]},{242,PROC_DELAY,"12","12",1,0,0,0,&parameters.out3[11]}
+		,{243,PROC_DELAY,"13","13",1,0,0,0,&parameters.out3[12]},{244,PROC_DELAY,"14","14",1,0,0,0,&parameters.out3[13]}
+		,{245,PROC_DELAY,"15","15",1,0,0,0,&parameters.out3[14]},{246,PROC_DELAY,"16","16",1,0,0,0,&parameters.out3[15]}
 
 
 		,{263,PROC_LIMIT,"1","1",1,0,0,0,&parameters.out4[0]},{264,PROC_LIMIT,"2","2",1,0,0,0,&parameters.out4[1]}
 		,{265,PROC_LIMIT,"3","3",1,0,0,0,&parameters.out4[2]},{266,PROC_LIMIT,"4","4",1,0,0,0,&parameters.out4[3]}
 		,{267,PROC_LIMIT,"5","5",1,0,0,0,&parameters.out4[4]},{268,PROC_LIMIT,"6","6",1,0,0,0,&parameters.out4[5]}
 		,{269,PROC_LIMIT,"7","7",1,0,0,0,&parameters.out4[6]},{270,PROC_LIMIT,"8","8",1,0,0,0,&parameters.out4[7]}
-//		,{271,PROC_LIMIT,"9","9",1,0,0,0,&parameters.out4[8]},{272,PROC_LIMIT,"10","10",1,0,0,0,&parameters.out4[9]}
-//		,{273,PROC_LIMIT,"11","11",1,0,0,0,&parameters.out4[10]},{274,PROC_LIMIT,"12","12",1,0,0,0,&parameters.out4[11]}
-//		,{275,PROC_LIMIT,"13","13",1,0,0,0,&parameters.out4[12]},{276,PROC_LIMIT,"14","14",1,0,0,0,&parameters.out4[13]}
-//		,{277,PROC_LIMIT,"15","15",1,0,0,0,&parameters.out4[14]},{278,PROC_LIMIT,"16","16",1,0,0,0,&parameters.out4[15]}
+		,{271,PROC_LIMIT,"9","9",1,0,0,0,&parameters.out4[8]},{272,PROC_LIMIT,"10","10",1,0,0,0,&parameters.out4[9]}
+		,{273,PROC_LIMIT,"11","11",1,0,0,0,&parameters.out4[10]},{274,PROC_LIMIT,"12","12",1,0,0,0,&parameters.out4[11]}
+		,{275,PROC_LIMIT,"13","13",1,0,0,0,&parameters.out4[12]},{276,PROC_LIMIT,"14","14",1,0,0,0,&parameters.out4[13]}
+		,{277,PROC_LIMIT,"15","15",1,0,0,0,&parameters.out4[14]},{278,PROC_LIMIT,"16","16",1,0,0,0,&parameters.out4[15]}
 
 
 		,{295,PROC_OUTPUT,"1-32","1-32",1,1,1,2,&parameters.output}
diff --git a/DSP180x_core/src/tob.cpp b/DSP180x_core/src/tob.cpp
index 90ddcad..2c1b6c8 100644
--- a/DSP180x_core/src/tob.cpp
+++ b/DSP180x_core/src/tob.cpp
@@ -334,13 +334,13 @@
 	}
 	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;
 

--
Gitblit v1.9.3