Parcourir la source

[BT-6709][MIB] change access read-only -> read-write for parameter normCapacityAKB

balbekova il y a 2 ans
Parent
commit
eba346bedf
2 fichiers modifiés avec 20 ajouts et 3 suppressions
  1. 1 1
      docs/bt6709/BT6709.MIB
  2. 19 2
      modules/Ethernet/private_mib_bt6709.c

+ 1 - 1
docs/bt6709/BT6709.MIB

@@ -417,7 +417,7 @@ IMPORTS
 
     normCapacityAKB OBJECT-TYPE
     SYNTAX  OCTET STRING
-    MAX-ACCESS  read-only
+    MAX-ACCESS  read-write
     STATUS  current
     DESCRIPTION
     "AKB normal capacity, Ah" 

+ 19 - 2
modules/Ethernet/private_mib_bt6709.c

@@ -55,8 +55,8 @@ static const struct snmp_scalar_node signal49 = SNMP_SCALAR_CREATE_NODE_READONLY
         signal_get_value);
 
 /* signal .1.3.6.1.4.1.41752.911.10.1.48  */
-static const struct snmp_scalar_node signal48 = SNMP_SCALAR_CREATE_NODE_READONLY(48, SNMP_ASN1_TYPE_OCTET_STRING,
-        signal_get_value);
+static const struct snmp_scalar_node signal48 = SNMP_SCALAR_CREATE_NODE(48, SNMP_NODE_INSTANCE_READ_WRITE,
+        SNMP_ASN1_TYPE_OCTET_STRING, signal_get_value, signal_set_test, signal_set_value);
 
 /* signal .1.3.6.1.4.1.41752.911.10.1.47  */
 static const struct snmp_scalar_node signal47 = SNMP_SCALAR_CREATE_NODE_READONLY(47, SNMP_ASN1_TYPE_OCTET_STRING,
@@ -688,6 +688,10 @@ static snmp_err_t signal_set_value(struct snmp_node_instance *instance, u16_t le
             val_string = (char *)value;
             SetTimeStr(val_string);
             break;
+        case 48:
+            val_string = (char *)value;
+            SetCapacityNominalAKBStr(val_string);
+            break;
         default :
             return SNMP_ERR_GENERROR;
             break;
@@ -994,6 +998,19 @@ static snmp_err_t signal_set_test(struct snmp_node_instance *instance, u16_t len
                 }
             }
             break;
+        case 48:
+            val_string = (char *)value;
+            val_string[len] = 0;
+            for (j = 0; j < len; j ++) {
+                if (!isdigit_int(val_string[j])) {
+                    return ret;
+                }
+            }
+            val = atoi(val_string);
+            if (val >= CAPACITY_MIN_RANGE && val <= CAPACITY_MAX_RANGE) {
+                ret = SNMP_ERR_NOERROR;
+            }
+            break;
     };