|
|
@ -174,6 +174,43 @@ CMD(pd_noise_reduction,
|
|
|
|
return CMD_SUCCESS;
|
|
|
|
return CMD_SUCCESS;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* 配置端口降噪等级. */
|
|
|
|
|
|
|
|
CMD(pd_noise_reduction_auto,
|
|
|
|
|
|
|
|
pd_noise_reduction_auto_cmd,
|
|
|
|
|
|
|
|
"noise-reduction-auto (enable|disable)",
|
|
|
|
|
|
|
|
"Noise reduction auto\n"
|
|
|
|
|
|
|
|
"Enable\n"
|
|
|
|
|
|
|
|
"Disable\n")
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
return CMD_SUCCESS;
|
|
|
|
|
|
|
|
uint8_t unit = 0;
|
|
|
|
|
|
|
|
uint8_t port = 0;
|
|
|
|
|
|
|
|
uint8_t mode = FALSE;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* 取出端口号. */
|
|
|
|
|
|
|
|
if (dau_vport_to_port(pd_port_node.param_num, &unit, &port) != E_NONE)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
return CMD_ERR_NO_MATCH;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (0 == strncmp(argv[0], "en", 2))
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
mode = TRUE;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
else if (0 == strncmp(argv[0], "di", 2))
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
mode = FALSE;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
mode = FALSE;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//pd_config.port_config[unit][port].is_auto_noise = mode;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return CMD_SUCCESS;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/* 配置端口降噪等级. */
|
|
|
|
/* 配置端口降噪等级. */
|
|
|
|
CMD(pd_noise_env,
|
|
|
|
CMD(pd_noise_env,
|
|
|
|
pd_noise_env_cmd,
|
|
|
|
pd_noise_env_cmd,
|
|
|
@ -221,7 +258,7 @@ CMD(pd_evnet_thr,
|
|
|
|
/* 通道滤波类型. */
|
|
|
|
/* 通道滤波类型. */
|
|
|
|
CMD(pd_evnet_cnt,
|
|
|
|
CMD(pd_evnet_cnt,
|
|
|
|
pd_evnet_cnt_cmd,
|
|
|
|
pd_evnet_cnt_cmd,
|
|
|
|
"evnet-cnt <1-1000>",
|
|
|
|
"evnet-cnt <0-1000>",
|
|
|
|
"Event conut threshold\n"
|
|
|
|
"Event conut threshold\n"
|
|
|
|
"Conut threshold\n")
|
|
|
|
"Conut threshold\n")
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -240,6 +277,28 @@ CMD(pd_evnet_cnt,
|
|
|
|
return CMD_SUCCESS;
|
|
|
|
return CMD_SUCCESS;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* 事件数据文件数量. */
|
|
|
|
|
|
|
|
CMD(pd_evnet_amount,
|
|
|
|
|
|
|
|
pd_evnet_amount_cmd,
|
|
|
|
|
|
|
|
"evnet-amount <500-5000>",
|
|
|
|
|
|
|
|
"Evnet file amount\n"
|
|
|
|
|
|
|
|
"Evnet file amount\n")
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
return CMD_SUCCESS;
|
|
|
|
|
|
|
|
uint8_t unit = 0;
|
|
|
|
|
|
|
|
uint8_t port = 0;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* 取出端口号. */
|
|
|
|
|
|
|
|
if (dau_vport_to_port(pd_port_node.param_num, &unit, &port) != E_NONE)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
return CMD_ERR_NO_MATCH;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
pd_config.port_config[unit][port].config.storage_event = strtol(argv[0], NULL, 10);;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return CMD_SUCCESS;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/* 实时数据上传间隔. */
|
|
|
|
/* 实时数据上传间隔. */
|
|
|
|
CMD(pd_real_interval,
|
|
|
|
CMD(pd_real_interval,
|
|
|
|
pd_real_interval_cmd,
|
|
|
|
pd_real_interval_cmd,
|
|
|
@ -253,6 +312,45 @@ CMD(pd_real_interval,
|
|
|
|
return CMD_SUCCESS;
|
|
|
|
return CMD_SUCCESS;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* 事件存储间隔. */
|
|
|
|
|
|
|
|
CMD(pd_event_time,
|
|
|
|
|
|
|
|
pd_event_time_cmd,
|
|
|
|
|
|
|
|
"event-time <0-3600>",
|
|
|
|
|
|
|
|
"Event data time\n"
|
|
|
|
|
|
|
|
"Event time: second\n")
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
return CMD_SUCCESS;
|
|
|
|
|
|
|
|
pd_config.config.limit_event_time = strtol(argv[0], NULL, 10);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return CMD_SUCCESS;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* 事件存储数量. */
|
|
|
|
|
|
|
|
CMD(pd_event_cnt,
|
|
|
|
|
|
|
|
pd_event_cnt_cmd,
|
|
|
|
|
|
|
|
"event-cnt <0-3600>",
|
|
|
|
|
|
|
|
"Event data conut\n"
|
|
|
|
|
|
|
|
"Event conut\n")
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
return CMD_SUCCESS;
|
|
|
|
|
|
|
|
pd_config.config.limit_event_cnt = strtol(argv[0], NULL, 10);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return CMD_SUCCESS;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* 事件存储数量. */
|
|
|
|
|
|
|
|
CMD(pd_event_interval,
|
|
|
|
|
|
|
|
pd_event_interval_cmd,
|
|
|
|
|
|
|
|
"event-interval <0-3600>",
|
|
|
|
|
|
|
|
"Event data interval\n"
|
|
|
|
|
|
|
|
"Event interval: second\n")
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
return CMD_SUCCESS;
|
|
|
|
|
|
|
|
pd_config.config.limit_event_interval = strtol(argv[0], NULL, 10);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return CMD_SUCCESS;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/* 趋势数据上传间隔. */
|
|
|
|
/* 趋势数据上传间隔. */
|
|
|
|
CMD(pd_trend_interval,
|
|
|
|
CMD(pd_trend_interval,
|
|
|
|
pd_trend_interval_cmd,
|
|
|
|
pd_trend_interval_cmd,
|
|
|
@ -279,6 +377,19 @@ CMD(pd_heartbeat_interval,
|
|
|
|
return CMD_SUCCESS;
|
|
|
|
return CMD_SUCCESS;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* 趋势数据文件数量. */
|
|
|
|
|
|
|
|
CMD(pd_trend_amount,
|
|
|
|
|
|
|
|
pd_trend_amount_cmd,
|
|
|
|
|
|
|
|
"trend-amount <500-5000>",
|
|
|
|
|
|
|
|
"Trend file amount\n"
|
|
|
|
|
|
|
|
"Trend file amount\n")
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
return CMD_SUCCESS;
|
|
|
|
|
|
|
|
pd_config.config.storage_trend = strtol(argv[0], NULL, 10);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return CMD_SUCCESS;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/* 同步模式. */
|
|
|
|
/* 同步模式. */
|
|
|
|
CMD(pd_sync_mode,
|
|
|
|
CMD(pd_sync_mode,
|
|
|
|
pd_sync_mode_cmd,
|
|
|
|
pd_sync_mode_cmd,
|
|
|
@ -286,7 +397,7 @@ CMD(pd_sync_mode,
|
|
|
|
"Synchronize mode\n"
|
|
|
|
"Synchronize mode\n"
|
|
|
|
"PT\n"
|
|
|
|
"PT\n"
|
|
|
|
"Power\n"
|
|
|
|
"Power\n"
|
|
|
|
"Outside")
|
|
|
|
"Outside\n")
|
|
|
|
{
|
|
|
|
{
|
|
|
|
return CMD_SUCCESS;
|
|
|
|
return CMD_SUCCESS;
|
|
|
|
uint8_t mode = 0;
|
|
|
|
uint8_t mode = 0;
|
|
|
@ -314,6 +425,46 @@ CMD(pd_sync_mode,
|
|
|
|
return CMD_SUCCESS;
|
|
|
|
return CMD_SUCCESS;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* 同步模式. */
|
|
|
|
|
|
|
|
CMD(pd_pps_mode,
|
|
|
|
|
|
|
|
pd_pps_mode_cmd,
|
|
|
|
|
|
|
|
"pps-mode (auto|master|slave)",
|
|
|
|
|
|
|
|
"PPS mode\n"
|
|
|
|
|
|
|
|
"Master\n"
|
|
|
|
|
|
|
|
"Slave\n")
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
return CMD_SUCCESS;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* prps 实时上传控制. */
|
|
|
|
|
|
|
|
CMD(pd_prps_set,
|
|
|
|
|
|
|
|
pd_prps_set_cmd,
|
|
|
|
|
|
|
|
"prps-all (enable|disable)",
|
|
|
|
|
|
|
|
"PRPS all upload\n"
|
|
|
|
|
|
|
|
"Enable\n"
|
|
|
|
|
|
|
|
"Disable\n")
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
return CMD_SUCCESS;
|
|
|
|
|
|
|
|
uint8_t mode = FALSE;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (0 == strncmp(argv[0], "en", 2))
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
mode = TRUE;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
else if (0 == strncmp(argv[0], "di", 2))
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
mode = FALSE;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
mode = FALSE;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
pd_config.config.is_prps_save = mode;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return CMD_SUCCESS;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/* 显示 DAU 状态. */
|
|
|
|
/* 显示 DAU 状态. */
|
|
|
|
CMD(show_prps,
|
|
|
|
CMD(show_prps,
|
|
|
|
show_prps_cmd,
|
|
|
|
show_prps_cmd,
|
|
|
@ -340,6 +491,19 @@ CMD(show_pd,
|
|
|
|
return CMD_SUCCESS;
|
|
|
|
return CMD_SUCCESS;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* 在终端上显示当前配置信息. */
|
|
|
|
|
|
|
|
CMD(show_running_port,
|
|
|
|
|
|
|
|
show_running_port_cmd,
|
|
|
|
|
|
|
|
"show running-config interface port WORD",
|
|
|
|
|
|
|
|
SHOW_STR
|
|
|
|
|
|
|
|
"Running configuration\n"
|
|
|
|
|
|
|
|
"Interface\n"
|
|
|
|
|
|
|
|
"Port\n"
|
|
|
|
|
|
|
|
"Port id: Ex: 1/1\n")
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
return CMD_SUCCESS;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/* 配置保存函数. */
|
|
|
|
/* 配置保存函数. */
|
|
|
|
int _pd_config_save(vty_t* vty)
|
|
|
|
int _pd_config_save(vty_t* vty)
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -534,21 +698,30 @@ int32_t pd_main(void)
|
|
|
|
pd_port_node.prompt = XMALLOC(MTYPE_DAU, PD_PORT_PROMPT_LEN);
|
|
|
|
pd_port_node.prompt = XMALLOC(MTYPE_DAU, PD_PORT_PROMPT_LEN);
|
|
|
|
pd_port_node.configs = array_init(PD_PORT_CMD_PRI_COUNT, MTYPE_DAU);
|
|
|
|
pd_port_node.configs = array_init(PD_PORT_CMD_PRI_COUNT, MTYPE_DAU);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cmd_install_element(CONFIG_NODE, &pd_event_time_cmd);
|
|
|
|
|
|
|
|
cmd_install_element(CONFIG_NODE, &pd_event_cnt_cmd);
|
|
|
|
|
|
|
|
cmd_install_element(CONFIG_NODE, &pd_event_interval_cmd);
|
|
|
|
cmd_install_element(CONFIG_NODE, &pd_real_interval_cmd);
|
|
|
|
cmd_install_element(CONFIG_NODE, &pd_real_interval_cmd);
|
|
|
|
cmd_install_element(CONFIG_NODE, &pd_trend_interval_cmd);
|
|
|
|
cmd_install_element(CONFIG_NODE, &pd_trend_interval_cmd);
|
|
|
|
|
|
|
|
cmd_install_element(CONFIG_NODE, &pd_trend_amount_cmd);
|
|
|
|
cmd_install_element(CONFIG_NODE, &pd_heartbeat_interval_cmd);
|
|
|
|
cmd_install_element(CONFIG_NODE, &pd_heartbeat_interval_cmd);
|
|
|
|
cmd_install_element(CONFIG_NODE, &pd_sync_mode_cmd);
|
|
|
|
cmd_install_element(CONFIG_NODE, &pd_sync_mode_cmd);
|
|
|
|
|
|
|
|
cmd_install_element(CONFIG_NODE, &pd_pps_mode_cmd);
|
|
|
|
|
|
|
|
cmd_install_element(CONFIG_NODE, &pd_prps_set_cmd);
|
|
|
|
|
|
|
|
|
|
|
|
cmd_install_element(CONFIG_NODE, &pd_port_terminal_cmd);
|
|
|
|
cmd_install_element(CONFIG_NODE, &pd_port_terminal_cmd);
|
|
|
|
cmd_install_element(PORT_NODE, &pd_port_terminal_cmd);
|
|
|
|
cmd_install_element(PORT_NODE, &pd_port_terminal_cmd);
|
|
|
|
cmd_install_element(PORT_NODE, &pd_sensor_type_cmd);
|
|
|
|
cmd_install_element(PORT_NODE, &pd_sensor_type_cmd);
|
|
|
|
cmd_install_element(PORT_NODE, &pd_noise_reduction_cmd);
|
|
|
|
cmd_install_element(PORT_NODE, &pd_noise_reduction_cmd);
|
|
|
|
|
|
|
|
cmd_install_element(PORT_NODE, &pd_noise_reduction_auto_cmd);
|
|
|
|
cmd_install_element(PORT_NODE, &pd_noise_env_cmd);
|
|
|
|
cmd_install_element(PORT_NODE, &pd_noise_env_cmd);
|
|
|
|
cmd_install_element(PORT_NODE, &pd_evnet_thr_cmd);
|
|
|
|
cmd_install_element(PORT_NODE, &pd_evnet_thr_cmd);
|
|
|
|
cmd_install_element(PORT_NODE, &pd_evnet_cnt_cmd);
|
|
|
|
cmd_install_element(PORT_NODE, &pd_evnet_cnt_cmd);
|
|
|
|
|
|
|
|
cmd_install_element(PORT_NODE, &pd_evnet_amount_cmd);
|
|
|
|
|
|
|
|
|
|
|
|
cmd_install_element(COMMON_NODE, &show_prps_cmd);
|
|
|
|
cmd_install_element(COMMON_NODE, &show_prps_cmd);
|
|
|
|
cmd_install_element(COMMON_NODE, &show_pd_cmd);
|
|
|
|
cmd_install_element(COMMON_NODE, &show_pd_cmd);
|
|
|
|
|
|
|
|
cmd_install_element(COMMON_NODE, &show_running_port_cmd);
|
|
|
|
|
|
|
|
|
|
|
|
//LD_E_RETURN(DBG_M_PD_ERR, log_handle_init());
|
|
|
|
//LD_E_RETURN(DBG_M_PD_ERR, log_handle_init());
|
|
|
|
LD_E_RETURN(DBG_M_PD_ERR, csg_handle_init());
|
|
|
|
LD_E_RETURN(DBG_M_PD_ERR, csg_handle_init());
|
|
|
|