📄 parametersettingscbk.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 + -