diff --git a/bacnet-stack/include/bacdef.h b/bacnet-stack/include/bacdef.h index 929a1830..e41b8956 100644 --- a/bacnet-stack/include/bacdef.h +++ b/bacnet-stack/include/bacdef.h @@ -90,4 +90,7 @@ typedef struct BACnet_Object_Id { #define MAX_NPDU (1+1+2+1+MAX_MAC_LEN+2+1+MAX_MAC_LEN+1+1+2) #define MAX_PDU (MAX_APDU + MAX_NPDU) +#define BACNET_ID_VALUE(bacnet_object_instance, bacnet_object_type) ((((bacnet_object_type) & BACNET_MAX_OBJECT) << BACNET_INSTANCE_BITS) | ((bacnet_object_instance) & BACNET_MAX_INSTANCE)) +#define BACNET_INSTANCE(bacnet_object_id_num) ((bacnet_object_id_num)&BACNET_MAX_INSTANCE) +#define BACNET_TYPE(bacnet_object_id_num) (((bacnet_object_id_num) >> BACNET_INSTANCE_BITS ) & BACNET_MAX_OBJECT) #endif diff --git a/bacnet-stack/include/bacenum.h b/bacnet-stack/include/bacenum.h index 165a55fa..54122591 100644 --- a/bacnet-stack/include/bacenum.h +++ b/bacnet-stack/include/bacenum.h @@ -385,7 +385,6 @@ typedef enum { /* do the MAX as define rather than enumeration for devices and compilers that want to use smaller datatype for enum */ #define MAX_BACNET_PROPERTY_ID 4194303 -#define MAX_BACNET_OBJECT_ID (0x3FFFFFU) typedef enum { ACTION_DIRECT = 0, ACTION_REVERSE = 1