| | |
| | | int data_len; |
| | | |
| | | ToB* tob = ToB::GetInstance(); |
| | | u16 LevelCnt = tob->GetLevels(Levels); |
| | | u16 LevelCnt = tob->GetLevels(Levels); //864 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++){ |
| | |
| | | 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); |
| | | } |
| | | } |
| | |
| | | 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) ; |
| | | tob->toCtrl(ptr->mid, ptr->cmd, data, data_num); |
| | | } |
| | | |
| | |
| | | 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); |
| | | |
| | |
| | | ParamCtrl(pmsg); |
| | | break; |
| | | case MsgType::MSG_GET_LEVEL: |
| | | //ReportLevel(pmsg); |
| | | ReportLevel(pmsg); |
| | | break; |
| | | case MsgType::MSG_PARAM_CONFIG: |
| | | case MsgType::MSG_PARAM_COMPLETED: |