mirror of
https://github.com/thelsing/knx.git
synced 2025-01-25 00:06:20 +01:00
Handle PDT_CONTROL in FunctionPropertyExt*
This commit is contained in:
parent
de87c2a3a3
commit
2164d3896f
@ -410,7 +410,20 @@ void BauSystemB::functionPropertyExtCommandIndication(Priority priority, HopCoun
|
||||
|
||||
InterfaceObject* obj = getInterfaceObject(objectType, objectInstance);
|
||||
if(obj)
|
||||
obj->command((PropertyID)propertyId, data, length, resultData, resultLength);
|
||||
{
|
||||
if (obj->property((PropertyID)propertyId)->Type() == PDT_CONTROL)
|
||||
{
|
||||
uint8_t count = 1;
|
||||
obj->writeProperty((PropertyID)propertyId, 1, data, count);
|
||||
resultLength = count ? 2 : 1;
|
||||
resultData[0] = count ? ReturnCodes::Success : ReturnCodes::DataVoid;
|
||||
resultData[1] = data[0];
|
||||
}
|
||||
else if (obj->property((PropertyID)propertyId)->Type() == PDT_FUNCTION)
|
||||
{
|
||||
obj->command((PropertyID)propertyId, data, length, resultData, resultLength);
|
||||
}
|
||||
}
|
||||
|
||||
_appLayer.functionPropertyExtStateResponse(AckRequested, priority, hopType, asap, secCtrl, objectType, objectInstance, propertyId, resultData, resultLength);
|
||||
}
|
||||
@ -423,8 +436,19 @@ void BauSystemB::functionPropertyExtStateIndication(Priority priority, HopCountT
|
||||
|
||||
InterfaceObject* obj = getInterfaceObject(objectType, objectInstance);
|
||||
if(obj)
|
||||
obj->state((PropertyID)propertyId, data, length, resultData, resultLength);
|
||||
|
||||
{
|
||||
if (obj->property((PropertyID)propertyId)->Type() == PDT_CONTROL)
|
||||
{
|
||||
uint8_t count = 1;
|
||||
obj->readProperty((PropertyID)propertyId, 1, count, &resultData[1]);
|
||||
resultLength = count ? 2 : 1;
|
||||
resultData[0] = count ? ReturnCodes::Success : ReturnCodes::DataVoid;
|
||||
}
|
||||
else if (obj->property((PropertyID)propertyId)->Type() == PDT_FUNCTION)
|
||||
{
|
||||
obj->state((PropertyID)propertyId, data, length, resultData, resultLength);
|
||||
}
|
||||
}
|
||||
_appLayer.functionPropertyExtStateResponse(AckRequested, priority, hopType, asap, secCtrl, objectType, objectInstance, propertyId, resultData, resultLength);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user