Major update:
- DataTreeCore:
- Bug fix: GetMember() error if member not found
- FunctionCore: (affected: SelectableCore, FileCore, WatchdogCore)
- Made destructor virual
- Standardize method parameter naming, e.g. pName, pLog
- Renamed parameters: DebugLevel -> LogLevel, OutputDisplay -> LogOutput
- Reinstated parameter BaseMember
- Removed logging parameters from constructor
- Created method InitLoggging() (shows "Function Created" message)
- Split LoadConfig() method into parts:
- Implemented public LoadConfig() methods
- Implemented LoadConfigData() method, load parameters from DataTree
- WatchdogCore:
- Derive from CSelectableCore instead of CFunctionCore
- Rename parameter: PingTimeout -> PingInterval
- Replace Ping Channel with Handle only
- Add method SetInterval()
- Send command direct to handle with (channel) Input()
- SelectableCore:
- Rename parameters: Auto -> AutoManage, ReopenTimeout -> ReopenDelay
- Implemented own virtual LoadConfigData() method
- DeviceCore:
- Made all logging conditional: if (Log) Log->Message(...)
- SelectCore:
- Renamed parameters: DebugLevel -> LogLevel
This commit is contained in:
@@ -23,19 +23,19 @@ extern char * ProcessName;
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
CWatchdogCore::CWatchdogCore( const char * WatchdogName, const int pInterval, CLogCore * pLog, EDebugLevel pDebugLevel ) :
|
||||
CFunctionCore( WatchdogName, pLog, pDebugLevel, OUT_NORMAL )
|
||||
CWatchdogCore::CWatchdogCore( const char * pName, CSelect * pSelect, CLogCore * pLog ) :
|
||||
CSelectableCore( pName, pSelect, pLog )
|
||||
{
|
||||
// Create protocol
|
||||
Protocol = new CLiteProtocol( 50, '\x01', '\x02', '\x00' );
|
||||
Protocol->CreateCommand( ProcessName, WatchdogName, "ping" );
|
||||
Protocol->CreateCommand( ProcessName, pName, "ping" );
|
||||
|
||||
// Start timer
|
||||
PingTimeout = 500;
|
||||
PingInterval = 500;
|
||||
SetStartTime( &PingTimer );
|
||||
|
||||
// Create Channel
|
||||
Ping = AddChannel( "Ping" );
|
||||
// Create handle
|
||||
Ping = CreateHandle( "Ping", true );
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
@@ -47,12 +47,19 @@ CWatchdogCore::~CWatchdogCore()
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
bool CWatchdogCore::SetInterval( int pPingInterval )
|
||||
{
|
||||
PingInterval = pPingInterval;
|
||||
return true;
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
bool CWatchdogCore::Process()
|
||||
{
|
||||
if (Timeout( PingTimer, PingTimeout ))
|
||||
if (Timeout( PingTimer, PingInterval ))
|
||||
{
|
||||
// Send command
|
||||
Output( Ping, Protocol->GetCommandStr(), Protocol->GetCommandLen() );
|
||||
Input( Ping->Name, Protocol->GetCommandStr(), Protocol->GetCommandLen() );
|
||||
|
||||
// Reset timer
|
||||
SetStartTime( &PingTimer );
|
||||
|
||||
Reference in New Issue
Block a user