Corrected the Object Names for 37 and 38 (and friendlier text now).
In bacepics, now counts errors and displays error count at the end (if any). Always prints out the Device Address Binding as a '?' if it is Null.
This commit is contained in:
@@ -76,6 +76,7 @@ static bool Provided_Targ_MAC = false;
|
||||
static bool Error_Detected = false;
|
||||
static uint16_t Last_Error_Class = 0;
|
||||
static uint16_t Last_Error_Code = 0;
|
||||
static uint16_t Error_Count = 0; /* Counts errors we couldn't get around */
|
||||
static bool Has_RPM = true; /* Assume device can do RPM, to start */
|
||||
static EPICS_STATES myState = INITIAL_BINDING;
|
||||
|
||||
@@ -504,6 +505,13 @@ void PrintReadPropertyData(
|
||||
* screen these out here, unless ShowValues is true. */
|
||||
switch (rpm_property->propertyIdentifier) {
|
||||
case PROP_DEVICE_ADDRESS_BINDING:
|
||||
/* Make it VTS3-friendly and don't show "Null"
|
||||
* as a value. */
|
||||
if ( value->tag == BACNET_APPLICATION_TAG_NULL ) {
|
||||
fprintf(stdout, "?");
|
||||
break;
|
||||
}
|
||||
/* Else, fall through for normal processing. */
|
||||
case PROP_DAYLIGHT_SAVINGS_STATUS:
|
||||
case PROP_LOCAL_DATE:
|
||||
case PROP_LOCAL_TIME:
|
||||
@@ -1023,6 +1031,7 @@ int main(
|
||||
/* Don't think we'll ever actually reach this point. */
|
||||
invoke_id = 0;
|
||||
myState = NEXT_OBJECT; /* Give up and move on to the next. */
|
||||
Error_Count++;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -1098,6 +1107,7 @@ int main(
|
||||
Print_Property_Identifier(
|
||||
pPropList[Property_List_Index]);
|
||||
fprintf(stdout, " \r\n");
|
||||
Error_Count++;
|
||||
if ( ++Property_List_Index >= Property_List_Length )
|
||||
myState = NEXT_OBJECT; /* Give up and move on to the next. */
|
||||
}
|
||||
@@ -1111,6 +1121,7 @@ int main(
|
||||
/* Don't think we'll ever actually reach this point. */
|
||||
invoke_id = 0;
|
||||
myState = NEXT_OBJECT; /* Give up and move on to the next. */
|
||||
Error_Count++;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -1171,6 +1182,9 @@ int main(
|
||||
|
||||
} while (myObject.type < MAX_BACNET_OBJECT_TYPE);
|
||||
|
||||
if ( Error_Count > 0 )
|
||||
fprintf(stderr, "\r-- Found %d Errors \r\n", Error_Count );
|
||||
|
||||
/* Closing brace for all Objects */
|
||||
printf("} \r\n");
|
||||
|
||||
|
||||
@@ -899,14 +899,14 @@ typedef enum {
|
||||
OBJECT_STRUCTURED_VIEW = 29,
|
||||
OBJECT_ACCESS_DOOR = 30,
|
||||
OBJECT_LIGHTING_OUTPUT = 31,
|
||||
OBJECT_ACCESS_CREDENTIAL = 32,
|
||||
OBJECT_ACCESS_CREDENTIAL = 32, /* Addendum 2008-j */
|
||||
OBJECT_ACCESS_POINT = 33,
|
||||
OBJECT_ACCESS_RIGHTS = 34,
|
||||
OBJECT_ACCESS_USER = 35,
|
||||
OBJECT_ACCESS_ZONE = 36,
|
||||
OBJECT_AUTHENTICATION_FACTOR_INPUT = 37, /* credential-data-input */
|
||||
mysterious_OBJECT_TYPE = 38, /* Can't find anything assigned to this */
|
||||
OBJECT_BITSTRING_VALUE = 39, /* Addendum 2008-w */
|
||||
OBJECT_CREDENTIAL_DATA_INPUT = 37, /* authentication-factor-input */
|
||||
OBJECT_NETWORK_SECURITY = 38, /* Addendum 2008-g */
|
||||
OBJECT_BITSTRING_VALUE = 39, /* Addendum 2008-w */
|
||||
OBJECT_CHARACTERSTRING_VALUE = 40,
|
||||
OBJECT_DATE_PATTERN_VALUE = 41,
|
||||
OBJECT_DATE_VALUE = 42,
|
||||
|
||||
+27
-27
@@ -208,59 +208,59 @@ INDTEXT_DATA bacnet_object_type_names[] = {
|
||||
,
|
||||
{OBJECT_ACCUMULATOR, "Accumulator"}
|
||||
,
|
||||
{OBJECT_PULSE_CONVERTER, "Pulse-Converter"}
|
||||
{OBJECT_PULSE_CONVERTER, "Pulse Converter"}
|
||||
,
|
||||
{OBJECT_EVENT_LOG, "Event-Log"}
|
||||
{OBJECT_EVENT_LOG, "Event Log"}
|
||||
,
|
||||
{OBJECT_GLOBAL_GROUP, "Global-Group"}
|
||||
{OBJECT_GLOBAL_GROUP, "Global Group"}
|
||||
,
|
||||
{OBJECT_TREND_LOG_MULTIPLE, "Trend-Log-Multiple"}
|
||||
{OBJECT_TREND_LOG_MULTIPLE, "Trend Log Multiple"}
|
||||
,
|
||||
{OBJECT_LOAD_CONTROL, "Load-Control"}
|
||||
{OBJECT_LOAD_CONTROL, "Load Control"}
|
||||
,
|
||||
{OBJECT_STRUCTURED_VIEW, "Structured-View"}
|
||||
{OBJECT_STRUCTURED_VIEW, "Structured View"}
|
||||
,
|
||||
{OBJECT_ACCESS_DOOR, "Access-Door"}
|
||||
{OBJECT_ACCESS_DOOR, "Access Door"}
|
||||
,
|
||||
{OBJECT_LIGHTING_OUTPUT, "Lighting-Output"}
|
||||
{OBJECT_LIGHTING_OUTPUT, "Lighting Output"}
|
||||
,
|
||||
{OBJECT_ACCESS_CREDENTIAL, "Access-Credential"}
|
||||
{OBJECT_ACCESS_CREDENTIAL, "Access Credential"}
|
||||
,
|
||||
{OBJECT_ACCESS_POINT, "Access-Point"}
|
||||
{OBJECT_ACCESS_POINT, "Access Point"}
|
||||
,
|
||||
{OBJECT_ACCESS_RIGHTS, "Access-Rights"}
|
||||
{OBJECT_ACCESS_RIGHTS, "Access Rights"}
|
||||
,
|
||||
{OBJECT_ACCESS_USER, "Access-User"}
|
||||
{OBJECT_ACCESS_USER, "Access User"}
|
||||
,
|
||||
{OBJECT_ACCESS_ZONE, "Access-Zone"}
|
||||
{OBJECT_ACCESS_ZONE, "Access Zone"}
|
||||
,
|
||||
{OBJECT_AUTHENTICATION_FACTOR_INPUT, "Authentication-Factor-Input"}
|
||||
{OBJECT_CREDENTIAL_DATA_INPUT, "Credential Data Input"}
|
||||
,
|
||||
{mysterious_OBJECT_TYPE, "object-of-mystery"}
|
||||
{OBJECT_NETWORK_SECURITY, "Network Security"}
|
||||
,
|
||||
{OBJECT_BITSTRING_VALUE, "Bitstring-Value"}
|
||||
{OBJECT_BITSTRING_VALUE, "Bitstring Value"}
|
||||
,
|
||||
{OBJECT_CHARACTERSTRING_VALUE, "Characterstring-Value"}
|
||||
{OBJECT_CHARACTERSTRING_VALUE, "Characterstring Value"}
|
||||
,
|
||||
{OBJECT_DATE_PATTERN_VALUE, "Date-Pattern-Value"}
|
||||
{OBJECT_DATE_PATTERN_VALUE, "Date Pattern Value"}
|
||||
,
|
||||
{OBJECT_DATE_VALUE, "Date-Value"}
|
||||
{OBJECT_DATE_VALUE, "Date Value"}
|
||||
,
|
||||
{OBJECT_DATETIME_PATTERN_VALUE, "Datetime-Pattern-Value"}
|
||||
{OBJECT_DATETIME_PATTERN_VALUE, "Datetime Pattern Value"}
|
||||
,
|
||||
{OBJECT_DATETIME_VALUE, "Datetime-Value"}
|
||||
{OBJECT_DATETIME_VALUE, "Datetime Value"}
|
||||
,
|
||||
{OBJECT_INTEGER_VALUE, "Integer-Value"}
|
||||
{OBJECT_INTEGER_VALUE, "Integer Value"}
|
||||
,
|
||||
{OBJECT_LARGE_ANALOG_VALUE, "Large-Analog-Value"}
|
||||
{OBJECT_LARGE_ANALOG_VALUE, "Large Analog Value"}
|
||||
,
|
||||
{OBJECT_OCTETSTRING_VALUE, "Octetstring-Value"}
|
||||
{OBJECT_OCTETSTRING_VALUE, "Octetstring Value"}
|
||||
,
|
||||
{OBJECT_POSITIVE_INTEGER_VALUE, "Positive-Integer-Value"}
|
||||
{OBJECT_POSITIVE_INTEGER_VALUE, "Positive Integer Value"}
|
||||
,
|
||||
{OBJECT_TIME_PATTERN_VALUE, "Time-Pattern-Value"}
|
||||
{OBJECT_TIME_PATTERN_VALUE, "Time Pattern Value"}
|
||||
,
|
||||
{OBJECT_TIME_VALUE, "Time-Value"}
|
||||
{OBJECT_TIME_VALUE, "Time Value"}
|
||||
,
|
||||
{0, NULL}
|
||||
/* Enumerated values 0-127 are reserved for definition by ASHRAE.
|
||||
|
||||
Reference in New Issue
Block a user