|
@@ -137,9 +137,9 @@ void SNMP_AgentInit(void)
|
|
|
|
|
|
SNMP_SetReadCommunity(sSettings.sSnmp.readCommunity);
|
|
|
SNMP_SetWriteCommunity(sSettings.sSnmp.writeCommunity);
|
|
|
- SNMP_SetSysContact(sSettings.sSnmp.sysContact);
|
|
|
- SNMP_SetSysName(sSettings.sSnmp.sysName);
|
|
|
- SNMP_SetSysLocation(sSettings.sSnmp.sysLocation);
|
|
|
+ SNMP_SetSysContact(&sSettings.sSnmp.sysContact);
|
|
|
+ SNMP_SetSysName(&sSettings.sSnmp.sysName);
|
|
|
+ SNMP_SetSysLocation(&sSettings.sSnmp.sysLocation);
|
|
|
SNMP_SetManagerIP(sSettings.sSnmp.managerIP); //SNMP_SetManagerIP("192.168.14.37");
|
|
|
SNMP_SetObjID();
|
|
|
SNMP_SetTrapOnOff(1);
|
|
@@ -182,22 +182,24 @@ void SNMP_SendUserTrap(uint8_t trapName)
|
|
|
// TODO
|
|
|
void SNMP_SetObjDescr(void)
|
|
|
{
|
|
|
- static uint16_t len;
|
|
|
|
|
|
- strcpy(sSettings.sSnmp.sysDescr, sSettings.sSnmp.sysName);
|
|
|
- strcat(sSettings.sSnmp.sysDescr, " ");
|
|
|
- strcat(sSettings.sSnmp.sysDescr, VERSION);
|
|
|
- strcat(sSettings.sSnmp.sysDescr, " ");
|
|
|
- strcat(sSettings.sSnmp.sysDescr, sSettings.sSnmp.sysContact);
|
|
|
- strcat(sSettings.sSnmp.sysDescr, " ");
|
|
|
- strcat(sSettings.sSnmp.sysDescr, sSettings.sInfo.serialNumber);
|
|
|
- strcat(sSettings.sSnmp.sysDescr, " ");
|
|
|
- strcat(sSettings.sSnmp.sysDescr, UPS.model);
|
|
|
- strcat(sSettings.sSnmp.sysDescr, " ");
|
|
|
- strcat(sSettings.sSnmp.sysDescr, UPS.serial);
|
|
|
+ memset(sSettings.sSnmp.sysDesc.description, 0, sizeof(sSettings.sSnmp.sysDesc.description));
|
|
|
+
|
|
|
+ strcpy(sSettings.sSnmp.sysDesc.description, HW_REV);
|
|
|
+ strcat(sSettings.sSnmp.sysDesc.description, " ");
|
|
|
+ strcat(sSettings.sSnmp.sysDesc.description, VERSION);
|
|
|
+ strcat(sSettings.sSnmp.sysDesc.description, " ");
|
|
|
+ sSettings.sSnmp.sysContact.contact[sSettings.sSnmp.sysContact.len] = 0;
|
|
|
+ strcat(sSettings.sSnmp.sysDesc.description, sSettings.sSnmp.sysContact.contact);
|
|
|
+ strcat(sSettings.sSnmp.sysDesc.description, " ");
|
|
|
+ strcat(sSettings.sSnmp.sysDesc.description, sSettings.sInfo.serialNumber);
|
|
|
+ strcat(sSettings.sSnmp.sysDesc.description, " ");
|
|
|
+ strcat(sSettings.sSnmp.sysDesc.description, UPS.model);
|
|
|
+ strcat(sSettings.sSnmp.sysDesc.description, " ");
|
|
|
+ strcat(sSettings.sSnmp.sysDesc.description, UPS.serial);
|
|
|
|
|
|
- len = strlen(sSettings.sSnmp.sysDescr);
|
|
|
- snmp_mib2_set_sysdescr((u8_t*)sSettings.sSnmp.sysDescr, &len);
|
|
|
+ sSettings.sSnmp.sysDesc.len = strlen(sSettings.sSnmp.sysDesc.description);
|
|
|
+ snmp_mib2_set_sysdescr((u8_t*)sSettings.sSnmp.sysDesc.description, &sSettings.sSnmp.sysDesc.len);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -222,39 +224,27 @@ void SNMP_SetWriteCommunity(char *comm)
|
|
|
* @brief Установить SNMP SysContact
|
|
|
* @retval
|
|
|
*/
|
|
|
-void SNMP_SetSysContact(char *con)
|
|
|
+void SNMP_SetSysContact(SNMP_SYS_CONTACT_t *con)
|
|
|
{
|
|
|
- static uint16_t len;
|
|
|
-
|
|
|
- len = strlen(con);
|
|
|
- //snmp_set_syscontact((u8_t*)con, &len);
|
|
|
- snmp_mib2_set_syscontact((u8_t*)con, &len, len);
|
|
|
+ snmp_mib2_set_syscontact((u8_t*)con->contact, &con->len, sizeof(con->contact));
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* @brief Установить SNMP SysName
|
|
|
* @retval
|
|
|
*/
|
|
|
-void SNMP_SetSysName(char *name)
|
|
|
+void SNMP_SetSysName(SNMP_SYS_NAME_t *name)
|
|
|
{
|
|
|
- static uint16_t len;
|
|
|
-
|
|
|
- len = strlen(name);
|
|
|
- //snmp_set_sysname((u8_t*)name, &len);
|
|
|
- snmp_mib2_set_sysname((u8_t*)name, &len, len);
|
|
|
+ snmp_mib2_set_sysname((u8_t*)name->name, &name->len, sizeof(name->name));
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* @brief Установить SNMP SysLocation
|
|
|
* @retval
|
|
|
*/
|
|
|
-void SNMP_SetSysLocation(char *loc)
|
|
|
+void SNMP_SetSysLocation(SNMP_SYS_LOCATION_t *loc)
|
|
|
{
|
|
|
- static uint16_t len;
|
|
|
-
|
|
|
- len = strlen(loc);
|
|
|
- //snmp_set_syslocation((u8_t*)loc, &len);
|
|
|
- snmp_mib2_set_syslocation((u8_t*)loc, &len, len);
|
|
|
+ snmp_mib2_set_syslocation((u8_t*)loc->location, &loc->len, sizeof(loc->location));
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -276,10 +266,14 @@ void SNMP_SetManagerIP(char *ip)
|
|
|
*/
|
|
|
void SNMP_SetObjID(void)
|
|
|
{
|
|
|
+#ifdef HARDWARE_BT6702
|
|
|
static struct snmp_obj_id my_object_id = {9, {1, 3, 6, 1, 4, 1, 41752, 911, 3}};
|
|
|
- //static struct snmp_obj_id my_object_id = {5, {1, 3, 6, 1, 4}};
|
|
|
+#elif HARDWARE_BT6706
|
|
|
+ static struct snmp_obj_id my_object_id = {9, {1, 3, 6, 1, 4, 1, 41752, 911, 4}};
|
|
|
+#elif HARDWARE_BT6708
|
|
|
+ static struct snmp_obj_id my_object_id = {9, {1, 3, 6, 1, 4, 1, 41752, 911, 5}};
|
|
|
+#endif
|
|
|
|
|
|
- //snmp_set_sysobjid(&my_object_id);
|
|
|
snmp_set_device_enterprise_oid(&my_object_id);
|
|
|
}
|
|
|
|