added function property state

This commit is contained in:
Mike 2023-03-15 13:50:38 +01:00
parent d6348d2c80
commit cf73ec36a6
3 changed files with 21 additions and 0 deletions

View File

@ -171,5 +171,7 @@ class BusAccessUnit
#ifdef USE_FUNCTIONPROPERTYCALLBACK
virtual void functionPropertyCallback(FunctionPropertyCallback func);
virtual FunctionPropertyCallback functionPropertyCallback();
virtual void functionPropertyStateCallback(FunctionPropertyCallback func);
virtual FunctionPropertyCallback functionPropertyStateCallback();
#endif
};

View File

@ -341,7 +341,14 @@ void BauSystemB::functionPropertyStateIndication(Priority priority, HopCountType
}
else
{
#ifdef USE_FUNCTIONPROPERTYCALLBACK
if(_functionPropertyState != 0)
_functionPropertyState(objectIndex, propertyId, length, data, resultData, resultLength);
else
resultLength = 0;
#else
resultLength = 0; // We must not send a return code or any data fields
#endif
}
}
@ -656,4 +663,13 @@ FunctionPropertyCallback BauSystemB::functionPropertyCallback()
{
return _functionProperty;
}
void BauSystemB::functionPropertyStateCallback(FunctionPropertyCallback func)
{
_functionPropertyState = func;
}
FunctionPropertyCallback BauSystemB::functionPropertyStateCallback()
{
return _functionPropertyState;
}
#endif

View File

@ -46,6 +46,8 @@ class BauSystemB : protected BusAccessUnit
#ifdef USE_FUNCTIONPROPERTYCALLBACK
void functionPropertyCallback(FunctionPropertyCallback func);
FunctionPropertyCallback functionPropertyCallback();
void functionPropertyStateCallback(FunctionPropertyCallback func);
FunctionPropertyCallback functionPropertyStateCallback();
#endif
protected:
@ -119,5 +121,6 @@ class BauSystemB : protected BusAccessUnit
BeforeRestartCallback _beforeRestart = 0;
#ifdef USE_FUNCTIONPROPERTYCALLBACK
FunctionPropertyCallback _functionProperty = 0;
FunctionPropertyCallback _functionPropertyState = 0;
#endif
};