chenlh
2025-09-18 8445c54f01777513912d4c6d36c28e92a0ff33a0
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,20 @@
   int data_len;
   ToB* tob = ToB::GetInstance();
   u16 LevelCnt = tob->GetLevels(Levels);
<<<<<<< HEAD
   u16 LevelCnt = tob->GetLevels(Levels);   //918 levels
=======
   u16 LevelCnt = tob->GetLevels(Levels);   //864 levels
>>>>>>> 0d5b7df96a2ee186b7b085dca9cf9a33f791c430
   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 +71,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 +95,18 @@
   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) ;
<<<<<<< HEAD
//      printf("mID:%d pID:%d val[0]:%d val[1]:%d\n",ptr->mid, ptr->cmd, data[0], data[1]);
=======
      ptr->mid = var.pscene->get_module_id(ptr->mid, type, ptr->cmd) ;
>>>>>>> 0d5b7df96a2ee186b7b085dca9cf9a33f791c430
      tob->toCtrl(ptr->mid, ptr->cmd, data, data_num);
   }
@@ -120,7 +128,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 +147,23 @@
            var.TopoStatus = PRESET_STA::PRESET_ERR;
         }
         else if(tob){
<<<<<<< HEAD
            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);
=======
            u8* content = (u8*)sram_malloc(SRAM_DDR, mem_any, 45128);//45*1024);
>>>>>>> 0d5b7df96a2ee186b7b085dca9cf9a33f791c430
            s32 size ;
            tob->toClear();
            var.pscene->update_module();
            size = var.pscene->convert_to_bin(content);
<<<<<<< HEAD
=======
            tob->toClear();
>>>>>>> 0d5b7df96a2ee186b7b085dca9cf9a33f791c430
            tob->toAnalysis(content, size);
            sram_free(SRAM_DDR, content);
@@ -177,6 +195,7 @@
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 +209,15 @@
      }
//      param_init(device_config);
<<<<<<< HEAD
      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);
>>>>>>> 0d5b7df96a2ee186b7b085dca9cf9a33f791c430
      var.pscene = new(SRAM_DDR) tgScene(_adapter);
      _adapter->config_board(&dspconfig);
@@ -206,7 +231,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 +240,7 @@
   }
   Send(MsgType::MSG_ACK_REQ, 0 , 0);
   printf("HandShake OK\n");
   return 0;
}
@@ -232,7 +257,7 @@
      ParamCtrl(pmsg);
      break;
   case MsgType::MSG_GET_LEVEL:
      //ReportLevel(pmsg);
      ReportLevel(pmsg);
      break;
   case MsgType::MSG_PARAM_CONFIG:
   case MsgType::MSG_PARAM_COMPLETED: