Feature/oscbs 29 calendar time object (#440)
* Added basic Calendar object, unit tests, and integration with example device object. * Added basic Time Value object, unit tests, and integration with example device object. --------- Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
This commit is contained in:
@@ -112,6 +112,7 @@ set(BACNETSTACK_SRCS
|
||||
${BACNETSTACK_SRC}/bacnet/basic/object/bi.h
|
||||
${BACNETSTACK_SRC}/bacnet/basic/object/bo.h
|
||||
${BACNETSTACK_SRC}/bacnet/basic/object/bv.h
|
||||
${BACNETSTACK_SRC}/bacnet/basic/object/calendar.h
|
||||
${BACNETSTACK_SRC}/bacnet/basic/object/channel.h
|
||||
${BACNETSTACK_SRC}/bacnet/basic/object/color_object.h
|
||||
${BACNETSTACK_SRC}/bacnet/basic/object/color_temperature.h
|
||||
@@ -132,6 +133,7 @@ set(BACNETSTACK_SRCS
|
||||
${BACNETSTACK_SRC}/bacnet/basic/object/osv.h
|
||||
${BACNETSTACK_SRC}/bacnet/basic/object/piv.h
|
||||
${BACNETSTACK_SRC}/bacnet/basic/object/schedule.h
|
||||
${BACNETSTACK_SRC}/bacnet/basic/object/time_value.h
|
||||
${BACNETSTACK_SRC}/bacnet/basic/object/trendlog.h
|
||||
${BACNETSTACK_SRC}/bacnet/basic/service/h_alarm_ack.h
|
||||
${BACNETSTACK_SRC}/bacnet/basic/service/h_apdu.c
|
||||
@@ -342,6 +344,7 @@ set(BACNETSTACK_BASIC_SRCS
|
||||
${BACNETSTACK_SRC}/bacnet/basic/object/bi.c
|
||||
${BACNETSTACK_SRC}/bacnet/basic/object/bo.c
|
||||
${BACNETSTACK_SRC}/bacnet/basic/object/bv.c
|
||||
${BACNETSTACK_SRC}/bacnet/basic/object/calendar.c
|
||||
${BACNETSTACK_SRC}/bacnet/basic/object/channel.c
|
||||
#${BACNETSTACK_SRC}/bacnet/basic/object/client/device-client.c
|
||||
${BACNETSTACK_SRC}/bacnet/basic/object/command.c
|
||||
@@ -364,6 +367,7 @@ set(BACNETSTACK_BASIC_SRCS
|
||||
${BACNETSTACK_SRC}/bacnet/basic/object/osv.c
|
||||
${BACNETSTACK_SRC}/bacnet/basic/object/piv.c
|
||||
${BACNETSTACK_SRC}/bacnet/basic/object/schedule.c
|
||||
${BACNETSTACK_SRC}/bacnet/basic/object/time_value.c
|
||||
${BACNETSTACK_SRC}/bacnet/basic/object/trendlog.c
|
||||
${BACNETSTACK_SRC}/bacnet/basic/service/h_alarm_ack.c
|
||||
${BACNETSTACK_SRC}/bacnet/basic/service/h_arf_a.c
|
||||
|
||||
@@ -27,6 +27,7 @@ if(CONFIG_BACNET_USE_DYNAMIC_DESCRIPTION)
|
||||
bi.c
|
||||
bo.c
|
||||
bv.c
|
||||
calendar.c
|
||||
channel.c
|
||||
command.c
|
||||
credential_data_input.c
|
||||
@@ -42,6 +43,7 @@ if(CONFIG_BACNET_USE_DYNAMIC_DESCRIPTION)
|
||||
osv.c
|
||||
piv.c
|
||||
schedule.c
|
||||
time_value.c
|
||||
trendlog.c
|
||||
)
|
||||
|
||||
|
||||
@@ -0,0 +1,74 @@
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
cmake_minimum_required(VERSION 3.13.1)
|
||||
|
||||
# Extract module path and names
|
||||
string(REGEX REPLACE
|
||||
"/zephyr/tests/[a-zA-Z_/-]*$" ""
|
||||
BACNET_BASE
|
||||
${CMAKE_CURRENT_SOURCE_DIR})
|
||||
string(REGEX REPLACE
|
||||
"/zephyr/tests/" "/src/"
|
||||
BACNET_SRC_PATH
|
||||
${CMAKE_CURRENT_SOURCE_DIR})
|
||||
string(REGEX REPLACE
|
||||
"/zephyr/tests/" "/test/"
|
||||
BACNET_TEST_PATH
|
||||
${CMAKE_CURRENT_SOURCE_DIR})
|
||||
get_filename_component(BACNET_NAME ${BACNET_BASE} NAME)
|
||||
|
||||
# Update include path for this module
|
||||
list(APPEND BACNET_INCLUDE ${BACNET_BASE}/src)
|
||||
|
||||
if(BOARD STREQUAL unit_testing)
|
||||
file(RELATIVE_PATH BACNET_INCLUDE $ENV{ZEPHYR_BASE} ${BACNET_BASE}/src)
|
||||
list(APPEND INCLUDE ${BACNET_INCLUDE})
|
||||
list(APPEND SOURCES
|
||||
${BACNET_SRC_PATH}.c
|
||||
${BACNET_TEST_PATH}/src/main.c
|
||||
${BACNET_TEST_PATH}/stubs.c
|
||||
${BACNET_TEST_PATH}/../mock/device_mock.c
|
||||
)
|
||||
|
||||
get_filename_component(BACNET_OBJECT_SRC ${BACNET_SRC_PATH} PATH)
|
||||
get_filename_component(BACNET_BASIC_SRC ${BACNET_OBJECT_SRC} PATH)
|
||||
get_filename_component(BACNET_SRC ${BACNET_BASIC_SRC} PATH)
|
||||
list(APPEND SOURCES
|
||||
${BACNET_SRC}/bacaddr.c
|
||||
${BACNET_SRC}/bacapp.c
|
||||
${BACNET_SRC}/bacdcode.c
|
||||
${BACNET_SRC}/bacdest.c
|
||||
${BACNET_SRC}/bacstr.c
|
||||
${BACNET_SRC}/bacint.c
|
||||
${BACNET_SRC}/bacreal.c
|
||||
${BACNET_SRC}/datetime.c
|
||||
${BACNET_SRC}/timestamp.c
|
||||
${BACNET_SRC}/basic/sys/days.c
|
||||
${BACNET_SRC}/basic/sys/keylist.c
|
||||
${BACNET_SRC}/bacdevobjpropref.c
|
||||
${BACNET_SRC}/bactext.c
|
||||
${BACNET_SRC}/indtext.c
|
||||
${BACNET_SRC}/lighting.c
|
||||
${BACNET_SRC}/proplist.c
|
||||
${BACNET_SRC}/wp.c
|
||||
${BACNET_SRC}/hostnport.c
|
||||
${BACNET_SRC}/calendar_entry.c
|
||||
${BACNET_SRC}/dailyschedule.c
|
||||
${BACNET_SRC}/special_event.c
|
||||
${BACNET_SRC}/weeklyschedule.c
|
||||
${BACNET_SRC}/basic/sys/bigend.c
|
||||
${BACNET_SRC}/bactimevalue.c
|
||||
)
|
||||
|
||||
set(CONF_FILE "${CONF_FILE};prj.unit_testing.conf")
|
||||
find_package(Zephyr COMPONENTS unittest REQUIRED HINTS $ENV{ZEPHYR_BASE})
|
||||
project(${BACNET_NAME})
|
||||
else()
|
||||
find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE})
|
||||
project(${BACNET_NAME})
|
||||
|
||||
target_include_directories(app PRIVATE ${BACNET_INCLUDE})
|
||||
target_sources(app PRIVATE
|
||||
${BACNET_TEST_PATH}/src/main.c
|
||||
)
|
||||
endif()
|
||||
@@ -0,0 +1,2 @@
|
||||
CONFIG_ZTEST=y
|
||||
CONFIG_BACNETSTACK=y
|
||||
@@ -0,0 +1,2 @@
|
||||
CONFIG_ZTEST=y
|
||||
#CONFIG_BACNETSTACK=y
|
||||
@@ -0,0 +1,6 @@
|
||||
tests:
|
||||
bacnet.basic.object.calendar:
|
||||
tags: bacnet
|
||||
bacnet.basic.object.calendar.unit:
|
||||
tags: bacnet
|
||||
type: unit
|
||||
@@ -40,6 +40,7 @@ if(BOARD STREQUAL unit_testing)
|
||||
${BACNET_SRC}/bacstr.c
|
||||
${BACNET_SRC}/bacint.c
|
||||
${BACNET_SRC}/bacreal.c
|
||||
${BACNET_SRC}/calendar.c
|
||||
${BACNET_SRC}/datetime.c
|
||||
${BACNET_SRC}/timestamp.c
|
||||
${BACNET_SRC}/basic/sys/days.c
|
||||
@@ -68,6 +69,7 @@ if(BOARD STREQUAL unit_testing)
|
||||
${BACNET_SRC}/basic/object/bi.c
|
||||
${BACNET_SRC}/basic/object/bo.c
|
||||
${BACNET_SRC}/basic/object/bv.c
|
||||
${BACNET_SRC}/basic/object/calendar.c
|
||||
${BACNET_SRC}/basic/object/channel.c
|
||||
${BACNET_SRC}/basic/object/color_object.c
|
||||
${BACNET_SRC}/basic/object/color_temperature.c
|
||||
@@ -84,6 +86,7 @@ if(BOARD STREQUAL unit_testing)
|
||||
${BACNET_SRC}/basic/object/osv.c
|
||||
${BACNET_SRC}/basic/object/piv.c
|
||||
${BACNET_SRC}/basic/object/schedule.c
|
||||
${BACNET_SRC}/basic/object/time_value.c
|
||||
${BACNET_SRC}/basic/object/trendlog.c
|
||||
${BACNET_SRC}/hostnport.c
|
||||
${BACNET_SRC}/basic/service/h_apdu.c
|
||||
|
||||
@@ -0,0 +1,74 @@
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
cmake_minimum_required(VERSION 3.13.1)
|
||||
|
||||
# Extract module path and names
|
||||
string(REGEX REPLACE
|
||||
"/zephyr/tests/[a-zA-Z_/-]*$" ""
|
||||
BACNET_BASE
|
||||
${CMAKE_CURRENT_SOURCE_DIR})
|
||||
string(REGEX REPLACE
|
||||
"/zephyr/tests/" "/src/"
|
||||
BACNET_SRC_PATH
|
||||
${CMAKE_CURRENT_SOURCE_DIR})
|
||||
string(REGEX REPLACE
|
||||
"/zephyr/tests/" "/test/"
|
||||
BACNET_TEST_PATH
|
||||
${CMAKE_CURRENT_SOURCE_DIR})
|
||||
get_filename_component(BACNET_NAME ${BACNET_BASE} NAME)
|
||||
|
||||
# Update include path for this module
|
||||
list(APPEND BACNET_INCLUDE ${BACNET_BASE}/src)
|
||||
|
||||
if(BOARD STREQUAL unit_testing)
|
||||
file(RELATIVE_PATH BACNET_INCLUDE $ENV{ZEPHYR_BASE} ${BACNET_BASE}/src)
|
||||
list(APPEND INCLUDE ${BACNET_INCLUDE})
|
||||
list(APPEND SOURCES
|
||||
${BACNET_SRC_PATH}.c
|
||||
${BACNET_TEST_PATH}/src/main.c
|
||||
${BACNET_TEST_PATH}/stubs.c
|
||||
${BACNET_TEST_PATH}/../mock/device_mock.c
|
||||
)
|
||||
|
||||
get_filename_component(BACNET_OBJECT_SRC ${BACNET_SRC_PATH} PATH)
|
||||
get_filename_component(BACNET_BASIC_SRC ${BACNET_OBJECT_SRC} PATH)
|
||||
get_filename_component(BACNET_SRC ${BACNET_BASIC_SRC} PATH)
|
||||
list(APPEND SOURCES
|
||||
${BACNET_SRC}/bacaddr.c
|
||||
${BACNET_SRC}/bacapp.c
|
||||
${BACNET_SRC}/bacdcode.c
|
||||
${BACNET_SRC}/bacdest.c
|
||||
${BACNET_SRC}/bacstr.c
|
||||
${BACNET_SRC}/bacint.c
|
||||
${BACNET_SRC}/bacreal.c
|
||||
${BACNET_SRC}/datetime.c
|
||||
${BACNET_SRC}/timestamp.c
|
||||
${BACNET_SRC}/basic/sys/days.c
|
||||
${BACNET_SRC}/basic/sys/keylist.c
|
||||
${BACNET_SRC}/bacdevobjpropref.c
|
||||
${BACNET_SRC}/bactext.c
|
||||
${BACNET_SRC}/indtext.c
|
||||
${BACNET_SRC}/lighting.c
|
||||
${BACNET_SRC}/proplist.c
|
||||
${BACNET_SRC}/wp.c
|
||||
${BACNET_SRC}/hostnport.c
|
||||
${BACNET_SRC}/calendar_entry.c
|
||||
${BACNET_SRC}/dailyschedule.c
|
||||
${BACNET_SRC}/special_event.c
|
||||
${BACNET_SRC}/weeklyschedule.c
|
||||
${BACNET_SRC}/basic/sys/bigend.c
|
||||
${BACNET_SRC}/bactimevalue.c
|
||||
)
|
||||
|
||||
set(CONF_FILE "${CONF_FILE};prj.unit_testing.conf")
|
||||
find_package(Zephyr COMPONENTS unittest REQUIRED HINTS $ENV{ZEPHYR_BASE})
|
||||
project(${BACNET_NAME})
|
||||
else()
|
||||
find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE})
|
||||
project(${BACNET_NAME})
|
||||
|
||||
target_include_directories(app PRIVATE ${BACNET_INCLUDE})
|
||||
target_sources(app PRIVATE
|
||||
${BACNET_TEST_PATH}/src/main.c
|
||||
)
|
||||
endif()
|
||||
@@ -0,0 +1,2 @@
|
||||
CONFIG_ZTEST=y
|
||||
CONFIG_BACNETSTACK=y
|
||||
@@ -0,0 +1,2 @@
|
||||
CONFIG_ZTEST=y
|
||||
#CONFIG_BACNETSTACK=y
|
||||
@@ -0,0 +1,6 @@
|
||||
tests:
|
||||
bacnet.basic.object.time_value:
|
||||
tags: bacnet
|
||||
bacnet.basic.object.time_value.unit:
|
||||
tags: bacnet
|
||||
type: unit
|
||||
@@ -53,7 +53,7 @@ if(BOARD STREQUAL unit_testing)
|
||||
${BACNET_SRC}/dailyschedule.c
|
||||
${BACNET_SRC}/lighting.c
|
||||
${BACNET_SRC}/timestamp.c
|
||||
${BACNET_SRC}/hostnport.c
|
||||
${BACNET_SRC}/hostnport.c
|
||||
)
|
||||
|
||||
set(CONF_FILE "${CONF_FILE};prj.unit_testing.conf")
|
||||
|
||||
Reference in New Issue
Block a user