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

📄 parametersettingscbk.c

📁 基于网络服务控制芯片TF-320的嵌入式web server源代码
💻 C
字号:
/****************************************************************************
*
*	Name:			moduleStatuc.c
*
*	Description:	Call Back Function
*
*	Copyright:		Conner Zhang.
*	Author:			Eli
*	                All rights reserved.
*
****************************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "html.h"
#include "tfTypes.h"
#include "fs.h"
#include "httpd.h"
#include "parameterSettings.h"	
#include "ip113f.h"
#include "Eeprom.h"


extern struct httpd_state *hs;
extern variable_t var_list[];
const char code GIF_LED_GREEN[] = "<IMG SRC=\"/green.gif\">";
const char code GIF_LED_GRAY[] = "<IMG SRC=\"/gray.gif\">";
unsigned int mr1600_sign[16];
int sign;
int sstatusData;


u8_t ssiParameterSettings(u8_t varid, value_t *vp)
{   
  u8_t *str;
 
  switch (varid)
    {	//case TGI_PORT_NO:  break;
		case TGI_a:
				if(mr1600_sign[0]==1)			
					str = GIF_LED_GREEN;
		    else			
					str = GIF_LED_GRAY;
		    vp->value.string = str;
		    vp->type = string;
				break;
		case TGI_b:
				if(mr1600_sign[1]==1)			
					str = GIF_LED_GREEN;
		    else			
					str = GIF_LED_GRAY;
		    vp->value.string = str;
		    vp->type = string;
				break;
		case TGI_c:
				if(mr1600_sign[2]==1)			
					str = GIF_LED_GREEN;
		    else			
					str = GIF_LED_GRAY;
		    vp->value.string = str;
		    vp->type = string;
				break;
		case TGI_d:
				if(mr1600_sign[3]==1)			
					str = GIF_LED_GREEN;
		    else			
					str = GIF_LED_GRAY;
		    vp->value.string = str;
		    vp->type = string;
				break;
		case TGI_e:
				if(mr1600_sign[4]==1)			
					str = GIF_LED_GREEN;
		    else			
					str = GIF_LED_GRAY;
		    vp->value.string = str;
		    vp->type = string;
				break;
		case TGI_f:
				if(mr1600_sign[5]==1)			
					str = GIF_LED_GREEN;
		    else			
					str = GIF_LED_GRAY;
		    vp->value.string = str;
		    vp->type = string;
				break;
		case TGI_g:
				if(mr1600_sign[6]==1)			
					str = GIF_LED_GREEN;
		    else			
					str = GIF_LED_GRAY;
		    vp->value.string = str;
		    vp->type = string;
				break;
		case TGI_h:
				if(mr1600_sign[7]==1)			
					str = GIF_LED_GREEN;
		    else			
					str = GIF_LED_GRAY;
		    vp->value.string = str;
		    vp->type = string;
				break;
		case TGI_i:
				if(mr1600_sign[8]==1)			
					str = GIF_LED_GREEN;
		    else			
					str = GIF_LED_GRAY;
		    vp->value.string = str;
		    vp->type = string;
				break;
		case TGI_j:
				if(mr1600_sign[9]==1)			
					str = GIF_LED_GREEN;
		    else			
					str = GIF_LED_GRAY;
		    vp->value.string = str;
		    vp->type = string;
				break;
		case TGI_k:
				if(mr1600_sign[10]==1)			
					str = GIF_LED_GREEN;
		    else			
					str = GIF_LED_GRAY;
		    vp->value.string = str;
		    vp->type = string;
				break;
		case TGI_l:
				if(mr1600_sign[11]==1)			
					str = GIF_LED_GREEN;
		    else			
					str = GIF_LED_GRAY;
		    vp->value.string = str;
		    vp->type = string;
				break;
		case TGI_m:
				if(mr1600_sign[12]==1)			
					str = GIF_LED_GREEN;
		    else			
					str = GIF_LED_GRAY;
		    vp->value.string = str;
		    vp->type = string;
				break;
		case TGI_n:
				if(mr1600_sign[13]==1)			
					str = GIF_LED_GREEN;
		    else			
					str = GIF_LED_GRAY;
		    vp->value.string = str;
		    vp->type = string;
				break;
		case TGI_o:
				if(mr1600_sign[14]==1)			
					str = GIF_LED_GREEN;
		    else			
					str = GIF_LED_GRAY;
		    vp->value.string = str;
		    vp->type = string;
				break;
		case TGI_p:
				if(mr1600_sign[15]==1)			
					str = GIF_LED_GREEN;
		    else			
					str = GIF_LED_GRAY;
		    vp->value.string = str;
		    vp->type = string;
				break;
    default:
		vp->value.string = "";
		vp->type = string;
    break;
    }

    return OK;
}

u8_t tgiParameterSettings(u8_t cnt, value_t *vp)
{	
	int j;
	unsigned char receivebuf[4];
	unsigned char sendbuf[9];
	unsigned int c;
	unsigned char up2;
	unsigned char low2;

	if ( strncmp( var_list[0].value, "Detect", 5)==0 )	
	{

			for(j=0;j<16;j++)
			{
				if(j<10)
					{
						sendbuf[1]='0';
						sendbuf[2]=j+'0';
					}
					else
					{
						sendbuf[1]='1';
						sendbuf[2]=j-10+'0';
					}

	//===================================================
	//read from w78e58b
				sendbuf[0]='r';//select func number
				sendbuf[3]='0';
				sendbuf[4]='2';
				sendbuf[5]='0';
				sendbuf[6]='0';
				sendbuf[7]='0';
				sendbuf[8]='0';
				putstr(sendbuf);
				while(get_char_com()!='s');
				getstr(receivebuf);

				if((receivebuf[0]=='0')&&(receivebuf[1]=='2')&&(receivebuf[2]=='4')&&(receivebuf[3]=='3'))
					mr1600_sign[j]=1;//module here
				else
					mr1600_sign[j]=0;//module here

				Delay(100);
			}

			for(j=0;j<16;j++)
			{
				if(mr1600_sign[j]==1)
				{
//					sstatusData=read93c66_word(j); 
			        _24c16_eeprom_word_read(256+2*j, &up2);
				Delay(100);
			        _24c16_eeprom_word_read(256+2*j+1, &low2);
				sstatusData=(int)((up2<<8)|low2);

					Delay(100);			
					if(j<10)
					{
						sendbuf[1]='0';
						sendbuf[2]=j+'0';
					}
					else
					{
						sendbuf[1]='1';
						sendbuf[2]=j-10+'0';
					}
					sendbuf[0]='w';//select func number
					sendbuf[3]='2';
					sendbuf[4]='2';

					c=(sstatusData>>12)&0x0f;
					if((c>=0)&&(c<=9))
						sendbuf[5]=c+'0';
					else if((c>=0xa)&&(c<=0xf))
						sendbuf[5]=c-10+'a';

					c=(sstatusData>>8)&0x0f;
					if((c>=0)&&(c<=9))
						sendbuf[6]=c+'0';
					else if((c>=0xa)&&(c<=0xf))
						sendbuf[6]=c-10+'a';

					c=(sstatusData>>4)&0x0f;
					if((c>=0)&&(c<=9))
						sendbuf[7]=c+'0';
					else if((c>=0xa)&&(c<=0xf))
						sendbuf[7]=c-10+'a';

					c=sstatusData&0x0f;
					if((c>=0)&&(c<=9))
						sendbuf[8]=c+'0';
					else if((c>=0xa)&&(c<=0xf))
						sendbuf[8]=c-10+'a';		

					putstr(sendbuf);
					Delay(1000);			

			}

		}
	
		httpd_send_file(fs_open1("parameterSettings.htm"));

	}
    return OK;
}

⌨️ 快捷键说明

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