?? web.c
字號(hào):
/*********************************************************************
Filename: web.c
Revised: $Date: 2007-12-20 10:02:15 -0800 $
Revision: $Revision: 10194 $
Description:
Notes:
*********************************************************************/
/*********************************************************************
* INCLUDES
*/
#include <string.h>
#include "analyseframe.h"
#include "uart.h"
#include "web.h"
/*********************************************************************
* LOCAL VARIABLES
*/
web_clock_id_t web_clock_id[22] =
{
{CLOCK_ID_OPT1 ,"光口1"},
{CLOCK_ID_OPT2 ,"光口2"},
{CLOCK_ID_PORT_OPT1 ,"支路光口1"},
{CLOCK_ID_PORT_OPT2 ,"支路光口2"},
{CLOCK_ID_BOARD1_PORT1 ,"盤號(hào)1對(duì)應(yīng)支路1"},
{CLOCK_ID_BOARD1_PORT2 ,"盤號(hào)1對(duì)應(yīng)支路2"},
{CLOCK_ID_BOARD1_PORT3 ,"盤號(hào)1對(duì)應(yīng)支路3"},
{CLOCK_ID_BOARD1_PORT4 ,"盤號(hào)1對(duì)應(yīng)支路4"},
{CLOCK_ID_BOARD2_PORT1 ,"盤號(hào)2對(duì)應(yīng)支路1"},
{CLOCK_ID_BOARD2_PORT2 ,"盤號(hào)2對(duì)應(yīng)支路2"},
{CLOCK_ID_BOARD2_PORT3 ,"盤號(hào)2對(duì)應(yīng)支路3"},
{CLOCK_ID_BOARD2_PORT4 ,"盤號(hào)2對(duì)應(yīng)支路4"},
{CLOCK_ID_BOARD3_PORT1 ,"盤號(hào)3對(duì)應(yīng)支路1"},
{CLOCK_ID_BOARD3_PORT2 ,"盤號(hào)3對(duì)應(yīng)支路2"},
{CLOCK_ID_BOARD3_PORT3 ,"盤號(hào)3對(duì)應(yīng)支路3"},
{CLOCK_ID_BOARD3_PORT4 ,"盤號(hào)3對(duì)應(yīng)支路4"},
{CLOCK_ID_BOARD4_PORT1 ,"盤號(hào)4對(duì)應(yīng)支路1"},
{CLOCK_ID_BOARD4_PORT2 ,"盤號(hào)4對(duì)應(yīng)支路2"},
{CLOCK_ID_BOARD4_PORT3 ,"盤號(hào)4對(duì)應(yīng)支路3"},
{CLOCK_ID_BOARD4_PORT4 ,"盤號(hào)4對(duì)應(yīng)支路4"},
{CLOCK_ID_FREE ,"本振"},
{CLOCK_ID_EXT_CLOCK ,"外時(shí)鐘"},
};
web_alarm_id_t web_alarm_id[20] =
{
{ALM_ID_E1_LOS, "2M LOS"},
{ALM_ID_V35_LOS, "V35 LOS"},
{ALM_ID_V35_AIS, "V35 AIS"},
{ALM_ID_V35_LOF, "V35 LOF"},
{ALM_ID_V35_CV, "V35 HDB3"},
{ALM_ID_OPT_LOS, "OPT LOS"},
{ALM_ID_OPT_LOF, "OPT LOF"},
{ALM_ID_OPT_E3, "OPT E3"},
{ALM_ID_OPT_E6, "OPT E6"},
{ALM_ID_PWR_ERR, "PWR ERR"},
{DIS_ALM_ID_E1_LOS, "2M LOS CLEAR"},
{DIS_ALM_ID_V35_LOS, "V35 LOS CLEAR"},
{DIS_ALM_ID_V35_AIS, "V35 AIS CLEAR"},
{DIS_ALM_ID_V35_LOF, "V35 LOF CLEAR"},
{DIS_ALM_ID_V35_CV, "V35 HDB3 CLEAR"},
{DIS_ALM_ID_OPT_LOS, "OPT LOS CLEAR"},
{DIS_ALM_ID_OPT_LOF, "OPT LOF CLEAR"},
{DIS_ALM_ID_OPT_E3, "OPT E3 CLEAR"},
{DIS_ALM_ID_OPT_E6, "OPT E6 CLEAR"},
{DIS_ALM_ID_PWR_ERR, "PWR ERR CLEAR"},
};
web_event_id_t web_event_id[12] =
{
{EVENT_ID_B1, "B1越限"},
{EVENT_ID_B2, "B2越限"},
{EVENT_ID_B3, "B3越限"},
{EVENT_ID_B5, "B4越限"},
{EVENT_ID_ES, "ES越限"},
{EVENT_ID_SES, "SES越限"},
{EVENT_ID_UAS, "UAS越限"},
{EVENT_ID_REI, "REI越限"},
{EVENT_ID_PJC_P, "PJC+越限"},
{EVENT_ID_PJC_M, "PJC-越限"},
{EVENT_ID_OPT_SW, "光口倒換"},
{EVENT_ID_CLK_SW, "時(shí)鐘源切換"},
};
/*********************************************************************
* FUNCTIONS
*/
//顯示網(wǎng)頁界面
void display_web_head(void)
{
//printf("Content-type: text/html\n\n"); //這里一定要2個(gè)"\n\n",不能是"\r\n",否則網(wǎng)頁顯示不出來
printf("Content-type: text/html;charset=gb2312\n\n"); //加上charset=gb2312 后可以顯示中文而沒有亂馬
printf("<html>\n");
printf("<head>\n<title>SDH 配置查詢結(jié)果</title>\n</head>\n");
printf("<body>\n");
}
void display_web_tail(void)
{
printf("</body>\n");
printf("</html>\n");
}
void display_web_set_result(void)
{
info_frame_t *p_iframe = &info_frame;
if (p_iframe->success_flag == 0)
{
printf("<p>配置成功!\n");
}
else if (p_iframe->success_flag == 1)
{
printf("<p>命令幀無法解析!\n");
}
else if (p_iframe->success_flag == 2)
{
printf("<p>命令無法執(zhí)行!\n");
}
else
{
printf("<p>配置失敗!\n");
}
printf("<p><a href=../index.html>返回 </a><p>");
}
void display_web_read_result(void)
{
unsigned short int i, j;
unsigned int temp = 0;
cmd_frame_t *p_cframe = &cmd_frame;
info_frame_t *p_iframe = &info_frame;
if (p_iframe->success_flag == 0)
{
switch (p_cframe->cmd_code_recv)
{
case CMD_ACK_READ_DXC_TIMESLOT:
printf("<p>時(shí)隙交叉查詢結(jié)果如下:\n");
printf("<p> 源盤號(hào):%d\n", p_iframe->src_board);
printf("<p> 源端口號(hào):%d\n", p_iframe->src_port);
printf("<p> 源時(shí)隙號(hào):%d\n", p_iframe->src_timeslot);
break;
case CMD_ACK_READ_V35_WORKMODE:
printf("<p>V35工作模式查詢結(jié)果如下:\n");
if (p_iframe->mode_type == 1)
{
if (p_iframe->work_mode)
printf("<p> 局端/終端模式:DCE\n");
else
printf("<p> 局端/終端模式:DTE\n");
}
else if (p_iframe->mode_type == 2)
{
if (p_iframe->work_mode)
printf("<p> 收數(shù)據(jù)相位:時(shí)鐘下降沿采樣\n");
else
printf("<p> 收數(shù)據(jù)相位:時(shí)鐘上升沿采樣\n");
}
else if (p_iframe->mode_type == 3)
{
if (p_iframe->work_mode)
printf("<p> 發(fā)數(shù)據(jù)相位:時(shí)鐘下降沿輸出\n");
else
printf("<p> 發(fā)數(shù)據(jù)相位:時(shí)鐘上升沿輸出\n");
}
else if (p_iframe->mode_type == 4)
{
if (p_iframe->work_mode)
printf("<p> 工作時(shí)鐘:外時(shí)鐘\n");
else
printf("<p> 工作時(shí)鐘:內(nèi)時(shí)鐘\n");
}
else if (p_iframe->mode_type == 5)
{
if (p_iframe->work_mode)
printf("<p> E1時(shí)鐘:從時(shí)鐘\n");
else
printf("<p> E1時(shí)鐘:主時(shí)鐘\n");
}
else
{
printf("<p> V35工作模式類型有誤\n");
}
break;
case CMD_ACK_READ_V35_TIMESLOT:
printf("<p>V35帶寬查詢結(jié)果如下:\n");
printf("<p>V35帶寬:%d\n", p_iframe->down_timeslot);
break;
case CMD_ACK_READ_V35_ATTRIBUTE:
printf("<p>查詢某V35盤的所有屬性結(jié)果如下:\n");
for (i=0; i<2; i++)
{
printf("<p> 端口%d:\n", i+1);
if (p_iframe->board_main_clk[i])
printf("<p> E1時(shí)鐘:從時(shí)鐘\n");
else
printf("<p> E1時(shí)鐘:主時(shí)鐘\n");
if (p_iframe->board_work_mode[i])
printf("<p> 局端/終端:DCE\n");
else
printf("<p> 局端/終端:DTE\n");
if (p_iframe->board_work_rxp[i])
printf("<p> 收數(shù)據(jù)相位:時(shí)鐘下降沿采樣\n");
else
printf("<p> 收數(shù)據(jù)相位:時(shí)鐘上升沿采樣\n");
if (p_iframe->board_work_txp[i])
printf("<p> 發(fā)數(shù)據(jù)相位:時(shí)鐘下降沿輸出\n");
else
printf("<p> 發(fā)數(shù)據(jù)相位:時(shí)鐘上升沿輸出\n");
if (p_iframe->board_work_clk[i])
printf("<p> 時(shí)鐘源:外時(shí)鐘\n");
else
printf("<p> 時(shí)鐘源:內(nèi)時(shí)鐘\n");
printf("<p> 帶寬:%d\n", p_iframe->board_down_timeslot[i]);
}
break;
case CMD_ACK_READ_CLOCK_PRIO:
printf("<p>查詢時(shí)鐘源優(yōu)先級(jí)結(jié)果如下:\n");
for (i=0; i<10; i++)
{
printf("<p> 優(yōu)先級(jí)%d:", i+1);
for (j=0; j<22; j++)
{
if (p_iframe->clock_prio[i] == web_clock_id[j].clock_id)
{
printf("%s\n", web_clock_id[j].ch_name);
break;
}
}
if (j == 22)
printf("沒有對(duì)應(yīng)時(shí)鐘源\n");
}
break;
case CMD_ACK_READ_WORK_CLOCK:
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -