diff --git a/bacnet-stack/demo/object/ai.c b/bacnet-stack/demo/object/ai.c index 3d157800..2c9d80a3 100644 --- a/bacnet-stack/demo/object/ai.c +++ b/bacnet-stack/demo/object/ai.c @@ -105,7 +105,10 @@ void Analog_Input_Property_Lists( void Analog_Input_Init( void) { - unsigned i, j; + unsigned i; +#if defined(INTRINSIC_REPORTING) + unsigned j; +#endif for (i = 0; i < MAX_ANALOG_INPUTS; i++) { AI_Descr[i].Present_Value = 0.0f; @@ -226,13 +229,15 @@ bool Analog_Input_Object_Name( int Analog_Input_Read_Property( BACNET_READ_PROPERTY_DATA * rpdata) { - int len = 0; int apdu_len = 0; /* return value */ BACNET_BIT_STRING bit_string; BACNET_CHARACTER_STRING char_string; ANALOG_INPUT_DESCR *CurrentAI; unsigned object_index = 0; +#if defined(INTRINSIC_REPORTING) unsigned i = 0; + int len = 0; +#endif uint8_t *apdu = NULL; if ((rpdata == NULL) || (rpdata->application_data == NULL) || @@ -1121,6 +1126,28 @@ int Analog_Input_Alarm_Ack( #include #include "ctest.h" +bool WPValidateArgType( + BACNET_APPLICATION_DATA_VALUE * pValue, + uint8_t ucExpectedTag, + BACNET_ERROR_CLASS * pErrorClass, + BACNET_ERROR_CODE * pErrorCode) +{ + bool bResult; + + /* + * start out assuming success and only set up error + * response if validation fails. + */ + bResult = true; + if (pValue->tag != ucExpectedTag) { + bResult = false; + *pErrorClass = ERROR_CLASS_PROPERTY; + *pErrorCode = ERROR_CODE_INVALID_DATA_TYPE; + } + + return (bResult); +} + void testAnalogInput( Test * pTest) { diff --git a/bacnet-stack/demo/object/ai.mak b/bacnet-stack/demo/object/ai.mak index 8b4ea565..9699be3b 100755 --- a/bacnet-stack/demo/object/ai.mak +++ b/bacnet-stack/demo/object/ai.mak @@ -2,8 +2,9 @@ CC = gcc SRC_DIR = ../../src TEST_DIR = ../../test -INCLUDES = -I../../include -I$(TEST_DIR) -I. -DEFINES = -DBIG_ENDIAN=0 -DTEST -DTEST_ANALOG_INPUT +HANDLER_DIR = ../handler +INCLUDES = -I../../include -I$(TEST_DIR) -I. -I$(HANDLER_DIR) +DEFINES = -DBIG_ENDIAN=0 -DBACDL_ALL -DTEST -DTEST_ANALOG_INPUT CFLAGS = -Wall $(INCLUDES) $(DEFINES) -g @@ -12,24 +13,28 @@ SRCS = ai.c \ $(SRC_DIR)/bacint.c \ $(SRC_DIR)/bacstr.c \ $(SRC_DIR)/bacreal.c \ + $(SRC_DIR)/bacapp.c \ + $(SRC_DIR)/bactext.c \ + $(SRC_DIR)/indtext.c \ + $(SRC_DIR)/datetime.c \ $(TEST_DIR)/ctest.c TARGET = analog_input all: ${TARGET} - + OBJS = ${SRCS:.c=.o} ${TARGET}: ${OBJS} - ${CC} -o $@ ${OBJS} + ${CC} -o $@ ${OBJS} .c.o: ${CC} -c ${CFLAGS} $*.c -o $@ - + depend: rm -f .depend ${CC} -MM ${CFLAGS} *.c >> .depend - + clean: rm -rf core ${TARGET} $(OBJS) diff --git a/bacnet-stack/src/bacdevobjpropref.c b/bacnet-stack/src/bacdevobjpropref.c index 6d1cd866..841c3d60 100644 --- a/bacnet-stack/src/bacdevobjpropref.c +++ b/bacnet-stack/src/bacdevobjpropref.c @@ -329,16 +329,12 @@ void testDevIdPropRef( void testDevIdRef( Test * pTest) { - BACNET_DEVICE_OBJECT_PROPERTY_REFERENCE inData; - BACNET_DEVICE_OBJECT_PROPERTY_REFERENCE outData; + BACNET_DEVICE_OBJECT_REFERENCE inData; + BACNET_DEVICE_OBJECT_REFERENCE outData; uint8_t buffer[MAX_APDU]; int inLen; int outLen; - - inData.objectIdentifier.instance = 0x1234; - inData.objectIdentifier.type = 15; - inData.deviceIndentifier.instance = 0x4343; inData.deviceIndentifier.type = 28; @@ -347,11 +343,6 @@ void testDevIdRef( ct_test(pTest, outLen == inLen); - ct_test(pTest, - inData.objectIdentifier.instance == outData.objectIdentifier.instance); - ct_test(pTest, - inData.objectIdentifier.type == outData.objectIdentifier.type); - ct_test(pTest, inData.deviceIndentifier.instance == outData.deviceIndentifier.instance); diff --git a/bacnet-stack/test.mak b/bacnet-stack/test.mak index 15c1e9fc..0e9a1acd 100644 --- a/bacnet-stack/test.mak +++ b/bacnet-stack/test.mak @@ -187,7 +187,7 @@ wp: logfile test/wp.mak ( ./test/wp >> ${LOGFILE} ) make -C test -f wp.mak clean -objects: ai ao av bi bo bv device lc lo lso lsp mso +objects: ai ao av bi bo bv lc lo lso lsp mso ai: logfile demo/object/ai.mak make -C demo/object -f ai.mak clean all diff --git a/bacnet-stack/test/event.mak b/bacnet-stack/test/event.mak index 0aab1421..487d99b7 100644 --- a/bacnet-stack/test/event.mak +++ b/bacnet-stack/test/event.mak @@ -1,7 +1,7 @@ #Makefile to build test case CC = gcc SRC_DIR = ../src -INCLUDES = -I../include -I. +INCLUDES = -I../include -I. -I../demo/object DEFINES = -DBIG_ENDIAN=0 -DTEST -DBACAPP_ALL -DTEST_EVENT CFLAGS = -Wall $(INCLUDES) $(DEFINES) -g diff --git a/bacnet-stack/test/iam.mak b/bacnet-stack/test/iam.mak index b79053ba..b5ce0ecb 100755 --- a/bacnet-stack/test/iam.mak +++ b/bacnet-stack/test/iam.mak @@ -1,7 +1,7 @@ #Makefile to build test case CC = gcc SRC_DIR = ../src -INCLUDES = -I../include -I. +INCLUDES = -I../include -I. -I../demo/object DEFINES = -DBIG_ENDIAN=0 -DTEST -DTEST_IAM CFLAGS = -Wall $(INCLUDES) $(DEFINES) -g