|
@@ -35,6 +35,9 @@
|
|
|
#include "lwip/apps/snmp.h"
|
|
|
//#include "snmp_core.h"
|
|
|
|
|
|
+#define MUL100 100
|
|
|
+#define MUL10 10
|
|
|
+
|
|
|
extern struct snmp_mib mib2;
|
|
|
|
|
|
/**
|
|
@@ -52,23 +55,23 @@ static const struct snmp_scalar_node signal49 = SNMP_SCALAR_CREATE_NODE_READONLY
|
|
|
signal_get_value);
|
|
|
|
|
|
/* signal .1.3.6.1.4.1.41752.911.8.1.48 */
|
|
|
-static const struct snmp_scalar_node signal48 = SNMP_SCALAR_CREATE_NODE_READONLY(48, SNMP_ASN1_TYPE_OCTET_STRING,
|
|
|
+static const struct snmp_scalar_node signal48 = SNMP_SCALAR_CREATE_NODE_READONLY(48, SNMP_ASN1_TYPE_INTEGER,
|
|
|
signal_get_value);
|
|
|
|
|
|
/* signal .1.3.6.1.4.1.41752.911.8.1.47 */
|
|
|
-static const struct snmp_scalar_node signal47 = SNMP_SCALAR_CREATE_NODE_READONLY(47, SNMP_ASN1_TYPE_OCTET_STRING,
|
|
|
+static const struct snmp_scalar_node signal47 = SNMP_SCALAR_CREATE_NODE_READONLY(47, SNMP_ASN1_TYPE_INTEGER,
|
|
|
signal_get_value);
|
|
|
|
|
|
/* signal .1.3.6.1.4.1.41752.911.8.1.46 */
|
|
|
-static const struct snmp_scalar_node signal46 = SNMP_SCALAR_CREATE_NODE_READONLY(46, SNMP_ASN1_TYPE_OCTET_STRING,
|
|
|
+static const struct snmp_scalar_node signal46 = SNMP_SCALAR_CREATE_NODE_READONLY(46, SNMP_ASN1_TYPE_INTEGER,
|
|
|
signal_get_value);
|
|
|
|
|
|
/* signal .1.3.6.1.4.1.41752.911.8.1.45 */
|
|
|
-static const struct snmp_scalar_node signal45 = SNMP_SCALAR_CREATE_NODE_READONLY(45, SNMP_ASN1_TYPE_OCTET_STRING,
|
|
|
+static const struct snmp_scalar_node signal45 = SNMP_SCALAR_CREATE_NODE_READONLY(45, SNMP_ASN1_TYPE_INTEGER,
|
|
|
signal_get_value);
|
|
|
|
|
|
/* signal .1.3.6.1.4.1.41752.911.8.1.44 */
|
|
|
-static const struct snmp_scalar_node signal44 = SNMP_SCALAR_CREATE_NODE_READONLY(44, SNMP_ASN1_TYPE_OCTET_STRING,
|
|
|
+static const struct snmp_scalar_node signal44 = SNMP_SCALAR_CREATE_NODE_READONLY(44, SNMP_ASN1_TYPE_INTEGER,
|
|
|
signal_get_value);
|
|
|
|
|
|
/* signal .1.3.6.1.4.1.41752.911.8.1.43 */
|
|
@@ -97,43 +100,43 @@ static const struct snmp_scalar_node signal38 = SNMP_SCALAR_CREATE_NODE(38, SNMP
|
|
|
|
|
|
/* signal .1.3.6.1.4.1.41752.911.8.1.37 */
|
|
|
static const struct snmp_scalar_node signal37 = SNMP_SCALAR_CREATE_NODE(37, SNMP_NODE_INSTANCE_READ_WRITE,
|
|
|
- SNMP_ASN1_TYPE_OCTET_STRING, signal_get_value, signal_set_test, signal_set_value);
|
|
|
+ SNMP_ASN1_TYPE_INTEGER, signal_get_value, signal_set_test, signal_set_value);
|
|
|
|
|
|
/* signal .1.3.6.1.4.1.41752.911.8.1.36 */
|
|
|
static const struct snmp_scalar_node signal36 = SNMP_SCALAR_CREATE_NODE(36, SNMP_NODE_INSTANCE_READ_WRITE,
|
|
|
- SNMP_ASN1_TYPE_OCTET_STRING, signal_get_value, signal_set_test, signal_set_value);
|
|
|
+ SNMP_ASN1_TYPE_INTEGER, signal_get_value, signal_set_test, signal_set_value);
|
|
|
|
|
|
-/* signal .1.3.6.1.4.1.41752.911.8.1.22 */
|
|
|
+/* signal .1.3.6.1.4.1.41752.911.8.1.35 */
|
|
|
static const struct snmp_scalar_node signal35 = SNMP_SCALAR_CREATE_NODE(35, SNMP_NODE_INSTANCE_READ_WRITE,
|
|
|
- SNMP_ASN1_TYPE_OCTET_STRING, signal_get_value, signal_set_test, signal_set_value);
|
|
|
+ SNMP_ASN1_TYPE_INTEGER, signal_get_value, signal_set_test, signal_set_value);
|
|
|
|
|
|
/* signal .1.3.6.1.4.1.41752.911.8.1.34 */
|
|
|
static const struct snmp_scalar_node signal34 = SNMP_SCALAR_CREATE_NODE(34, SNMP_NODE_INSTANCE_READ_WRITE,
|
|
|
- SNMP_ASN1_TYPE_OCTET_STRING, signal_get_value, signal_set_test, signal_set_value);
|
|
|
+ SNMP_ASN1_TYPE_INTEGER, signal_get_value, signal_set_test, signal_set_value);
|
|
|
|
|
|
/* signal .1.3.6.1.4.1.41752.911.8.1.33 */
|
|
|
static const struct snmp_scalar_node signal33 = SNMP_SCALAR_CREATE_NODE(33, SNMP_NODE_INSTANCE_READ_WRITE,
|
|
|
- SNMP_ASN1_TYPE_OCTET_STRING, signal_get_value, signal_set_test, signal_set_value);
|
|
|
+ SNMP_ASN1_TYPE_INTEGER, signal_get_value, signal_set_test, signal_set_value);
|
|
|
|
|
|
/* signal .1.3.6.1.4.1.41752.911.8.1.32 */
|
|
|
static const struct snmp_scalar_node signal32 = SNMP_SCALAR_CREATE_NODE(32, SNMP_NODE_INSTANCE_READ_WRITE,
|
|
|
- SNMP_ASN1_TYPE_OCTET_STRING, signal_get_value, signal_set_test, signal_set_value);
|
|
|
+ SNMP_ASN1_TYPE_INTEGER, signal_get_value, signal_set_test, signal_set_value);
|
|
|
|
|
|
/* signal .1.3.6.1.4.1.41752.911.8.1.31 */
|
|
|
static const struct snmp_scalar_node signal31 = SNMP_SCALAR_CREATE_NODE(31, SNMP_NODE_INSTANCE_READ_WRITE,
|
|
|
- SNMP_ASN1_TYPE_OCTET_STRING, signal_get_value, signal_set_test, signal_set_value);
|
|
|
+ SNMP_ASN1_TYPE_INTEGER, signal_get_value, signal_set_test, signal_set_value);
|
|
|
|
|
|
-/* signal .1.3.6.1.4.1.41752.911.8.1.22 */
|
|
|
+/* signal .1.3.6.1.4.1.41752.911.8.1.30 */
|
|
|
static const struct snmp_scalar_node signal30 = SNMP_SCALAR_CREATE_NODE(30, SNMP_NODE_INSTANCE_READ_WRITE,
|
|
|
- SNMP_ASN1_TYPE_OCTET_STRING, signal_get_value, signal_set_test, signal_set_value);
|
|
|
+ SNMP_ASN1_TYPE_INTEGER, signal_get_value, signal_set_test, signal_set_value);
|
|
|
|
|
|
/* signal .1.3.6.1.4.1.41752.911.8.1.29 */
|
|
|
static const struct snmp_scalar_node signal29 = SNMP_SCALAR_CREATE_NODE(29, SNMP_NODE_INSTANCE_READ_WRITE,
|
|
|
- SNMP_ASN1_TYPE_OCTET_STRING, signal_get_value, signal_set_test, signal_set_value);
|
|
|
+ SNMP_ASN1_TYPE_INTEGER, signal_get_value, signal_set_test, signal_set_value);
|
|
|
|
|
|
/* signal .1.3.6.1.4.1.41752.911.8.1.28 */
|
|
|
static const struct snmp_scalar_node signal28 = SNMP_SCALAR_CREATE_NODE(28, SNMP_NODE_INSTANCE_READ_WRITE,
|
|
|
- SNMP_ASN1_TYPE_OCTET_STRING, signal_get_value, signal_set_test, signal_set_value);
|
|
|
+ SNMP_ASN1_TYPE_INTEGER, signal_get_value, signal_set_test, signal_set_value);
|
|
|
|
|
|
/* signal .1.3.6.1.4.1.41752.911.8.1.27 */
|
|
|
static const struct snmp_scalar_node signal27 = SNMP_SCALAR_CREATE_NODE_READONLY(27, SNMP_ASN1_TYPE_OCTET_STRING,
|
|
@@ -184,31 +187,31 @@ static const struct snmp_scalar_node signal16 = SNMP_SCALAR_CREATE_NODE_READONLY
|
|
|
signal_get_value);
|
|
|
|
|
|
/* signal .1.3.6.1.4.1.41752.911.8.1.15 */
|
|
|
-static const struct snmp_scalar_node signal15 = SNMP_SCALAR_CREATE_NODE_READONLY(15, SNMP_ASN1_TYPE_OCTET_STRING,
|
|
|
+static const struct snmp_scalar_node signal15 = SNMP_SCALAR_CREATE_NODE_READONLY(15, SNMP_ASN1_TYPE_INTEGER,
|
|
|
signal_get_value);
|
|
|
|
|
|
/* signal .1.3.6.1.4.1.41752.911.8.1.14 */
|
|
|
-static const struct snmp_scalar_node signal14 = SNMP_SCALAR_CREATE_NODE_READONLY(14, SNMP_ASN1_TYPE_OCTET_STRING,
|
|
|
+static const struct snmp_scalar_node signal14 = SNMP_SCALAR_CREATE_NODE_READONLY(14, SNMP_ASN1_TYPE_INTEGER,
|
|
|
signal_get_value);
|
|
|
|
|
|
/* signal .1.3.6.1.4.1.41752.911.8.1.13 */
|
|
|
-static const struct snmp_scalar_node signal13 = SNMP_SCALAR_CREATE_NODE_READONLY(13, SNMP_ASN1_TYPE_OCTET_STRING,
|
|
|
+static const struct snmp_scalar_node signal13 = SNMP_SCALAR_CREATE_NODE_READONLY(13, SNMP_ASN1_TYPE_INTEGER,
|
|
|
signal_get_value);
|
|
|
|
|
|
/* signal .1.3.6.1.4.1.41752.911.8.1.12 */
|
|
|
-static const struct snmp_scalar_node signal12 = SNMP_SCALAR_CREATE_NODE_READONLY(12, SNMP_ASN1_TYPE_OCTET_STRING,
|
|
|
+static const struct snmp_scalar_node signal12 = SNMP_SCALAR_CREATE_NODE_READONLY(12, SNMP_ASN1_TYPE_INTEGER,
|
|
|
signal_get_value);
|
|
|
|
|
|
/* signal .1.3.6.1.4.1.41752.911.8.1.11 */
|
|
|
-static const struct snmp_scalar_node signal11 = SNMP_SCALAR_CREATE_NODE_READONLY(11, SNMP_ASN1_TYPE_OCTET_STRING,
|
|
|
+static const struct snmp_scalar_node signal11 = SNMP_SCALAR_CREATE_NODE_READONLY(11, SNMP_ASN1_TYPE_INTEGER,
|
|
|
signal_get_value);
|
|
|
|
|
|
/* signal .1.3.6.1.4.1.41752.911.8.1.10 */
|
|
|
-static const struct snmp_scalar_node signal10 = SNMP_SCALAR_CREATE_NODE_READONLY(10, SNMP_ASN1_TYPE_OCTET_STRING,
|
|
|
+static const struct snmp_scalar_node signal10 = SNMP_SCALAR_CREATE_NODE_READONLY(10, SNMP_ASN1_TYPE_INTEGER,
|
|
|
signal_get_value);
|
|
|
|
|
|
/* signal .1.3.6.1.4.1.41752.911.8.1.9 */
|
|
|
-static const struct snmp_scalar_node signal9 = SNMP_SCALAR_CREATE_NODE_READONLY(9, SNMP_ASN1_TYPE_OCTET_STRING,
|
|
|
+static const struct snmp_scalar_node signal9 = SNMP_SCALAR_CREATE_NODE_READONLY(9, SNMP_ASN1_TYPE_INTEGER,
|
|
|
signal_get_value);
|
|
|
|
|
|
/* signal .1.3.6.1.4.1.41752.911.8.1.8 */
|
|
@@ -345,40 +348,41 @@ void lwip_privmib_init(void)
|
|
|
|
|
|
uint32_t check_netsettings(char *addr, uint8_t len)
|
|
|
{
|
|
|
- uint32_t val = 0;
|
|
|
- uint8_t i, j;
|
|
|
- uint8_t cnt_dot = 0;
|
|
|
- uint8_t digit = 0;
|
|
|
-
|
|
|
- uint8_t c = *addr;
|
|
|
-
|
|
|
- for(j = 0; j <= len; j ++){
|
|
|
- if (isdigit(c)) {
|
|
|
- val = (val * 10) + (int)(c - '0');
|
|
|
- }
|
|
|
- else if (c == '.' || c == 0) {
|
|
|
- if(val > 0xff){
|
|
|
- return 0;
|
|
|
- }
|
|
|
- cnt_dot ++;
|
|
|
- val = 0;
|
|
|
- }
|
|
|
- else{
|
|
|
- return 0;
|
|
|
- }
|
|
|
- c = *++addr;
|
|
|
- }
|
|
|
-
|
|
|
- if(cnt_dot != 4){
|
|
|
- return 0;
|
|
|
- }
|
|
|
- return 1;
|
|
|
+ uint32_t val = 0;
|
|
|
+ uint8_t i, j;
|
|
|
+ uint8_t cnt_dot = 0;
|
|
|
+ uint8_t digit = 0;
|
|
|
+
|
|
|
+ uint8_t c = *addr;
|
|
|
+
|
|
|
+ for (j = 0; j <= len; j ++) {
|
|
|
+ if (isdigit(c)) {
|
|
|
+ val = (val * 10) + (int)(c - '0');
|
|
|
+ } else if (c == '.' || c == 0) {
|
|
|
+ if (val > 0xff) {
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+ cnt_dot ++;
|
|
|
+ val = 0;
|
|
|
+ } else {
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+ c = *++addr;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (cnt_dot != 4) {
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+ return 1;
|
|
|
}
|
|
|
|
|
|
static s16_t signal_get_value(struct snmp_node_instance *instance, void *value)
|
|
|
{
|
|
|
u8_t *paramStr = (u8_t *)value;
|
|
|
+ s32_t *paramInt = (u8_t*)value;
|
|
|
u8_t paramLength = 0;
|
|
|
+ float val = 0;
|
|
|
+ int32_t int_val = 0;
|
|
|
u32_t oid = instance->node->oid; // id сигнала
|
|
|
|
|
|
switch (oid) {
|
|
@@ -395,25 +399,39 @@ static s16_t signal_get_value(struct snmp_node_instance *instance, void *value)
|
|
|
GetUPSVersionStr((char *)paramStr, ¶mLength);
|
|
|
break;
|
|
|
case 9: /* IntTemp */
|
|
|
- GetInternalTempStr((char *)paramStr, ¶mLength);
|
|
|
+ GetInternalTempInt(&val);
|
|
|
+ *paramInt = val * MUL10;
|
|
|
+ paramLength = sizeof(s32_t);
|
|
|
break;
|
|
|
case 10: /* InFreq */
|
|
|
- GetInputFreqStr((char *)paramStr, ¶mLength);
|
|
|
+ GetInputFreqInt(&val);
|
|
|
+ *paramInt = val * MUL10;
|
|
|
+ paramLength = sizeof(s32_t);
|
|
|
break;
|
|
|
case 11: /* InVoltVAC */
|
|
|
- GetInputVoltageStr((char *)paramStr, ¶mLength);
|
|
|
+ GetInputVoltageInt(&val);
|
|
|
+ *paramInt = val * MUL10;
|
|
|
+ paramLength = sizeof(s32_t);
|
|
|
break;
|
|
|
case 12: /* OutVoltVAC */
|
|
|
- GetOutputVoltageStr((char *)paramStr, ¶mLength);
|
|
|
+ GetOutputVoltageInt(&val);
|
|
|
+ *paramInt = val * MUL10;
|
|
|
+ paramLength = sizeof(s32_t);
|
|
|
break;
|
|
|
case 13: /* Power */
|
|
|
- GetPowerStr((char *)paramStr, ¶mLength);
|
|
|
+ GetPowerInt(&int_val);
|
|
|
+ *paramInt = int_val;
|
|
|
+ paramLength = sizeof(s32_t);
|
|
|
break;
|
|
|
case 14: /* BatCap */
|
|
|
- GetBatCapacityStr((char *)paramStr, ¶mLength);
|
|
|
+ GetBatCapacityInt(&int_val);
|
|
|
+ *paramInt = int_val;
|
|
|
+ paramLength = sizeof(s32_t);
|
|
|
break;
|
|
|
case 15: /* BatTime */
|
|
|
- GetRuntimeStr((char *)paramStr, ¶mLength);
|
|
|
+ GetRuntimeInt(&int_val);
|
|
|
+ *paramInt = int_val;
|
|
|
+ paramLength = sizeof(s32_t);
|
|
|
break;
|
|
|
case 16: /* ConnectMonitor */
|
|
|
GetConnectMonitorStr((char *)paramStr, ¶mLength);
|
|
@@ -452,34 +470,54 @@ static s16_t signal_get_value(struct snmp_node_instance *instance, void *value)
|
|
|
GetWhiteListSTR((char *)paramStr, ¶mLength, 4);
|
|
|
break;
|
|
|
case 28: /* UPSVoltCellMin */
|
|
|
- GetUPSVoltCellMinStr((char *)paramStr, ¶mLength);
|
|
|
+ GetUPSVoltCellMinInt(&val);
|
|
|
+ *paramInt = val * MUL100;
|
|
|
+ paramLength = sizeof(s32_t);
|
|
|
break;
|
|
|
case 29: /* UPSVoltCellMax */
|
|
|
- GetUPSVoltCellMaxStr((char *)paramStr, ¶mLength);
|
|
|
+ GetUPSVoltCellMaxInt(&val);
|
|
|
+ *paramInt = val * MUL100;
|
|
|
+ paramLength = sizeof(s32_t);
|
|
|
break;
|
|
|
case 30: /* VACAlarmHighRange */
|
|
|
- GetVACAlarmHighRangeStr((char *)paramStr, ¶mLength);
|
|
|
+ GetVACAlarmHighRangeInt(&int_val);
|
|
|
+ *paramInt = int_val;
|
|
|
+ paramLength = sizeof(s32_t);
|
|
|
break;
|
|
|
case 31: /* VACAlarmLowRange */
|
|
|
- GetVACAlarmLowRangeStr((char *)paramStr, ¶mLength);
|
|
|
+ GetVACAlarmLowRangeInt(&int_val);
|
|
|
+ *paramInt = int_val;
|
|
|
+ paramLength = sizeof(s32_t);
|
|
|
break;
|
|
|
case 32: /* VACAlarmHistRange */
|
|
|
- GetVACAlarmHisteStr((char *)paramStr, ¶mLength);
|
|
|
+ GetVACAlarmHisteInt(&val);
|
|
|
+ *paramInt = (int32_t)val;
|
|
|
+ paramLength = sizeof(s32_t);
|
|
|
break;
|
|
|
case 33: /* TemperatureAlarmHighRange */
|
|
|
- GetTemperatureAlarmHighRangeStr((char *)paramStr, ¶mLength);
|
|
|
+ GetTemperatureAlarmHighRangeInt(&int_val);
|
|
|
+ *paramInt = int_val;
|
|
|
+ paramLength = sizeof(s32_t);
|
|
|
break;
|
|
|
case 34: /* TemperatureAlarmLowRange */
|
|
|
- GetTemperatureAlarmLowRangeStr((char *)paramStr, ¶mLength);
|
|
|
+ GetTemperatureAlarmLowRangeInt(&int_val);
|
|
|
+ *paramInt = int_val;
|
|
|
+ paramLength = sizeof(s32_t);
|
|
|
break;
|
|
|
case 35: /* TemperatureAlarmHistRange */
|
|
|
- GetTemperatureAlarmHisteStr((char *)paramStr, ¶mLength);
|
|
|
+ GetTemperatureAlarmHisteInt(&val);
|
|
|
+ *paramInt = val * MUL10;
|
|
|
+ paramLength = sizeof(s32_t);
|
|
|
break;
|
|
|
case 36: /* LoadAlarmHighRange */
|
|
|
- GetLoadAlarmHighRangeStr((char *)paramStr, ¶mLength);
|
|
|
+ GetLoadAlarmHighRangeInt(&int_val);
|
|
|
+ *paramInt = int_val;
|
|
|
+ paramLength = sizeof(s32_t);
|
|
|
break;
|
|
|
case 37: /* LoadAlarmHistRange */
|
|
|
- GetLoadAlarmHisteStr((char *)paramStr, ¶mLength);
|
|
|
+ GetLoadAlarmHisteInt(&val);
|
|
|
+ *paramInt = val * MUL10;
|
|
|
+ paramLength = sizeof(s32_t);
|
|
|
break;
|
|
|
case 38: /* SntpTimeZone */
|
|
|
GetSntpTimeZoneStr((char *)paramStr, ¶mLength);
|
|
@@ -500,21 +538,31 @@ static s16_t signal_get_value(struct snmp_node_instance *instance, void *value)
|
|
|
GetTimeStr((char *)paramStr, ¶mLength);
|
|
|
break;
|
|
|
case 44: /* AKBTimeWork */
|
|
|
- GetAKBWorktimeStr((char *)paramStr, ¶mLength);
|
|
|
+ GetAKBWorktimeInt(&int_val);
|
|
|
+ *paramInt = int_val;
|
|
|
+ paramLength = sizeof(s32_t);
|
|
|
break;
|
|
|
case 45: /* InputCurrent */
|
|
|
- GetInputCurrentStr((char *)paramStr, ¶mLength);
|
|
|
+ GetInputCurrentInt(&val);
|
|
|
+ *paramInt = val * MUL100;
|
|
|
+ paramLength = sizeof(s32_t);
|
|
|
break;
|
|
|
case 46: /* OutputCurrent */
|
|
|
- GetOutputCurrentStr((char *)paramStr, ¶mLength);
|
|
|
+ GetOutputCurrentInt(&val);
|
|
|
+ *paramInt = val * MUL100;
|
|
|
+ paramLength = sizeof(s32_t);
|
|
|
break;
|
|
|
case 47: /* VoltageAKB */
|
|
|
- GetVoltageAKBtStr((char *)paramStr, ¶mLength);
|
|
|
+ GetVoltageAKBInt(&val);
|
|
|
+ *paramInt = val * MUL10;
|
|
|
+ paramLength = sizeof(s32_t);
|
|
|
break;
|
|
|
- case 48: /* DataNextChangeAKB */
|
|
|
- GetCapacityNominalAKBStr((char *)paramStr, ¶mLength);
|
|
|
+ case 48: /* CapacityNominalAKB*/
|
|
|
+ GetCapacityNominalAKBInt(&int_val);
|
|
|
+ *paramInt = int_val;
|
|
|
+ paramLength = sizeof(s32_t);
|
|
|
break;
|
|
|
- case 49: /* CapacityNominalAKB */
|
|
|
+ case 49: /* DataNextChangeAKB*/
|
|
|
GetDataNextChangeAKBStr((char *)paramStr, ¶mLength);
|
|
|
break;
|
|
|
default:
|
|
@@ -533,6 +581,7 @@ static snmp_err_t signal_set_value(struct snmp_node_instance *instance, u16_t le
|
|
|
char str[20];
|
|
|
int8_t res = 0;
|
|
|
s32_t val;
|
|
|
+ float setVal;
|
|
|
bool enable_old_sntp;
|
|
|
|
|
|
memset(str, 0, 20);
|
|
@@ -610,44 +659,54 @@ static snmp_err_t signal_set_value(struct snmp_node_instance *instance, u16_t le
|
|
|
SetManagerIp5(val_string);
|
|
|
break;
|
|
|
case 28:
|
|
|
- val_string = (char *)value;
|
|
|
- SetUPSVoltCellMinStr(val_string);
|
|
|
+ val = *((s32_t*)value);
|
|
|
+ setVal = (float)val/MUL100;
|
|
|
+ SetUPSVoltCellMinInt(setVal);
|
|
|
break;
|
|
|
case 29:
|
|
|
- val_string = (char *)value;
|
|
|
- SetUPSVoltCellMaxStr(val_string);
|
|
|
+ val = *((s32_t*)value);
|
|
|
+ setVal = (float)val/MUL100;
|
|
|
+ SetUPSVoltCellMaxInt(setVal);
|
|
|
break;
|
|
|
case 30:
|
|
|
- val_string = (char *)value;
|
|
|
- SetVACAlarmHighRangeStr(val_string);
|
|
|
+ val = *((s32_t*)value);
|
|
|
+ setVal = (float)val;
|
|
|
+ SetVACAlarmHighRangeInt(setVal);
|
|
|
break;
|
|
|
case 31:
|
|
|
- val_string = (char *)value;
|
|
|
- SetVACAlarmLowRangeStr(val_string);
|
|
|
+ val = *((s32_t*)value);
|
|
|
+ setVal = (float)val;
|
|
|
+ SetVACAlarmLowRangeInt(setVal);
|
|
|
break;
|
|
|
case 32:
|
|
|
- val_string = (char *)value;
|
|
|
- SetVACAlarmHisteStr(val_string);
|
|
|
+ val = *((s32_t*)value);
|
|
|
+ setVal = (float)val;
|
|
|
+ SetVACAlarmHisteInt(setVal);
|
|
|
break;
|
|
|
case 33:
|
|
|
- val_string = (char *)value;
|
|
|
- SetTemperatureAlarmHighRangeStr(val_string);
|
|
|
+ val = *((s32_t*)value);
|
|
|
+ setVal = (float)val;
|
|
|
+ SetTemperatureAlarmHighRangeInt(setVal);
|
|
|
break;
|
|
|
case 34:
|
|
|
- val_string = (char *)value;
|
|
|
- SetTemperatureAlarmLowRangeStr(val_string);
|
|
|
+ val = *((s32_t*)value);
|
|
|
+ setVal = (float)val;
|
|
|
+ SetTemperatureAlarmLowRangeInt(setVal);
|
|
|
break;
|
|
|
case 35:
|
|
|
- val_string = (char *)value;
|
|
|
- SetTemperatureAlarmHisteStr(val_string);
|
|
|
+ val = *((s32_t*)value);
|
|
|
+ setVal = (float)val/MUL10;
|
|
|
+ SetTemperatureAlarmHisteInt(setVal);
|
|
|
break;
|
|
|
case 36:
|
|
|
- val_string = (char *)value;
|
|
|
- SetLoadAlarmHighRangeStr(val_string);
|
|
|
+ val = *((s32_t*)value);
|
|
|
+ setVal = (float)val;
|
|
|
+ SetLoadAlarmHighRangeInt(setVal);
|
|
|
break;
|
|
|
case 37:
|
|
|
- val_string = (char *)value;
|
|
|
- SetLoadAlarmHistStr(val_string);
|
|
|
+ val = *((s32_t*)value);
|
|
|
+ setVal = (float)val/MUL10;
|
|
|
+ SetLoadAlarmHistInt(setVal);
|
|
|
break;
|
|
|
case 38:
|
|
|
val_string = (char *)value;
|
|
@@ -750,138 +809,84 @@ static snmp_err_t signal_set_test(struct snmp_node_instance *instance, u16_t len
|
|
|
}
|
|
|
break;
|
|
|
case 28:
|
|
|
- val_string = (char *)value;
|
|
|
- val_string[len] = 0;
|
|
|
- for (j = 0; j < len; j ++) {
|
|
|
- if (!isfloatdigit(val_string[j])) {
|
|
|
- return ret;
|
|
|
+ if ( len == sizeof(s32_t) ) {
|
|
|
+ val = *((s32_t *)value);
|
|
|
+ if (val < (MUL100*sSettings.UPS_Setting.Ucellmax) && val > (MUL100*MIN_VOLT_CELL_RANGE)) {
|
|
|
+ ret = SNMP_ERR_NOERROR;
|
|
|
}
|
|
|
}
|
|
|
- tmp_value = atof(val_string);
|
|
|
- if (tmp_value < sSettings.UPS_Setting.Ucellmax && tmp_value > MIN_VOLT_CELL_RANGE) {
|
|
|
- ret = SNMP_ERR_NOERROR;
|
|
|
- }
|
|
|
break;
|
|
|
case 29:
|
|
|
- val_string = (char *)value;
|
|
|
- val_string[len] = 0;
|
|
|
- for (j = 0; j < len; j ++) {
|
|
|
- if (!isfloatdigit(val_string[j])) {
|
|
|
- return ret;
|
|
|
+ if ( len == sizeof(s32_t) ) {
|
|
|
+ val = *((s32_t *)value);
|
|
|
+ if (val > (MUL100*sSettings.UPS_Setting.Ucellmin) && val <= (MUL100*MAX_VOLT_CELL_RANGE)) {
|
|
|
+ ret = SNMP_ERR_NOERROR;
|
|
|
}
|
|
|
}
|
|
|
- tmp_value = atof(val_string);
|
|
|
- if (tmp_value > sSettings.UPS_Setting.Ucellmin && tmp_value <= MAX_VOLT_CELL_RANGE) {
|
|
|
- ret = SNMP_ERR_NOERROR;
|
|
|
- }
|
|
|
break;
|
|
|
case 30:
|
|
|
- val_string = (char *)value;
|
|
|
- val_string[len] = 0;
|
|
|
- for (j = 0; j < len; j ++) {
|
|
|
- if (!isdigit_int(val_string[j])) {
|
|
|
- return ret;
|
|
|
+ if ( len == sizeof(s32_t) ) {
|
|
|
+ val = *((s32_t *)value);
|
|
|
+ if (val >= MAX_VAC_MIN_RANGE && val <= MAX_VAC_MAX_RANGE) {
|
|
|
+ ret = SNMP_ERR_NOERROR;
|
|
|
}
|
|
|
}
|
|
|
- tmp_value = atof(val_string);
|
|
|
- if (tmp_value >= MAX_VAC_MIN_RANGE && tmp_value <= MAX_VAC_MAX_RANGE) {
|
|
|
- ret = SNMP_ERR_NOERROR;
|
|
|
- }
|
|
|
break;
|
|
|
case 31:
|
|
|
- val_string = (char *)value;
|
|
|
- val_string[len] = 0;
|
|
|
- for (j = 0; j < len; j ++) {
|
|
|
- if (!isdigit_int(val_string[j])) {
|
|
|
- return ret;
|
|
|
+ if ( len == sizeof(s32_t) ) {
|
|
|
+ val = *((s32_t *)value);
|
|
|
+ if (val >= MIN_VAC_MIN_RANGE && val <= MIN_VAC_MAX_RANGE) {
|
|
|
+ ret = SNMP_ERR_NOERROR;
|
|
|
}
|
|
|
}
|
|
|
- tmp_value = atof(val_string);
|
|
|
- if (tmp_value >= MIN_VAC_MIN_RANGE && tmp_value <= MIN_VAC_MAX_RANGE) {
|
|
|
- ret = SNMP_ERR_NOERROR;
|
|
|
- }
|
|
|
break;
|
|
|
case 32:
|
|
|
- val_string = (char *)value;
|
|
|
- val_string[len] = 0;
|
|
|
- for (j = 0; j < len; j ++) {
|
|
|
- if (!isdigit_int(val_string[j])) {
|
|
|
- return ret;
|
|
|
+ if ( len == sizeof(s32_t) ) {
|
|
|
+ val = *((s32_t *)value);
|
|
|
+ if (val >= HIST_VAC_MIN_RANGE && val <= HIST_VAC_MAX_RANGE) {
|
|
|
+ ret = SNMP_ERR_NOERROR;
|
|
|
}
|
|
|
}
|
|
|
- tmp_value = atof(val_string);
|
|
|
- if (tmp_value >= HIST_VAC_MIN_RANGE && tmp_value <= HIST_VAC_MAX_RANGE) {
|
|
|
- ret = SNMP_ERR_NOERROR;
|
|
|
- }
|
|
|
break;
|
|
|
case 33:
|
|
|
- val_string = (char *)value;
|
|
|
- val_string[len] = 0;
|
|
|
- for (j = 0; j < len; j ++) {
|
|
|
- if (!isdigit_int(val_string[j])) {
|
|
|
- return ret;
|
|
|
+ if ( len == sizeof(s32_t) ) {
|
|
|
+ val = *((s32_t *)value);
|
|
|
+ if (val >= MAX_TEMP_MIN_RANGE && val <= MAX_TEMP_MAX_RANGE) {
|
|
|
+ ret = SNMP_ERR_NOERROR;
|
|
|
}
|
|
|
}
|
|
|
- tmp_value = atof(val_string);
|
|
|
- if (tmp_value >= MAX_TEMP_MIN_RANGE && tmp_value <= MAX_TEMP_MAX_RANGE) {
|
|
|
- ret = SNMP_ERR_NOERROR;
|
|
|
- }
|
|
|
break;
|
|
|
case 34:
|
|
|
- val_string = (char *)value;
|
|
|
- val_string[len] = 0;
|
|
|
- for (j = 0; j < len; j ++) {
|
|
|
- if (!isdigit_int(val_string[j])) {
|
|
|
- if (j == 0 && val_string[j] == '-') {
|
|
|
- continue;
|
|
|
- } else {
|
|
|
- return ret;
|
|
|
- }
|
|
|
+ if ( len == sizeof(s32_t) ) {
|
|
|
+ val = *((s32_t *)value);
|
|
|
+ if (val >= MIN_TEMP_MIN_RANGE && val <= MIN_TEMP_MAX_RANGE) {
|
|
|
+ ret = SNMP_ERR_NOERROR;
|
|
|
}
|
|
|
}
|
|
|
- tmp_value = atof(val_string);
|
|
|
- if (tmp_value >= MIN_TEMP_MIN_RANGE && tmp_value <= MIN_TEMP_MAX_RANGE) {
|
|
|
- ret = SNMP_ERR_NOERROR;
|
|
|
- }
|
|
|
break;
|
|
|
case 35:
|
|
|
- val_string = (char *)value;
|
|
|
- val_string[len] = 0;
|
|
|
- for (j = 0; j < len; j ++) {
|
|
|
- if (!isfloatdigit(val_string[j])) {
|
|
|
- return ret;
|
|
|
+ if ( len == sizeof(s32_t) ) {
|
|
|
+ val = *((s32_t *)value);
|
|
|
+ if (val >= (MUL10*HIST_TEMP_MIN_RANGE) && val <= (MUL10*HIST_TEMP_MAX_RANGE)) {
|
|
|
+ ret = SNMP_ERR_NOERROR;
|
|
|
}
|
|
|
}
|
|
|
- tmp_value = atof(val_string);
|
|
|
- if (tmp_value >= HIST_TEMP_MIN_RANGE && tmp_value <= HIST_TEMP_MAX_RANGE) {
|
|
|
- ret = SNMP_ERR_NOERROR;
|
|
|
- }
|
|
|
break;
|
|
|
case 36:
|
|
|
- val_string = (char *)value;
|
|
|
- val_string[len] = 0;
|
|
|
- for (j = 0; j < len; j ++) {
|
|
|
- if (!isdigit_int(val_string[j])) {
|
|
|
- return ret;
|
|
|
+ if ( len == sizeof(s32_t) ) {
|
|
|
+ val = *((s32_t *)value);
|
|
|
+ if (val >= MAX_LOAD_MIN_RANGE && val <= MAX_LOAD_MAX_RANGE) {
|
|
|
+ ret = SNMP_ERR_NOERROR;
|
|
|
}
|
|
|
}
|
|
|
- tmp_value = atof(val_string);
|
|
|
- if (tmp_value >= MAX_LOAD_MIN_RANGE && tmp_value <= MAX_LOAD_MAX_RANGE) {
|
|
|
- ret = SNMP_ERR_NOERROR;
|
|
|
- }
|
|
|
break;
|
|
|
case 37:
|
|
|
- val_string = (char *)value;
|
|
|
- val_string[len] = 0;
|
|
|
- for (j = 0; j < len; j ++) {
|
|
|
- if (!isfloatdigit(val_string[j])) {
|
|
|
- return ret;
|
|
|
+ if ( len == sizeof(s32_t) ) {
|
|
|
+ val = *((s32_t *)value);
|
|
|
+ if (val >= (MUL10*HIST_LOAD_MIN_RANGE) && val <= (MUL10*HIST_LOAD_MAX_RANGE)) {
|
|
|
+ ret = SNMP_ERR_NOERROR;
|
|
|
}
|
|
|
}
|
|
|
- tmp_value = atof(val_string);
|
|
|
- if (tmp_value >= HIST_LOAD_MIN_RANGE && tmp_value <= HIST_LOAD_MAX_RANGE) {
|
|
|
- ret = SNMP_ERR_NOERROR;
|
|
|
- }
|
|
|
break;
|
|
|
case 38:
|
|
|
val_string = (char *)value;
|