diff -r 28c1bd28d474 -r 73ff0d268e1d hti/HtiCommPlugins/HtiUsbSerialCommPlugin/src/HtiUsbSerialCommEcomPlugin.cpp --- a/hti/HtiCommPlugins/HtiUsbSerialCommPlugin/src/HtiUsbSerialCommEcomPlugin.cpp Tue Feb 02 10:12:29 2010 +0200 +++ b/hti/HtiCommPlugins/HtiUsbSerialCommPlugin/src/HtiUsbSerialCommEcomPlugin.cpp Sat Feb 20 00:22:34 2010 +0200 @@ -21,8 +21,8 @@ #include #include "HtiUsbSerialCommEcomPlugin.h" -#include -#include +#include +#include // EXTERNAL DATA STRUCTURES @@ -36,6 +36,8 @@ _LIT( KHtiUsbSerialCommCfg, "HTIUsbSerialComm.cfg" ); _LIT8( KUsbPortNumber, "PortNumber" ); _LIT8( KUsbDataRate, "DataRate" ); +_LIT8( KUsbRetryTimes, "RetryTimes" ); +_LIT8( KUsbRetryInterval, "RetryInterval" ); // _LIT( KUsbPddName, "" ); _LIT( KUsbLddName, "EUSBC" ); @@ -306,8 +308,41 @@ err = iCommPort.Open( iCommServ, commPort, ECommExclusive, ECommRoleDTE ); if ( err ) { - HTI_LOG_FORMAT( "Failed to open port %d", err ); - ShowErrorNotifierL( _L( "Failed to open port" ), err ); + //read retry parameters from cfg + TInt retryTimes = 10; + TRAPD( paramRetryTimesErr, + retryTimes = iCfg->GetParameterIntL( KUsbRetryTimes ) ); + if ( paramRetryTimesErr != KErrNone ) + { + HTI_LOG_TEXT( "RetryTimes is not defined in cfg, using default" ); + } + HTI_LOG_FORMAT( " RetryTimes = %d", retryTimes ); + + TInt retryInterval = 10; + TRAPD( paramRetryIntervalErr, + retryInterval = iCfg->GetParameterIntL( KUsbRetryInterval ) ); + if ( paramRetryIntervalErr != KErrNone ) + { + HTI_LOG_TEXT( "RetryInterval is not defined in cfg, using default" ); + } + HTI_LOG_FORMAT( " RetryInterval = %d(s)", retryInterval ); + + // retry to open the port + for( TInt i=0; i