亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? hs.cpp

?? 這是一個手機校準程序
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
// hs.cpp
// (c) Mobilink Telecom 1999, 2000
//
// Nick Steffen
// May 11, 2000
//
// Adapted from original calibration code
//
// Rev. 0 May 11, 2000
//
// June 27, 2000
// Added pac_cal_type data member & manipulation functions
//

#include "caltypes.h"
#include <stdio.h>
#include <io.h>
#include <math.h>
#include <time.h>
#include <afxwin.h>
#include <afxdlgs.h>
#include <assert.h>
#include "HS.h"

#define		STRING_END		0x00
#define		LINE_FEED		0x0a
#define		CARRIAGE_RETURN	0x0d
#define		SPACE_KEY		0x20
#define		BACKSPACE_KEY	0x08
#define		TAB_KEY			0x09
#define		WAITING_TIME	3		//seconds
#define		MAX_CHECK_LINE	50


//*******************************************************************************
hs::hs()
  {
  strcpy(HSMsg[0].command,"RXLEV");
  HSMsg[0].num_parm=1;
  strcpy(HSMsg[1].command,"RAMP");
  HSMsg[0].num_parm=19;
  strcpy(HSMsg[2].command,"GSYS");
  HSMsg[0].num_parm=1;
  strcpy(log_filename,"cal_log.txt");
  logging=0;
  }

//*******************************************************************************
HANDLE hs::HS_GetDeviceHandle()
  {
  return CommDesc.Sio;
  }

//*******************************************************************************
void hs::HS_CloseComPort()
  {

  CloseHandle(CommDesc.Sio);
  }

//*******************************************************************************
void hs::HS_SetPACCalType(PACCalType_t type)
  {

  pac_cal_type=type;
  }

//*******************************************************************************
void hs::HS_GetPACCalType(PACCalType_t *type)
  {

  *type=pac_cal_type;
  }

//*******************************************************************************
void hs::HS_SetLogFilename(char *filename)
  {
  
  strcpy(log_filename,filename);
  }

//*******************************************************************************
void hs::HS_LogSIO(char *buf)
  {
  HANDLE hFile;
  unsigned long fp;
  unsigned long count;
  char cr[2]={0x0d,0x0a};

  if(logging)
    {
    hFile=CreateFile(log_filename,GENERIC_WRITE,FILE_SHARE_READ,NULL,
                     OPEN_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
// go to end of file
    fp=SetFilePointer (hFile,0,NULL, FILE_END); 
    WriteFile(hFile,buf,strlen(buf),&count,NULL);
    WriteFile(hFile,cr,2,&count,NULL); // append a newline
    CloseHandle(hFile);
    }
  }


//*******************************************************************************
void hs::HS_EnableLogging(BOOL enable)
  {
  logging=enable;
  }

//*******************************************************************************
void hs::HS_SetComPort(ComPort_t comport)
  {
  ComPort=comport;
  }

//*******************************************************************************
BOOL hs::HS_InitComPort()
  {
	BOOL	fStatus;

	switch(ComPort)
    {
	  case COM1:
		strcpy(CommDesc.ComId, "COM1");
		break;
	  case COM2:
		strcpy(CommDesc.ComId, "COM2");
		break;
	  case COM3:
		strcpy(CommDesc.ComId, "COM3");
		break;
	  case COM4:
		strcpy(CommDesc.ComId, "COM4");
		break;
	  case COM5:
		strcpy(CommDesc.ComId, "COM5");
		break;
	  case COM6:
		strcpy(CommDesc.ComId, "COM6");
		break;
	  case COM7:
		strcpy(CommDesc.ComId, "COM7");
		break;
	  case COM8:
		strcpy(CommDesc.ComId, "COM8");
		break;
	  default: break;
    }

	//--- create communication
	CommDesc.Sio = CreateFile(
			CommDesc.ComId,
			GENERIC_READ | GENERIC_WRITE,
	    0,                    							// exclusive access
    	NULL,                 							// no security attrs
      OPEN_EXISTING,									
	    FILE_ATTRIBUTE_NORMAL |
			FILE_FLAG_OVERLAPPED,
			NULL
			);
	//--- check if we can open the port		
	if( CommDesc.Sio == (HANDLE) (-1) )
    {
		return FALSE;
    }

	//----- Initialize Serial Port
	// create I/O event used for overlapped reads / writes
	CommDesc.olRead.hEvent = CreateEvent(
						NULL,    // no security
            TRUE,    // explicit reset req
            FALSE,   // initial event reset
            NULL ) ; // no name

	CommDesc.olWrite.hEvent = CreateEvent(
						NULL,    // no security
            TRUE,    // explicit reset req
            FALSE,   // initial event reset
            NULL ) ; // no name

	CommDesc.Dcb.DCBlength = sizeof( DCB ) ;

	//--- set port

	fStatus=GetCommState( CommDesc.Sio, &(CommDesc.Dcb) ) ;

  CommDesc.Dcb.BaudRate = CBR_115200;

	CommDesc.Dcb.ByteSize = 8 ;
	CommDesc.Dcb.Parity   = NOPARITY ;
	CommDesc.Dcb.StopBits = ONESTOPBIT ;
	CommDesc.Dcb.fInX     = 0 ;
	CommDesc.Dcb.fOutX    = 0 ;
	// other various settings
	CommDesc.Dcb.fBinary = TRUE ;
	CommDesc.Dcb.fParity = TRUE ;

	fStatus=SetCommState( CommDesc.Sio, &(CommDesc.Dcb) ) ;

  // get any early notifications
  fStatus=SetCommMask( CommDesc.Sio, EV_RXCHAR ) ;
  // setup device buffers
  fStatus=SetupComm( CommDesc.Sio, 4096, 4096 ) ;
  // purge any information in the buffer
  fStatus=PurgeComm( CommDesc.Sio, PURGE_TXABORT | PURGE_RXABORT | PURGE_TXCLEAR | PURGE_RXCLEAR ) ;

  SioPurge();   // empty buffers
	SioSendCR();  // prompt the phone
	Sleep(1000);  // wait for phone's response
/*
// read all available characters
    {
    unsigned char c;
    while(ReceiveChar(&c)==TRUE)
      {
      }
    }
*/
	SioPurge();   // and purge it

	return TRUE;
  }


//*******************************************************************************
BOOL hs::HS_GetHSRxlev(UInt16 *Rxlev)
  {
	Int16 i;
	UInt8 NumParm;
	Parm_t Parm;
	Cmd_t Cmd;

  SioPurge();   // empty buffers
	//Send request 
	SioSendString("rxlev?\n"); //0 = GSM

	Sleep(250);
	for(i=0; i< 10; i++)
    {
		if(!SioReadOneLine(&Cmd, &NumParm, &Parm))
      {
			return FALSE;
      }
		if(strcmp((char *)Cmd, HSMsg[0].command) == 0)
      {
			*Rxlev = Parm[0];
			return TRUE;
      }
    }
	return FALSE;
  }

//*******************************************************************************
BOOL hs::HS_GetHSCurRamp(BandIndex_t BandIndex, Parm_t *p)
  {
	Int8 i;
	UInt8 NumParm;
	Parm_t Parm;
	Cmd_t Cmd;
	Int8 buf[50];
	Int8 BandIndex_850;

// empty the SIO buffer before query
  SioPurge();
	Sleep(10);
	if(BandIndex==3)
		BandIndex_850=0;
	else
		BandIndex_850=BandIndex;
	sprintf((char *)buf,"ramplist? %d\n",BandIndex_850);
	SioSendString(buf); //0 = GSM

	//wait 
	Sleep(100);
	for(i=0; i< MAX_CHECK_LINE; i++)
    {
		if(!SioReadOneLine(&Cmd, &NumParm, &Parm))
      {
			return FALSE;
      }
		if(strcmp(Cmd, HSMsg[1].command) == 0)
      {
			memcpy(p, &Parm[0], sizeof(Parm_t));
			return TRUE;
      }
    }
	return FALSE;
  }

//*******************************************************************************
BOOL hs::HS_GetHSCurGsys(BandIndex_t BandIndex, UInt16 GsysIndex, Int16	*GsysVal)
  {
	Int8 i;
	UInt8 NumParm;
	Parm_t Parm;
	Cmd_t Cmd;
	Int8 buf[50];
	Int8 BandIndex_850;

    SioPurge();   // empty buffers
	if(BandIndex==GSM850)
		BandIndex_850=0;
	else
		BandIndex_850=BandIndex;
	sprintf((char *)buf,"gsys? %d %d\n",BandIndex_850, GsysIndex);
	SioSendString(buf); //0 = GSM

	Sleep(500);

  for(i=0; i< 3; i++)
    {
		if(!SioReadOneLine(&Cmd, &NumParm, &Parm))
      {
			return FALSE;
      }
		if(strcmp(Cmd, HSMsg[2].command) == 0)
      {
			*GsysVal = Parm[0];
			return TRUE;
      }
    } 
	return FALSE;
  }	


//*******************************************************************************
//--- receive one char from UART when data ready
BOOL hs::ReceiveChar(UInt8 *ReceivedCh)
  {

	DWORD ErrorFlags;
	COMSTAT	ComStat;
	Int8 RdBuf;
	DWORD RecLength;
	BOOL  flag= FALSE;
	clock_t	start, current;

	start = clock();
	ClearCommError(CommDesc.Sio, &ErrorFlags, &ComStat);

	while(!ReadFile( CommDesc.Sio, &RdBuf, 1, &RecLength, &(CommDesc.olRead) ) )
    {
		if( GetLastError() == ERROR_IO_PENDING)
      {
			//pending but still return FALSE, if no charactar is received yet.
			while ( !GetOverlappedResult( CommDesc.Sio, &(CommDesc.olRead), &RecLength, FALSE) )
        {
				current = clock();
				if (current > start + WAITING_TIME * CLOCKS_PER_SEC )
          {
					return FALSE;
          }

				if( GetLastError() == ERROR_IO_INCOMPLETE ) continue;
				else
          {
					ClearCommError( CommDesc.Sio, &ErrorFlags, &ComStat);
					break;
          }
        }
			flag = TRUE;
      }
		else
      {
			ClearCommError( CommDesc.Sio, &ErrorFlags, &ComStat);
      }
		current = clock();
		if (current > start + WAITING_TIME * CLOCKS_PER_SEC )
      {
			return FALSE;
      }
    }	

	*ReceivedCh = RdBuf;
	return TRUE;
  }

//*******************************************************************************
void hs::HS_SetBand(BandIndex_t band)
  {
	Int8 buf[30];
	
	if(band==PCS || band==GSM850)
    {
		sprintf(buf,"ISPCS 1\n");
    }
	else
    {
		sprintf(buf,"ISPCS 0\n");
    }
	SioSendString(buf);
  }


//*******************************************************************************
void hs::HS_SetArfcn(UInt16 arfcn)
  {
	Int8 buf[30];

	sprintf(buf,"arfcn %d\n",arfcn);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
51午夜精品国产| 亚洲色图在线看| 日韩精品一区二区三区四区 | 欧美一级爆毛片| 亚洲美女屁股眼交3| 亚洲欧洲一区二区在线播放| 国产午夜精品久久久久久免费视 | 日韩理论在线观看| 亚洲摸摸操操av| 一区二区三区.www| 亚洲尤物视频在线| 亚洲成a人v欧美综合天堂下载 | 国产精品一区二区91| 国产精品一线二线三线精华| 国产米奇在线777精品观看| 国产精品一品视频| 国产999精品久久久久久| 国产成人精品综合在线观看| 99国产精品久| 欧美在线999| 91麻豆精品国产综合久久久久久| 欧美一级夜夜爽| 精品粉嫩超白一线天av| 欧美激情综合在线| 一区二区三区精品视频| 偷拍亚洲欧洲综合| 国内精品不卡在线| 99riav久久精品riav| 91福利区一区二区三区| 91精品国产黑色紧身裤美女| 久久―日本道色综合久久| 国产精品久久三区| 亚洲一区二区三区在线| 日本欧美在线看| 国产成人精品免费| 欧美影片第一页| 久久综合色鬼综合色| 国产精品热久久久久夜色精品三区| 亚洲男同性恋视频| 蜜桃视频在线观看一区| 精品国内二区三区| 综合久久久久久| 麻豆极品一区二区三区| 懂色av一区二区三区免费看| 91福利在线观看| 久久这里都是精品| 亚洲综合成人在线| 国产精品一区二区三区网站| 日韩一卡二卡三卡国产欧美| 夜夜嗨av一区二区三区四季av | 成人激情文学综合网| 在线看国产日韩| 久久综合九色综合97婷婷女人 | 国精产品一区一区三区mba桃花| 精品国产一区二区三区不卡| 久久国产生活片100| 久久久不卡网国产精品一区| 97精品久久久午夜一区二区三区| 亚洲精品日韩综合观看成人91| 欧美午夜免费电影| 美国毛片一区二区| 亚洲国产高清在线| 欧美日韩精品福利| 国产精品一区二区久激情瑜伽| 亚洲狼人国产精品| 91精品免费在线| 成人国产精品视频| 日韩精品一二区| 国产午夜精品福利| 欧美视频一二三区| 国产精品自产自拍| 一区二区三区在线视频观看58| 日韩午夜激情电影| 91视频com| 韩日精品视频一区| 亚洲精品国产无天堂网2021| 欧美大白屁股肥臀xxxxxx| 成人动漫一区二区在线| 日本不卡不码高清免费观看| 国产精品久久久久影院色老大| 777a∨成人精品桃花网| av成人免费在线| 蜜臀av一区二区在线观看| 综合婷婷亚洲小说| 久久亚洲精品小早川怜子| 欧美性受xxxx黑人xyx性爽| 成人97人人超碰人人99| 久久精品国产**网站演员| 亚洲国产欧美日韩另类综合| 国产午夜精品在线观看| 日韩一区二区电影在线| 欧美在线三级电影| 99re热这里只有精品免费视频| 国产精品一区不卡| 美日韩一区二区| 午夜精品久久久久久不卡8050| 亚洲天堂2014| 国产精品国模大尺度视频| 亚洲精品国产精品乱码不99| 欧美激情一区二区三区四区 | 国产自产2019最新不卡| 视频一区在线播放| 亚洲一区av在线| 亚洲另类色综合网站| 国产精品免费丝袜| 久久蜜桃香蕉精品一区二区三区| 日韩三级电影网址| 日韩欧美在线影院| 欧美一区二区三区免费| 欧美一区二区三区四区久久| 欧美日本不卡视频| 欧美日韩久久久一区| 欧美日韩和欧美的一区二区| 欧洲精品在线观看| 欧美日韩高清在线| 欧美高清精品3d| 欧美精品久久99久久在免费线| 欧美日韩午夜精品| 欧美老女人第四色| 日韩你懂的在线观看| 日韩一级大片在线| xfplay精品久久| 国产情人综合久久777777| 国产肉丝袜一区二区| 国产精品久久久久影视| 亚洲精品水蜜桃| 三级一区在线视频先锋| 青青草国产成人99久久| 九色综合狠狠综合久久| 国产精品一二二区| 99视频精品全部免费在线| 欧美在线啊v一区| 精品理论电影在线观看 | 99re这里都是精品| 欧美性猛交一区二区三区精品| 欧美日韩精品二区第二页| 日韩欧美精品在线视频| 中文字幕精品一区| 亚洲高清在线精品| 黑人巨大精品欧美一区| 91麻豆福利精品推荐| 在线成人高清不卡| 久久久久久久久免费| 一区在线观看免费| 日韩精品1区2区3区| 国产精品一线二线三线精华| 一本一道久久a久久精品综合蜜臀| 7777精品伊人久久久大香线蕉经典版下载 | 国产精品久久久久久久午夜片| 亚洲黄色性网站| 精品无人码麻豆乱码1区2区 | www.久久久久久久久| 欧美亚洲动漫制服丝袜| 欧美成人精品福利| 中文字幕一区二区在线观看| 视频在线观看一区二区三区| 韩国女主播成人在线观看| 97se亚洲国产综合在线| 91精品国产色综合久久ai换脸| 亚洲国产成人自拍| 日日摸夜夜添夜夜添亚洲女人| 粉嫩aⅴ一区二区三区四区| 欧美在线小视频| 国产精品久久久久久久久图文区 | 91在线无精精品入口| 欧美一级片在线观看| 亚洲欧洲在线观看av| 美女脱光内衣内裤视频久久网站| 91在线porny国产在线看| 欧美成人精品1314www| 香蕉影视欧美成人| gogo大胆日本视频一区| 日韩美女在线视频| 日韩中文字幕亚洲一区二区va在线 | 日本不卡不码高清免费观看| 91色视频在线| 中文字幕在线播放不卡一区| 国产一区91精品张津瑜| 日韩欧美一级精品久久| 亚洲国产精品一区二区久久| 91小视频免费观看| 免费在线看成人av| 欧美久久久一区| 亚洲精品久久嫩草网站秘色| 国产99久久久国产精品潘金 | 欧美卡1卡2卡| 亚洲国产日韩精品| 在线视频国内自拍亚洲视频| 中文字幕中文乱码欧美一区二区| 国产一区二区久久| 欧美一级欧美一级在线播放| 亚洲图片欧美一区| 色系网站成人免费| 18欧美乱大交hd1984| 99精品久久久久久| 亚洲免费av在线| 色狠狠色狠狠综合| 亚洲综合丁香婷婷六月香| 91久久精品日日躁夜夜躁欧美| 亚洲欧美日韩久久精品|