Added new enumerations, text, BACnetARRAY and BACnetList from protocol-revision 30 (#1114)
This commit is contained in:
+18
-5
@@ -1220,6 +1220,7 @@ int bacapp_known_property_tag(
|
||||
case PROP_MANIPULATED_VARIABLE_REFERENCE:
|
||||
case PROP_CONTROLLED_VARIABLE_REFERENCE:
|
||||
case PROP_INPUT_REFERENCE:
|
||||
case PROP_EVENT_ALGORITHM_INHIBIT_REF:
|
||||
/* Properties using BACnetObjectPropertyReference */
|
||||
return BACNET_APPLICATION_TAG_OBJECT_PROPERTY_REFERENCE;
|
||||
|
||||
@@ -2325,7 +2326,7 @@ static int bacapp_snprintf_enumerated(
|
||||
str, str_len, "reserved %lu", (unsigned long)value);
|
||||
} else {
|
||||
ret_val = bacapp_snprintf(
|
||||
str, str_len, "proprietary %lu", (unsigned long)value);
|
||||
str, str_len, "proprietary-%lu", (unsigned long)value);
|
||||
}
|
||||
break;
|
||||
case PROP_EVENT_STATE:
|
||||
@@ -2335,7 +2336,7 @@ static int bacapp_snprintf_enumerated(
|
||||
case PROP_UNITS:
|
||||
if (bactext_engineering_unit_name_proprietary((unsigned)value)) {
|
||||
ret_val = bacapp_snprintf(
|
||||
str, str_len, "proprietary %lu", (unsigned long)value);
|
||||
str, str_len, "proprietary-%lu", (unsigned long)value);
|
||||
} else {
|
||||
ret_val = bacapp_snprintf(
|
||||
str, str_len, "%s", bactext_engineering_unit_name(value));
|
||||
@@ -2602,7 +2603,7 @@ static int bacapp_snprintf_object_id(
|
||||
str, str_len, "reserved %u, ", (unsigned)object_id->type);
|
||||
} else {
|
||||
slen = bacapp_snprintf(
|
||||
str, str_len, "proprietary %u, ", (unsigned)object_id->type);
|
||||
str, str_len, "proprietary-%u, ", (unsigned)object_id->type);
|
||||
}
|
||||
ret_val += bacapp_snprintf_shift(slen, &str, &str_len);
|
||||
slen = bacapp_snprintf(
|
||||
@@ -2870,7 +2871,6 @@ static int bacapp_snprintf_object_property_reference(
|
||||
str, str_len, ", %lu", (unsigned long)value->property_array_index);
|
||||
ret_val += bacapp_snprintf_shift(slen, &str, &str_len);
|
||||
}
|
||||
ret_val += bacapp_snprintf_shift(slen, &str, &str_len);
|
||||
ret_val += bacapp_snprintf(str, str_len, "}");
|
||||
|
||||
return ret_val;
|
||||
@@ -4031,7 +4031,20 @@ bool bacapp_print_value(
|
||||
#endif
|
||||
bacapp_snprintf_value(str, str_len + 1, object_value);
|
||||
if (stream) {
|
||||
fprintf(stream, "%s", str);
|
||||
if (object_value->object_type == OBJECT_SCHEDULE) {
|
||||
switch (object_value->object_property) {
|
||||
case PROP_PRESENT_VALUE:
|
||||
case PROP_SCHEDULE_DEFAULT:
|
||||
fprintf(
|
||||
stream, "[%u] %s", object_value->value->tag, str);
|
||||
break;
|
||||
default:
|
||||
fprintf(stream, "%s", str);
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
fprintf(stream, "%s", str);
|
||||
}
|
||||
}
|
||||
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
|
||||
/* nothing to do with stack based RAM */
|
||||
|
||||
@@ -533,7 +533,7 @@ typedef enum BACnetPropertyIdentifier {
|
||||
PROP_PROPRIETARY_RANGE_MIN = 512,
|
||||
PROP_PROPRIETARY_RANGE_MAX = 4194303,
|
||||
PROP_RESERVED_RANGE_MIN2 = 4194304,
|
||||
/* enumerations 4194304-4194327 are defined in Addendum 2020cc */
|
||||
/* enumerations 4194304-4194327 are defined in Addendum 2020cc (PR 24) */
|
||||
PROP_MAX_BVLC_LENGTH_ACCEPTED = 4194304,
|
||||
PROP_MAX_NPDU_LENGTH_ACCEPTED = 4194305,
|
||||
PROP_OPERATIONAL_CERTIFICATE_FILE = 4194306,
|
||||
@@ -558,7 +558,7 @@ typedef enum BACnetPropertyIdentifier {
|
||||
PROP_SC_PRIMARY_HUB_URI = 4194325,
|
||||
PROP_SC_MAXIMUM_RECONNECT_TIME = 4194326,
|
||||
PROP_SC_MINIMUM_RECONNECT_TIME = 4194327,
|
||||
/* enumerations 4194328-4194332 are defined in Addendum 2020ca */
|
||||
/* enumerations 4194328-4194337 are defined in Addendum 2020ca (PR 24) */
|
||||
PROP_COLOR_OVERRIDE = 4194328,
|
||||
PROP_COLOR_REFERENCE = 4194329,
|
||||
PROP_DEFAULT_COLOR = 4194330,
|
||||
@@ -568,15 +568,13 @@ typedef enum BACnetPropertyIdentifier {
|
||||
PROP_HIGH_END_TRIM = 4194335,
|
||||
PROP_LOW_END_TRIM = 4194336,
|
||||
PROP_TRIM_FADE_TIME = 4194337,
|
||||
/* Addendum 135-2020bx */
|
||||
/* enumerations 4194338-4194340 are defined in Addendum 2020bx */
|
||||
/* enumerations 4194338-4194340 are defined in Addendum 2020bx (PR 27) */
|
||||
PROP_DEVICE_ADDRESS_PROXY_ENABLE = 4194338,
|
||||
PROP_DEVICE_ADDRESS_PROXY_TABLE = 4194339,
|
||||
PROP_DEVICE_ADDRESS_PROXY_TIMEOUT = 4194340,
|
||||
/* enumerations 4194341-4194342 are defined in Addendum 2020cj */
|
||||
/* enumerations 4194341-4194349 are defined in Addendum 2020cp (PR 30) */
|
||||
PROP_DEFAULT_ON_VALUE = 4194341,
|
||||
PROP_LAST_ON_VALUE = 4194342,
|
||||
/* enumerations 4194343-4194349 are defined in Addendum 2020cp */
|
||||
PROP_AUTHORIZATION_CACHE = 4194343,
|
||||
PROP_AUTHORIZATION_GROUPS = 4194344,
|
||||
PROP_AUTHORIZATION_POLICY = 4194345,
|
||||
@@ -1743,6 +1741,7 @@ typedef enum BACnet_Confirmed_Service_Choice {
|
||||
/* Security Services */
|
||||
SERVICE_CONFIRMED_AUTHENTICATE = 24,
|
||||
SERVICE_CONFIRMED_REQUEST_KEY = 25,
|
||||
SERVICE_CONFIRMED_AUTH_REQUEST = 34,
|
||||
/* Services added after 1995 */
|
||||
/* readRange [26] see Object Access Services */
|
||||
/* lifeSafetyOperation [27] see Alarm and Event Services */
|
||||
|
||||
+128
-38
@@ -58,37 +58,43 @@ static bool bactext_strtoul_index(
|
||||
}
|
||||
|
||||
INDTEXT_DATA bacnet_confirmed_service_names[] = {
|
||||
{ SERVICE_CONFIRMED_ACKNOWLEDGE_ALARM, "Acknowledge-Alarm" },
|
||||
{ SERVICE_CONFIRMED_COV_NOTIFICATION, "COV-Notification" },
|
||||
{ SERVICE_CONFIRMED_EVENT_NOTIFICATION, "Event-Notification" },
|
||||
{ SERVICE_CONFIRMED_GET_ALARM_SUMMARY, "Get-Alarm-Summary" },
|
||||
{ SERVICE_CONFIRMED_GET_ENROLLMENT_SUMMARY, "Get-Enrollment-Summary" },
|
||||
{ SERVICE_CONFIRMED_SUBSCRIBE_COV, "Subscribe-COV" },
|
||||
{ SERVICE_CONFIRMED_ATOMIC_READ_FILE, "Atomic-Read-File" },
|
||||
{ SERVICE_CONFIRMED_ATOMIC_WRITE_FILE, "Atomic-Write-File" },
|
||||
{ SERVICE_CONFIRMED_ADD_LIST_ELEMENT, "Add-List-Element" },
|
||||
{ SERVICE_CONFIRMED_REMOVE_LIST_ELEMENT, "Remove-List-Element" },
|
||||
{ SERVICE_CONFIRMED_CREATE_OBJECT, "Create-Object" },
|
||||
{ SERVICE_CONFIRMED_DELETE_OBJECT, "Delete-Object" },
|
||||
{ SERVICE_CONFIRMED_READ_PROPERTY, "Read-Property" },
|
||||
{ SERVICE_CONFIRMED_READ_PROP_CONDITIONAL, "Read-Property-Conditional" },
|
||||
{ SERVICE_CONFIRMED_READ_PROP_MULTIPLE, "Read-Property-Multiple" },
|
||||
{ SERVICE_CONFIRMED_WRITE_PROPERTY, "Write-Property" },
|
||||
{ SERVICE_CONFIRMED_WRITE_PROP_MULTIPLE, "Write-Property-Multiple" },
|
||||
{ SERVICE_CONFIRMED_ACKNOWLEDGE_ALARM, "AcknowledgeAlarm" },
|
||||
{ SERVICE_CONFIRMED_COV_NOTIFICATION, "ConfirmedCOVNotification" },
|
||||
{ SERVICE_CONFIRMED_EVENT_NOTIFICATION, "ConfirmedEventNotification" },
|
||||
{ SERVICE_CONFIRMED_GET_ALARM_SUMMARY, "GetAlarmSummary" },
|
||||
{ SERVICE_CONFIRMED_GET_ENROLLMENT_SUMMARY, "GetEnrollmentSummary" },
|
||||
{ SERVICE_CONFIRMED_SUBSCRIBE_COV, "SubscribeCOV" },
|
||||
{ SERVICE_CONFIRMED_ATOMIC_READ_FILE, "AtomicReadFile" },
|
||||
{ SERVICE_CONFIRMED_ATOMIC_WRITE_FILE, "AtomicWriteFile" },
|
||||
{ SERVICE_CONFIRMED_ADD_LIST_ELEMENT, "AddListElement" },
|
||||
{ SERVICE_CONFIRMED_REMOVE_LIST_ELEMENT, "RemoveListElement" },
|
||||
{ SERVICE_CONFIRMED_CREATE_OBJECT, "CreateObject" },
|
||||
{ SERVICE_CONFIRMED_DELETE_OBJECT, "DeleteObject" },
|
||||
{ SERVICE_CONFIRMED_READ_PROPERTY, "ReadProperty" },
|
||||
{ SERVICE_CONFIRMED_READ_PROP_CONDITIONAL, "ReadPropertyConditional" },
|
||||
{ SERVICE_CONFIRMED_READ_PROP_MULTIPLE, "ReadPropertyMultiple" },
|
||||
{ SERVICE_CONFIRMED_WRITE_PROPERTY, "WriteProperty" },
|
||||
{ SERVICE_CONFIRMED_WRITE_PROP_MULTIPLE, "WritePropertyMultiple" },
|
||||
{ SERVICE_CONFIRMED_DEVICE_COMMUNICATION_CONTROL,
|
||||
"Device-Communication-Control" },
|
||||
{ SERVICE_CONFIRMED_PRIVATE_TRANSFER, "Private-Transfer" },
|
||||
{ SERVICE_CONFIRMED_TEXT_MESSAGE, "Text-Message" },
|
||||
{ SERVICE_CONFIRMED_REINITIALIZE_DEVICE, "Reinitialize-Device" },
|
||||
{ SERVICE_CONFIRMED_VT_OPEN, "VT-Open" },
|
||||
{ SERVICE_CONFIRMED_VT_CLOSE, "VT-Close" },
|
||||
{ SERVICE_CONFIRMED_VT_DATA, "VT-Data" },
|
||||
"DeviceCommunicationControl" },
|
||||
{ SERVICE_CONFIRMED_PRIVATE_TRANSFER, "ConfirmedPrivateTransfer" },
|
||||
{ SERVICE_CONFIRMED_TEXT_MESSAGE, "ConfirmedTextMessage" },
|
||||
{ SERVICE_CONFIRMED_REINITIALIZE_DEVICE, "ReinitializeDevice" },
|
||||
{ SERVICE_CONFIRMED_VT_OPEN, "VTOpen" },
|
||||
{ SERVICE_CONFIRMED_VT_CLOSE, "VTClose" },
|
||||
{ SERVICE_CONFIRMED_VT_DATA, "VTData" },
|
||||
{ SERVICE_CONFIRMED_AUTHENTICATE, "Authenticate" },
|
||||
{ SERVICE_CONFIRMED_REQUEST_KEY, "Request-Key" },
|
||||
{ SERVICE_CONFIRMED_READ_RANGE, "Read-Range" },
|
||||
{ SERVICE_CONFIRMED_LIFE_SAFETY_OPERATION, "Life-Safety_Operation" },
|
||||
{ SERVICE_CONFIRMED_SUBSCRIBE_COV_PROPERTY, "Subscribe-COV-Property" },
|
||||
{ SERVICE_CONFIRMED_GET_EVENT_INFORMATION, "Get-Event-Information" },
|
||||
{ SERVICE_CONFIRMED_REQUEST_KEY, "RequestKey" },
|
||||
{ SERVICE_CONFIRMED_READ_RANGE, "ReadRange" },
|
||||
{ SERVICE_CONFIRMED_LIFE_SAFETY_OPERATION, "LifeSafetyOperation" },
|
||||
{ SERVICE_CONFIRMED_SUBSCRIBE_COV_PROPERTY, "SubscribeCOVProperty" },
|
||||
{ SERVICE_CONFIRMED_GET_EVENT_INFORMATION, "GetEventInformation" },
|
||||
{ SERVICE_CONFIRMED_SUBSCRIBE_COV_PROPERTY_MULTIPLE,
|
||||
"SubscribeCOVPropertyMultiple" },
|
||||
{ SERVICE_CONFIRMED_COV_NOTIFICATION_MULTIPLE,
|
||||
"ConfirmedCOVNotificationMultiple" },
|
||||
{ SERVICE_CONFIRMED_AUDIT_NOTIFICATION, "ConfirmedAuditNotification" },
|
||||
{ SERVICE_CONFIRMED_AUTH_REQUEST, "ConfirmedAuthRequest" },
|
||||
{ 0, NULL }
|
||||
};
|
||||
|
||||
@@ -101,16 +107,20 @@ const char *bactext_confirmed_service_name(unsigned index)
|
||||
INDTEXT_DATA bacnet_unconfirmed_service_names[] = {
|
||||
{ SERVICE_UNCONFIRMED_I_AM, "I-Am" },
|
||||
{ SERVICE_UNCONFIRMED_I_HAVE, "I-Have" },
|
||||
{ SERVICE_UNCONFIRMED_COV_NOTIFICATION, "COV-Notification" },
|
||||
{ SERVICE_UNCONFIRMED_EVENT_NOTIFICATION, "Event-Notification" },
|
||||
{ SERVICE_UNCONFIRMED_PRIVATE_TRANSFER, "Private-Transfer" },
|
||||
{ SERVICE_UNCONFIRMED_TEXT_MESSAGE, "Text-Message" },
|
||||
{ SERVICE_UNCONFIRMED_TIME_SYNCHRONIZATION, "Time-Synchronization" },
|
||||
{ SERVICE_UNCONFIRMED_COV_NOTIFICATION, "UnconfirmedCOVNotification" },
|
||||
{ SERVICE_UNCONFIRMED_EVENT_NOTIFICATION, "UnconfirmedEventNotification" },
|
||||
{ SERVICE_UNCONFIRMED_PRIVATE_TRANSFER, "UnconfirmedPrivateTransfer" },
|
||||
{ SERVICE_UNCONFIRMED_TEXT_MESSAGE, "UnconfirmedTextMessage" },
|
||||
{ SERVICE_UNCONFIRMED_TIME_SYNCHRONIZATION, "TimeSynchronization" },
|
||||
{ SERVICE_UNCONFIRMED_WHO_HAS, "Who-Has" },
|
||||
{ SERVICE_UNCONFIRMED_WHO_IS, "Who-Is" },
|
||||
{ SERVICE_UNCONFIRMED_UTC_TIME_SYNCHRONIZATION,
|
||||
"UTC-Time-Synchronization" },
|
||||
{ SERVICE_UNCONFIRMED_WRITE_GROUP, "Write-Group" },
|
||||
{ SERVICE_UNCONFIRMED_UTC_TIME_SYNCHRONIZATION, "UTCTimeSynchronization" },
|
||||
{ SERVICE_UNCONFIRMED_WRITE_GROUP, "WriteGroup" },
|
||||
{ SERVICE_UNCONFIRMED_COV_NOTIFICATION_MULTIPLE,
|
||||
"UnconfirmedCOVNotificationMultiple" },
|
||||
{ SERVICE_UNCONFIRMED_AUDIT_NOTIFICATION, "UnconfirmedAuditNotification" },
|
||||
{ SERVICE_UNCONFIRMED_WHO_AM_I, "Who-Am-I" },
|
||||
{ SERVICE_UNCONFIRMED_YOU_ARE, "You-Are" },
|
||||
{ 0, NULL }
|
||||
};
|
||||
|
||||
@@ -255,6 +265,78 @@ INDTEXT_DATA bacnet_object_type_names[] = {
|
||||
{ 0, NULL }
|
||||
};
|
||||
|
||||
INDTEXT_DATA bacnet_object_type_names_capitalized[] = {
|
||||
{ OBJECT_ANALOG_INPUT, "Analog Input" },
|
||||
{ OBJECT_ANALOG_OUTPUT, "Analog Output" },
|
||||
{ OBJECT_ANALOG_VALUE, "Analog Value" },
|
||||
{ OBJECT_BINARY_INPUT, "Binary Input" },
|
||||
{ OBJECT_BINARY_OUTPUT, "Binary Output" },
|
||||
{ OBJECT_BINARY_VALUE, "Binary Value" },
|
||||
{ OBJECT_CALENDAR, "Calendar" },
|
||||
{ OBJECT_COMMAND, "Command" },
|
||||
{ OBJECT_DEVICE, "Device" },
|
||||
{ OBJECT_EVENT_ENROLLMENT, "Event Enrollment" },
|
||||
{ OBJECT_FILE, "File" },
|
||||
{ OBJECT_GROUP, "Group" },
|
||||
{ OBJECT_LOOP, "Loop" },
|
||||
{ OBJECT_MULTI_STATE_INPUT, "Multi-state Input" },
|
||||
{ OBJECT_MULTI_STATE_OUTPUT, "Multi-state Output" },
|
||||
{ OBJECT_NOTIFICATION_CLASS, "Notification Class" },
|
||||
{ OBJECT_PROGRAM, "Program" },
|
||||
{ OBJECT_SCHEDULE, "Schedule" },
|
||||
{ OBJECT_AVERAGING, "Averaging" },
|
||||
{ OBJECT_MULTI_STATE_VALUE, "Multi-state Value" },
|
||||
{ OBJECT_TRENDLOG, "Trend Log" },
|
||||
{ OBJECT_LIFE_SAFETY_POINT, "Life Safety Point" },
|
||||
{ OBJECT_LIFE_SAFETY_ZONE, "Life Safety Zone" },
|
||||
{ OBJECT_ACCUMULATOR, "Accumulator" },
|
||||
{ OBJECT_PULSE_CONVERTER, "Pulse Converter" },
|
||||
{ OBJECT_EVENT_LOG, "Event Log" },
|
||||
{ OBJECT_GLOBAL_GROUP, "Global Group" },
|
||||
{ OBJECT_TREND_LOG_MULTIPLE, "Trend Log Multiple" },
|
||||
{ OBJECT_LOAD_CONTROL, "Load Control" },
|
||||
{ OBJECT_STRUCTURED_VIEW, "Structured View" },
|
||||
{ OBJECT_ACCESS_DOOR, "Access Door" },
|
||||
{ OBJECT_LIGHTING_OUTPUT, "Lighting Output" },
|
||||
{ OBJECT_ACCESS_CREDENTIAL, "Access Credential" },
|
||||
{ OBJECT_ACCESS_POINT, "Access Point" },
|
||||
{ OBJECT_ACCESS_RIGHTS, "Access Rights" },
|
||||
{ OBJECT_ACCESS_USER, "Access User" },
|
||||
{ OBJECT_ACCESS_ZONE, "Access Zone" },
|
||||
{ OBJECT_CREDENTIAL_DATA_INPUT, "Credential Data Input" },
|
||||
{ OBJECT_NETWORK_SECURITY, "Network Security" },
|
||||
{ OBJECT_BITSTRING_VALUE, "Bitstring Value" },
|
||||
{ OBJECT_CHARACTERSTRING_VALUE, "Characterstring Value" },
|
||||
{ OBJECT_DATE_PATTERN_VALUE, "Date Pattern Value" },
|
||||
{ OBJECT_DATE_VALUE, "Date Value" },
|
||||
{ OBJECT_DATETIME_PATTERN_VALUE, "Datetime Pattern Value" },
|
||||
{ OBJECT_DATETIME_VALUE, "Datetime Value" },
|
||||
{ OBJECT_INTEGER_VALUE, "Integer Value" },
|
||||
{ OBJECT_LARGE_ANALOG_VALUE, "Large Analog Value" },
|
||||
{ OBJECT_OCTETSTRING_VALUE, "Octetstring Value" },
|
||||
{ OBJECT_POSITIVE_INTEGER_VALUE, "Positive Integer Value" },
|
||||
{ OBJECT_TIME_PATTERN_VALUE, "Time Pattern Value" },
|
||||
{ OBJECT_TIME_VALUE, "Time Value" },
|
||||
{ OBJECT_NOTIFICATION_FORWARDER, "Notification Forwarder" },
|
||||
{ OBJECT_ALERT_ENROLLMENT, "Alert Enrollment" },
|
||||
{ OBJECT_CHANNEL, "Channel" },
|
||||
{ OBJECT_LIGHTING_OUTPUT, "Lighting Output" },
|
||||
{ OBJECT_BINARY_LIGHTING_OUTPUT, "Binary Lighting Output" },
|
||||
{ OBJECT_NETWORK_PORT, "Network Port" },
|
||||
{ OBJECT_ELEVATOR_GROUP, "Elevator Group" },
|
||||
{ OBJECT_ESCALATOR, "Escalator" },
|
||||
{ OBJECT_LIFT, "Lift" },
|
||||
{ OBJECT_STAGING, "Staging" },
|
||||
{ OBJECT_AUDIT_LOG, "Audit Log" },
|
||||
{ OBJECT_AUDIT_REPORTER, "Audit Reporter" },
|
||||
{ OBJECT_COLOR, "Color" },
|
||||
{ OBJECT_COLOR_TEMPERATURE, "Color Temperature" },
|
||||
/* Enumerated values 0-127 are reserved for definition by ASHRAE.
|
||||
Enumerated values 128-1023 may be used by others subject to
|
||||
the procedures and constraints described in Clause 23. */
|
||||
{ 0, NULL }
|
||||
};
|
||||
|
||||
const char *bactext_object_type_name(unsigned index)
|
||||
{
|
||||
return indtext_by_index_split_default(
|
||||
@@ -262,6 +344,13 @@ const char *bactext_object_type_name(unsigned index)
|
||||
ASHRAE_Reserved_String, Vendor_Proprietary_String);
|
||||
}
|
||||
|
||||
const char *bactext_object_type_name_capitalized(unsigned index)
|
||||
{
|
||||
return indtext_by_index_split_default(
|
||||
bacnet_object_type_names_capitalized, index, OBJECT_PROPRIETARY_MIN,
|
||||
ASHRAE_Reserved_String, Vendor_Proprietary_String);
|
||||
}
|
||||
|
||||
bool bactext_object_type_index(const char *search_name, unsigned *found_index)
|
||||
{
|
||||
return indtext_by_istring(
|
||||
@@ -299,7 +388,7 @@ INDTEXT_DATA bacnet_property_names[] = {
|
||||
{ PROP_CONTROLLED_VARIABLE_UNITS, "controlled-variable-units" },
|
||||
{ PROP_CONTROLLED_VARIABLE_VALUE, "controlled-variable-value" },
|
||||
{ PROP_COV_INCREMENT, "cov-increment" },
|
||||
{ PROP_DATE_LIST, "datelist" },
|
||||
{ PROP_DATE_LIST, "date-list" },
|
||||
{ PROP_DAYLIGHT_SAVINGS_STATUS, "daylight-savings-status" },
|
||||
{ PROP_DEADBAND, "deadband" },
|
||||
{ PROP_DERIVATIVE_CONSTANT, "derivative-constant" },
|
||||
@@ -475,6 +564,7 @@ INDTEXT_DATA bacnet_property_names[] = {
|
||||
{ PROP_INTERVAL_OFFSET, "interval-offset" },
|
||||
{ PROP_LAST_RESTART_REASON, "last-restart-reason" },
|
||||
{ PROP_LOGGING_TYPE, "logging-type" },
|
||||
{ PROP_RESTART_NOTIFICATION_RECIPIENTS, "restart-notification-recipients" },
|
||||
{ PROP_TIME_OF_DEVICE_RESTART, "time-of-device-restart" },
|
||||
{ PROP_TIME_SYNCHRONIZATION_INTERVAL, "time-synchronization-interval" },
|
||||
{ PROP_TRIGGER, "trigger" },
|
||||
|
||||
@@ -36,6 +36,8 @@ bool bactext_application_tag_index(
|
||||
BACNET_STACK_EXPORT
|
||||
const char *bactext_object_type_name(unsigned index);
|
||||
BACNET_STACK_EXPORT
|
||||
const char *bactext_object_type_name_capitalized(unsigned index);
|
||||
BACNET_STACK_EXPORT
|
||||
bool bactext_object_type_index(const char *search_name, unsigned *found_index);
|
||||
BACNET_STACK_EXPORT
|
||||
bool bactext_object_type_strtol(const char *search_name, unsigned *found_index);
|
||||
|
||||
@@ -354,7 +354,6 @@ static const int Properties_BACnetARRAY[] = {
|
||||
PROP_CONTROL_GROUPS,
|
||||
PROP_BIT_TEXT,
|
||||
PROP_PORT_FILTER,
|
||||
PROP_NOTIFICATION_CLASS,
|
||||
PROP_STATE_CHANGE_VALUES,
|
||||
PROP_LINK_SPEEDS,
|
||||
PROP_IP_DNS_SERVER,
|
||||
@@ -427,6 +426,14 @@ bool property_list_bacnet_array_member(
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case OBJECT_LOOP:
|
||||
switch (object_property) {
|
||||
case PROP_ACTION:
|
||||
return false;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -481,6 +488,7 @@ static const int Properties_BACnetLIST[] = {
|
||||
PROP_ROUTING_TABLE,
|
||||
PROP_LANDING_CALLS,
|
||||
PROP_FAULT_SIGNALS,
|
||||
PROP_ADDITIONAL_REFERENCE_PORTS,
|
||||
-1
|
||||
};
|
||||
|
||||
|
||||
+22
-10
@@ -477,16 +477,28 @@ int bacapp_timestamp_to_ascii(
|
||||
str, str_size, "%u", (unsigned)timestamp->value.sequenceNum);
|
||||
break;
|
||||
case TIME_STAMP_DATETIME:
|
||||
/* 2021/12/31-23:59:59.99 */
|
||||
str_len = snprintf(
|
||||
str, str_size, "%04u/%02u/%02u-%02u:%02u:%02u.%02u",
|
||||
(unsigned)timestamp->value.dateTime.date.year,
|
||||
(unsigned)timestamp->value.dateTime.date.month,
|
||||
(unsigned)timestamp->value.dateTime.date.day,
|
||||
(unsigned)timestamp->value.dateTime.time.hour,
|
||||
(unsigned)timestamp->value.dateTime.time.min,
|
||||
(unsigned)timestamp->value.dateTime.time.sec,
|
||||
(unsigned)timestamp->value.dateTime.time.hundredths);
|
||||
if (datetime_wildcard_year(×tamp->value.dateTime.date)) {
|
||||
/* 255/12/31-23:59:59.99 */
|
||||
str_len = snprintf(
|
||||
str, str_size, "255/%02u/%02u-%02u:%02u:%02u.%02u",
|
||||
(unsigned)timestamp->value.dateTime.date.month,
|
||||
(unsigned)timestamp->value.dateTime.date.day,
|
||||
(unsigned)timestamp->value.dateTime.time.hour,
|
||||
(unsigned)timestamp->value.dateTime.time.min,
|
||||
(unsigned)timestamp->value.dateTime.time.sec,
|
||||
(unsigned)timestamp->value.dateTime.time.hundredths);
|
||||
} else {
|
||||
/* 2021/12/31-23:59:59.99 */
|
||||
str_len = snprintf(
|
||||
str, str_size, "%04u/%02u/%02u-%02u:%02u:%02u.%02u",
|
||||
(unsigned)timestamp->value.dateTime.date.year,
|
||||
(unsigned)timestamp->value.dateTime.date.month,
|
||||
(unsigned)timestamp->value.dateTime.date.day,
|
||||
(unsigned)timestamp->value.dateTime.time.hour,
|
||||
(unsigned)timestamp->value.dateTime.time.min,
|
||||
(unsigned)timestamp->value.dateTime.time.sec,
|
||||
(unsigned)timestamp->value.dateTime.time.hundredths);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user