diff --git a/bacnet-stack/include/bacdef.h b/bacnet-stack/include/bacdef.h index 246eda0f..4456fb44 100644 --- a/bacnet-stack/include/bacdef.h +++ b/bacnet-stack/include/bacdef.h @@ -37,7 +37,26 @@ /* This stack implements this version of BACnet */ #define BACNET_PROTOCOL_VERSION 1 -#define BACNET_PROTOCOL_REVISION 10 +/* Although this stack can implement a later revision, + * sometimes another revision is required */ +#ifndef BACNET_PROTOCOL_REVISION +#define BACNET_PROTOCOL_REVISION 12 +#endif + +/* there are a few dependencies on the BACnet Protocol-Revision */ +#if (BACNET_PROTOCOL_REVISION == 9) + /* from 135-2008 version of the BACnet Standard */ + #define MAX_ASHRAE_OBJECT_TYPE 38 + #define MAX_BACNET_SERVICES_SUPPORTED 40 +#elif (BACNET_PROTOCOL_REVISION == 12) + /* from 135-2010 version of the BACnet Standard */ + #define MAX_ASHRAE_OBJECT_TYPE 51 + #define MAX_BACNET_SERVICES_SUPPORTED 40 +#else + #define MAX_ASHRAE_OBJECT_TYPE 51 + #define MAX_BACNET_SERVICES_SUPPORTED 40 +#endif + /* largest BACnet Instance Number */ /* Also used as a device instance number wildcard address */ diff --git a/bacnet-stack/include/bacenum.h b/bacnet-stack/include/bacenum.h index 84c8aedd..95b88ac8 100644 --- a/bacnet-stack/include/bacenum.h +++ b/bacnet-stack/include/bacenum.h @@ -936,8 +936,6 @@ typedef enum { OBJECT_POSITIVE_INTEGER_VALUE = 48, OBJECT_TIME_PATTERN_VALUE = 49, OBJECT_TIME_VALUE = 50, - - MAX_ASHRAE_OBJECT_TYPE = 51, /* used for bit string loop */ PROPRIETARY_BACNET_OBJECT_TYPE = 128, MAX_BACNET_OBJECT_TYPE = 1024 @@ -1122,11 +1120,10 @@ typedef enum { SERVICE_SUPPORTED_TIME_SYNCHRONIZATION = 32, SERVICE_SUPPORTED_UTC_TIME_SYNCHRONIZATION = 36, SERVICE_SUPPORTED_WHO_HAS = 33, - SERVICE_SUPPORTED_WHO_IS = 34, + SERVICE_SUPPORTED_WHO_IS = 34 /* Other services to be added as they are defined. */ /* All values in this production are reserved */ /* for definition by ASHRAE. */ - MAX_BACNET_SERVICES_SUPPORTED = 40 } BACNET_SERVICES_SUPPORTED; typedef enum {