📄 fidelix toolsview.cpp
字号:
m_test_phase ++;
break;
case CHECK_ID:
ATstr = "AT+GMM\r";
pserialthread->m_Serial.SendData( ATstr );
m_test_count = TIMEOUT;
m_test_phase ++;
break;
case CHECK_MI:
ATstr = "AT+GMI\r";
pserialthread->m_Serial.SendData( ATstr );
m_test_count = TIMEOUT;
m_test_phase ++;
break;
case CHECK_PING:
ATstr = "AT$FXPING\r";
pserialthread->m_Serial.SendData( ATstr );
m_test_count = TIMEOUT;
m_test_phase ++;
break;
// case 3:
// m_test_flag = FALSE;
// m_test_count = 0;
// m_test_phase = 0;
// break;
default:
if( m_test_count != 0 )
m_test_count --;
else
{
m_test_flag = FALSE;
m_test_count = 0;
m_test_phase = 0;
MessageBox( "Connect time out and Testing is terminated!", "Information", MB_OK );
}
}
}
}
CFormView::OnTimer(nIDEvent);
}
void CFidelixToolsView::OnComClose()
{
// TODO: Add your command handler code here
pserialthread->m_Serial.SetRcvEvent(0);
pserialthread->m_Serial.SetRTSEnable(0);
pserialthread->m_Serial.Close();
KillTimer( 1 );
}
int CFidelixToolsView::AT_command_process( CString ATcom )
{
int result;
// CString RSSI, USTS;
result = 0;
if( ( ( ATcom.Find( "OK" ) ) != -1 )&&( ( strlen( ATcom ) < 5 ) ) ) //find OK
{
if( m_test_phase == WAIT_AT )
m_test_phase ++;
return( 0 ); //0 --- OK
}
if( ATcom.Find( "AT" ) != -1 ) //find "AT"
{
return( 1 );
}
if( ( ATcom.Find( "+" ) != -1 ) || ( ATcom.Find( "$" ) != -1 ) || ( ATcom.Find( "ERROR" ) != -1 ) ) //find "$" or "error"
{
switch( m_test_phase )
{
case WAIT_RSSI:
if( ATcom.Find( "RSSI" ) != -1 )
// if( ( ATcom.Find( "RSSI" ) != -1 ) || ( ATcom.Find( "ERROR" ) != -1 ) )
{
RSSIstr = ATcom;
m_test_phase ++;
}
break;
case WAIT_USTS:
if( ATcom.Find( "USTS" ) != -1 )
{
USTSstr = ATcom;
m_test_phase ++;
}
break;
case WAIT_IMSI:
if( ( ATcom.Find( "RDIM" ) != -1 ) || ( ATcom.Find( "ERROR" ) != -1 ) )
{
IMSIstr = ATcom;
m_test_phase ++;
}
break;
case WAIT_NAM:
if( ( ATcom.Find( "RDNI" ) != -1 ) || ( ATcom.Find( "ERROR" ) != -1 ) )
{
NAMstr = ATcom;
m_test_phase ++;
}
break;
case WAIT_TIME:
if( ATcom.Find( "TIME" ) != -1 )
{
TIMEstr = ATcom;
m_test_phase ++;
}
break;
case WAIT_VER:
if( ATcom.Find( "+GMR" ) != -1 )
{
VERstr = ATcom;
m_test_phase ++;
}
break;
case WAIT_NET:
if( ATcom.Find( "NET" ) != -1 )
{
NETstr = ATcom;
m_test_phase ++;
}
break;
case WAIT_ROAM:
if( ATcom.Find( "ROAM" ) != -1 )
{
ROAMstr = ATcom;
m_test_phase ++;
}
break;
case WAIT_ID:
if( ATcom.Find( "+GMM" ) != -1 )
{
IDstr = ATcom;
m_test_phase ++;
}
break;
case WAIT_MI:
if( ATcom.Find( "+GMI" ) != -1 )
{
MIstr = ATcom;
m_test_phase ++;
}
break;
case WAIT_PING:
if( ATcom.Find( "PONG" ) != -1 )
{
PONGstr = ATcom;
m_test_phase ++;
//finish the testing
m_test_flag = FALSE;
m_test_count = 0;
m_test_phase = 0;
OnTestReport();
}
break;
default:
break;
}
return( 2 );
}
return( -1 ); //unknown AT command
}
void CFidelixToolsView::OnTestBegin()
{
// TODO: Add your command handler code here
if( pserialthread->m_Serial.m_bOpened )
{
if( m_test_flag == TRUE )
{
MessageBox( "Testing has started now!", "Information", MB_OK );
}
else
{
m_test_flag = TRUE;
m_test_count = 5;
m_test_phase = 0;
}
}
else
{
MessageBox( "Please open serial port first!", "Information", MB_OK );
}
}
void CFidelixToolsView::OnTestStop()
{
// TODO: Add your command handler code here
m_test_flag = FALSE;
m_test_count = 0;
m_test_phase = 0;
RSSIstr = "";
}
void CFidelixToolsView::OnTestReport()
{
// TODO: Add your command handler code here
CString Resultstr, tmpstr, tmpstr1;
// int i;
TestingReport TestingReport;
if( RSSIstr == "" )
{
TestingReport.m_analyze = "No data to be analyzed!\r\n";
}
else
{
Resultstr = "Start the data analyzing!......\r\n";
//analyzing RSSI
tmpstr = RSSIstr;
// i = tmpstr.GetLength();
Resultstr += tmpstr.Left( strlen( tmpstr ) );
tmpstr1 = "\r\n";
Resultstr += tmpstr1.Left( strlen( tmpstr1 ) );
// tmpstr.Delete( 0, 9 );
// tmpstr.Delete( ( tmpstr.GetLength() -1 ), 1 );
if( ( tmpstr.Find( "105" ) ) != -1 )
{
tmpstr = "No service now and RSSI failure!\r\n";
Resultstr += tmpstr.Left( strlen( tmpstr ) );
}
else
{
tmpstr = "RSSI success!\r\n";
Resultstr += tmpstr.Left( strlen( tmpstr ) );
}
//analyzing USTS
tmpstr = USTSstr;
Resultstr += tmpstr.Left( strlen( tmpstr ) );
tmpstr1 = "\r\n";
Resultstr += tmpstr1.Left( strlen( tmpstr1 ) );
if( tmpstr.Find( "0" ) != -1 )
{ tmpstr = "UIM card is Normal status!\r\n";
Resultstr += tmpstr.Left( strlen( tmpstr ) );
}
else if( tmpstr.Find( "1" ) != -1 )
{ tmpstr = "RUIM card is not inserted or not detected......failure\r\n";
Resultstr += tmpstr.Left( strlen( tmpstr ) );
}
else if( tmpstr.Find( "2" ) != -1 )
{ tmpstr = "PIN is enabled and locked - PIN code mismatch has occurred......failure\r\n";
Resultstr += tmpstr.Left( strlen( tmpstr ) );
}
else if( tmpstr.Find( "3" ) != -1 )
{ tmpstr = "PIN is enabled and blocked - PIN code mismatch has occurred 3 consecutive times......failure\r\n";
Resultstr += tmpstr.Left( strlen( tmpstr ) );
}
else if( tmpstr.Find( "4" ) != -1 )
{ tmpstr = "Modem is waiting for user to enter PIN code......failure\r\n";
Resultstr += tmpstr.Left( strlen( tmpstr ) );
}
else if( tmpstr.Find( "5" ) != -1 )
{ tmpstr = "PIN is disabled and blocked - PIN code mismatch has occurred 3 consecutive times......failure\r\n";
Resultstr += tmpstr.Left( strlen( tmpstr ) );
}
else
{ tmpstr = "unknown information......failure\r\n";
Resultstr += tmpstr.Left( strlen( tmpstr ) );
}
//analyzing PONG
tmpstr = PONGstr;
Resultstr += tmpstr.Left( strlen( tmpstr ) );
tmpstr1 = "\r\n";
Resultstr += tmpstr1.Left( strlen( tmpstr1 ) );
if( tmpstr.Find( "0" ) != -1 )
{ tmpstr = "Pilot State!......failure\r\n";
Resultstr += tmpstr.Left( strlen( tmpstr ) );
}
else if( tmpstr.Find( "1" ) != -1 )
{ tmpstr = "Sync State......failure\r\n";
Resultstr += tmpstr.Left( strlen( tmpstr ) );
}
else if( tmpstr.Find( "2" ) != -1 )
{ tmpstr = "Paging/Idle State!\r\n";
Resultstr += tmpstr.Left( strlen( tmpstr ) );
}
else if( tmpstr.Find( "3" ) != -1 )
{ tmpstr = "Traffic initialize......failure\r\n";
Resultstr += tmpstr.Left( strlen( tmpstr ) );
}
else if( tmpstr.Find( "4" ) != -1 )
{ tmpstr = "Conversation......failure\r\n";
Resultstr += tmpstr.Left( strlen( tmpstr ) );
}
else if( tmpstr.Find( "5" ) != -1 )
{ tmpstr = "Exit......failure\r\n";
Resultstr += tmpstr.Left( strlen( tmpstr ) );
}
else
{ tmpstr = "unknown information......failure\r\n";
Resultstr += tmpstr.Left( strlen( tmpstr ) );
}
//result
if( Resultstr.Find( "failure" ) != -1 )
{
tmpstr = "Analyzing result is failure!\r\n";
Resultstr += tmpstr.Left( strlen( tmpstr ) );
}
else
{
tmpstr = "Analyzing result is success!\r\n";
Resultstr += tmpstr.Left( strlen( tmpstr ) );
tmpstr = "Testing passed!\r\n";
Resultstr += tmpstr.Left( strlen( tmpstr ) );
}
TestingReport.m_analyze = Resultstr;
}
TestingReport.DoModal();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -