diff --git a/bacnet-stack/demo/handler/h_alarm_ack.c b/bacnet-stack/demo/handler/h_alarm_ack.c
index 55487d25..0041adb0 100644
--- a/bacnet-stack/demo/handler/h_alarm_ack.c
+++ b/bacnet-stack/demo/handler/h_alarm_ack.c
@@ -127,8 +127,19 @@ void handler_alarm_ack(
data.ackSource.value, (unsigned long) data.ackProcessIdentifier);
#endif
-
- if (Alarm_Ack[data.eventObjectIdentifier.type]) {
+ /* BACnet Testing Observed Incident oi00105
+ ACK of a non-existent object returned the incorrect error code
+ Revealed by BACnet Test Client v1.8.16 ( www.bac-test.com/bacnet-test-client-download )
+ BC 135.1: 9.1.3.3-A
+ Any discussions can be directed to edward@bac-test.com */
+ if (!Device_Valid_Object_Id(data.eventObjectIdentifier.type, data.eventObjectIdentifier.instance))
+ {
+ len =
+ bacerror_encode_apdu(&Handler_Transmit_Buffer[pdu_len],
+ service_data->invoke_id,
+ SERVICE_CONFIRMED_ACKNOWLEDGE_ALARM, ERROR_CLASS_OBJECT, ERROR_CODE_UNKNOWN_OBJECT);
+ }
+ else if (Alarm_Ack[data.eventObjectIdentifier.type]) {
ack_result =
Alarm_Ack[data.eventObjectIdentifier.type] (&data, &error_code);
diff --git a/bacnet-stack/demo/object/ai.c b/bacnet-stack/demo/object/ai.c
index 981d91b2..8b09e55d 100644
--- a/bacnet-stack/demo/object/ai.c
+++ b/bacnet-stack/demo/object/ai.c
@@ -375,12 +375,23 @@ void Analog_Input_Out_Of_Service_Set(
index = Analog_Input_Instance_To_Index(object_instance);
if (index < MAX_ANALOG_INPUTS) {
+ /* BACnet Testing Observed Incident oi00104
+ The Changed flag was not being set when a client wrote to the Out-of-Service bit.
+ Revealed by BACnet Test Client v1.8.16 ( www.bac-test.com/bacnet-test-client-download )
+ BC 135.1: 8.2.1-A
+ BC 135.1: 8.2.2-A
+ Any discussions can be directed to edward@bac-test.com
+ Please feel free to remove this comment when my changes accepted after suitable time for
+ review by all interested parties. Say 6 months -> September 2016 */
+ if (AI_Descr[index].Out_Of_Service != value) {
+ AI_Descr[index].Changed = true;
+ }
AI_Descr[index].Out_Of_Service = value;
}
}
/* return apdu length, or BACNET_STATUS_ERROR on error */
-/* assumption - object has already exists */
+/* assumption - object already exists */
int Analog_Input_Read_Property(
BACNET_READ_PROPERTY_DATA * rpdata)
{
@@ -604,7 +615,7 @@ int Analog_Input_Read_Property(
break;
#endif
case 9997:
- /* test case for real encoding-decoding unsigned value correctly */
+ /* test case for real encoding-decoding real value correctly */
apdu_len = encode_application_real(&apdu[0], 90.510F);
break;
case 9998:
diff --git a/bacnet-stack/demo/object/command.c b/bacnet-stack/demo/object/command.c
index 69f8c565..674959f0 100644
--- a/bacnet-stack/demo/object/command.c
+++ b/bacnet-stack/demo/object/command.c
@@ -54,6 +54,19 @@
#include "timestamp.h"
#include "command.h"
+ /*BACnetActionCommand ::= SEQUENCE {
+ deviceIdentifier [0] BACnetObjectIdentifier OPTIONAL,
+ objectIdentifier [1] BACnetObjectIdentifier,
+ propertyIdentifier [2] BACnetPropertyIdentifier,
+ propertyArrayIndex [3] Unsigned OPTIONAL, --used only with array datatype
+ propertyValue [4] ABSTRACT-SYNTAX.&Type,
+ priority [5] Unsigned (1..16) OPTIONAL, --used only when property is commandable
+ postDelay [6] Unsigned OPTIONAL,
+ quitOnFailure [7] BOOLEAN,
+ writeSuccessful [8] BOOLEAN
+ }*/
+
+
int cl_encode_apdu(
uint8_t * apdu,
BACNET_ACTION_LIST * bcl)
@@ -91,10 +104,31 @@ int cl_encode_apdu(
return BACNET_STATUS_REJECT;
apdu_len += len;
}
- len = bacapp_encode_context_data_value(&apdu[apdu_len], 4, &bcl->Value);
+
+ /* BACnet Testing Observed Incident oi00108
+ Command Action not correctly formatted
+ Revealed by BACnet Test Client v1.8.16 ( www.bac-test.com/bacnet-test-client-download )
+ BITS: BIT00031
+ BC 135.1: 9.20.1.7
+ BC 135.1: 9.20.1.9
+ Any discussions can be directed to edward@bac-test.com
+ Please feel free to remove this comment when my changes have been reviewed
+ by all interested parties. Say 6 months -> September 2016 */
+
+ len = encode_opening_tag(&apdu[apdu_len], 4);
+ if (len < 0)
+ return BACNET_STATUS_REJECT;
+ apdu_len += len;
+ len = bacapp_encode_application_data(&apdu[apdu_len], &bcl->Value);
if (len < 0)
return BACNET_STATUS_REJECT;
apdu_len += len;
+ len = encode_closing_tag(&apdu[apdu_len], 4);
+ if (len < 0)
+ return BACNET_STATUS_REJECT;
+ apdu_len += len;
+
+
if (bcl->Priority != BACNET_NO_PRIORITY) {
len = encode_context_unsigned(&apdu[apdu_len], 5, bcl->Priority);
if (len < 0)
diff --git a/bacnet-stack/demo/object/piv.c b/bacnet-stack/demo/object/piv.c
index a1f5d95c..109c11e1 100644
--- a/bacnet-stack/demo/object/piv.c
+++ b/bacnet-stack/demo/object/piv.c
@@ -247,6 +247,16 @@ int PositiveInteger_Value_Read_Property(BACNET_READ_PROPERTY_DATA * rpdata)
case PROP_UNITS:
apdu_len =
encode_application_enumerated(&apdu[0], CurrentAV->Units);
+ break;
+ /* BACnet Testing Observed Incident oi00109
+ Positive Integer Value / Units returned wrong datatype - missing break.
+ Revealed by BACnet Test Client v1.8.16 ( www.bac-test.com/bacnet-test-client-download )
+ BITS: BIT00031
+ BC 135.1: 9.20.1.7
+ BC 135.1: 9.20.1.9
+ Any discussions can be directed to edward@bac-test.com
+ Please feel free to remove this comment when my changes have been reviewed
+ by all interested parties. Say 6 months -> September 2016 */
case PROP_OUT_OF_SERVICE:
state = CurrentAV->Out_Of_Service;
diff --git a/bacnet-stack/demo/object/schedule.c b/bacnet-stack/demo/object/schedule.c
index dd4f0ed1..310fb8cc 100644
--- a/bacnet-stack/demo/object/schedule.c
+++ b/bacnet-stack/demo/object/schedule.c
@@ -150,6 +150,26 @@ bool Schedule_Object_Name(uint32_t object_instance,
return status;
}
+/* BACnet Testing Observed Incident oi00106
+ Out of service was not supported by Schedule object
+ Revealed by BACnet Test Client v1.8.16 ( www.bac-test.com/bacnet-test-client-download )
+ BITS: BIT00032
+ Any discussions can be directed to edward@bac-test.com
+ Please feel free to remove this comment when my changes accepted after suitable time for
+ review by all interested parties. Say 6 months -> September 2016 */
+void Schedule_Out_Of_Service_Set(
+ uint32_t object_instance,
+ bool value)
+{
+ unsigned index = 0;
+
+ index = Schedule_Instance_To_Index(object_instance);
+ if (index < MAX_SCHEDULES) {
+ Schedule_Descr[index].Out_Of_Service = value;
+ }
+}
+
+
int Schedule_Read_Property(BACNET_READ_PROPERTY_DATA * rpdata)
{
int apdu_len = 0;
@@ -191,9 +211,16 @@ int Schedule_Read_Property(BACNET_READ_PROPERTY_DATA * rpdata)
apdu_len = bacapp_encode_data(&apdu[0], CurrentSC->Present_Value);
break;
case PROP_EFFECTIVE_PERIOD:
- apdu_len = encode_bacnet_date(&apdu[0], &CurrentSC->Start_Date);
+ /* BACnet Testing Observed Incident oi00110
+ Effective Period of Schedule object not correctly formatted
+ Revealed by BACnet Test Client v1.8.16 ( www.bac-test.com/bacnet-test-client-download )
+ BITS: BIT00031
+ Any discussions can be directed to edward@bac-test.com
+ Please feel free to remove this comment when my changes accepted after suitable time for
+ review by all interested parties. Say 6 months -> September 2016 */
+ apdu_len = encode_application_date(&apdu[0], &CurrentSC->Start_Date);
apdu_len +=
- encode_bacnet_date(&apdu[apdu_len], &CurrentSC->End_Date);
+ encode_application_date(&apdu[apdu_len], &CurrentSC->End_Date);
break;
case PROP_WEEKLY_SCHEDULE:
if (rpdata->array_index == 0) /* count, always 7 */
@@ -254,8 +281,17 @@ int Schedule_Read_Property(BACNET_READ_PROPERTY_DATA * rpdata)
encode_application_enumerated(&apdu[0],
RELIABILITY_NO_FAULT_DETECTED);
break;
+
case PROP_OUT_OF_SERVICE:
- apdu_len = encode_application_boolean(&apdu[0], false);
+ /* BACnet Testing Observed Incident oi00106
+ Out of service was not supported by Schedule object
+ Revealed by BACnet Test Client v1.8.16 ( www.bac-test.com/bacnet-test-client-download )
+ BITS: BIT00032
+ Any discussions can be directed to edward@bac-test.com
+ Please feel free to remove this comment when my changes accepted after suitable time for
+ review by all interested parties. Say 6 months -> September 2016 */
+ apdu_len = encode_application_boolean(&apdu[0],
+ CurrentSC->Out_Of_Service );
break;
default:
rpdata->error_class = ERROR_CLASS_PROPERTY;
@@ -276,8 +312,33 @@ int Schedule_Read_Property(BACNET_READ_PROPERTY_DATA * rpdata)
bool Schedule_Write_Property(BACNET_WRITE_PROPERTY_DATA * wp_data)
{
- unsigned object_index = 0;
+ /* Ed->Steve, I know that initializing stack values used to be 'safer', but warnings in latest compilers indicate when
+ uninitialized values are being used, and I think that the warnings are more useful to reveal bad code flow than the
+ "safety: of pre-intializing variables. Please give this some thought let me know if you agree we should start to
+ remove initializations */
+ unsigned object_index ;
bool status = false; /* return value */
+ int len ;
+ BACNET_APPLICATION_DATA_VALUE value;
+
+ /* BACnet Testing Observed Incident oi00106
+ Out of service was not supported by Schedule object
+ Revealed by BACnet Test Client v1.8.16 ( www.bac-test.com/bacnet-test-client-download )
+ BITS: BIT00032
+ Any discussions can be directed to edward@bac-test.com
+ Please feel free to remove this comment when my changes accepted after suitable time for
+ review by all interested parties. Say 6 months -> September 2016 */
+ /* decode the some of the request */
+ len =
+ bacapp_decode_application_data(wp_data->application_data,
+ wp_data->application_data_len, &value);
+ /* FIXME: len < application_data_len: more data? */
+ if (len < 0) {
+ /* error while decoding - a value larger than we can handle */
+ wp_data->error_class = ERROR_CLASS_PROPERTY;
+ wp_data->error_code = ERROR_CODE_VALUE_OUT_OF_RANGE;
+ return false;
+ }
object_index = Schedule_Instance_To_Index(wp_data->object_instance);
if (object_index >= MAX_SCHEDULES) {
@@ -285,6 +346,24 @@ bool Schedule_Write_Property(BACNET_WRITE_PROPERTY_DATA * wp_data)
}
switch ((int) wp_data->object_property) {
+ case PROP_OUT_OF_SERVICE:
+ /* BACnet Testing Observed Incident oi00106
+ Out of service was not supported by Schedule object
+ Revealed by BACnet Test Client v1.8.16 ( www.bac-test.com/bacnet-test-client-download )
+ BITS: BIT00032
+ Any discussions can be directed to edward@bac-test.com
+ Please feel free to remove this comment when my changes accepted after suitable time for
+ review by all interested parties. Say 6 months -> September 2016 */
+ status =
+ WPValidateArgType(&value, BACNET_APPLICATION_TAG_BOOLEAN,
+ &wp_data->error_class, &wp_data->error_code);
+ if (status) {
+ Schedule_Out_Of_Service_Set(
+ wp_data->object_instance,
+ value.type.Boolean);
+ }
+ break;
+
case PROP_OBJECT_IDENTIFIER:
case PROP_OBJECT_NAME:
case PROP_OBJECT_TYPE:
@@ -296,7 +375,6 @@ bool Schedule_Write_Property(BACNET_WRITE_PROPERTY_DATA * wp_data)
case PROP_PRIORITY_FOR_WRITING:
case PROP_STATUS_FLAGS:
case PROP_RELIABILITY:
- case PROP_OUT_OF_SERVICE:
wp_data->error_class = ERROR_CLASS_PROPERTY;
wp_data->error_code = ERROR_CODE_WRITE_ACCESS_DENIED;
break;
@@ -331,6 +409,12 @@ void Schedule_Recalculate_PV(SCHEDULE_DESCR * desc,
desc->Present_Value = NULL;
/* for future development, here should be the loop for Exception Schedule */
+
+ /* Just a note to developers: We have a paying customer who has asked us to fully implement the Schedule Object.
+ In good spirit, they have agreed to allow us to release the code we develop back to the Open Source community after a 6-12 month waiting period.
+ However, if you are about to work on this yourself, please ping us at info@connect-ex.com, we may be able to broker an early release on a
+ case-by-case basis. */
+
for (i = 0;
i < desc->Weekly_Schedule[wday - 1].TV_Count &&
diff --git a/bacnet-stack/demo/server/main.c b/bacnet-stack/demo/server/main.c
index e79cfb88..dfa78523 100644
--- a/bacnet-stack/demo/server/main.c
+++ b/bacnet-stack/demo/server/main.c
@@ -85,8 +85,21 @@ static void Init_Service_Handlers(
/* we need to handle who-is to support dynamic device binding */
apdu_set_unconfirmed_handler(SERVICE_UNCONFIRMED_WHO_IS, handler_who_is);
apdu_set_unconfirmed_handler(SERVICE_UNCONFIRMED_WHO_HAS, handler_who_has);
+
+#if 0
+ /* BACnet Testing Observed Incident oi00107
+ Server only devices should not indicate that they EXECUTE I-Am
+ Revealed by BACnet Test Client v1.8.16 ( www.bac-test.com/bacnet-test-client-download )
+ BITS: BIT00040
+ Any discussions can be directed to edward@bac-test.com
+ Please feel free to remove this comment when my changes accepted after suitable time for
+ review by all interested parties. Say 6 months -> September 2016 */
+ /* In this demo, we are the server only ( BACnet "B" device ) so we do not indicate
+ that we can execute the I-Am message */
/* handle i-am to support binding to other devices */
apdu_set_unconfirmed_handler(SERVICE_UNCONFIRMED_I_AM, handler_i_am_bind);
+#endif
+
/* set the handler for all the services we don't implement */
/* It is required to send the proper reject message... */
apdu_set_unrecognized_service_handler_handler
@@ -135,13 +148,13 @@ static void Init_Service_Handlers(
#endif /* defined(INTRINSIC_REPORTING) */
}
-static void print_usage(char *filename)
+static void print_usage(const char *filename)
{
printf("Usage: %s [device-instance [device-name]]\n", filename);
printf(" [--version][--help]\n");
}
-static void print_help(char *filename)
+static void print_help(const char *filename)
{
printf("Simulate a BACnet server device\n"
"device-instance:\n"
@@ -188,7 +201,7 @@ int main(
struct uci_context *ctx;
#endif
int argi = 0;
- char *filename = NULL;
+ const char *filename = NULL;
filename = filename_remove_path(argv[0]);
for (argi = 1; argi < argc; argi++) {
diff --git a/bacnet-stack/include/version.h b/bacnet-stack/include/version.h
index 2baa30ff..a86d4a9f 100644
--- a/bacnet-stack/include/version.h
+++ b/bacnet-stack/include/version.h
@@ -29,8 +29,8 @@
#define BACNET_VERSION(x,y,z) (((x)<<16)+((y)<<8)+(z))
#endif
-#define BACNET_VERSION_TEXT "0.9.0"
-#define BACNET_VERSION_CODE BACNET_VERSION(0,9,0)
+#define BACNET_VERSION_TEXT "0.9.1"
+#define BACNET_VERSION_CODE BACNET_VERSION(0,9,1)
#define BACNET_VERSION_MAJOR ((BACNET_VERSION_CODE>>16)&0xFF)
#define BACNET_VERSION_MINOR ((BACNET_VERSION_CODE>>8)&0xFF)
#define BACNET_VERSION_MAINTENANCE (BACNET_VERSION_CODE&0xFF)
diff --git a/bacnet-stack/ports/win32/Microsoft Visual Studio 2015/BACnet Solution Settings.props b/bacnet-stack/ports/win32/Microsoft Visual Studio 2015/BACnet Solution Settings.props
new file mode 100644
index 00000000..af3838b7
--- /dev/null
+++ b/bacnet-stack/ports/win32/Microsoft Visual Studio 2015/BACnet Solution Settings.props
@@ -0,0 +1,22 @@
+
+
+
+
+
+ <_PropertySheetDisplayName>BACnet Solution Settings
+ ..\..;..\..\..\..\include;..\..\..\..\demo\object;..\..\..\..\demo\handler;$(IncludePath)
+
+
+
+ _DEBUG;_CONSOLE;PRINT_ENABLED=1;BIP_DEBUG;INTRINSIC_REPORTING=1;BBMD_ENABLED=1;DEBUG_ENABLED=1;BACFILE;WIN32;_MBCS;%(PreprocessorDefinitions)
+ MultiThreaded
+ Default
+ Level3
+ true
+ C:\dev\Kargs BACnet Stack\demo\object;C:\dev\Kargs BACnet Stack\demo\handler;C:\dev\Kargs BACnet Stack\ports\win32;C:\dev\Kargs BACnet Stack\include;%(AdditionalIncludeDirectories)
+ 4245;4389;4244;4996;4018;4100;4267;4701;4244;4100;4701;4214;4244;4267;4189;4100;4701
+ CompileAsC
+
+
+
+
\ No newline at end of file
diff --git a/bacnet-stack/ports/win32/Microsoft Visual Studio 2015/BACnet Stack Development.sln b/bacnet-stack/ports/win32/Microsoft Visual Studio 2015/BACnet Stack Development.sln
index 5b77958d..0eac3a04 100644
--- a/bacnet-stack/ports/win32/Microsoft Visual Studio 2015/BACnet Stack Development.sln
+++ b/bacnet-stack/ports/win32/Microsoft Visual Studio 2015/BACnet Stack Development.sln
@@ -1,57 +1,67 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 14
-VisualStudioVersion = 14.0.24720.0
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BACnet_Handler_Library", "BACnet_Handler_Library\BACnet_Handler_Library.vcxproj", "{2001A15D-2D0E-4FFA-8B90-5E7938AE6ECF}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BACnet_Object_Definitions", "BACnet_Object_Definitions\BACnet_Object_Definitions.vcxproj", "{6D42B11A-84DA-46DB-9D08-319329D51473}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BACnet_Stack_Library", "BACnet_Stack_Library\BACnet_Stack_Library.vcxproj", "{D0875CC6-8B68-404C-ABD7-823FE0C084DD}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "server", "Server\Server.vcxproj", "{EF250061-B9E3-4EEF-8C87-4AB52AF30B3E}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|x64 = Debug|x64
- Debug|x86 = Debug|x86
- Release|x64 = Release|x64
- Release|x86 = Release|x86
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {2001A15D-2D0E-4FFA-8B90-5E7938AE6ECF}.Debug|x64.ActiveCfg = Debug|x64
- {2001A15D-2D0E-4FFA-8B90-5E7938AE6ECF}.Debug|x64.Build.0 = Debug|x64
- {2001A15D-2D0E-4FFA-8B90-5E7938AE6ECF}.Debug|x86.ActiveCfg = Debug|Win32
- {2001A15D-2D0E-4FFA-8B90-5E7938AE6ECF}.Debug|x86.Build.0 = Debug|Win32
- {2001A15D-2D0E-4FFA-8B90-5E7938AE6ECF}.Release|x64.ActiveCfg = Release|x64
- {2001A15D-2D0E-4FFA-8B90-5E7938AE6ECF}.Release|x64.Build.0 = Release|x64
- {2001A15D-2D0E-4FFA-8B90-5E7938AE6ECF}.Release|x86.ActiveCfg = Release|Win32
- {2001A15D-2D0E-4FFA-8B90-5E7938AE6ECF}.Release|x86.Build.0 = Release|Win32
- {6D42B11A-84DA-46DB-9D08-319329D51473}.Debug|x64.ActiveCfg = Debug|x64
- {6D42B11A-84DA-46DB-9D08-319329D51473}.Debug|x64.Build.0 = Debug|x64
- {6D42B11A-84DA-46DB-9D08-319329D51473}.Debug|x86.ActiveCfg = Debug|Win32
- {6D42B11A-84DA-46DB-9D08-319329D51473}.Debug|x86.Build.0 = Debug|Win32
- {6D42B11A-84DA-46DB-9D08-319329D51473}.Release|x64.ActiveCfg = Release|x64
- {6D42B11A-84DA-46DB-9D08-319329D51473}.Release|x64.Build.0 = Release|x64
- {6D42B11A-84DA-46DB-9D08-319329D51473}.Release|x86.ActiveCfg = Release|Win32
- {6D42B11A-84DA-46DB-9D08-319329D51473}.Release|x86.Build.0 = Release|Win32
- {D0875CC6-8B68-404C-ABD7-823FE0C084DD}.Debug|x64.ActiveCfg = Debug|x64
- {D0875CC6-8B68-404C-ABD7-823FE0C084DD}.Debug|x64.Build.0 = Debug|x64
- {D0875CC6-8B68-404C-ABD7-823FE0C084DD}.Debug|x86.ActiveCfg = Debug|Win32
- {D0875CC6-8B68-404C-ABD7-823FE0C084DD}.Debug|x86.Build.0 = Debug|Win32
- {D0875CC6-8B68-404C-ABD7-823FE0C084DD}.Release|x64.ActiveCfg = Release|x64
- {D0875CC6-8B68-404C-ABD7-823FE0C084DD}.Release|x64.Build.0 = Release|x64
- {D0875CC6-8B68-404C-ABD7-823FE0C084DD}.Release|x86.ActiveCfg = Release|Win32
- {D0875CC6-8B68-404C-ABD7-823FE0C084DD}.Release|x86.Build.0 = Release|Win32
- {EF250061-B9E3-4EEF-8C87-4AB52AF30B3E}.Debug|x64.ActiveCfg = Debug|x64
- {EF250061-B9E3-4EEF-8C87-4AB52AF30B3E}.Debug|x64.Build.0 = Debug|x64
- {EF250061-B9E3-4EEF-8C87-4AB52AF30B3E}.Debug|x86.ActiveCfg = Debug|Win32
- {EF250061-B9E3-4EEF-8C87-4AB52AF30B3E}.Debug|x86.Build.0 = Debug|Win32
- {EF250061-B9E3-4EEF-8C87-4AB52AF30B3E}.Release|x64.ActiveCfg = Release|Win32
- {EF250061-B9E3-4EEF-8C87-4AB52AF30B3E}.Release|x86.ActiveCfg = Release|Win32
- {EF250061-B9E3-4EEF-8C87-4AB52AF30B3E}.Release|x86.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+VisualStudioVersion = 14.0.24720.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BACnet_Handler_Library", "BACnet_Handler_Library\BACnet_Handler_Library.vcxproj", "{2001A15D-2D0E-4FFA-8B90-5E7938AE6ECF}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BACnet_Object_Definitions", "BACnet_Object_Definitions\BACnet_Object_Definitions.vcxproj", "{6D42B11A-84DA-46DB-9D08-319329D51473}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BACnet_Stack_Library", "BACnet_Stack_Library\BACnet_Stack_Library.vcxproj", "{D0875CC6-8B68-404C-ABD7-823FE0C084DD}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "server", "Server\Server.vcxproj", "{EF250061-B9E3-4EEF-8C87-4AB52AF30B3E}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "readprop", "readprop\readprop.vcxproj", "{F5C66E99-F93F-4182-A95C-EBF445DF993E}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {2001A15D-2D0E-4FFA-8B90-5E7938AE6ECF}.Debug|x64.ActiveCfg = Debug|x64
+ {2001A15D-2D0E-4FFA-8B90-5E7938AE6ECF}.Debug|x64.Build.0 = Debug|x64
+ {2001A15D-2D0E-4FFA-8B90-5E7938AE6ECF}.Debug|x86.ActiveCfg = Debug|Win32
+ {2001A15D-2D0E-4FFA-8B90-5E7938AE6ECF}.Debug|x86.Build.0 = Debug|Win32
+ {2001A15D-2D0E-4FFA-8B90-5E7938AE6ECF}.Release|x64.ActiveCfg = Release|x64
+ {2001A15D-2D0E-4FFA-8B90-5E7938AE6ECF}.Release|x64.Build.0 = Release|x64
+ {2001A15D-2D0E-4FFA-8B90-5E7938AE6ECF}.Release|x86.ActiveCfg = Release|Win32
+ {2001A15D-2D0E-4FFA-8B90-5E7938AE6ECF}.Release|x86.Build.0 = Release|Win32
+ {6D42B11A-84DA-46DB-9D08-319329D51473}.Debug|x64.ActiveCfg = Debug|x64
+ {6D42B11A-84DA-46DB-9D08-319329D51473}.Debug|x64.Build.0 = Debug|x64
+ {6D42B11A-84DA-46DB-9D08-319329D51473}.Debug|x86.ActiveCfg = Debug|Win32
+ {6D42B11A-84DA-46DB-9D08-319329D51473}.Debug|x86.Build.0 = Debug|Win32
+ {6D42B11A-84DA-46DB-9D08-319329D51473}.Release|x64.ActiveCfg = Release|x64
+ {6D42B11A-84DA-46DB-9D08-319329D51473}.Release|x64.Build.0 = Release|x64
+ {6D42B11A-84DA-46DB-9D08-319329D51473}.Release|x86.ActiveCfg = Release|Win32
+ {6D42B11A-84DA-46DB-9D08-319329D51473}.Release|x86.Build.0 = Release|Win32
+ {D0875CC6-8B68-404C-ABD7-823FE0C084DD}.Debug|x64.ActiveCfg = Debug|x64
+ {D0875CC6-8B68-404C-ABD7-823FE0C084DD}.Debug|x64.Build.0 = Debug|x64
+ {D0875CC6-8B68-404C-ABD7-823FE0C084DD}.Debug|x86.ActiveCfg = Debug|Win32
+ {D0875CC6-8B68-404C-ABD7-823FE0C084DD}.Debug|x86.Build.0 = Debug|Win32
+ {D0875CC6-8B68-404C-ABD7-823FE0C084DD}.Release|x64.ActiveCfg = Release|x64
+ {D0875CC6-8B68-404C-ABD7-823FE0C084DD}.Release|x64.Build.0 = Release|x64
+ {D0875CC6-8B68-404C-ABD7-823FE0C084DD}.Release|x86.ActiveCfg = Release|Win32
+ {D0875CC6-8B68-404C-ABD7-823FE0C084DD}.Release|x86.Build.0 = Release|Win32
+ {EF250061-B9E3-4EEF-8C87-4AB52AF30B3E}.Debug|x64.ActiveCfg = Debug|x64
+ {EF250061-B9E3-4EEF-8C87-4AB52AF30B3E}.Debug|x64.Build.0 = Debug|x64
+ {EF250061-B9E3-4EEF-8C87-4AB52AF30B3E}.Debug|x86.ActiveCfg = Debug|Win32
+ {EF250061-B9E3-4EEF-8C87-4AB52AF30B3E}.Debug|x86.Build.0 = Debug|Win32
+ {EF250061-B9E3-4EEF-8C87-4AB52AF30B3E}.Release|x64.ActiveCfg = Release|Win32
+ {EF250061-B9E3-4EEF-8C87-4AB52AF30B3E}.Release|x86.ActiveCfg = Release|Win32
+ {EF250061-B9E3-4EEF-8C87-4AB52AF30B3E}.Release|x86.Build.0 = Release|Win32
+ {F5C66E99-F93F-4182-A95C-EBF445DF993E}.Debug|x64.ActiveCfg = Debug|x64
+ {F5C66E99-F93F-4182-A95C-EBF445DF993E}.Debug|x64.Build.0 = Debug|x64
+ {F5C66E99-F93F-4182-A95C-EBF445DF993E}.Debug|x86.ActiveCfg = Debug|Win32
+ {F5C66E99-F93F-4182-A95C-EBF445DF993E}.Debug|x86.Build.0 = Debug|Win32
+ {F5C66E99-F93F-4182-A95C-EBF445DF993E}.Release|x64.ActiveCfg = Release|x64
+ {F5C66E99-F93F-4182-A95C-EBF445DF993E}.Release|x64.Build.0 = Release|x64
+ {F5C66E99-F93F-4182-A95C-EBF445DF993E}.Release|x86.ActiveCfg = Release|Win32
+ {F5C66E99-F93F-4182-A95C-EBF445DF993E}.Release|x86.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/bacnet-stack/ports/win32/Microsoft Visual Studio 2015/BACnet_Handler_Library/BACnet_Handler_Library.vcxproj b/bacnet-stack/ports/win32/Microsoft Visual Studio 2015/BACnet_Handler_Library/BACnet_Handler_Library.vcxproj
index f8bede91..700734ff 100644
--- a/bacnet-stack/ports/win32/Microsoft Visual Studio 2015/BACnet_Handler_Library/BACnet_Handler_Library.vcxproj
+++ b/bacnet-stack/ports/win32/Microsoft Visual Studio 2015/BACnet_Handler_Library/BACnet_Handler_Library.vcxproj
@@ -1,216 +1,214 @@
-
-
-
-
- Debug
- Win32
-
-
- Debug
- x64
-
-
- Release
- Win32
-
-
- Release
- x64
-
-
-
- {2001A15D-2D0E-4FFA-8B90-5E7938AE6ECF}
- Win32Proj
- BACnet_Handler_Library
- true
- true
- 10.0.10240.0
-
-
-
- StaticLibrary
- true
- v140
- Unicode
-
-
- StaticLibrary
- true
- v140
- Unicode
-
-
- StaticLibrary
- false
- v140
- true
- true
- Unicode
-
-
- StaticLibrary
- false
- v140
- true
- true
- Unicode
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- $(VC_IncludePath);$(UniversalCRT_IncludePath);$(WindowsSDK_IncludePath);
-
-
- $(VC_IncludePath);$(UniversalCRT_IncludePath);$(WindowsSDK_IncludePath);
-
-
- $(VC_IncludePath);$(UniversalCRT_IncludePath);$(WindowsSDK_IncludePath);
-
-
- $(VC_IncludePath);$(UniversalCRT_IncludePath);$(WindowsSDK_IncludePath);
-
-
-
-
-
- Level4
- Disabled
- WIN32;BACDL_BIP;USE_INADDR=0;BACAPP_ALL;_DEBUG;_LIB;%(PreprocessorDefinitions)
- ..\..\..\..\include;..\..\..\..\ports\win32;..\..\..\..\demo\object;%(AdditionalIncludeDirectories)
- ProgramDatabase
- Async
- 4214;4244;4267;4189;4100;4701
-
-
- Windows
- true
-
-
-
-
-
-
- Level4
- Disabled
- WIN32;BACDL_BIP;USE_INADDR=0;BACAPP_ALL;_DEBUG;_LIB;%(PreprocessorDefinitions)
- ..\..\..\..\include;..\..\..\..\ports\win32;..\..\..\..\demo\object;%(AdditionalIncludeDirectories)
- 4214;4244;4267;4189;4100;4701
-
-
- Windows
- true
-
-
-
-
- Level4
-
-
- MaxSpeed
- true
- true
- WIN32;BACDL_BIP;USE_INADDR=0;BACAPP_ALL;NDEBUG;_LIB;%(PreprocessorDefinitions)
- ..\..\..\..\include;..\..\..\..\ports\win32;..\..\..\..\demo\object;%(AdditionalIncludeDirectories)
- Async
- 4214;4244;4267;4189;4100;4701
-
-
- Windows
- true
- true
- true
-
-
-
-
- Level4
-
-
- MaxSpeed
- true
- true
- WIN32;BACDL_BIP;USE_INADDR=0;BACAPP_ALL;NDEBUG;_LIB;%(PreprocessorDefinitions)
- ..\..\..\..\include;..\..\..\..\ports\win32;..\..\..\..\demo\object;%(AdditionalIncludeDirectories)
- 4214;4244;4267;4189;4100;4701
-
-
- Windows
- true
- true
- true
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ {2001A15D-2D0E-4FFA-8B90-5E7938AE6ECF}
+ Win32Proj
+ BACnet_Handler_Library
+ true
+ true
+ 10.0.10240.0
+
+
+
+ StaticLibrary
+ true
+ v140
+ Unicode
+
+
+ StaticLibrary
+ true
+ v140
+ Unicode
+
+
+ StaticLibrary
+ false
+ v140
+ true
+ true
+ Unicode
+
+
+ StaticLibrary
+ false
+ v140
+ true
+ true
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $(VC_IncludePath);$(UniversalCRT_IncludePath);$(WindowsSDK_IncludePath);
+
+
+ $(VC_IncludePath);$(UniversalCRT_IncludePath);$(WindowsSDK_IncludePath);
+
+
+ $(VC_IncludePath);$(UniversalCRT_IncludePath);$(WindowsSDK_IncludePath);
+
+
+ $(VC_IncludePath);$(UniversalCRT_IncludePath);$(WindowsSDK_IncludePath);
+
+
+
+
+
+
+
+
+
+ Windows
+ true
+
+
+
+
+
+
+ Level4
+ Disabled
+ WIN32;BACDL_BIP;USE_INADDR=0;BACAPP_ALL;_DEBUG;_LIB;%(PreprocessorDefinitions)
+ ..\..\..\..\include;..\..\..\..\ports\win32;..\..\..\..\demo\object;%(AdditionalIncludeDirectories)
+ 4214;4244;4267;4189;4100;4701
+
+
+ Windows
+ true
+
+
+
+
+ Level4
+
+
+ MaxSpeed
+ true
+ true
+ WIN32;BACDL_BIP;USE_INADDR=0;BACAPP_ALL;NDEBUG;_LIB;%(PreprocessorDefinitions)
+ ..\..\..\..\include;..\..\..\..\ports\win32;..\..\..\..\demo\object;%(AdditionalIncludeDirectories)
+ Async
+ 4214;4244;4267;4189;4100;4701
+
+
+ Windows
+ true
+ true
+ true
+
+
+
+
+ Level4
+
+
+ MaxSpeed
+ true
+ true
+ WIN32;BACDL_BIP;USE_INADDR=0;BACAPP_ALL;NDEBUG;_LIB;%(PreprocessorDefinitions)
+ ..\..\..\..\include;..\..\..\..\ports\win32;..\..\..\..\demo\object;%(AdditionalIncludeDirectories)
+ 4214;4244;4267;4189;4100;4701
+
+
+ Windows
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/bacnet-stack/ports/win32/Microsoft Visual Studio 2015/BACnet_Handler_Library/BACnet_Handler_Library.vcxproj.filters b/bacnet-stack/ports/win32/Microsoft Visual Studio 2015/BACnet_Handler_Library/BACnet_Handler_Library.vcxproj.filters
index 07406818..79df6cbc 100644
--- a/bacnet-stack/ports/win32/Microsoft Visual Studio 2015/BACnet_Handler_Library/BACnet_Handler_Library.vcxproj.filters
+++ b/bacnet-stack/ports/win32/Microsoft Visual Studio 2015/BACnet_Handler_Library/BACnet_Handler_Library.vcxproj.filters
@@ -159,5 +159,14 @@
Source Files
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
\ No newline at end of file
diff --git a/bacnet-stack/ports/win32/Microsoft Visual Studio 2015/BACnet_Object_Definitions/BACnet_Object_Definitions.vcxproj b/bacnet-stack/ports/win32/Microsoft Visual Studio 2015/BACnet_Object_Definitions/BACnet_Object_Definitions.vcxproj
index 1d454cb0..513e62da 100644
--- a/bacnet-stack/ports/win32/Microsoft Visual Studio 2015/BACnet_Object_Definitions/BACnet_Object_Definitions.vcxproj
+++ b/bacnet-stack/ports/win32/Microsoft Visual Studio 2015/BACnet_Object_Definitions/BACnet_Object_Definitions.vcxproj
@@ -1,228 +1,221 @@
-
-
-
-
- Debug
- Win32
-
-
- Debug
- x64
-
-
- Release
- Win32
-
-
- Release
- x64
-
-
-
- {6D42B11A-84DA-46DB-9D08-319329D51473}
- Win32Proj
- BACnet_Object_Definitions
- true
- 10.0.10240.0
-
-
-
- StaticLibrary
- true
- v140
- Unicode
-
-
- StaticLibrary
- true
- v140
- Unicode
-
-
- StaticLibrary
- false
- v140
- true
- true
- Unicode
-
-
- StaticLibrary
- false
- v140
- true
- true
- Unicode
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- $(VC_IncludePath);$(UniversalCRT_IncludePath);$(WindowsSDK_IncludePath);
-
-
- $(VC_IncludePath);$(UniversalCRT_IncludePath);$(WindowsSDK_IncludePath);
-
-
- $(VC_IncludePath);$(UniversalCRT_IncludePath);$(WindowsSDK_IncludePath);
-
-
- $(VC_IncludePath);$(UniversalCRT_IncludePath);$(WindowsSDK_IncludePath);
-
-
-
-
-
- Level4
- Disabled
- WIN32;BACDL_BIP;USE_INADDR=0;BACAPP_ALL;BACAPP_ALL_DEBUG;_LIB;%(PreprocessorDefinitions)
- ..\..\..\..\ports\win32;..\..\..\..\include;..\..\..\..\demo\object;%(AdditionalIncludeDirectories)
- ProgramDatabase
- Async
- 4244;4100;4701
-
-
- Windows
- true
-
-
-
-
-
-
-
-
-
-
- Level4
- Disabled
- WIN32;BACDL_BIP;USE_INADDR=0;BACAPP_ALL;_DEBUG;_LIB;%(PreprocessorDefinitions)
- ..\..\..\..\ports\win32;..\..\..\..\include;..\..\..\..\demo\object;%(AdditionalIncludeDirectories)
- 4244;4100;4701
-
-
- Windows
- true
-
-
-
-
-
-
-
-
- Level4
-
-
- MaxSpeed
- true
- true
- WIN32;BACDL_BIP;USE_INADDR=0;BACAPP_ALL;BACAPP_ALLNDEBUG;_LIB;%(PreprocessorDefinitions)
- ..\..\..\..\ports\win32;..\..\..\..\include;..\..\..\..\demo\object;%(AdditionalIncludeDirectories)
- Async
- 4244;4100;4701
-
-
- Windows
- true
- true
- true
-
-
-
-
-
-
-
-
- Level4
-
-
- MaxSpeed
- true
- true
- WIN32;BACDL_BIP;USE_INADDR=0;BACAPP_ALL;NDEBUG;_LIB;%(PreprocessorDefinitions)
- ..\..\..\..\ports\win32;..\..\..\..\include;..\..\..\..\demo\object;%(AdditionalIncludeDirectories)
- 4244;4100;4701
-
-
- Windows
- true
- true
- true
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ {6D42B11A-84DA-46DB-9D08-319329D51473}
+ Win32Proj
+ BACnet_Object_Definitions
+ true
+ 10.0.10240.0
+
+
+
+ StaticLibrary
+ true
+ v140
+ Unicode
+
+
+ StaticLibrary
+ true
+ v140
+ Unicode
+
+
+ StaticLibrary
+ false
+ v140
+ true
+ true
+ Unicode
+
+
+ StaticLibrary
+ false
+ v140
+ true
+ true
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $(VC_IncludePath);$(UniversalCRT_IncludePath);$(WindowsSDK_IncludePath);
+
+
+ $(VC_IncludePath);$(UniversalCRT_IncludePath);$(WindowsSDK_IncludePath);
+
+
+ $(VC_IncludePath);$(UniversalCRT_IncludePath);$(WindowsSDK_IncludePath);
+
+
+ $(VC_IncludePath);$(UniversalCRT_IncludePath);$(WindowsSDK_IncludePath);
+
+
+
+
+
+
+
+
+
+ Windows
+ true
+
+
+
+
+
+
+
+
+
+
+ Level4
+ Disabled
+ WIN32;BACDL_BIP;USE_INADDR=0;BACAPP_ALL;_DEBUG;_LIB;%(PreprocessorDefinitions)
+ ..\..\..\..\ports\win32;..\..\..\..\include;..\..\..\..\demo\object;%(AdditionalIncludeDirectories)
+ 4244;4100;4701
+
+
+ Windows
+ true
+
+
+
+
+
+
+
+
+ Level4
+
+
+ MaxSpeed
+ true
+ true
+ WIN32;BACDL_BIP;USE_INADDR=0;BACAPP_ALL;BACAPP_ALLNDEBUG;_LIB;%(PreprocessorDefinitions)
+ ..\..\..\..\ports\win32;..\..\..\..\include;..\..\..\..\demo\object;%(AdditionalIncludeDirectories)
+ Async
+ 4244;4100;4701
+
+
+ Windows
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+ Level4
+
+
+ MaxSpeed
+ true
+ true
+ WIN32;BACDL_BIP;USE_INADDR=0;BACAPP_ALL;NDEBUG;_LIB;%(PreprocessorDefinitions)
+ ..\..\..\..\ports\win32;..\..\..\..\include;..\..\..\..\demo\object;%(AdditionalIncludeDirectories)
+ 4244;4100;4701
+
+
+ Windows
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/bacnet-stack/ports/win32/Microsoft Visual Studio 2015/BACnet_Object_Definitions/BACnet_Object_Definitions.vcxproj.filters b/bacnet-stack/ports/win32/Microsoft Visual Studio 2015/BACnet_Object_Definitions/BACnet_Object_Definitions.vcxproj.filters
index 37856b6a..82e90014 100644
--- a/bacnet-stack/ports/win32/Microsoft Visual Studio 2015/BACnet_Object_Definitions/BACnet_Object_Definitions.vcxproj.filters
+++ b/bacnet-stack/ports/win32/Microsoft Visual Studio 2015/BACnet_Object_Definitions/BACnet_Object_Definitions.vcxproj.filters
@@ -1,150 +1,144 @@
-
-
-
-
- {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
- cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
-
-
- {93995380-89BD-4b04-88EB-625FBE52EBFB}
- h;hh;hpp;hxx;hm;inl;inc;xsd
-
-
- {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
- rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
-
-
-
-
-
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
+
+
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
+
+
+ {93995380-89BD-4b04-88EB-625FBE52EBFB}
+ h;hh;hpp;hxx;hm;inl;inc;xsd
+
+
+ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
+
+
+
+
+
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
\ No newline at end of file
diff --git a/bacnet-stack/ports/win32/Microsoft Visual Studio 2015/BACnet_Stack_Library/BACnet_Stack_Library.vcxproj b/bacnet-stack/ports/win32/Microsoft Visual Studio 2015/BACnet_Stack_Library/BACnet_Stack_Library.vcxproj
new file mode 100644
index 00000000..993739ab
--- /dev/null
+++ b/bacnet-stack/ports/win32/Microsoft Visual Studio 2015/BACnet_Stack_Library/BACnet_Stack_Library.vcxproj
@@ -0,0 +1,305 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ {D0875CC6-8B68-404C-ABD7-823FE0C084DD}
+ Win32Proj
+ BACnet_Stack_Library
+ true
+ true
+ 10.0.10240.0
+
+
+
+ StaticLibrary
+ true
+ v140
+ Unicode
+
+
+ StaticLibrary
+ true
+ v140
+ Unicode
+
+
+ StaticLibrary
+ false
+ v140
+ true
+ true
+ Unicode
+
+
+ StaticLibrary
+ false
+ v140
+ true
+ true
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $(VC_IncludePath);$(UniversalCRT_IncludePath);$(WindowsSDK_IncludePath);
+
+
+ $(VC_LibraryPath_x86);$(UniversalCRT_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;
+ $(VC_IncludePath);$(UniversalCRT_IncludePath);$(WindowsSDK_IncludePath);
+
+
+ $(VC_IncludePath);$(UniversalCRT_IncludePath);$(WindowsSDK_IncludePath);
+
+
+ $(VC_IncludePath);$(UniversalCRT_IncludePath);$(WindowsSDK_IncludePath);
+
+
+
+
+
+
+
+
+
+ Windows
+ true
+
+
+
+
+
+
+ Level4
+ Disabled
+ WIN32;BACDL_BIP;USE_INADDR=0;BACAPP_ALL;_DEBUG;_LIB;%(PreprocessorDefinitions)
+ ..\..\..\..\include;..\..\..\..\ports\win32;..\..\..\..\demo\object;%(AdditionalIncludeDirectories)
+ 4245;4389;4244;4996;4018;4100;4267;4701
+
+
+ Windows
+ true
+
+
+
+
+ Level4
+
+
+ MaxSpeed
+ true
+ true
+ WIN32;BACDL_BIP;USE_INADDR=0;BACAPP_ALL;NDEBUG;_LIB;%(PreprocessorDefinitions)
+ ..\..\..\..\include;..\..\..\..\ports\win32;..\..\..\..\demo\object;%(AdditionalIncludeDirectories)
+ Async
+ 4245;4389;4244;4996;4018;4100;4267;4701
+
+
+ Windows
+ true
+ true
+ true
+
+
+
+
+ Level4
+
+
+ MaxSpeed
+ true
+ true
+ WIN32;BACDL_BIP;USE_INADDR=0;BACAPP_ALL;NDEBUG;_LIB;%(PreprocessorDefinitions)
+ ..\..\..\..\include;..\..\..\..\ports\win32;..\..\..\..\demo\object;%(AdditionalIncludeDirectories)
+ 4245;4389;4244;4996;4018;4100;4267;4701
+
+
+ Windows
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/bacnet-stack/ports/win32/Microsoft Visual Studio 2015/BACnet_Stack_Library/BACnet_Stack_Library.vcxproj.filters b/bacnet-stack/ports/win32/Microsoft Visual Studio 2015/BACnet_Stack_Library/BACnet_Stack_Library.vcxproj.filters
new file mode 100644
index 00000000..61b630e9
--- /dev/null
+++ b/bacnet-stack/ports/win32/Microsoft Visual Studio 2015/BACnet_Stack_Library/BACnet_Stack_Library.vcxproj.filters
@@ -0,0 +1,441 @@
+
+
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
+
+
+ {93995380-89BD-4b04-88EB-625FBE52EBFB}
+ h;hh;hpp;hxx;hm;inl;inc;xsd
+
+
+ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
+
+
+ {a9f457e3-60ed-4628-8e52-08b365a2a53f}
+
+
+
+
+
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+
\ No newline at end of file
diff --git a/bacnet-stack/ports/win32/Microsoft Visual Studio 2015/Server/Server.vcxproj b/bacnet-stack/ports/win32/Microsoft Visual Studio 2015/Server/Server.vcxproj
new file mode 100644
index 00000000..c25901d7
--- /dev/null
+++ b/bacnet-stack/ports/win32/Microsoft Visual Studio 2015/Server/Server.vcxproj
@@ -0,0 +1,174 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ {EF250061-B9E3-4EEF-8C87-4AB52AF30B3E}
+ Server
+ Win32Proj
+ server
+
+
+
+ Application
+ Unicode
+ true
+ v140
+
+
+ Application
+ Unicode
+ true
+ v140
+
+
+ Application
+ Unicode
+ v140
+
+
+ Application
+ Unicode
+ v140
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.21006.1
+ $(SolutionDir)$(Configuration)\
+ $(Configuration)\
+ true
+ $(SolutionDir)$(Configuration)\
+ $(Configuration)\
+ false
+ false
+
+
+ ..\..;..\..\..\..\include;..\..\..\..\demo\object;..\..\..\..\demo\handler;$(IncludePath)
+
+
+ ..\..;..\..\..\..\include;..\..\..\..\demo\object;..\..\..\..\demo\handler;$(IncludePath)
+
+
+
+
+
+
+
+ ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)
+ true
+ Console
+ MachineX86
+
+
+
+
+ Disabled
+ ..\..;..\..\..\..\include;..\..\..\..\demo\object;..\..\..\..\demo\handler
+ %(PreprocessorDefinitions)
+
+
+ Level3
+ ProgramDatabase
+
+
+ ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)
+ true
+ Console
+
+
+
+
+ MaxSpeed
+ true
+ WIN32;NDEBUG;_CONSOLE;PRINT_ENABLED=1;%(PreprocessorDefinitions)
+ MultiThreadedDLL
+ true
+
+
+ Level3
+ ProgramDatabase
+ ..\..;..\..\..\..\include;..\..\..\..\demo\object;..\..\..\..\demo\handler
+
+
+ Console
+ true
+ true
+ MachineX86
+ ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)
+
+
+
+
+ MaxSpeed
+ true
+ WIN32;NDEBUG;_CONSOLE;PRINT_ENABLED=1;%(PreprocessorDefinitions)
+ MultiThreadedDLL
+ true
+
+
+ Level3
+ ProgramDatabase
+ ..\..;..\..\..\..\include;..\..\..\..\demo\object;..\..\..\..\demo\handler
+
+
+ Console
+ true
+ true
+ ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)
+
+
+
+
+
+
+
+
+
+
+
+ {2001a15d-2d0e-4ffa-8b90-5e7938ae6ecf}
+
+
+ {6d42b11a-84da-46db-9d08-319329d51473}
+
+
+ {d0875cc6-8b68-404c-abd7-823fe0c084dd}
+
+
+
+
+
+
\ No newline at end of file
diff --git a/bacnet-stack/ports/win32/Microsoft Visual Studio 2015/Server/Server.vcxproj.filters b/bacnet-stack/ports/win32/Microsoft Visual Studio 2015/Server/Server.vcxproj.filters
new file mode 100644
index 00000000..4e251fd0
--- /dev/null
+++ b/bacnet-stack/ports/win32/Microsoft Visual Studio 2015/Server/Server.vcxproj.filters
@@ -0,0 +1,19 @@
+
+
+
+
+ {a99eabbe-5157-4999-8c10-9f9f93f1778d}
+
+
+
+
+ Source Files
+
+
+ Source Files
+
+
+
+
+
+
\ No newline at end of file