Example #1
0
int CUdpClient::InitConnect(void)
{
	EnableLog();

	int EndPointNum = (para_.getRemoteIPSum() < para_.getRemotePortSum()) ? para_.getRemoteIPSum() : para_.getRemotePortSum();

	remoteEndPoints_.clear();

	for (int i=0;i<EndPointNum;i++)
	{
		udp::resolver resolver(io_service_);
		std::string ip = para_.getRemoteIP(i);
		std::string port = para_.getRemotePort(i);

		if (CCommPara::AssertIPFormat(ip) && CCommPara::AssertNetPortFormat(port))
		{
			udp::resolver::query query(udp::v4(), ip, port);
			boost::system::error_code error;
			udp::resolver::iterator endpoint_iterator = resolver.resolve(query,error);
			if (!error)
			{
				remoteEndPoints_.push_back(*endpoint_iterator);
			}
		}
	}

	if (remoteEndPoints_.size() > 0)
	{
		AddStatusLogWithSynT("UdpClient解析远方endpoint成功。\n");
	}

	if((CCommPara::AssertIPFormat(para_.getBroadcastIP())) && (CCommPara::AssertNetPortFormat(para_.getBroadcastPort())))
	{
		try
		{
			int port = boost::lexical_cast<int>(para_.getBroadcastPort());
			broadcast_endpoint_.reset(new udp::endpoint(boost::asio::ip::address::from_string(para_.getBroadcastIP()),port));
			AddStatusLogWithSynT("UdpClient解析广播成功\n");
		}
		catch(...)
		{
		}
	}

	int ret = EnableProtocol();
	if (ret)
	{
		AddStatusLogWithSynT("UdpClient通道初始化规约失败!\n");
		return ret;
	}

	AddStatusLogWithSynT("初始化UdpClient通道成功!\n");

	return 0;
}
bool GatewayConfig::RuntimeReload()
{
    READ_MANDATORY_VARIABLE_STRING("AppJoinKey", m_u8AppJoinKey);

    READ_MANDATORY_VARIABLE("GW_REQ_TIMEOUT", m_nGwReqTimeout);
    m_nGwReqTimeout *= sysconf(_SC_CLK_TCK);

    READ_DEFAULT_VARIABLE_INT("GW_REQ_RETRY_TIMEOUT", m_nGwReqRetryTimeout, 15);
    m_nGwReqRetryTimeout = m_nGwReqRetryTimeout * 60 * sysconf(_SC_CLK_TCK); // from minutes to clock ticks

    READ_DEFAULT_VARIABLE_INT("LOG_INTERNAL_STATUS_PERIOD", m_nLogInternalStatusPeriod, 0);
    READ_DEFAULT_VARIABLE_INT("LOG_INTERNAL_REQUEST_STATISTICS_PERIOD", m_nLogInternalRequestsStatisticsPeriod, 0);

    READ_MANDATORY_VARIABLE("CACHE_BURST_RESP_TIMEOUT", m_nGwBurstRespTimeout);
    READ_MANDATORY_VARIABLE("CACHE_READ_RESP_TIMEOUT", m_nGwRespTimeout);

    READ_MANDATORY_VARIABLE("GW_DRM_TIMEOUT", m_nGwDrmTimeout);
    m_nGwDrmTimeout *= sysconf(_SC_CLK_TCK);

    READ_MANDATORY_VARIABLE("GW_REQ_MAX_RETRY_NO", m_nGwReqMaxRetryNo);

    READ_DEFAULT_VARIABLE_INT("LOCAL_GW_RETRIES", m_nLocalGwRetries, 3);

    READ_DEFAULT_VARIABLE_INT("DEVICES_REFRESH_INTERVAL", m_nDevicesRefreshInterval, 5);

    READ_DEFAULT_VARIABLE_INT("LOG_LEVEL_STACK", m_nLogLevelStack, 4); //4-debug, 3-info
    READ_DEFAULT_VARIABLE_INT("LOG_LEVEL_APP", m_nLogLevelApp, 4); //4-debug, 3-info

    int granularity_keepalive;
    READ_DEFAULT_VARIABLE_INT("GRANULARITY_KEEPALIVE", granularity_keepalive, 60);
    m_u8GranularityKeepAlive = (uint8_t) granularity_keepalive;

    READ_DEFAULT_VARIABLE_INT("MAX_CMDS_PER_APDU", m_nMaxCmdsPerAPDU, 5);

    READ_DEFAULT_VARIABLE_YES_NO("NM_BURSTS_CACHING_ENABLED", m_bNmBurstsCachingEnabled, "YES");

    READ_DEFAULT_VARIABLE_YES_NO("USE_SUBDEV_POLLING_ADDRESSES", m_bUseSubdevPollingAddresses, "YES");

    READ_DEFAULT_VARIABLE_YES_NO("DONT_ACK_C119_WHEN_TIME_MINUS_1", m_bDontAckC119WhenTime_minus1, "NO");

    READ_DEFAULT_VARIABLE_YES_NO("SEND_DIRECT_WIRED_DEVICE_BURST", m_bSendDirectWiredDeviceBurst, "NO");
    READ_DEFAULT_VARIABLE_YES_NO("BUILD_UNIV_CMDS_CACHE", m_bBuildUnivCommandsCache, "NO");

    READ_DEFAULT_VARIABLE_INT("DRM_TYPE", m_nDrmType, GatewayConfig::DRM_TYPE_CACHE_BASED);

    // READ_DEFAULT_VARIABLE_STRING("GATEWAY_TAG", m_szTag, "GwTag" );

    READ_DEFAULT_VARIABLE_INT("DRM_ENTRY_LIFETIME", m_nDrmEntryLifetime, 1200);

    READ_DEFAULT_VARIABLE_YES_NO("SEND_INVALID_REQUEST_TO_DEVICE", m_bSendInvalidRequestToDevice, "NO");


    EnableLog(m_nLogLevelStack);//4-debug, 3-info
    EnableLog_APP(m_nLogLevelApp);//4-debug, 3-info

    LOG_INFO_APP("GatewayConfig DONE logLevel stack=" << m_nLogLevelStack << " app=" << m_nLogLevelApp);

    ReadSpecificCmds();

    BurstSpecificCmds();

    ReadGWUniversalVariables();

    return true;
}
Example #3
0
INT CSysParams::RefreshSysParams(CDBUtil &db, BOOL bLog)
{
	USES_CONVERSION;

	INT nRet = ERR_UNKONW_ERROR;

	if (Lock(LOCK_WAIT_TIMEOUT))
	{
		try
		{
			TCHAR buf[500];
			basic_string<TCHAR> szMsg(_T("Refresh system parameters:"));
			_variant_t value;

			value = db.GetSingleValue(_T("SELECT Convert(int,Value) FROM GeneralParams WHERE Category='System' AND Name='QueryInterval'"));
			if ((db.GetLastErrorCode() == ERR_SUCCESS) && (value.vt == VT_I4))
			{
				SetQueryInterval(value.lVal);
				if (bLog)
				{
					_stprintf_s(buf, sizeof(buf) / sizeof(buf[0]), _T("\n\tQuery internal: %d ms"), m_lQryInterval);
					szMsg += buf;
				}
			}
			else
			{
				if (bLog)
				{
					_stprintf_s(buf, sizeof(buf) / sizeof(buf[0]), _T("\n\tQuery internal: use default value %d ms"), DEFAULT_QRY_INTERVAL);
					szMsg += buf;
				}
			}

			value = db.GetSingleValue(_T("SELECT Rtrim(Ltrim(Value)) FROM GeneralParams WHERE Category='System' AND Name='OPCServerProgID'"));
			if ((db.GetLastErrorCode() == ERR_SUCCESS) && (value.vt == VT_BSTR))
			{
				LPWSTR pTemp = (BSTR)value.pbstrVal;
				m_wszOPCServerProgID = pTemp;
				if (bLog)
				{
					szMsg += _T("\n\tOPC Server ProgID: ");
					szMsg += pTemp;
				}
			}

			value = db.GetSingleValue(_T("SELECT Rtrim(Ltrim(Value)) FROM GeneralParams WHERE Category='System' AND Name='RemoteMachine'"));
			if ((db.GetLastErrorCode() == ERR_SUCCESS) && (value.vt == VT_BSTR))
			{
				LPWSTR pTemp = (BSTR)value.pbstrVal;
				SetRemoteMachine(pTemp);
				if (bLog)
				{
					szMsg += _T("\n\tRemote Machine: ");
					szMsg += W2T(pTemp);
				}
			}

			std::basic_string<TCHAR> szValue;
			if (db.GetSingleStringValue(szValue, DEFAULT_SHIFT_START_1, _T("SELECT Rtrim(Ltrim(Value)) FROM GeneralParams WHERE Category='System' AND Name='ShiftStartTime1'")) > 0)
			{
				LPCTSTR pTemp = szValue.c_str();
				CTimerTaskManager::ParseTimeString(pTemp, m_tStartTimeOfShift1);
				if (bLog)
				{
					szMsg += _T("\n\tShiftStartTime1: ");
					szMsg += pTemp;
				}
			}

			if (db.GetSingleStringValue(szValue, DEFAULT_SHIFT_START_1, _T("SELECT Rtrim(Ltrim(Value)) FROM GeneralParams WHERE Category='System' AND Name='ShiftStartTime2'")) > 0)
			{
				LPCTSTR pTemp = szValue.c_str();
				CTimerTaskManager::ParseTimeString(pTemp, m_tStartTimeOfShift2);
				if (bLog)
				{
					szMsg += _T("\n\tShiftStartTime2: ");
					szMsg += pTemp;
				}
			}

			m_bKeepDbConnection = db.GetSingleBoolValue(_T("SELECT Rtrim(Ltrim(Value)) FROM GeneralParams WHERE Category='System' AND Name='KeepDbConnection'"), m_bKeepDbConnection);
			if (bLog)
			{
				szMsg += _T("\n\tKeep DB Connection: ");
				szMsg += (m_bKeepDbConnection ? _T("True") : _T("False"));
			}

			BOOL bFlag = db.GetSingleBoolValue(_T("SELECT Rtrim(Ltrim(Value)) FROM GeneralParams WHERE Category='System' AND Name='EnableLog'"), m_bEnableLog);
			if (bLog)
			{
				szMsg += _T("\n\tEnable log: ");
				szMsg += (bFlag ? _T("True") : _T("False"));
			}

			EnableLog(bFlag);

			if (bLog)
				g_Logger.ForceLog(szMsg.c_str());
		}
		catch (...) {}

		Unlock();
		nRet = ERR_SUCCESS;
	}
	else
	{
		nRet = ERR_LOCK_TIMEOUT;
	}

	return nRet;
}
Example #4
0
void mtsPIDQtWidget::EnableLogsFromSimulinkQt(const mtsBool &enable)
{
    EnableLog(false, enable);
}
Example #5
0
// UBC slot to enable printing PID joint effort data to LOG files
void mtsPIDQtWidget::SlotEnableLOG(bool toggle)
{
    EnableLog(true, toggle);
}
Example #6
0
//***************************************************************************//
//! \brief Main Flasher routine
//! \param[in] argc Number of arguments in the argument string
//! \param[in] argv[] Pointer to the argument string
//! \param[in] sOpt Pointer to struct for options from command line and/or 
//! list of default options
//! \param[in] RTE Pointer to struct for options entered at runtime
//! \return STATUS_OK: The initialization was successful.\n
//! STATUS_ERROR: The initialization failed.
int Flasher(int argc, char* argv[], sDefOptions_t* sOpt, sRTE_t* RTE)
{
    int RetState = 0;

//==ENABLE LOG===============================================================//
    
    EnableLog(argc, argv);

//==PRINT VERSION INFO=======================================================//

    PrintVersion();

//==EVALUATE STANDARD OPTIONS================================================//

    RetState = EvaluateOptions(argc, argv, sOpt, RTE);

//==INITIALIZE INTERFACE=====================================================//
    
    // std options are evaluated, continue initialization
    if(!RetState)
    {        
        StdUseCase_InterfaceInit(&g_sOpt);
        
//==CHECK FIRMWARE COMPATIBILITY=============================================//

        StdUseCase_CheckFirmware(&g_sOpt);
    
//==READ FW and HW VERSIONS==================================================//

        StdUseCase_ReadFWVersion();
        StdUseCase_ReadHWVersion();

//==POWER UP AND CONFIGURE===================================================//

        StdUseCase_PowerUp();
        StdUseCase_Configure(&g_sOpt);

//==GET DEVICE UNDER JTAG CONTROL============================================//

        StdUseCase_GetDevice(&g_sOpt);

        // if Breakpoints should be set
        if(sOpt->pcBreakpoints != NULL)
        {
            StdUseCase_EemInit();
        }

//==PROGRAM & VERIFY / READ OUT DEVICE MEMORY================================//

        StdUseCase_ReadWrite(&g_sOpt, &g_RTE);

//==RESET DEVICE=============================================================//

        StdUseCase_Reset(PUC_RESET, FALSE, FALSE);

//==SET BREAKPOINTS==========================================================//

        // breakpoints are only set if -d switch is used
        if(sOpt->pcBreakpoints != NULL)
        {
            StdUseCase_SetBreakpoints(BPAddr);
        }

//==CHECK IF DEVICE SHOULD BE SECURED========================================//

        // security fuse is only blown if -f switch is used
        StdUseCase_BlowFuse();

//==DISPLAY INITIALIZATION RESULTS===========================================//

        StdUseCase_DisplayResults(argc, argv, &g_sOpt);

//==RUN TO BREAKPOINT(S)=====================================================//

        StdUseCase_RunProgram(&g_sOpt, &BPAddr[0]);
    }
        
//===========================================================================//
    
    return (RetState);
}