Add enumeration text lookup for BACnet types (#1209)
* Added enumeration text lookup for BACnetAuthenticationStatus, BACnetAuthorizationMode, BACnetAccessCredentialDisable, BACnetAccessCredentialDisableReason, BACnetAccessUserType, BACnetAccessZoneOccupancyState, BACnetWriteStatus, BACnetIPMode, BACnetDoorValue, BACnetMaintenance, BACnetEscalatorFault, BACnetEscalatorMode, BACnetEscalatorOperationDirection, BACnetBackupState, BACnetSecurityLevel, BACnetLiftCarDirection, BACnetLiftCarDoorCommand, BACnetLiftCarDriveStatus, BACnetLiftCarMode, BACnetLiftFault, BACnetLiftGroupMode, BACnetAuditLevel, BACnetAuditOperation, BACnetSCHubConnectorState, BACnetSCConnectionState, BACnetNodeRelationship, BACnetAction, BACnetFileAccessMethod, BACnetLockStatus, BACnetDoorAlarmState, BACnetDoorStatus, BACnetDoorSecuredStatus, and BACnetAccessEvent. * Created BINARY_PV_MAX with the same semantic meaning as one more than the last valid enumeration, and deprecated MAX_BINARY_PV usage in the examples. * Reduced code size by using bactext_property_states_strtoul() instead of individual API for each enumations.
This commit is contained in:
@@ -531,7 +531,7 @@ bool Binary_Input_Present_Value_Set(
|
||||
|
||||
pObject = Binary_Input_Object(object_instance);
|
||||
if (pObject) {
|
||||
if (value <= MAX_BINARY_PV) {
|
||||
if (value < BINARY_PV_MAX) {
|
||||
/* de-polarize */
|
||||
if (Binary_Polarity(pObject->Polarity) != POLARITY_NORMAL) {
|
||||
if (value == BINARY_INACTIVE) {
|
||||
@@ -571,7 +571,7 @@ static bool Binary_Input_Present_Value_Write(
|
||||
|
||||
pObject = Binary_Input_Object(object_instance);
|
||||
if (pObject) {
|
||||
if (value <= MAX_BINARY_PV) {
|
||||
if (value < BINARY_PV_MAX) {
|
||||
if (pObject->Write_Enabled) {
|
||||
old_value = Binary_Present_Value(pObject->Present_Value);
|
||||
Binary_Input_Present_Value_COV_Detect(pObject, value);
|
||||
@@ -1193,7 +1193,7 @@ bool Binary_Input_Write_Property(BACNET_WRITE_PROPERTY_DATA *wp_data)
|
||||
status = write_property_type_valid(
|
||||
wp_data, &value, BACNET_APPLICATION_TAG_ENUMERATED);
|
||||
if (status) {
|
||||
if (value.type.Enumerated <= MAX_BINARY_PV) {
|
||||
if (value.type.Enumerated < BINARY_PV_MAX) {
|
||||
Binary_Input_Alarm_Value_Set(
|
||||
wp_data->object_instance,
|
||||
(BACNET_BINARY_PV)value.type.Enumerated);
|
||||
|
||||
@@ -325,7 +325,7 @@ bool Binary_Output_Present_Value_Set(
|
||||
(priority != 6 /* reserved */)) {
|
||||
priority--;
|
||||
old_value = Object_Present_Value(pObject);
|
||||
if (binary_value <= MAX_BINARY_PV) {
|
||||
if (binary_value < BINARY_PV_MAX) {
|
||||
BIT_SET(pObject->Priority_Active_Bits, priority);
|
||||
if (binary_value == BINARY_ACTIVE) {
|
||||
BIT_SET(pObject->Priority_Array, priority);
|
||||
@@ -448,7 +448,7 @@ static bool Binary_Output_Present_Value_Write(
|
||||
pObject = Keylist_Data(Object_List, object_instance);
|
||||
if (pObject) {
|
||||
if ((priority >= 1) && (priority <= BACNET_MAX_PRIORITY) &&
|
||||
(value <= MAX_BINARY_PV)) {
|
||||
(value < BINARY_PV_MAX)) {
|
||||
if (priority != 6) {
|
||||
old_value = Object_Present_Value(pObject);
|
||||
Binary_Output_Present_Value_Set(
|
||||
|
||||
@@ -490,7 +490,7 @@ bool Binary_Value_Present_Value_Set(
|
||||
|
||||
pObject = Binary_Value_Object(object_instance);
|
||||
if (pObject) {
|
||||
if (value <= MAX_BINARY_PV) {
|
||||
if (value < BINARY_PV_MAX) {
|
||||
Binary_Value_Present_Value_COV_Detect(pObject, value);
|
||||
pObject->Present_Value = Binary_Present_Value_Boolean(value);
|
||||
status = true;
|
||||
@@ -522,7 +522,7 @@ static bool Binary_Value_Present_Value_Write(
|
||||
|
||||
pObject = Binary_Value_Object(object_instance);
|
||||
if (pObject) {
|
||||
if (value <= MAX_BINARY_PV) {
|
||||
if (value < BINARY_PV_MAX) {
|
||||
if (pObject->Write_Enabled) {
|
||||
old_value = Binary_Present_Value(pObject->Present_Value);
|
||||
Binary_Value_Present_Value_COV_Detect(pObject, value);
|
||||
@@ -1096,7 +1096,7 @@ bool Binary_Value_Write_Property(BACNET_WRITE_PROPERTY_DATA *wp_data)
|
||||
status = write_property_type_valid(
|
||||
wp_data, &value, BACNET_APPLICATION_TAG_ENUMERATED);
|
||||
if (status) {
|
||||
if (value.type.Enumerated <= MAX_BINARY_PV) {
|
||||
if (value.type.Enumerated < BINARY_PV_MAX) {
|
||||
Binary_Value_Alarm_Value_Set(
|
||||
wp_data->object_instance,
|
||||
(BACNET_BINARY_PV)value.type.Enumerated);
|
||||
|
||||
Reference in New Issue
Block a user