Added basic timer object, internal state machine, and unit tests (#1123)

* Added basic timer object, internal state machine, and unit tests

* Added BACnetTimerStateChangeValue encode, decode, parse, print, and diff with unit tests

* Changed handler of add/remove list element to check if the property is a BACnetLIST

* Added BACnetLIST utility for handling WriteProperty to a list.

* Fixed outlier ReadProperty object handlers to return zero when the RP parameter is NULL.
This commit is contained in:
Steve Karg
2025-11-05 15:11:45 -06:00
committed by GitHub
parent 17259b37f3
commit 4dd13cf199
126 changed files with 5509 additions and 56 deletions
@@ -202,6 +202,7 @@
<ClCompile Include="..\..\..\..\src\bacnet\basic\object\schedule.c" />
<ClCompile Include="..\..\..\..\src\bacnet\basic\object\structured_view.c" />
<ClCompile Include="..\..\..\..\src\bacnet\basic\object\time_value.c" />
<ClCompile Include="..\..\..\..\src\bacnet\basic\object\timer.c" />
<ClCompile Include="..\..\..\..\src\bacnet\basic\object\trendlog.c" />
</ItemGroup>
<ItemGroup>
@@ -75,6 +75,9 @@
<ClCompile Include="..\..\..\..\src\bacnet\basic\object\time_value.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\bacnet\basic\object\timer.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\bacnet\basic\object\trendlog.c">
<Filter>Source Files</Filter>
</ClCompile>
@@ -215,6 +215,7 @@
<ClCompile Include="..\..\..\..\src\bacnet\rp.c" />
<ClCompile Include="..\..\..\..\src\bacnet\rpm.c" />
<ClCompile Include="..\..\..\..\src\bacnet\basic\sys\sbuf.c" />
<ClCompile Include="..\..\..\..\src\bacnet\timer_value.c" />
<ClCompile Include="..\..\..\..\src\bacnet\timestamp.c" />
<ClCompile Include="..\..\..\..\src\bacnet\timesync.c" />
<ClCompile Include="..\..\..\..\src\bacnet\basic\tsm\tsm.c" />
@@ -129,6 +129,9 @@
<ClCompile Include="..\..\..\..\src\bacnet\rpm.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\bacnet\timer_value.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\bacnet\timestamp.c">
<Filter>Source Files</Filter>
</ClCompile>
@@ -89,6 +89,7 @@
<ClCompile Include="..\..\..\..\src\bacnet\basic\object\sc_netport.c" />
<ClCompile Include="..\..\..\..\src\bacnet\basic\object\structured_view.c" />
<ClCompile Include="..\..\..\..\src\bacnet\basic\object\time_value.c" />
<ClCompile Include="..\..\..\..\src\bacnet\basic\object\timer.c" />
<ClCompile Include="..\..\..\..\src\bacnet\basic\object\trendlog.c" />
<ClCompile Include="..\..\..\..\src\bacnet\basic\service\h_alarm_ack.c" />
<ClCompile Include="..\..\..\..\src\bacnet\basic\service\h_apdu.c" />
@@ -208,6 +209,7 @@
<ClCompile Include="..\..\..\..\src\bacnet\rp.c" />
<ClCompile Include="..\..\..\..\src\bacnet\rpm.c" />
<ClCompile Include="..\..\..\..\src\bacnet\secure_connect.c" />
<ClCompile Include="..\..\..\..\src\bacnet\timer_value.c" />
<ClCompile Include="..\..\..\..\src\bacnet\timestamp.c" />
<ClCompile Include="..\..\..\..\src\bacnet\timesync.c" />
<ClCompile Include="..\..\..\..\src\bacnet\weeklyschedule.c" />
@@ -301,6 +303,7 @@
<ClInclude Include="..\..\..\..\src\bacnet\basic\object\sc_netport.h" />
<ClInclude Include="..\..\..\..\src\bacnet\basic\object\structured_view.h" />
<ClInclude Include="..\..\..\..\src\bacnet\basic\object\time_value.h" />
<ClInclude Include="..\..\..\..\src\bacnet\basic\object\timer.h" />
<ClInclude Include="..\..\..\..\src\bacnet\basic\object\trendlog.h" />
<ClInclude Include="..\..\..\..\src\bacnet\basic\services.h" />
<ClInclude Include="..\..\..\..\src\bacnet\basic\service\h_alarm_ack.h" />
@@ -201,6 +201,9 @@
<ClCompile Include="..\..\..\..\src\bacnet\rpm.c">
<Filter>Source Files\src\bacnet</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\bacnet\timer_value.c">
<Filter>Source Files\src\bacnet</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\bacnet\timestamp.c">
<Filter>Source Files\src\bacnet</Filter>
</ClCompile>
@@ -627,6 +630,9 @@
<ClCompile Include="..\..\..\..\src\bacnet\basic\object\time_value.c">
<Filter>Source Files\src\bacnet\basic\object</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\bacnet\basic\object\timer.c">
<Filter>Source Files\src\bacnet\basic\object</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\bacnet\basic\service\h_whoami.c">
<Filter>Source Files\src\bacnet\basic\service</Filter>
</ClCompile>
@@ -1271,6 +1277,9 @@
<ClInclude Include="..\..\..\..\src\bacnet\basic\object\time_value.h">
<Filter>Source Files\src\bacnet\basic\object</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\bacnet\basic\object\timer.h">
<Filter>Source Files\src\bacnet\basic\object</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\bacnet\basic\service\h_whoami.h">
<Filter>Source Files\src\bacnet\basic\service</Filter>
</ClInclude>