Moved check for wild card Device Id to before call to rpm_ack_encode_apdu_object_begin so that the real Device ID is encoded in the response.
This commit is contained in:
@@ -126,11 +126,6 @@ static int RPM_Encode_Property(
|
|||||||
len = 0;
|
len = 0;
|
||||||
rpdata.error_class = ERROR_CLASS_OBJECT;
|
rpdata.error_class = ERROR_CLASS_OBJECT;
|
||||||
rpdata.error_code = ERROR_CODE_UNKNOWN_OBJECT;
|
rpdata.error_code = ERROR_CODE_UNKNOWN_OBJECT;
|
||||||
/* Test for case of indefinite Device object instance */
|
|
||||||
if ((rpmdata->object_type == OBJECT_DEVICE) &&
|
|
||||||
(rpmdata->object_instance == BACNET_MAX_INSTANCE)) {
|
|
||||||
rpmdata->object_instance = Device_Object_Instance_Number();
|
|
||||||
}
|
|
||||||
rpdata.object_type = rpmdata->object_type;
|
rpdata.object_type = rpmdata->object_type;
|
||||||
rpdata.object_instance = rpmdata->object_instance;
|
rpdata.object_instance = rpmdata->object_instance;
|
||||||
rpdata.object_property = rpmdata->object_property;
|
rpdata.object_property = rpmdata->object_property;
|
||||||
@@ -245,6 +240,12 @@ void handler_read_property_multiple(
|
|||||||
goto RPM_FAILURE;
|
goto RPM_FAILURE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Test for case of indefinite Device object instance */
|
||||||
|
if ((rpmdata.object_type == OBJECT_DEVICE) &&
|
||||||
|
(rpmdata.object_instance == BACNET_MAX_INSTANCE)) {
|
||||||
|
rpmdata.object_instance = Device_Object_Instance_Number();
|
||||||
|
}
|
||||||
|
|
||||||
/* Stick this object id into the reply - if it will fit */
|
/* Stick this object id into the reply - if it will fit */
|
||||||
len = rpm_ack_encode_apdu_object_begin(&Temp_Buf[0], &rpmdata);
|
len = rpm_ack_encode_apdu_object_begin(&Temp_Buf[0], &rpmdata);
|
||||||
copy_len =
|
copy_len =
|
||||||
|
|||||||
Reference in New Issue
Block a user