diff --git a/bacnet-stack/demo/gateway/main.c b/bacnet-stack/demo/gateway/main.c index 7a6f27b4..5d49ee99 100644 --- a/bacnet-stack/demo/gateway/main.c +++ b/bacnet-stack/demo/gateway/main.c @@ -172,6 +172,8 @@ static void Init_Service_Handlers( handler_read_property_multiple); apdu_set_confirmed_handler(SERVICE_CONFIRMED_WRITE_PROPERTY, handler_write_property); + apdu_set_confirmed_handler(SERVICE_CONFIRMED_READ_RANGE, + handler_read_range); #if defined(BACFILE) apdu_set_confirmed_handler(SERVICE_CONFIRMED_ATOMIC_READ_FILE, handler_atomic_read_file); diff --git a/bacnet-stack/demo/handler/h_alarm_ack.c b/bacnet-stack/demo/handler/h_alarm_ack.c index 17846296..85571a37 100644 --- a/bacnet-stack/demo/handler/h_alarm_ack.c +++ b/bacnet-stack/demo/handler/h_alarm_ack.c @@ -69,7 +69,11 @@ void handler_alarm_ack( BACNET_ADDRESS my_address; /* encode the NPDU portion of the packet */ +#if BAC_ROUTING + my_address = *Get_Routed_Device_Address(-1); +#else datalink_get_my_address(&my_address); +#endif npdu_encode_npdu_data(&npdu_data, false, MESSAGE_PRIORITY_NORMAL); pdu_len = npdu_encode_pdu(&Handler_Transmit_Buffer[0], src, &my_address, diff --git a/bacnet-stack/demo/handler/h_cov.c b/bacnet-stack/demo/handler/h_cov.c index 8ff84da4..b3436a59 100644 --- a/bacnet-stack/demo/handler/h_cov.c +++ b/bacnet-stack/demo/handler/h_cov.c @@ -339,7 +339,7 @@ static bool cov_send_request( cov_data.subscriberProcessIdentifier = cov_subscription->subscriberProcessIdentifier; #if BAC_ROUTING - cov_data.initiatingDeviceIdentifier = Device_Object_Instance_Number(); + cov_data.initiatingDeviceIdentifier = Routed_Device_Object_Instance_Number(); #else cov_data.initiatingDeviceIdentifier = Device_Object_Instance_Number(); #endif diff --git a/bacnet-stack/demo/handler/h_getevent.c b/bacnet-stack/demo/handler/h_getevent.c index f5499e2c..b6641174 100644 --- a/bacnet-stack/demo/handler/h_getevent.c +++ b/bacnet-stack/demo/handler/h_getevent.c @@ -72,7 +72,11 @@ void handler_get_event_information( int valid_event = 0; /* encode the NPDU portion of the packet */ +#if BAC_ROUTING + my_address = *Get_Routed_Device_Address(-1); +#else datalink_get_my_address(&my_address); +#endif npdu_encode_npdu_data(&npdu_data, false, MESSAGE_PRIORITY_NORMAL); pdu_len = npdu_encode_pdu(&Handler_Transmit_Buffer[0], src, &my_address, diff --git a/bacnet-stack/demo/handler/h_pt.c b/bacnet-stack/demo/handler/h_pt.c index 5051104d..fa3afc79 100644 --- a/bacnet-stack/demo/handler/h_pt.c +++ b/bacnet-stack/demo/handler/h_pt.c @@ -231,7 +231,11 @@ void handler_conf_private_trans( /* encode the NPDU portion of the response packet as it will be needed */ /* no matter what the outcome. */ +#if BAC_ROUTING + my_address = *Get_Routed_Device_Address(-1); +#else datalink_get_my_address(&my_address); +#endif npdu_encode_npdu_data(&npdu_data, false, MESSAGE_PRIORITY_NORMAL); pdu_len = npdu_encode_pdu(&Handler_Transmit_Buffer[0], src, &my_address, diff --git a/bacnet-stack/demo/handler/h_rr.c b/bacnet-stack/demo/handler/h_rr.c index 45d01311..fa2bcb6e 100644 --- a/bacnet-stack/demo/handler/h_rr.c +++ b/bacnet-stack/demo/handler/h_rr.c @@ -104,7 +104,11 @@ void handler_read_range( data.error_class = ERROR_CLASS_OBJECT; data.error_code = ERROR_CODE_UNKNOWN_OBJECT; /* encode the NPDU portion of the packet */ +#if BAC_ROUTING + my_address = *Get_Routed_Device_Address(-1); +#else datalink_get_my_address(&my_address); +#endif npdu_encode_npdu_data(&npdu_data, false, MESSAGE_PRIORITY_NORMAL); pdu_len = npdu_encode_pdu(&Handler_Transmit_Buffer[0], src, &my_address, diff --git a/bacnet-stack/demo/handler/s_ack_alarm.c b/bacnet-stack/demo/handler/s_ack_alarm.c index 2835deff..e01712db 100644 --- a/bacnet-stack/demo/handler/s_ack_alarm.c +++ b/bacnet-stack/demo/handler/s_ack_alarm.c @@ -73,7 +73,11 @@ uint8_t Send_Alarm_Acknowledgement( invoke_id = tsm_next_free_invokeID(); if (invoke_id) { /* encode the NPDU portion of the packet */ +#if BAC_ROUTING + my_address = *Get_Routed_Device_Address(-1); +#else datalink_get_my_address(&my_address); +#endif npdu_encode_npdu_data(&npdu_data, true, MESSAGE_PRIORITY_NORMAL); pdu_len = npdu_encode_pdu(&Handler_Transmit_Buffer[0], &dest, &my_address, diff --git a/bacnet-stack/demo/handler/s_cevent.c b/bacnet-stack/demo/handler/s_cevent.c index 52f8bda2..063b6fbf 100644 --- a/bacnet-stack/demo/handler/s_cevent.c +++ b/bacnet-stack/demo/handler/s_cevent.c @@ -69,7 +69,11 @@ uint8_t Send_CEvent_Notify( invoke_id = tsm_next_free_invokeID(); if (invoke_id) { /* encode the NPDU portion of the packet */ - datalink_get_my_address(&my_address); +#if BAC_ROUTING + my_address = *Get_Routed_Device_Address(-1); +#else + datalink_get_my_address(&my_address); +#endif npdu_encode_npdu_data(&npdu_data, true, MESSAGE_PRIORITY_NORMAL); pdu_len = npdu_encode_pdu(&Handler_Transmit_Buffer[0], &dest, &my_address, diff --git a/bacnet-stack/demo/handler/s_ihave.c b/bacnet-stack/demo/handler/s_ihave.c index 3bf868b9..2253f10d 100644 --- a/bacnet-stack/demo/handler/s_ihave.c +++ b/bacnet-stack/demo/handler/s_ihave.c @@ -77,14 +77,11 @@ void Send_I_Have( datalink_get_broadcast_address(&dest); /* encode the NPDU portion of the packet */ npdu_encode_npdu_data(&npdu_data, false, MESSAGE_PRIORITY_NORMAL); - #if BAC_ROUTING pdu_len = npdu_encode_pdu(&Handler_Transmit_Buffer[0], &dest, &my_address, &npdu_data); #else pdu_len = npdu_encode_pdu(&Handler_Transmit_Buffer[0], &dest, NULL, &npdu_data); #endif - - pdu_len = npdu_encode_pdu(&Handler_Transmit_Buffer[0], &dest, NULL, &npdu_data); /* encode the APDU portion of the packet */ data.device_id.type = OBJECT_DEVICE; data.device_id.instance = device_id; diff --git a/bacnet-stack/demo/handler/s_lso.c b/bacnet-stack/demo/handler/s_lso.c index bc518144..e7207a2c 100644 --- a/bacnet-stack/demo/handler/s_lso.c +++ b/bacnet-stack/demo/handler/s_lso.c @@ -73,7 +73,11 @@ uint8_t Send_Life_Safety_Operation_Data( invoke_id = tsm_next_free_invokeID(); if (invoke_id) { /* encode the NPDU portion of the packet */ +#if BAC_ROUTING + my_address = *Get_Routed_Device_Address(-1); +#else datalink_get_my_address(&my_address); +#endif npdu_encode_npdu_data(&npdu_data, true, MESSAGE_PRIORITY_NORMAL); pdu_len = npdu_encode_pdu(&Handler_Transmit_Buffer[0], &dest, &my_address, diff --git a/bacnet-stack/demo/handler/s_ptransfer.c b/bacnet-stack/demo/handler/s_ptransfer.c index 577739b6..747cfa58 100644 --- a/bacnet-stack/demo/handler/s_ptransfer.c +++ b/bacnet-stack/demo/handler/s_ptransfer.c @@ -78,7 +78,11 @@ uint8_t Send_Private_Transfer_Request( invoke_id = tsm_next_free_invokeID(); if (invoke_id) { /* encode the NPDU portion of the packet */ +#if BAC_ROUTING + my_address = *Get_Routed_Device_Address(-1); +#else datalink_get_my_address(&my_address); +#endif npdu_encode_npdu_data(&npdu_data, true, MESSAGE_PRIORITY_NORMAL); pdu_len = npdu_encode_pdu(&Handler_Transmit_Buffer[0], &dest, &my_address, diff --git a/bacnet-stack/demo/handler/s_readrange.c b/bacnet-stack/demo/handler/s_readrange.c index e342bb78..8fe3f3c2 100644 --- a/bacnet-stack/demo/handler/s_readrange.c +++ b/bacnet-stack/demo/handler/s_readrange.c @@ -72,7 +72,11 @@ uint8_t Send_ReadRange_Request( if (invoke_id) { /* encode the NPDU portion of the packet */ +#if BAC_ROUTING + my_address = *Get_Routed_Device_Address(-1); +#else datalink_get_my_address(&my_address); +#endif npdu_encode_npdu_data(&npdu_data, true, MESSAGE_PRIORITY_NORMAL); pdu_len = npdu_encode_pdu(&Handler_Transmit_Buffer[0], &dest, &my_address, diff --git a/bacnet-stack/demo/handler/s_upt.c b/bacnet-stack/demo/handler/s_upt.c index 2c1253ab..21f8e014 100644 --- a/bacnet-stack/demo/handler/s_upt.c +++ b/bacnet-stack/demo/handler/s_upt.c @@ -53,14 +53,22 @@ void Send_UnconfirmedPrivateTransfer( int pdu_len = 0; int bytes_sent = 0; BACNET_NPDU_DATA npdu_data; +#if BAC_ROUTING + BACNET_ADDRESS my_address; + + my_address = *Get_Routed_Device_Address(-1); +#endif if (!dcc_communication_enabled()) return; /* encode the NPDU portion of the packet */ npdu_encode_npdu_data(&npdu_data, false, MESSAGE_PRIORITY_NORMAL); - pdu_len = - npdu_encode_pdu(&Handler_Transmit_Buffer[0], dest, NULL, &npdu_data); +#if BAC_ROUTING + pdu_len = npdu_encode_pdu(&Handler_Transmit_Buffer[0], dest, &my_address, &npdu_data); +#else + pdu_len = npdu_encode_pdu(&Handler_Transmit_Buffer[0], dest, NULL, &npdu_data); +#endif /* encode the APDU portion of the packet */ len = uptransfer_encode_apdu(&Handler_Transmit_Buffer[pdu_len], diff --git a/bacnet-stack/demo/server/main.c b/bacnet-stack/demo/server/main.c index fd5d006e..b1cfaf18 100644 --- a/bacnet-stack/demo/server/main.c +++ b/bacnet-stack/demo/server/main.c @@ -117,6 +117,8 @@ static void Init_Service_Handlers( handler_read_property_multiple); apdu_set_confirmed_handler(SERVICE_CONFIRMED_WRITE_PROPERTY, handler_write_property); + apdu_set_confirmed_handler(SERVICE_CONFIRMED_READ_RANGE, + handler_read_range); #if defined(BACFILE) apdu_set_confirmed_handler(SERVICE_CONFIRMED_ATOMIC_READ_FILE, handler_atomic_read_file); diff --git a/bacnet-stack/ports/win32/Microsoft Visual Studio 2008/BACnet Stack Library/BACnet Stack Library.vcproj b/bacnet-stack/ports/win32/Microsoft Visual Studio 2008/BACnet Stack Library/BACnet Stack Library.vcproj index 9e33626d..9832f8c0 100644 --- a/bacnet-stack/ports/win32/Microsoft Visual Studio 2008/BACnet Stack Library/BACnet Stack Library.vcproj +++ b/bacnet-stack/ports/win32/Microsoft Visual Studio 2008/BACnet Stack Library/BACnet Stack Library.vcproj @@ -327,6 +327,10 @@ RelativePath="..\..\..\..\demo\handler\h_rpm_a.c" > + + @@ -403,6 +407,10 @@ RelativePath="..\..\..\..\src\rd.c" > + +