Add BACnet reinitialized state names and parser (#1228)

This commit is contained in:
Steve Karg
2026-02-13 10:23:25 -06:00
committed by GitHub
parent 4cc8067c86
commit c9f2836025
4 changed files with 44 additions and 1 deletions
+1
View File
@@ -40,6 +40,7 @@ The git repositories are hosted at the following sites:
### Added
* Added text and parser for BACnet ReinitializeDevice service states. (#1228)
* Added Device Management-Backup and Restore-B to example object/device.c
and basic/server/bacnet-device.c so that when ReinitializeDevice STARTBACKUP
is requested a backup file is stored in CreateObject format for all the
+27
View File
@@ -214,6 +214,33 @@ bool bactext_application_tag_index(
bacnet_application_tag_names, search_name, found_index);
}
INDTEXT_DATA bacnet_reinitialized_state_names[] = {
{ BACNET_REINIT_COLDSTART, "coldstart" },
{ BACNET_REINIT_WARMSTART, "warmstart" },
{ BACNET_REINIT_STARTBACKUP, "startbackup" },
{ BACNET_REINIT_ENDBACKUP, "endbackup" },
{ BACNET_REINIT_STARTRESTORE, "startrestore" },
{ BACNET_REINIT_ENDRESTORE, "endrestore" },
{ BACNET_REINIT_ABORTRESTORE, "abortrestore" },
{ BACNET_REINIT_ACTIVATE_CHANGES, "activate-changes" },
{ BACNET_REINIT_IDLE, "idle" },
{ 0, NULL }
};
const char *bactext_reinitialized_state_name_default(
uint32_t index, const char *default_string)
{
return indtext_by_index_default(
bacnet_reinitialized_state_names, index, default_string);
}
bool bactext_reinitialized_state_strtol(
const char *search_name, uint32_t *found_index)
{
return bactext_string_to_uint32_index(
bacnet_reinitialized_state_names, search_name, found_index);
}
INDTEXT_DATA bacnet_character_string_encoding_names[] = {
{ CHARACTER_ANSI_X34, "ANSI X3.4" },
{ CHARACTER_MS_DBCS, "IBM/Microsoft DBCS" },
+7
View File
@@ -51,6 +51,13 @@ BACNET_STACK_EXPORT
bool bactext_application_tag_index(
const char *search_name, uint32_t *found_index);
BACNET_STACK_EXPORT
const char *bactext_reinitialized_state_name_default(
uint32_t index, const char *default_string);
BACNET_STACK_EXPORT
bool bactext_reinitialized_state_strtol(
const char *search_name, uint32_t *found_index);
BACNET_STACK_EXPORT
const char *bactext_object_type_name(uint32_t index);
BACNET_STACK_EXPORT
+9 -1
View File
@@ -50,7 +50,15 @@ static void testBacText(void)
zassert_equal(index, i, "index=%u i=%u", index, i);
}
}
/* BACNET_REINITIALIZED_STATE */
for (i = 0; i < BACNET_REINIT_MAX; i++) {
pString = bactext_reinitialized_state_name_default(i, NULL);
if (pString) {
status = bactext_reinitialized_state_strtol(pString, &index);
zassert_true(status, "i=%u", i);
zassert_equal(index, i, "index=%u i=%u", index, i);
}
}
/* BACNET_APPLICATION_TAG */
for (i = 0; i < BACNET_APPLICATION_TAG_EXTENDED_MAX; i++) {
pString = bactext_application_tag_name(i);