Fix timesync recipient encoding to check for OBJECT_DEVICE type before encoding. (#1153)
This commit is contained in:
@@ -29,6 +29,8 @@ The git repositories are hosted at the following sites:
|
|||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
|
* Fix timesync recipient encoding to check for OBJECT_DEVICE type before
|
||||||
|
encoding. (#1153)
|
||||||
* Fixed segmented ComplexACK in MS/TP by adding postpone reply because
|
* Fixed segmented ComplexACK in MS/TP by adding postpone reply because
|
||||||
transmission of the segmented ComplexACK cannot begin until the node
|
transmission of the segmented ComplexACK cannot begin until the node
|
||||||
holds the token. (#1116)
|
holds the token. (#1116)
|
||||||
|
|||||||
@@ -166,10 +166,12 @@ int timesync_encode_timesync_recipients(
|
|||||||
if (pRecipient->tag == 0) {
|
if (pRecipient->tag == 0) {
|
||||||
if (max_apdu >= (1 + 4)) {
|
if (max_apdu >= (1 + 4)) {
|
||||||
/* CHOICE - device [0] BACnetObjectIdentifier */
|
/* CHOICE - device [0] BACnetObjectIdentifier */
|
||||||
len = encode_context_object_id(
|
if (pRecipient->type.device.type == OBJECT_DEVICE) {
|
||||||
&apdu[apdu_len], 0, pRecipient->type.device.type,
|
len = encode_context_object_id(
|
||||||
pRecipient->type.device.instance);
|
&apdu[apdu_len], 0, pRecipient->type.device.type,
|
||||||
apdu_len += len;
|
pRecipient->type.device.instance);
|
||||||
|
apdu_len += len;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
return BACNET_STATUS_ABORT;
|
return BACNET_STATUS_ABORT;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -101,6 +101,7 @@ static void testTimeSyncRecipient(void)
|
|||||||
recipient[2].type.address.adr[0] = 127;
|
recipient[2].type.address.adr[0] = 127;
|
||||||
recipient[2].type.address.len = 1;
|
recipient[2].type.address.len = 1;
|
||||||
/* network = zero */
|
/* network = zero */
|
||||||
|
recipient[3].tag = 1;
|
||||||
recipient[3].type.address.net = 0;
|
recipient[3].type.address.net = 0;
|
||||||
recipient[3].type.address.mac[0] = 10;
|
recipient[3].type.address.mac[0] = 10;
|
||||||
recipient[3].type.address.mac[1] = 1;
|
recipient[3].type.address.mac[1] = 1;
|
||||||
|
|||||||
Reference in New Issue
Block a user