Allow processing of Who-Has when DCC initiation is disabled
This commit is contained in:
@@ -143,6 +143,7 @@ static bool apdu_unconfirmed_dcc_disabled(uint8_t service_choice)
|
|||||||
/* WhoIs will be processed and I-Am initiated as response. */
|
/* WhoIs will be processed and I-Am initiated as response. */
|
||||||
switch (service_choice) {
|
switch (service_choice) {
|
||||||
case SERVICE_UNCONFIRMED_WHO_IS:
|
case SERVICE_UNCONFIRMED_WHO_IS:
|
||||||
|
case SERVICE_UNCONFIRMED_WHO_HAS:
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
status = true;
|
status = true;
|
||||||
|
|||||||
@@ -143,6 +143,7 @@ static bool apdu_unconfirmed_dcc_disabled(uint8_t service_choice)
|
|||||||
/* WhoIs will be processed and I-Am initiated as response. */
|
/* WhoIs will be processed and I-Am initiated as response. */
|
||||||
switch (service_choice) {
|
switch (service_choice) {
|
||||||
case SERVICE_UNCONFIRMED_WHO_IS:
|
case SERVICE_UNCONFIRMED_WHO_IS:
|
||||||
|
case SERVICE_UNCONFIRMED_WHO_HAS:
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
status = true;
|
status = true;
|
||||||
|
|||||||
@@ -92,7 +92,7 @@ static BACNET_SERVICES_SUPPORTED
|
|||||||
SERVICE_SUPPORTED_UNCONFIRMED_PRIVATE_TRANSFER,
|
SERVICE_SUPPORTED_UNCONFIRMED_PRIVATE_TRANSFER,
|
||||||
SERVICE_SUPPORTED_UNCONFIRMED_TEXT_MESSAGE,
|
SERVICE_SUPPORTED_UNCONFIRMED_TEXT_MESSAGE,
|
||||||
SERVICE_SUPPORTED_TIME_SYNCHRONIZATION, SERVICE_SUPPORTED_WHO_HAS,
|
SERVICE_SUPPORTED_TIME_SYNCHRONIZATION, SERVICE_SUPPORTED_WHO_HAS,
|
||||||
SERVICE_SUPPORTED_WHO_IS,
|
SERVICE_SUPPORTED_WHO_IS,
|
||||||
SERVICE_SUPPORTED_UTC_TIME_SYNCHRONIZATION,
|
SERVICE_SUPPORTED_UTC_TIME_SYNCHRONIZATION,
|
||||||
SERVICE_SUPPORTED_WRITE_GROUP,
|
SERVICE_SUPPORTED_WRITE_GROUP,
|
||||||
SERVICE_SUPPORTED_UNCONFIRMED_COV_NOTIFICATION_MULTIPLE,
|
SERVICE_SUPPORTED_UNCONFIRMED_COV_NOTIFICATION_MULTIPLE,
|
||||||
@@ -251,7 +251,7 @@ static union {
|
|||||||
confirmed_ack_function complex;
|
confirmed_ack_function complex;
|
||||||
} Confirmed_ACK_Function[MAX_BACNET_CONFIRMED_SERVICE];
|
} Confirmed_ACK_Function[MAX_BACNET_CONFIRMED_SERVICE];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Determine if the BACnet service is a Simple Ack Service
|
* @brief Determine if the BACnet service is a Simple Ack Service
|
||||||
* @param service_choice [in] BACnet confirmed service choice
|
* @param service_choice [in] BACnet confirmed service choice
|
||||||
*/
|
*/
|
||||||
@@ -293,7 +293,7 @@ bool apdu_confirmed_simple_ack_service(
|
|||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Set the the BACnet Simple Ack Service handler
|
* @brief Set the the BACnet Simple Ack Service handler
|
||||||
* @param service_choice [in] BACnet confirmed service choice
|
* @param service_choice [in] BACnet confirmed service choice
|
||||||
* @param pFunction [in] handler for the service
|
* @param pFunction [in] handler for the service
|
||||||
@@ -307,7 +307,7 @@ void apdu_set_confirmed_simple_ack_handler(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Set the the BACnet Confirmed Ack Service handler
|
* @brief Set the the BACnet Confirmed Ack Service handler
|
||||||
* @param service_choice [in] BACnet confirmed service choice
|
* @param service_choice [in] BACnet confirmed service choice
|
||||||
* @param pFunction [in] handler for the service
|
* @param pFunction [in] handler for the service
|
||||||
@@ -531,9 +531,10 @@ static bool apdu_unconfirmed_dcc_disabled(uint8_t service_choice)
|
|||||||
can be processed in this state */
|
can be processed in this state */
|
||||||
status = true;
|
status = true;
|
||||||
} else if (dcc_communication_initiation_disabled()) {
|
} else if (dcc_communication_initiation_disabled()) {
|
||||||
/* WhoIs will be processed and I-Am initiated as response. */
|
/* WhoIs & WhoHas will be processed */
|
||||||
switch (service_choice) {
|
switch (service_choice) {
|
||||||
case SERVICE_UNCONFIRMED_WHO_IS:
|
case SERVICE_UNCONFIRMED_WHO_IS:
|
||||||
|
case SERVICE_UNCONFIRMED_WHO_HAS:
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
status = true;
|
status = true;
|
||||||
@@ -668,7 +669,7 @@ void apdu_handler(BACNET_ADDRESS *src,
|
|||||||
we could check src to see if that matched the tsm */
|
we could check src to see if that matched the tsm */
|
||||||
tsm_free_invoke_id(invoke_id);
|
tsm_free_invoke_id(invoke_id);
|
||||||
break;
|
break;
|
||||||
case PDU_TYPE_ERROR:
|
case PDU_TYPE_ERROR:
|
||||||
if (apdu_len < 3) {
|
if (apdu_len < 3) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user