Moved check for wild card Device Id to before call to rp_ack_encode_apdu_init so that the real Device ID is encoded in the response.
This commit is contained in:
@@ -110,6 +110,12 @@ void handler_read_property(
|
|||||||
#endif
|
#endif
|
||||||
goto RP_FAILURE;
|
goto RP_FAILURE;
|
||||||
}
|
}
|
||||||
|
/* Test for case of indefinite Device object instance */
|
||||||
|
if ((rpdata.object_type == OBJECT_DEVICE) &&
|
||||||
|
(rpdata.object_instance == BACNET_MAX_INSTANCE)) {
|
||||||
|
rpdata.object_instance = Device_Object_Instance_Number();
|
||||||
|
}
|
||||||
|
|
||||||
apdu_len =
|
apdu_len =
|
||||||
rp_ack_encode_apdu_init(&Handler_Transmit_Buffer[npdu_len],
|
rp_ack_encode_apdu_init(&Handler_Transmit_Buffer[npdu_len],
|
||||||
service_data->invoke_id, &rpdata);
|
service_data->invoke_id, &rpdata);
|
||||||
@@ -117,11 +123,6 @@ void handler_read_property(
|
|||||||
rpdata.application_data = &Handler_Transmit_Buffer[npdu_len + apdu_len];
|
rpdata.application_data = &Handler_Transmit_Buffer[npdu_len + apdu_len];
|
||||||
rpdata.application_data_len =
|
rpdata.application_data_len =
|
||||||
sizeof(Handler_Transmit_Buffer) - (npdu_len + apdu_len);
|
sizeof(Handler_Transmit_Buffer) - (npdu_len + apdu_len);
|
||||||
/* Test for case of indefinite Device object instance */
|
|
||||||
if ((rpdata.object_type == OBJECT_DEVICE) &&
|
|
||||||
(rpdata.object_instance == BACNET_MAX_INSTANCE)) {
|
|
||||||
rpdata.object_instance = Device_Object_Instance_Number();
|
|
||||||
}
|
|
||||||
len = Device_Read_Property(&rpdata);
|
len = Device_Read_Property(&rpdata);
|
||||||
if (len >= 0) {
|
if (len >= 0) {
|
||||||
apdu_len += len;
|
apdu_len += len;
|
||||||
|
|||||||
Reference in New Issue
Block a user