Feature/bacnet discover dnet devices (#583)
* Added an example application to discover devices and their objects and properties on a specific destination network. The application uses a BACnet Discovery FSM module along with the BACnet R/W FSM. The BACnet Discovery module stores the binary property data in Keylists and includes device object property queries and iterators. * Added callback from BACnet R/W FSM module for I-Am messages. * Removed dependency in BACnet R/W FSM module on rpm_ack_decode_service_request() which uses calloc/free value lists. Created an alternate RPM-ACK to RP-ACK processing function. * Changed RPM handler to skip over unknown property values
This commit is contained in:
@@ -28,6 +28,19 @@ typedef void (*bacnet_read_write_value_callback_t)(uint32_t device_instance,
|
||||
BACNET_READ_PROPERTY_DATA *rp_data,
|
||||
BACNET_APPLICATION_DATA_VALUE *value);
|
||||
|
||||
/**
|
||||
* Save the I-Am service data to a data store
|
||||
*
|
||||
* @param device_instance [in] device instance number where data originated
|
||||
* @param max_apdu [in] maximum APDU size
|
||||
* @param segmentation [in] segmentation flag
|
||||
* @param vendor_id [in] vendor identifier
|
||||
*/
|
||||
typedef void (*bacnet_read_write_device_callback_t)(uint32_t device_instance,
|
||||
unsigned max_apdu,
|
||||
int segmentation,
|
||||
uint16_t vendor_id);
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif /* __cplusplus */
|
||||
@@ -97,7 +110,12 @@ BACNET_STACK_EXPORT
|
||||
void bacnet_read_write_value_callback_set(
|
||||
bacnet_read_write_value_callback_t callback);
|
||||
BACNET_STACK_EXPORT
|
||||
void bacnet_read_write_device_callback_set(
|
||||
bacnet_read_write_device_callback_t callback);
|
||||
BACNET_STACK_EXPORT
|
||||
void bacnet_read_write_vendor_id_filter_set(uint16_t vendor_id);
|
||||
BACNET_STACK_EXPORT
|
||||
uint16_t bacnet_read_write_vendor_id_filter(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user