⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 web.c

📁 基于嵌入式web服务器的web应用层代码
💻 C
📖 第 1 页 / 共 2 页
字号:
				printf("<p>查询时钟源优先级结果如下:\n");
				printf("<p>&nbsp; 工作时钟源:");
				for (j=0; j<22; j++)
				{
					if (p_iframe->work_clk == web_clock_id[j].clock_id)
					{
						printf("%s\n", web_clock_id[j].ch_name);
						break;
					}
				}
				if (j == 22)
					printf("没有对应时钟源\n");
				
				if (p_iframe->work_clk_state == 1)
					printf("<p>&nbsp; 时钟源状态:正常");
				else if (p_iframe->work_clk_state == 2)
					printf("<p>&nbsp; 时钟源状态:保持");
				break;	
			case CMD_ACK_READ_CLOCK_INFO:
				printf("<p>查询时钟相关所有信息结果如下:\n");
				for (i=0; i<10; i++)
				{
					printf("<p>&nbsp; 优先级%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("没有对应时钟源\n");
				}				
				printf("<p>&nbsp; 工作时钟源:");
				for (j=0; j<22; j++)
				{
					if (p_iframe->work_clk == web_clock_id[j].clock_id)
					{
						printf("%s\n", web_clock_id[j].ch_name);
						break;
					}
				}
				if (j == 22)
					printf("没有对应时钟源\n");

				if (p_iframe->work_clk_state == 1)
					printf("<p>&nbsp; 时钟源状态:正常");
				else if (p_iframe->work_clk_state == 2)
					printf("<p>&nbsp; 时钟源状态:保持");
				break;	
			case CMD_ACK_READ_FE_UP_BAND:
				printf("<p>查询FE盘的上链口带宽结果如下:\n");
				printf("<p>&nbsp; 带宽:%d", p_iframe->up_band);
				break;	
			case CMD_ACK_READ_FE_PORT_BAND:
				printf("<p>查询各FE端口的带宽结果如下:\n");
				printf("<p>&nbsp; 带宽:%d", p_iframe->port_band);			
				break;	
			case CMD_ACK_READ_VLAN_MODE:
				printf("<p>VLAN方式查询结果如下:\n");
				if (p_iframe->vlan_mode == 1)
					printf("<p>&nbsp; 方式:基于端口的VLAN");
				else if (p_iframe->vlan_mode == 2)
					printf("<p>&nbsp; 方式:基于标识的VLAN");
				else
					printf("<p>&nbsp; 方式:没有此方式");				
				break;	
			case CMD_ACK_READ_VLAN_GROUP:
				printf("<p>VLAN分组查询结果如下:\n");				
				for (i=0; i<p_cframe->info_length-1; i++)
				{
					printf("<p>&nbsp; 处于该组号的端口:");
					printf("端口%d\n", p_iframe->vlan_port[i]);
				}
				break;	
			case CMD_ACK_READ_VLAN_TAG:
				printf("<p>VLAN的分组TAG值查询结果如下:\n");
				printf("<p>&nbsp; TAG值:%d", ((unsigned short int)p_iframe->vlan_tag[0])<<8 | p_iframe->vlan_tag[1]);				
				break;	
			case CMD_ACK_READ_WORK_BOARD:
				printf("<p>查询设备的实际插盘结果如下:\n");
				for (i=0; i<4; i++)
				{
					printf("<p>&nbsp; 槽位%d:", i+1);
					if (p_iframe->board_type[i] == NO_BOARD)
						printf("没有插盘\n");
					else if (p_iframe->board_type[i] == E1_BOARD)
						printf("4路E1盘\n");
					else if (p_iframe->board_type[i] == V35_BOARD)
						printf("1路V35盘\n");
					else if (p_iframe->board_type[i] == FE_BOARD)
						printf("4FE盘\n");
					else if (p_iframe->board_type[i] == OPT_BOARD)
						printf("MCB盘(光盘)\n");
					else if (p_iframe->board_type[i] == PWR_BOARD)
						printf("电源盘\n");
					else
						printf("没有此类型盘\n");
				}			
				break;	
			case CMD_ACK_READ_PHONE_NUMBER:		
				printf("<p>查询设备公务电话号码结果如下:\n");
				printf("<p>&nbsp; 电话号码:%d\n", p_iframe->telephone_number);
				break;
				
				
			case CMD_ACK_READ_LOOP:
				printf("<p>端口环回查询结果如下:\n");
				if (p_iframe->loop_flag == 0)
					printf("<p>&nbsp; 环回状态:取消环回\n");
				else if (p_iframe->loop_flag == 1)
					printf("<p>&nbsp; 环回状态:近端环回\n");
				else if (p_iframe->loop_flag == 2)
					printf("<p>&nbsp; 环回状态:远端环回\n");	
				else
					printf("<p>&nbsp; 环回状态:无效状态\n");	
				break;
			case CMD_ACK_READ_OPT_SWITCH:
				printf("<p>读取光口强制倒换状态结果如下:\n");
				if (p_iframe->switch_flag == 0)
					printf("<p>&nbsp; 倒换方向:工作在自动倒换状态\n");
				else if (p_iframe->switch_flag == 1)
					printf("<p>&nbsp; 倒换方向:工作在强制主用状态\n");
				else if (p_iframe->switch_flag == 2)
					printf("<p>&nbsp; 倒换方向:工作在强制备用状态\n");	
				else
					printf("<p>&nbsp; 倒换方向:无效状态\n");	
				break;
			case CMD_ACK_READ_OPT_ENABLE:
				printf("<p>光口激光器使能查询结果如下:\n");
				for (i=0; i<2; i++)
				{
					printf("<p>&nbsp; 光口%d使能状态:", i+1);
					if (p_iframe->opt_enable[i] == 0)
						printf("关闭\n");
					else if (p_iframe->opt_enable[i] == 1)
						printf("打开\n");
					else
						printf("无效状态\n");					
				}				
				break;
			case CMD_ACK_READ_MCU_VERSION:
				printf("<p>读取MCU软件版本号结果如下:\n");
				printf("<p>&nbsp; MCU软件版本号:");
				for (i=0; i<4; i++)
				{
					printf("%d", p_iframe->version[i]);
					if (i == 3)
						printf("\n");
					else
						printf(".");
				}			
				break;
			case CMD_ACK_READ_DEVICE_TYPE:
				printf("<p>读取设备类型结果如下:\n");
				printf("<p>&nbsp; 设备类型:");
				for (i=0; i<4; i++)
				{
					temp |= ((unsigned int)p_iframe->device_type[i]) << (3-i)*8;
				}
				printf("%d\n", temp);
				break;
			
			case CMD_ACK_READ_ALARM:
				printf("<p>查询设备告警结果如下:\n");
				for (i=0; i<(p_cframe->info_length-1)/3; i++)
				{
					printf("<p>\n");
					printf("<p>&nbsp; 盘号:%d\n", p_iframe->alarm_board[i]);
					printf("<p>&nbsp; 端口号:%d\n", p_iframe->alarm_port[i]);
					for (j=0; j<20; j++)
					{
						if (p_iframe->alarm_id[i] == web_alarm_id[j].alarm_id)
						{
							printf("<p>&nbsp; 告警类型:%s\n", web_alarm_id[j].ch_name);
							break;
						}
					}
					if (j == 20)
						printf("<p>&nbsp; 告警类型:无效ID号\n");							
				}				
				break;
			case CMD_ACK_READ_ALARM_MASK:
				printf("<p>查询告警屏蔽信息结果如下:\n");
				for (i=0; i<(p_cframe->info_length-1)/3; i++)
				{
					printf("<p>\n");
					printf("<p>&nbsp; 盘号:%d\n", p_iframe->alarm_board[i]);
					printf("<p>&nbsp; 端口号:%d\n", p_iframe->alarm_port[i]);
					for (j=0; j<10; j++)
					{
						if (p_iframe->alarm_id[i] == web_alarm_id[j].alarm_id)
						{
							printf("<p>&nbsp; 屏蔽告警:%s\n", web_alarm_id[j].ch_name);
							break;
						}
					}
					if (j == 10)
						printf("<p>&nbsp; 屏蔽告警:无效ID号\n");							
				}	
				break;
			case CMD_ACK_READ_EVENT:
				printf("<p>查询设备事件结果如下:\n");
				for (i=0; i<(p_cframe->info_length-1)/3; i++)
				{
					printf("<p>\n");
					printf("<p>&nbsp; 盘号:%d\n", p_iframe->alarm_board[i]);
					printf("<p>&nbsp; 端口号:%d\n", p_iframe->alarm_port[i]);
					for (j=0; j<12; j++)
					{
						if (p_iframe->event_id[i] == web_event_id[j].event_id)
						{
							printf("<p>&nbsp; 事件类型:%s\n", web_event_id[j].ch_name);
							break;
						}
					}
					if (j == 12)
						printf("<p>&nbsp; 事件类型:无效ID号\n");							
				}					
				break;
			
			default:
				break;
		}		
	}
	else if (p_iframe->success_flag == 1)
	{
		printf("<p>命令帧无法解析!\n");
	}
	else if (p_iframe->success_flag == 2)
	{
		printf("<p>命令无法执行!\n");
	}
	else
	{
		printf("<p>查询失败!\n");				
	}		
	printf("<p><a href=../index.html>返回 </a><p>");
}





⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -