⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 l1tm_cust.c

📁 MMI层OBJ不能完全编译
💻 C
📖 第 1 页 / 共 3 页
字号:
  case TX_BURST_DATA:
    {
      value = l1_config.tmode.tx_params.burst_data;
      break;
    }
  case TX_TIMING_ADVANCE:
    {
      value = l1_config.tmode.tx_params.timing_advance;
      break;
    }
  case TX_TRAINING_SEQ:
    {
      value = l1_config.tmode.tx_params.tsc;
      break;
    }
  case TX_PWR_SKIP:
    {
      value = l1_config.tmode.tx_params.txpwr_skip;
      break;
    }
#if L1_GPRS
  case TX_GPRS_POWER0:
  case TX_GPRS_POWER1:
  case TX_GPRS_POWER2:
  case TX_GPRS_POWER3:
  case TX_GPRS_POWER4:
  case TX_GPRS_POWER5:
  case TX_GPRS_POWER6:
  case TX_GPRS_POWER7:
    {
      value = l1_config.tmode.tx_params.txpwr_gprs[index - TX_GPRS_POWER0];
      break;
    }
  case TX_GPRS_SLOTS:
    {
      value = l1_config.tmode.tx_params.timeslot_alloc;
      break;
    }
  case TX_GPRS_CODING:
    {
      value = l1_config.tmode.tx_params.coding_scheme;
      break;
    }


#endif
  default:
    {
      #if (ETM_PROTOCOL == 1)
        tm_return->status = -ETM_INVAL;
      #else
        tm_return->status = E_BADINDEX;
      #endif
      tm_return->size = 0;
      return;
    }
  } // end switch

  memcpy(tm_return->result, (UWORD8 *)&value, 2);
  tm_return->size = 2;
#if (ETM_PROTOCOL == 1)
  tm_return->status = -ETM_OK;
#else
  tm_return->status = E_OK;
#endif
}

void Cust_tm_tx_template_write(T_TM_RETURN *tm_return, WORD8 index, UWORD8 size, UWORD8 table[])
{
  if (index >= sizeof(rf_band[tm_band].tx.ramp_tables)/sizeof(T_TX_RAMP))
  {
      #if (ETM_PROTOCOL == 1)
        tm_return->status = -ETM_INVAL;
      #else
        tm_return->status = E_BADINDEX;
      #endif
  }
  else if (size != sizeof(T_TX_RAMP))
  {
    // We are writing both the up and down ramps; size must be exact.
    #if (ETM_PROTOCOL == 1)
      tm_return->status = -ETM_NOMEM;
    #else
      tm_return->status = E_BADSIZE;
    #endif
  }
  else
  {
    memcpy(rf_band[tm_band].tx.ramp_tables[index].ramp_up, &table[0], size/2);
    memcpy(rf_band[tm_band].tx.ramp_tables[index].ramp_down, &table[size/2], size/2);
  #if (ETM_PROTOCOL == 1)
    tm_return->status = -ETM_OK;
  #else
    tm_return->status = E_OK;
  #endif
    l1_config.tmode.rf_params.reload_ramps_flag = 1;
  }

  tm_return->index = index;
  tm_return->size = 0;
}

void Cust_tm_tx_template_read(T_TM_RETURN *tm_return, WORD8 index)
{
  tm_return->index = index;

  if (index >= sizeof(rf_band[tm_band].tx.ramp_tables)/sizeof(T_TX_RAMP))
  {
      #if (ETM_PROTOCOL == 1)
        tm_return->status = -ETM_INVAL;
      #else
        tm_return->status = E_BADINDEX;
      #endif
    tm_return->size = 0;
    return;
  }

  memcpy(&tm_return->result[0], rf_band[tm_band].tx.ramp_tables[index].ramp_up, sizeof(rf_band[tm_band].tx.ramp_tables[index].ramp_up));
  memcpy(&tm_return->result[sizeof(rf_band[tm_band].tx.ramp_tables[index].ramp_up)], rf_band[tm_band].tx.ramp_tables[index].ramp_down, sizeof(rf_band[tm_band].tx.ramp_tables[index].ramp_down));
  tm_return->size = sizeof(rf_band[tm_band].tx.ramp_tables[index]);
#if (ETM_PROTOCOL == 1)
  tm_return->status = -ETM_OK;
#else
  tm_return->status = E_OK;
#endif
}

void Cust_tm_special_param_write(T_TM_RETURN *tm_return, WORD16 index, UWORD16 value)
{
  tm_return->size = 0;
  tm_return->index = index;
  tm_return->status = E_NOSYS;
/*tcs2114 porting by he jun --- begin*/
  //xmzhou_trace_string("Cust_tm_special_param_write called");
  
  switch(index)
  {
    case 0:
    {
        //extern void mms_run_test_id (UINT16 usTestId);
        tm_return->status = E_OK;
        //xmzhou_trace_string_value("spw 0", value);
        
        break;
     }
    case 1://AMR record
    {
        //xmzhou_trace_string("Cust_tm_special_param_write case1");
        //amr_record(value);
        break;
    }
    case 2://AMR Play
    {
        //xmzhou_trace_string("Cust_tm_special_param_write case2");
      //amr_play_test(value);
        break;
    }
    case 3://Change post trunck size
    {
        //extern void MmsSetMaxchunkSize (UINT16 usChunckSize);
        //xmzhou_trace_string("Cust_tm_special_param_write case3");
        //xmzhou_trace_string_value("post trunck size be set as ", value);
        
       
        break;
    }
    case 4://OPEN UDP PDU DUMP
    {
        //xmzhou_trace_string("Cust_tm_special_param_write case4");        
        //xmzhou_trace_string("Open UDP PDU DUMP");        
        
        break;
    }
    case 5://Close UDP PDU DUMP
    {
        //xmzhou_trace_string("Cust_tm_special_param_write case5");        
        //xmzhou_trace_string("Close UDP PDU DUMP"); 
        
        break;
    }
    /*-----------------------------------------------------------------------*/
    /* wangwang : mostly like the spr command,there are also some spw command 
                  not used in this table,so choose 10 as the test
       061016*/
    case 10:   // spw 10 0x... 
    {
      extern UINT16 dar_lcd_sleep_flag;
      LCC_TRACE(0xffffffff,"spw value is %x",value);

      dar_lcd_sleep_flag = value;
      
      tm_return->status = E_OK;


    }
      break;

    // used any command to reset,restart,display on etc of the LCD
    // 061016
    case 15:  // spw 15 .... notice the format different above
    {
      extern void ETM_Cmd_Operate_Lcd(UINT8 lcd_state);
      ETM_Cmd_Operate_Lcd(value); 

      
      tm_return->status = E_OK;



    }
     break;

    /*-------------------------------------------------------------------------*/
    default:
      tm_return->status = E_BADINDEX;
    }
/*tcs2114 porting by he jun --- end*/
}

void Cust_tm_special_param_read(T_TM_RETURN *tm_return, WORD16 index)
{
/*tcs2114 porting by he jun --- begin
  tm_return->size = 0;
  tm_return->index = index;
  tm_return->status = E_NOSYS;*/
    tm_return->index = index;
	switch (index)
	{
  	case 4:/*read network status*/
  		 tm_return->size = 1;
  		if(em_read_netstatus((char *)tm_return->result) ==1)
  		 	tm_return->status = E_OK;
  		 else
  		 	tm_return->status = E_AGAIN;

		break;
		
  	case 1:/*read call status*/
  		tm_return->size = 1;
  		if(em_read_ccstatus((char *)tm_return->result) ==1)
  		 	tm_return->status = E_OK;
  		 else
  		 	tm_return->status = E_AGAIN;
		  		 
  		break;
		
  	case 2:/*read bsn*/
  		 tm_return->size = 18;
  		 if(em_read_sn((char *)tm_return->result) ==1)
  		 	tm_return->status = E_OK;
  		 else
  		 	tm_return->status = E_AGAIN;
		 
  		break;
		
  	case 3: /*read imei*/
  		tm_return->size = 16;
  		if(em_read_imei((char *)tm_return->result) ==1)
  		 	tm_return->status = E_OK;
  		 else
  		 	tm_return->status = E_AGAIN;

		break;
	case 7:
		 tm_return->size = 16;
  		 if(em_read_bt_address((char *)tm_return->result) ==1)
  		 	tm_return->status = E_OK;
  		 else
  		 	tm_return->status = E_AGAIN;

		break;
	case 8:
		tm_return->size = 2;
  		if(em_read_bt_trim((char *)tm_return->result) ==1)
  		 	tm_return->status = E_OK;
  		else
  		 	tm_return->status = E_AGAIN;
  		break;
   /*------------------------------------------------------------------------*/
   /* wangwang : special param read from 1 to 16 supported according etm1.8.0
                 so I can use the rest of unused index to satify our requirment
                 spr 10 : for dar_lcd_sleep_flag
                 spr 11 : for dar_previous_status
                 spr 12 : for dar_current_status
      061016*/
    case 10:
      /* now just return the dar_lcd_sleep_flag ,a uint16 's value */
      {
      extern UINT16 dar_lcd_sleep_flag;

      tm_return->size=2;
      tm_return->result[0] = (dar_lcd_sleep_flag)&0xff;
      tm_return->result[1] = (dar_lcd_sleep_flag>>8)&0xff;
 

     	LCC_TRACE(0xffffffff,"spr is 0x%x,result 0 =%d,result 1=%d",
        dar_lcd_sleep_flag,tm_return->result[0],tm_return->result[1]);

      tm_return->status = E_OK;
      }
      break;
    case 11:       // read dar_previous_status
    {
      extern UINT16 dar_previous_status;
      tm_return->size=2;

      tm_return->result[0] = (dar_previous_status)&0xff;
      tm_return->result[1] = (dar_previous_status>>8)&0xff;

      tm_return->status = E_OK;

    }
      break;
    case 12:   // read dar_current_status
    {
      extern UINT16 dar_current_status;
      tm_return->size=2;

      tm_return->result[0] = (dar_current_status)&0xff;
      tm_return->result[1] = (dar_current_status>>8)&0xff;
      tm_return->status = E_OK;

    }

      break;
    /*--------------------------------------------------------------------*/
    default: /*出错处理*/
       
   		tm_return->size = 0;
		tm_return->status = E_NOSYS;
		break; 	
		
  	}
	/*/*tcs2114 porting by he jun --- end*/
}

void Cust_tm_special_table_write(T_TM_RETURN *tm_return, WORD8 index, UWORD8 size, UWORD8 table[])
{
/*tcs2114 porting by he jun --- begin
  tm_return->size = 0;
  tm_return->index = index;
  tm_return->status = E_NOSYS;*/

	tm_return->size = 0;
	tm_return->index = index;

	switch (index)
  	{
  	case 0:/*write bsn*/
  		if(em_write_sn((char *)table) ==1)
  			tm_return->status = E_OK;
  		else
  			tm_return->status = E_AGAIN;
  		break;
		
  	case 1: /*write imei*/
  		if(em_write_imei((char *)table) ==1)
  			tm_return->status = E_OK;
  		else
  			tm_return->status = E_AGAIN;
  		
  		break;
		
  	case 2:
  		switch(table[0])
  		{
  		case 0:
  			em_test(23);
  			break;
  		case 1:
  			em_test(24);
  			break;
  		case 2:
  			em_test(25);
  			break;
  		case 3:
  			em_test(26);
  			break;
  		case 4:
  			em_test(27);
  			break;
  		case 5:
  			em_test(28);
  			break;
  		case 6:
  			em_test(29);
  			break;
  		default:
  			break;
  		}
  		tm_return->status = E_OK;
  		break;
		
  	case 3:
  		switch(table[0])
  		{
  		case 0:/*red led*/
  			em_test(20);
  			break;
  		case 1:/*green led*/
  			em_test(21);
  			break;
  		case 2:/*blue led*/
  			em_test(22);
  			break;
  		default:
  			break;
  		}
  		tm_return->status = E_OK;
  		break;
  	
	case 4:  /*write bt addess*/
  		if(em_write_bt_address((char *)table) ==1)
  			tm_return->status = E_OK;
  		else
  			tm_return->status = E_AGAIN;
  		
  		break;

	case 5:  /*write bt trim*/
  		if(em_write_bt_trim((char *)table) ==1)
  			tm_return->status = E_OK;
  		else
  			tm_return->status = E_AGAIN;	
  		break;	
	
	default:
       	tm_return->status = E_NOSYS;  	
		break;		
	}
/*tcs2114 porting by he jun --- end*/	
}

void Cust_tm_special_table_read(T_TM_RETURN *tm_return, WORD8 index)
{
  tm_return->size = 0;
  tm_return->index = index;
#if (ETM_PROTOCOL == 1)
  tm_return->status = -ETM_NOSYS;
#else
  tm_return->status = E_NOSYS;
#endif  
}

void Cust_tm_special_enable(T_TM_RETURN *tm_return, WORD16 action)
{
/*tcs2114 porting by he jun --- begin
  tm_return->size = 0;
  tm_return->index = action;
  tm_return->status = E_NOSYS;*/

	tm_return->size = 0;
  	tm_return->index = action;

	switch (action)
  	{
  	case 0:/*received*/
  		em_test(0);
  		tm_return->status = E_OK;
  		break;
		
  	case 1:/*reject*/
  		em_test(1);
  		 tm_return->status = E_OK;
  		break;
		
  	case 2: /*midi on*/
  		em_test(2); 
  		 tm_return->status = E_OK;
  		break;
		
  	case 3: /*midi off*/
  		em_test(3);
  		tm_return->status = E_OK;
  		break;
		
  	case 4: /* 开始键盘测试*/
  		 em_test(4);
  		 tm_return->status = E_OK;
  		break;
		
  	case 5: /*结束键盘测试*/
  		 em_test(5);
  		 tm_return->status = E_OK;
  		break;
		
  	case 6:
  		/*call 112*/
  		 em_test(6);
  		 tm_return->status = E_OK;
  		break;
		
  	case 7: 
  		em_test(7); /*LCD test mode open*/
  		tm_return->status = E_OK;
  		break;
		
  	case 8: 
  		em_test(8); /*LCD test mode close*/
  		tm_return->status = E_OK;
  		break;
		
  	case 9: /*rebuild ffs*/
		tm_return->status = E_NOSYS;
  		break;
		
  	case 10: /*format FFS*/
		em_rebuild_ffs();
		tm_return->status = E_OK;
  		break;
		
  	case 11:/*震动开启*/
		em_test(11);
  		tm_return->status = E_OK;
  		break;
		
    case  12:/*震动关闭*/
        em_test(12); 
  		tm_return->status = E_OK;
  		break;
		
  	case 13:/*关机*/
        em_test(13);  
  		tm_return->status = E_OK;
  		break;
  	
  	/*chenjun add for gprs fuction 030217*/	
  	case 16:/*开启GPRS*/
  	     if(em_test(16) == -1)/*开启GPRS失败*/
  	        tm_return->status = E_AGAIN;
  	     else
  	     	tm_return->status = E_OK;   
  	     break;
		 
  	case 17:/*关闭GPRS*/
  	     if(em_test(17)== -1)/*关闭GPRS失败*/
  	     	tm_return->status = E_AGAIN;
  	     else
  	        tm_return->status = E_OK;
         break;
        /*end chenjun add for gprs fuction 030217*/
		
	 case 18:
	       em_test(30);  
  		tm_return->status = E_OK;
	 	break;
	 case 19:
	 	em_test(31);
		tm_return->status = E_OK;
		break;

     case 20:
        em_test(40);
        tm_return->status = E_OK;
        break;

    /*------------------------------------------------------------*/
    /* wangwang : just for test 
       060929*/
	  case 200:
    case 201:
    case 202:
    case 203:
    case 204:
    case 205:
      em_test(action);
      tm_return->status = E_OK;
      break;
    /*---------------------------------------------------------------*/
    default:
       	tm_return->status = E_BADINDEX;
  	    break;		
  }
/*tcs2114 porting by he jun --- end*/	
}


#endif // TESTMODE

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -