From f41a0f70a05fbed9ccbf4b8c6d9df87147fde374 Mon Sep 17 00:00:00 2001
From: chenlh <2008get@163.com>
Date: 星期五, 14 十一月 2025 18:02:07 +0800
Subject: [PATCH] GEQ参数ID变更

---
 src/tob.cpp |  138 +++++++++++++--------------------------------
 1 files changed, 41 insertions(+), 97 deletions(-)

diff --git a/src/tob.cpp b/src/tob.cpp
index 6a5e14d..c853129 100644
--- a/src/tob.cpp
+++ b/src/tob.cpp
@@ -17,12 +17,7 @@
 
 
 
-//#define DEBUG
-#ifdef DEBUG
-#define dbg_printf printf
-#else
-#define dbg_printf
-#endif
+
 
 //static ToB* tob = NULL;
 
@@ -48,11 +43,7 @@
 ToB::~ToB()
 {
 	toClear();
-<<<<<<< HEAD
 //	tob = NULL;
-=======
-	tob = NULL;
->>>>>>> 0d5b7df96a2ee186b7b085dca9cf9a33f791c430
 	delete paramset;
 }
 
@@ -134,14 +125,14 @@
 
 		if (pmod->mDsp != dsp_index)  continue;
 
-#ifdef DEBUG
+#if DEBUG
 		dbg_printf("Module ID %d type %d rxnum %d txnum %d. \n",pmod->mID ,pmod->mType, pmod->mRxNum,pmod->mTxNum);
 #endif
 //		if(pmod->mID == 394) {
 //			int ddr = sram_free_space(SRAM_DDR);
 //			int ccm = sram_free_space(SRAM_CCM);
 //			int l1 = sram_free_space(SRAM_L1);
-//			printf("ddr %d ccm %d l1 %d.\n",ddr, ccm ,l1);
+//			dbg_printf("ddr %d ccm %d l1 %d.\n",ddr, ccm ,l1);
 //		}
 		IModule* m = CreateBaseModule(pmod->mType,pmod->mTag, pmod->mRxNum,pmod->mTxNum);
 		if(!m) {
@@ -203,12 +194,8 @@
 
 	return 	ErrStatus::SUCCESS;
 }
-<<<<<<< HEAD
-#define DEBUG 0
-=======
 
->>>>>>> 0d5b7df96a2ee186b7b085dca9cf9a33f791c430
-#if 1//DEBUG
+#ifdef DEBUG
 	const s8* type_string[ModuleType::PROC_COUNT] = {
 			"none"
 			,"input"
@@ -278,14 +265,10 @@
 
 		if (pmod->mDsp != dsp_index)  continue;
 
-<<<<<<< HEAD
-#if DEBUG
-		//if (PROC_FIR == pmod->mType)
-			printf("Module ID %d type %d %s rxnum %d txnum %d tag %d. \n",pmod->mID ,pmod->mType, type_string[pmod->mType], pmod->mRxNum,pmod->mTxNum,pmod->mTag);
-=======
 #ifdef DEBUG
-		printf("Module ID %d type %d %s rxnum %d txnum %d tag %d. \n",pmod->mID ,pmod->mType, type_string[pmod->mType], pmod->mRxNum,pmod->mTxNum,pmod->mTag);
->>>>>>> 0d5b7df96a2ee186b7b085dca9cf9a33f791c430
+//		if (300 == pmod->mID)
+		if (PROC_FEEDBACK == pmod->mType)
+			dbg_printf("Module ID %d type %d %s rxnum %d txnum %d tag %d. \n",pmod->mID ,pmod->mType, type_string[pmod->mType], pmod->mRxNum,pmod->mTxNum,pmod->mTag);
 #endif
 
 		IModule* m = CreateBaseModule(pmod->mType, pmod->mTag, mRxNum, mTxNum);
@@ -294,14 +277,6 @@
 			continue;
 		}
 
-<<<<<<< HEAD
-=======
-//		int ddr = sram_free_space(SRAM_DDR,mem_any);
-//		int ccm = sram_free_space(SRAM_L2,mem_any);
-//		int l1 = sram_free_space(SRAM_L1,mem_heap);
-//		printf("ddr %d ccm %d l1 %d.\n",ddr, ccm ,l1);
-
->>>>>>> 0d5b7df96a2ee186b7b085dca9cf9a33f791c430
 		m->SetModuleInfo(pmod->mID ,pmod->mType, pmod->mTag);
 		mList.push_back(m);
 
@@ -310,13 +285,9 @@
 		}
 		mModuleIndex[pmod->mID] = ++mModuleNum;
 
-//		printf("Module id:%d, Tx buffer id:", pmod->mID);
+//		dbg_printf("Module id:%d, Tx buffer id:", pmod->mID);
 		for (size_t i = 0; i < mTxNum && !bOutput; i++){
-<<<<<<< HEAD
-//			printf("bid %d, ", mTxbufID[i]);
-=======
-			printf("bid %d, ", mTxbufID[i]);
->>>>>>> 0d5b7df96a2ee186b7b085dca9cf9a33f791c430
+//			dbg_printf("bid %d, ", mTxbufID[i]);
 			if (mTxbufID[i] > 0) {
 				Frame* pcm = frames->GetFrame(mTxbufID[i]-1);
 				m->SetOutputChannelDataPtr(i, pcm);
@@ -326,24 +297,16 @@
 						nPhyInput[mPhyID[i].mIntType] = mPhyID[i].mPhyID;
 					m->SetInputChannelDataPtr(i, pcm);
 					SetRxChannelPtr(static_cast<IntDataType>(mPhyID[i].mIntType), mPhyID[i].mPhyID-1, pcm->Data());
-<<<<<<< HEAD
-//					printf("phy_id %d\n", mPhyID[i].mPhyID);
-=======
-					printf("phy_id %d\n", mPhyID[i].mPhyID);
->>>>>>> 0d5b7df96a2ee186b7b085dca9cf9a33f791c430
+//					dbg_printf("phy_id %d\n", mPhyID[i].mPhyID);
 				}
 			}
 			else {
 				m->SetOutputChannelDataPtr(i, 0);
 			}
 		}
-//		printf(";Rx buffer id:");
+//		dbg_printf(";Rx buffer id:");
 		for (size_t i = 0; i < mRxNum && !bInput; i++) {
-<<<<<<< HEAD
 //			printf("mID %d,bid %d\n", pmod->mID, mRxbufID[i]);
-=======
-//			printf("bid %d", mRxbufID[i]);
->>>>>>> 0d5b7df96a2ee186b7b085dca9cf9a33f791c430
 			if (mRxbufID[i] > 0) {
 				Frame* pcm = frames->GetFrame(mRxbufID[i]-1 );
 				m->SetInputChannelDataPtr(i, pcm);
@@ -352,56 +315,40 @@
 					if(nPhyOutput[mPhyID[i].mIntType] < mPhyID[i].mPhyID)
 						nPhyOutput[mPhyID[i].mIntType] = mPhyID[i].mPhyID;
 
-					//pcm = frames->AllocFrame(); // It is not necessary to be compatible with the AXE1208 series here, because the TOP architecture is different.
+					pcm = frames->AllocFrame(); // It is not necessary to be compatible with the AXE1208 series here, because the TOP architecture is different.
 					m->SetOutputChannelDataPtr(i, pcm);
 					SetTxChannelPtr(static_cast<IntDataType>(mPhyID[i].mIntType), mPhyID[i].mPhyID-1, pcm->Data());
-<<<<<<< HEAD
-//					printf("mID %d,bid %d\n", pmod->mID, mPhyID[i].mPhyID-1);
-//					printf("phy_type %d, _id %d\n", mPhyID[i].mIntType, mPhyID[i].mPhyID);
-=======
-//					printf("phy_id %d", mPhyID[i].mPhyID);
->>>>>>> 0d5b7df96a2ee186b7b085dca9cf9a33f791c430
+//					dbg_printf("mID %d,bid %d\n", pmod->mID, mPhyID[i].mPhyID-1);
+//					dbg_printf("phy_type %d, _id %d\n", mPhyID[i].mIntType, mPhyID[i].mPhyID);
 				}
 			}
 			else {
 				m->SetInputChannelDataPtr(i, 0);
 			}
 		}
-//		printf("\n");
+//		dbg_printf("\n");
 
 		m->Init();
-<<<<<<< HEAD
 
 		// 从 paramset 中获取对应的参数控制函数指针
 		ParamCtrl_fn paramEntry = paramset->GetParamEntry( m->GetModuleType());
 		if(paramEntry == NULL) {
-			printf("paramEntry is NULL!\n");
+			dbg_printf("paramEntry is NULL!\n");
 		}
 		// 调用参数控制函数
 		u32 result = paramEntry(m, (uvoid*)pmod->mParamaddr, len);
-=======
-//		paramset->GetParamEntry(m->GetModuleType())(m, (uvoid*)pmod->mParamaddr, len);
-		// 获取模块类型
-		u32 moduleType = m->GetModuleType();
-		// 从 paramset 中获取对应的参数控制函数指针
-		ParamCtrl_fn paramEntry = paramset->GetParamEntry(moduleType);
-		// 获取模块参数地址
-		void* paramAddr = (uvoid*)pmod->mParamaddr;
-		// 调用参数控制函数
-		u32 result = paramEntry(m, paramAddr, len);
->>>>>>> 0d5b7df96a2ee186b7b085dca9cf9a33f791c430
 
 	} while (size < nbytes);
 
 //	int ddr = sram_free_space(SRAM_DDR,mem_any);
 //	int ccm = sram_free_space(SRAM_L2,mem_any);
 //	int l1 = sram_free_space(SRAM_L1,mem_heap);
-//	printf("mListAdd:0x%x, ddr %d ccm %d l1 %d.\n", &mList, ddr, ccm ,l1);
+//	dbg_printf("mListAdd:0x%x, ddr %d ccm %d l1 %d.\n", &mList, ddr, ccm ,l1);
 
 //for (auto pl : mList) {
 //	delete pl;
 //	int l2mem = sram_free_space(SRAM_L2, mem_any);
-//	printf("L2mem %d\n", l2mem);
+//	dbg_printf("L2mem %d\n", l2mem);
 //}
 
 	if (size != nbytes) {
@@ -415,7 +362,7 @@
 	/*for (auto pt = mList.begin(); pt < mList.end(); pt++) {
 		IModule *p =  *pt._Myptr;
 		static int i = 0;
-		printf("%d, id %d, type %d\n",i++, p->GetModuleID(), p->GetModuleType());
+		dbg_printf("%d, id %d, type %d\n",i++, p->GetModuleID(), p->GetModuleType());
 	}*/
 
 	return 	ErrStatus::SUCCESS;
@@ -430,7 +377,7 @@
 	head->crc = 0;
 	tmp_crc = CRC::crc32(bin, nbytes);
 	if (tmp_crc != crc) {
-		printf("flowchar crc check fail.\n");
+		dbg_printf("flowchar crc check fail.\n");
 		return ErrStatus::ERR_PARAM;
 	}
 	processed = ufalse;
@@ -447,17 +394,14 @@
 ErrStatus ToB::toProc()
 {
 	if(processed) {
-		for (auto iter = mList.begin(); iter < mList.end(); iter++) {
-<<<<<<< HEAD
-//			if(((*iter)->GetModuleType() >= 6) && ((*iter)->GetModuleType() <= 6)) {
-=======
-//			if(((*iter)->GetModuleType() >= 9) && ((*iter)->GetModuleType() <= 9)) {
->>>>>>> 0d5b7df96a2ee186b7b085dca9cf9a33f791c430
+		for (auto iter : mList) {// = mList.begin(); iter < mList.end(); iter++) {
+//			if(((*iter)->GetModuleType() >= PROC_COMPRESS) && ((*iter)->GetModuleType() <= PROC_COMPRESS)) {
 //				printf("%d ", (*iter)->GetModuleID());
-				(*iter)->Proc();
+//				int ii = 2;
 //			}
+			iter->Proc();
 		}
-//		printf("\n");
+//		dbg_printf("\n");
 	}
 	else {
 		MuteOutput();
@@ -480,19 +424,19 @@
 /*ErrStatus ToB::toCtrl(u32 mID, u32 pID, const s16* val, u32 num)
 {
     if(mID >= mModuleIndex.size() || mModuleIndex[mID] == 0) {
-    	printf("ToB::toCtrl mID Error!\n");
+    	dbg_printf("ToB::toCtrl mID Error!\n");
         return ErrStatus::ERR_PARAM;
     }
 
     IModule* m = mList[mModuleIndex[mID]-1];
     if(!m) {
-    	printf("ToB::toCtrl m Error!\n");
+    	dbg_printf("ToB::toCtrl m Error!\n");
         return ErrStatus::ERR_PARAM;
     }
 
     auto entries  = paramset->GetEntries(m->GetModuleType());
     if(!entries.second) {
-    	printf("ToB::toCtrl entries Error!\n");
+    	dbg_printf("ToB::toCtrl entries Error!\n");
         return ErrStatus::ERR_METHOD;
     }
 
@@ -506,16 +450,16 @@
 	}
 
 	IModule* m = mList[mModuleIndex[mID]-1];
+//	if (m->GetModuleType() == PROC_CONTINUNOUS_SPL && pID == 9) {
+//		mID += 320;
+//		m = mList[mModuleIndex[mID]-1];
+//	}
+
 	if( m != NULL) {
-<<<<<<< HEAD
 //		m->Ctrl(pID, val, num);
 		paramset->GetCtrlEntry(m->GetModuleType())(m, pID, (s16*)val, num);
-=======
-		//m->Ctrl(pID, val, num);
-		paramset->GetCtrlEntry(m->GetModuleType())(m, pID, (s16*)val);
->>>>>>> 0d5b7df96a2ee186b7b085dca9cf9a33f791c430
 	}
-//	printf("mID:%d pID:%d val[0]:%d val[1]:%d\n",mID, pID, val[0], val[1]);
+//	dbg_printf("mID:%d pID:%d val[0]:%d val[1]:%d\n",mID, pID, val[0], val[1]);
 	return ErrStatus::SUCCESS;
 }
 
@@ -552,17 +496,17 @@
 }
 
 
-u32 ToB::GetLevels(s16* buffer)
+u32 ToB::GetLevels(s16* buffer, u32 level_max_len)
 {
-	u32 n =0,size =0;
-
+	u32 n=0, size =0;
+	u32 remain_len;
 	if( !processed ) {
 		return 0;
 	}
-	for (std::vector<IModule*>::iterator iter = mList.begin();
-		iter != mList.end() ; iter++) {
-		size = (*iter)->GetLevel(buffer + n );
-//		printf("proc %s level num:%d\n",type_string[(*iter)->GetModuleType()],size);
+	for (std::vector<IModule*>::iterator iter = mList.begin(); iter != mList.end(); iter++) {
+		remain_len = level_max_len - n;
+		size = (*iter)->GetLevel(buffer + n, remain_len);
+//		dbg_printf("proc:%s level num:%d remain:%d\n", type_string[(*iter)->GetModuleType()], size, remain_len);
 		n += size;
 	}
 

--
Gitblit v1.9.3