Implement missing data types for calendar and schedule (#474)

* Added the SpecialEvent struct for the Exception_Schedule property of Schedule, encode/decode/same functions, unit tests, and integrated into bacapp functions.

* Added the CalendarEntry struct for the Date_List property of Calendar and the SpecialEvent struct, encode/decode functions, unit tests, and integrated into bacapp functions.

* Added the DateRange struct for the Effective_Period property of Schedule, encode/decode functions, unit tests, and integrated into bacapp functions.

---------

Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
This commit is contained in:
Ondřej Hruška
2024-02-01 17:57:46 +01:00
committed by GitHub
parent 7ad82f19a0
commit 340bd09561
120 changed files with 2003 additions and 124 deletions
@@ -53,6 +53,8 @@ add_executable(${PROJECT_NAME}
${SRC_DIR}/bacnet/weeklyschedule.c
${SRC_DIR}/bacnet/bactimevalue.c
${SRC_DIR}/bacnet/dailyschedule.c
${SRC_DIR}/bacnet/calendar_entry.c
${SRC_DIR}/bacnet/special_event.c
# Test and test library files
./src/main.c
${ZTST_DIR}/ztest_mock.c
@@ -53,6 +53,8 @@ add_executable(${PROJECT_NAME}
${SRC_DIR}/bacnet/weeklyschedule.c
${SRC_DIR}/bacnet/bactimevalue.c
${SRC_DIR}/bacnet/dailyschedule.c
${SRC_DIR}/bacnet/calendar_entry.c
${SRC_DIR}/bacnet/special_event.c
# Test and test library files
./src/main.c
${ZTST_DIR}/ztest_mock.c
@@ -57,6 +57,8 @@ add_executable(${PROJECT_NAME}
${SRC_DIR}/bacnet/weeklyschedule.c
${SRC_DIR}/bacnet/bactimevalue.c
${SRC_DIR}/bacnet/dailyschedule.c
${SRC_DIR}/bacnet/calendar_entry.c
${SRC_DIR}/bacnet/special_event.c
# Test and test library files
./src/main.c
${ZTST_DIR}/ztest_mock.c
@@ -54,6 +54,8 @@ add_executable(${PROJECT_NAME}
${SRC_DIR}/bacnet/weeklyschedule.c
${SRC_DIR}/bacnet/bactimevalue.c
${SRC_DIR}/bacnet/dailyschedule.c
${SRC_DIR}/bacnet/calendar_entry.c
${SRC_DIR}/bacnet/special_event.c
# Test and test library files
./src/main.c
${ZTST_DIR}/ztest_mock.c
@@ -53,6 +53,8 @@ add_executable(${PROJECT_NAME}
${SRC_DIR}/bacnet/weeklyschedule.c
${SRC_DIR}/bacnet/bactimevalue.c
${SRC_DIR}/bacnet/dailyschedule.c
${SRC_DIR}/bacnet/calendar_entry.c
${SRC_DIR}/bacnet/special_event.c
# Test and test library files
./src/main.c
${ZTST_DIR}/ztest_mock.c
@@ -55,6 +55,8 @@ add_executable(${PROJECT_NAME}
${SRC_DIR}/bacnet/weeklyschedule.c
${SRC_DIR}/bacnet/bactimevalue.c
${SRC_DIR}/bacnet/dailyschedule.c
${SRC_DIR}/bacnet/calendar_entry.c
${SRC_DIR}/bacnet/special_event.c
# Test and test library files
./src/main.c
${ZTST_DIR}/ztest_mock.c
@@ -54,6 +54,8 @@ add_executable(${PROJECT_NAME}
${SRC_DIR}/bacnet/weeklyschedule.c
${SRC_DIR}/bacnet/bactimevalue.c
${SRC_DIR}/bacnet/dailyschedule.c
${SRC_DIR}/bacnet/calendar_entry.c
${SRC_DIR}/bacnet/special_event.c
# Test and test library files
./src/main.c
${ZTST_DIR}/ztest_mock.c
@@ -58,6 +58,8 @@ add_executable(${PROJECT_NAME}
${SRC_DIR}/bacnet/weeklyschedule.c
${SRC_DIR}/bacnet/bactimevalue.c
${SRC_DIR}/bacnet/dailyschedule.c
${SRC_DIR}/bacnet/calendar_entry.c
${SRC_DIR}/bacnet/special_event.c
# Test and test library files
./src/main.c
${ZTST_DIR}/ztest_mock.c
@@ -56,6 +56,8 @@ add_executable(${PROJECT_NAME}
${SRC_DIR}/bacnet/weeklyschedule.c
${SRC_DIR}/bacnet/bactimevalue.c
${SRC_DIR}/bacnet/dailyschedule.c
${SRC_DIR}/bacnet/calendar_entry.c
${SRC_DIR}/bacnet/special_event.c
# Test and test library files
./src/main.c
${ZTST_DIR}/ztest_mock.c
@@ -57,6 +57,8 @@ add_executable(${PROJECT_NAME}
${SRC_DIR}/bacnet/weeklyschedule.c
${SRC_DIR}/bacnet/bactimevalue.c
${SRC_DIR}/bacnet/dailyschedule.c
${SRC_DIR}/bacnet/calendar_entry.c
${SRC_DIR}/bacnet/special_event.c
# Test and test library files
./src/main.c
../mock/device_mock.c
@@ -56,6 +56,8 @@ add_executable(${PROJECT_NAME}
${SRC_DIR}/bacnet/weeklyschedule.c
${SRC_DIR}/bacnet/bactimevalue.c
${SRC_DIR}/bacnet/dailyschedule.c
${SRC_DIR}/bacnet/calendar_entry.c
${SRC_DIR}/bacnet/special_event.c
# Test and test library files
./src/main.c
${ZTST_DIR}/ztest_mock.c
@@ -60,6 +60,8 @@ add_executable(${PROJECT_NAME}
${SRC_DIR}/bacnet/weeklyschedule.c
${SRC_DIR}/bacnet/bactimevalue.c
${SRC_DIR}/bacnet/dailyschedule.c
${SRC_DIR}/bacnet/calendar_entry.c
${SRC_DIR}/bacnet/special_event.c
# Test and test library files
./src/main.c
../mock/apdu_mock.c
@@ -56,6 +56,8 @@ add_executable(${PROJECT_NAME}
${SRC_DIR}/bacnet/weeklyschedule.c
${SRC_DIR}/bacnet/bactimevalue.c
${SRC_DIR}/bacnet/dailyschedule.c
${SRC_DIR}/bacnet/calendar_entry.c
${SRC_DIR}/bacnet/special_event.c
# Test and test library files
./src/main.c
${ZTST_DIR}/ztest_mock.c
@@ -57,6 +57,8 @@ add_executable(${PROJECT_NAME}
${SRC_DIR}/bacnet/weeklyschedule.c
${SRC_DIR}/bacnet/bactimevalue.c
${SRC_DIR}/bacnet/dailyschedule.c
${SRC_DIR}/bacnet/calendar_entry.c
${SRC_DIR}/bacnet/special_event.c
# Test and test library files
./src/main.c
../mock/device_mock.c
@@ -57,6 +57,8 @@ add_executable(${PROJECT_NAME}
${SRC_DIR}/bacnet/weeklyschedule.c
${SRC_DIR}/bacnet/bactimevalue.c
${SRC_DIR}/bacnet/dailyschedule.c
${SRC_DIR}/bacnet/calendar_entry.c
${SRC_DIR}/bacnet/special_event.c
# Test and test library files
./src/main.c
../mock/device_mock.c
@@ -54,6 +54,8 @@ add_executable(${PROJECT_NAME}
${SRC_DIR}/bacnet/weeklyschedule.c
${SRC_DIR}/bacnet/bactimevalue.c
${SRC_DIR}/bacnet/dailyschedule.c
${SRC_DIR}/bacnet/calendar_entry.c
${SRC_DIR}/bacnet/special_event.c
# Test and test library files
./src/main.c
${ZTST_DIR}/ztest_mock.c
@@ -55,6 +55,8 @@ add_executable(${PROJECT_NAME}
${SRC_DIR}/bacnet/wp.c
${SRC_DIR}/bacnet/weeklyschedule.c
${SRC_DIR}/bacnet/dailyschedule.c
${SRC_DIR}/bacnet/calendar_entry.c
${SRC_DIR}/bacnet/special_event.c
# Test and test library files
./src/main.c
../mock/device_mock.c
@@ -58,6 +58,8 @@ add_executable(${PROJECT_NAME}
${SRC_DIR}/bacnet/weeklyschedule.c
${SRC_DIR}/bacnet/bactimevalue.c
${SRC_DIR}/bacnet/dailyschedule.c
${SRC_DIR}/bacnet/calendar_entry.c
${SRC_DIR}/bacnet/special_event.c
# Test and test library files
./src/main.c
../mock/device_mock.c
@@ -58,6 +58,8 @@ add_executable(${PROJECT_NAME}
${SRC_DIR}/bacnet/weeklyschedule.c
${SRC_DIR}/bacnet/bactimevalue.c
${SRC_DIR}/bacnet/dailyschedule.c
${SRC_DIR}/bacnet/calendar_entry.c
${SRC_DIR}/bacnet/special_event.c
# Test and test library files
./src/main.c
../mock/device_mock.c
@@ -54,6 +54,8 @@ add_executable(${PROJECT_NAME}
${SRC_DIR}/bacnet/weeklyschedule.c
${SRC_DIR}/bacnet/bactimevalue.c
${SRC_DIR}/bacnet/dailyschedule.c
${SRC_DIR}/bacnet/calendar_entry.c
${SRC_DIR}/bacnet/special_event.c
# Test and test library files
./src/main.c
${ZTST_DIR}/ztest_mock.c
@@ -57,6 +57,8 @@ add_executable(${PROJECT_NAME}
${SRC_DIR}/bacnet/weeklyschedule.c
${SRC_DIR}/bacnet/bactimevalue.c
${SRC_DIR}/bacnet/dailyschedule.c
${SRC_DIR}/bacnet/calendar_entry.c
${SRC_DIR}/bacnet/special_event.c
# Test and test library files
./src/main.c
${ZTST_DIR}/ztest_mock.c
@@ -55,6 +55,8 @@ add_executable(${PROJECT_NAME}
${SRC_DIR}/bacnet/weeklyschedule.c
${SRC_DIR}/bacnet/bactimevalue.c
${SRC_DIR}/bacnet/dailyschedule.c
${SRC_DIR}/bacnet/calendar_entry.c
${SRC_DIR}/bacnet/special_event.c
${SRC_DIR}/bacnet/memcopy.c
# Test and test library files
./src/main.c
@@ -96,6 +96,8 @@ add_executable(${PROJECT_NAME}
${SRC_DIR}/bacnet/wp.c
${SRC_DIR}/bacnet/weeklyschedule.c
${SRC_DIR}/bacnet/dailyschedule.c
${SRC_DIR}/bacnet/calendar_entry.c
${SRC_DIR}/bacnet/special_event.c
./stubs.c
# Test and test library files
./src/main.c
@@ -54,6 +54,8 @@ add_executable(${PROJECT_NAME}
${SRC_DIR}/bacnet/weeklyschedule.c
${SRC_DIR}/bacnet/bactimevalue.c
${SRC_DIR}/bacnet/dailyschedule.c
${SRC_DIR}/bacnet/calendar_entry.c
${SRC_DIR}/bacnet/special_event.c
# Test and test library files
./src/main.c
${ZTST_DIR}/ztest_mock.c
@@ -56,6 +56,8 @@ add_executable(${PROJECT_NAME}
${SRC_DIR}/bacnet/weeklyschedule.c
${SRC_DIR}/bacnet/bactimevalue.c
${SRC_DIR}/bacnet/dailyschedule.c
${SRC_DIR}/bacnet/calendar_entry.c
${SRC_DIR}/bacnet/special_event.c
./stubs.c
# Test and test library files
./src/main.c
@@ -58,6 +58,8 @@ add_executable(${PROJECT_NAME}
${SRC_DIR}/bacnet/weeklyschedule.c
${SRC_DIR}/bacnet/bactimevalue.c
${SRC_DIR}/bacnet/dailyschedule.c
${SRC_DIR}/bacnet/calendar_entry.c
${SRC_DIR}/bacnet/special_event.c
# Test and test library files
./src/main.c
../mock/device_mock.c
@@ -55,6 +55,8 @@ add_executable(${PROJECT_NAME}
${SRC_DIR}/bacnet/weeklyschedule.c
${SRC_DIR}/bacnet/bactimevalue.c
${SRC_DIR}/bacnet/dailyschedule.c
${SRC_DIR}/bacnet/calendar_entry.c
${SRC_DIR}/bacnet/special_event.c
# Test and test library files
./src/main.c
${ZTST_DIR}/ztest_mock.c
@@ -54,6 +54,8 @@ add_executable(${PROJECT_NAME}
${SRC_DIR}/bacnet/weeklyschedule.c
${SRC_DIR}/bacnet/bactimevalue.c
${SRC_DIR}/bacnet/dailyschedule.c
${SRC_DIR}/bacnet/calendar_entry.c
${SRC_DIR}/bacnet/special_event.c
# Test and test library files
./src/main.c
../mock/device_mock.c
@@ -57,6 +57,8 @@ add_executable(${PROJECT_NAME}
${SRC_DIR}/bacnet/weeklyschedule.c
${SRC_DIR}/bacnet/bactimevalue.c
${SRC_DIR}/bacnet/dailyschedule.c
${SRC_DIR}/bacnet/calendar_entry.c
${SRC_DIR}/bacnet/special_event.c
# Test and test library files
./src/main.c
../mock/device_mock.c
@@ -56,6 +56,8 @@ add_executable(${PROJECT_NAME}
${SRC_DIR}/bacnet/weeklyschedule.c
${SRC_DIR}/bacnet/bactimevalue.c
${SRC_DIR}/bacnet/dailyschedule.c
${SRC_DIR}/bacnet/calendar_entry.c
${SRC_DIR}/bacnet/special_event.c
# Test and test library files
./src/main.c
${ZTST_DIR}/ztest_mock.c
@@ -59,6 +59,8 @@ add_executable(${PROJECT_NAME}
${SRC_DIR}/bacnet/wp.c
${SRC_DIR}/bacnet/weeklyschedule.c
${SRC_DIR}/bacnet/dailyschedule.c
${SRC_DIR}/bacnet/calendar_entry.c
${SRC_DIR}/bacnet/special_event.c
# Test and test library files
./stubs.c
./src/main.c
@@ -57,6 +57,8 @@ add_executable(${PROJECT_NAME}
${SRC_DIR}/bacnet/weeklyschedule.c
${SRC_DIR}/bacnet/bactimevalue.c
${SRC_DIR}/bacnet/dailyschedule.c
${SRC_DIR}/bacnet/calendar_entry.c
${SRC_DIR}/bacnet/special_event.c
# Test and test library files
./src/main.c
${ZTST_DIR}/ztest_mock.c
@@ -54,6 +54,8 @@ add_executable(${PROJECT_NAME}
${SRC_DIR}/bacnet/weeklyschedule.c
${SRC_DIR}/bacnet/bactimevalue.c
${SRC_DIR}/bacnet/dailyschedule.c
${SRC_DIR}/bacnet/calendar_entry.c
${SRC_DIR}/bacnet/special_event.c
# Test and test library files
./src/main.c
${ZTST_DIR}/ztest_mock.c
@@ -54,6 +54,8 @@ add_executable(${PROJECT_NAME}
${SRC_DIR}/bacnet/weeklyschedule.c
${SRC_DIR}/bacnet/bactimevalue.c
${SRC_DIR}/bacnet/dailyschedule.c
${SRC_DIR}/bacnet/calendar_entry.c
${SRC_DIR}/bacnet/special_event.c
# Test and test library files
./src/main.c
${ZTST_DIR}/ztest_mock.c
@@ -54,6 +54,8 @@ add_executable(${PROJECT_NAME}
${SRC_DIR}/bacnet/wp.c
${SRC_DIR}/bacnet/weeklyschedule.c
${SRC_DIR}/bacnet/dailyschedule.c
${SRC_DIR}/bacnet/calendar_entry.c
${SRC_DIR}/bacnet/special_event.c
# Test and test library files
./src/main.c
${ZTST_DIR}/ztest_mock.c
@@ -54,6 +54,8 @@ add_executable(${PROJECT_NAME}
${SRC_DIR}/bacnet/wp.c
${SRC_DIR}/bacnet/weeklyschedule.c
${SRC_DIR}/bacnet/dailyschedule.c
${SRC_DIR}/bacnet/calendar_entry.c
${SRC_DIR}/bacnet/special_event.c
# Test and test library files
./src/main.c
../mock/device_mock.c