From 345edc823540089925b8ae60af34404d608fdfb4 Mon Sep 17 00:00:00 2001
From: chenlh <2008get@163.com>
Date: 星期四, 18 九月 2025 14:58:20 +0800
Subject: [PATCH] 首轮测试代码提交

---
 src/messageproc.cpp |   58 ++++++++++++++++++++++------------------------------------
 1 files changed, 22 insertions(+), 36 deletions(-)

diff --git a/src/messageproc.cpp b/src/messageproc.cpp
index bc6d6a6..ae301d5 100644
--- a/src/messageproc.cpp
+++ b/src/messageproc.cpp
@@ -34,7 +34,7 @@
 
 uvoid Message::ReportDspStatus(MSG* pmsg)
 {
-	s32 size = dsp_status_q.get_device_status_ptr(pmsg->data,MSG_DATA_LEN);
+	s32 size = dsp_status_q.get_device_status_ptr(pmsg->data, MSG_DATA_LEN);
 	if(size > 0) {
 		pmsg->Enc(MsgType::MSG_DSP_STATUS_REPORT, 0, size);
 		txQueue->Push(*pmsg);
@@ -47,16 +47,16 @@
 	int data_len;
 
 	ToB* tob = ToB::GetInstance();
-	u16 LevelCnt = tob->GetLevels(Levels);
+	u16 LevelCnt = tob->GetLevels(Levels);	//918 levels
 	u32 msgLen = LevelCnt * sizeof(*Levels);
-
-	int Packegs = (LevelCnt+MSG_DATA_LEN-1)/MSG_DATA_LEN;
+	int Packegs = (msgLen+MSG_DATA_LEN-1)/MSG_DATA_LEN;
 
 	pmsg->magic = 0x5aa5;
 //	pmsg->dataLen = LevelCnt;
 	pmsg->totalPkts = Packegs;
 //	pmsg->pktNo = 1;
 	pmsg->msgType = MSG_GET_LEVEL;
+	pmsg->msgID = LevelCnt;
 
 	// Split packeg
 	for(i=0; i<Packegs; i++){
@@ -67,11 +67,11 @@
 			data_len = MSG_DATA_LEN;
 		}
 
-		memcpy(pmsg->data, Levels + i * MSG_DATA_LEN, data_len);
-		pmsg->dataLen = LevelCnt;
+		memcpy(pmsg->data, Levels + i * MSG_DATA_LEN / sizeof(*Levels), data_len);
+		pmsg->dataLen = data_len;
 		pmsg->pktNo = i;
 
-		pmsg->Enc(MsgType::MSG_GET_LEVEL, 0, msgLen);
+		pmsg->Enc(MsgType::MSG_GET_LEVEL, 0, data_len);
 		txQueue->Push(*pmsg);
 	}
 }
@@ -91,14 +91,14 @@
 
 	if(tob != NULL && pmsg->pktNo == pmsg->totalPkts - 1) {
 		VarState& var = VarState::GetInstance();
-		u32 type = tob->GetModuleType(ptr->mid);
+//		u32 type = tob->GetModuleType(ptr->mid);
 		s32 data_num = (pmsg->totalPkts-1)*MSG_DATA_LEN+pmsg->dataLen;
 
 		s16* data = (s16*)(ptr + 1);
 
 		data_num = (data_num - sizeof(struct ParamCtrl))/sizeof(s16);
-
-		ptr->mid = var.pscene->get_module_id(ptr->mid, type, ptr->cmd) ;
+//		ptr->mid = var.pscene->get_module_id(ptr->mid, type, ptr->cmd) ;
+//		printf("mID:%d pID:%d val[0]:%d val[1]:%d\n",ptr->mid, ptr->cmd, data[0], data[1]);
 		tob->toCtrl(ptr->mid, ptr->cmd, data, data_num);
 	}
 
@@ -120,7 +120,7 @@
 		bin = (u8*)sram_malloc(SRAM_DDR, mem_any, pmsg->totalPkts*MSG_DATA_LEN);
 	}
 	if(bin == NULL) return -1;
-	printf("No:%d len %d\n", pmsg->pktNo,pmsg->dataLen);
+//	printf("No:%d len %d\n", pmsg->pktNo,pmsg->dataLen);
 	var.TopoLoading = utrue;
 	memcpy(bin+pmsg->pktNo*MSG_DATA_LEN, pmsg->data , pmsg->dataLen);
 
@@ -139,13 +139,14 @@
 				var.TopoStatus = PRESET_STA::PRESET_ERR;
 			}
 			else if(tob){
-				u8* content = (u8*)sram_malloc(SRAM_DDR, mem_any, 45128);//45*1024);
+				int preset_size = sizeof(tag_parameters); // 45128 + sizeof(tag_fir) * MAX_OUTPUT_NUM;	 // size + FIR
+				u8* content = (u8*)sram_malloc(SRAM_DDR, mem_any, preset_size);
 				s32 size ;
+
+				tob->toClear();
 
 				var.pscene->update_module();
 				size = var.pscene->convert_to_bin(content);
-
-				tob->toClear();
 				tob->toAnalysis(content, size);
 
 				sram_free(SRAM_DDR, content);
@@ -159,24 +160,9 @@
 	return 0;
 }
 
-/*void Message::param_init(ptag_device_config pDevCfg)
-{
-	pDevCfg->dual_dsp = 0;
-	pDevCfg->dsp_index = 0;
-	pDevCfg->local_rx_num = 16;
-	pDevCfg->local_tx_num = 16;
-	pDevCfg->dante_rx_num = 16;
-	pDevCfg->dante_tx_num = 16;
-	pDevCfg->external_clock = 1;
-	pDevCfg->scene_size = 1000;
-	pDevCfg->level_num = 10;
-	pDevCfg->modulelist = 9;
-	pDevCfg->hardware_type = 1;
-
-}*/
-
 s32 Message::HandshakeMessageProcess(MSG* pmsg)
 {
+//	s8 usb_rx_ch=2, usb_tx_ch=2;
 	VarState& var = VarState::GetInstance();
 
 	ptag_device_config device_config = (ptag_device_config)pmsg->data;
@@ -190,9 +176,9 @@
 		}
 
 //		param_init(device_config);
-		hw_adapter_t* _adapter = new tg_hw_adapter_t(device_config->dual_dsp,device_config->dsp_index
-							,device_config->local_rx_num,device_config->local_tx_num
-							,device_config->dante_rx_num,device_config->dante_tx_num);
+		hw_adapter_t* _adapter = new tg_hw_adapter_t(device_config->dual_dsp, device_config->dsp_index
+							,device_config->local_rx_num, device_config->local_tx_num
+							,device_config->dante_rx_num, device_config->dante_tx_num);
 		var.pscene = new(SRAM_DDR) tgScene(_adapter);
 
 		_adapter->config_board(&dspconfig);
@@ -206,7 +192,7 @@
 		//Config(conf);
 		RouteConfig(dspconfig.routes, dspconfig.mRouteNum);
 		SRCsConfig(0 , &dspconfig.srcs[0]);
-		SRCsConfig(1 , &dspconfig.srcs[4]);
+		SRCsConfig(1 , &dspconfig.srcs[1]);
 		PCGsConfig(dspconfig.pcgs);
 		SportsConfig(dspconfig.sports);
 		//LinportConfig(dspconfig.linkport);
@@ -215,7 +201,7 @@
 	}
 
 	Send(MsgType::MSG_ACK_REQ, 0 , 0);
-
+	printf("HandShake OK\n");
 	return 0;
 }
 
@@ -232,7 +218,7 @@
 		ParamCtrl(pmsg);
 		break;
 	case MsgType::MSG_GET_LEVEL:
-		//ReportLevel(pmsg);
+		ReportLevel(pmsg);
 		break;
 	case MsgType::MSG_PARAM_CONFIG:
 	case MsgType::MSG_PARAM_COMPLETED:

--
Gitblit v1.9.3