예제 #1
0
 static void setclearcolor()
{
    char  str[]=" 1.前景设置成蓝色  "
               " 2.前景设置成绿色  "
               " 3.前景设置成黄色  "
               " 4.前景设置成红色  "
               " 5.前景设置成白色  "
               " 6.手动设置前景颜色";
     uint color;
     int ret;
	 long temp_buf;
	 char set_buf[16];
	 uchar colordate[2];
	 BROWINFO bi;
	 bi.lPtr = 0;
	 bi.cPtr = 0;
	 while(1)
	 {
     DispStr_CE(0,1,"前景颜色设置菜单",DISP_CENTER|DISP_NORMAL|DISP_CLRSCR);
     bi.iStr=str;
	   bi.mInt=6;
	   bi.lineMax=19;//每行显示最大字符数 
	   bi.startLine=3;//起始行 
	   bi.dispLines=6;//
	   bi.sFont=0;
	   bi.numEnable=1;
	   bi.qEvent=(EXIT_KEY_F1); 
	   ret=EXT_Brow_Select(&bi);
      switch(ret)
       {
          case 0:
                color=0x001f;
               // Disp_Set_Color(SET_BACK_COLOR,color);
               break;
          case 1:
               color=0x0040;
               //Disp_Set_Color(SET_BACK_COLOR,color);
               break;
          case 2:
               color=0xffe0;
              // Disp_Set_Color(SET_BACK_COLOR,color);
               break;
          case 3:
               color=0xf800;
               break;
          case 4:
               color=0xffff;
               break; 
		  case 5:
		  		Disp_Clear();
		  		temp_buf=Inputdate("请输入前景16位颜色值:",0,set_buf,0,5,-1,65535);
				if(temp_buf!=-1)
				{
					color=(uint)temp_buf;
				}
			  	else
			  	{
					DispStr_CE(0,4,"已取消前景颜色设置!",DISP_CENTER|DISP_NORMAL|DISP_CLRSCR);
					WaringBeep(ERR_WARNING_BEEP);
					delay_and_wait_key (DISP_ESC_DELAY_TIME,EXIT_KEY_F1,120);
					return;
				}
			    break;
          default :
		  	   DispStr_CE(0,4,"已取消设置!",DISP_CENTER|DISP_NORMAL|DISP_CLRSCR);
			   WaringBeep(ERR_WARNING_BEEP);
			   delay_and_wait_key (DISP_ESC_DELAY_TIME,EXIT_KEY_F1,120);
			   return; //返回 
               break;            
       }
	  colordate[0]=*((char *)&color+1);
	  colordate[1]=*((char *)&color);
	  ret=WriteParameter(E_FontColorAddr,colordate,2);
	  if(!ret)
	  {
	  	DispStr_CE(0,4,"前景颜色设置成功 ",DISP_CENTER|DISP_NORMAL|DISP_CLRSCR);
		delay_and_wait_key (1,EXIT_KEY_F1,120);
		DispStr_CE(0,4,"关机重启后生效!",DISP_CENTER|DISP_NORMAL|DISP_CLRSCR);
		delay_and_wait_key (DISP_OK_DELAY_TIME,EXIT_KEY_F1,120);
		WaringBeep(OK_WARNING_BEEP);
	  }
      return ;
    }    
} 
예제 #2
0
static void ChangePassWord()
{
	long rett;
	int ret;
	char set_buf[16];
	uchar passwordbuf;
	uchar OldPassWordBak[16];
	Disp_Clear();
	memset(set_buf,0x00,16);
	memset(OldPassWordBak,0x00,16);
	memcpy(OldPassWordBak,G_PassWord,strlen((char*)G_PassWord));
	rett=Inputdate("请输入开机原密码  ",0,set_buf,1,8,-1,-1);
	if(rett!=-1)
	{
		
		if(!memcmp(G_PassWord,set_buf,G_PassWordLen))
		{
			memset(set_buf,0x00,16);
			Disp_Clear();
			rett=Inputdate("请输入开机新密码 ",0,set_buf,1,8,-1,-1);
			if(rett!=-1)
			{
				ret=WriteParameter(E_PassWordAddr,(uchar*)set_buf,strlen(set_buf));
				if(!ret)
				{
					passwordbuf=strlen(set_buf);
					ret=WriteParameter(E_PassWordLenAddr,&passwordbuf,1);
					if(!ret)
					{
						DispStr_CE(0,4,"密码设置成功 ",DISP_CENTER|DISP_NORMAL|DISP_CLRSCR);
						memcpy(G_PassWord,set_buf,passwordbuf);
						G_PassWordLen=passwordbuf;
						delay_and_wait_key (DISP_OK_DELAY_TIME,EXIT_KEY_F1,120);
						WaringBeep(OK_WARNING_BEEP);
						return;
					}
					else
					{
						WriteParameter(E_PassWordAddr,OldPassWordBak,strlen((char*)OldPassWordBak));
						DispStr_CE(0,4,"密码写入失败 ",DISP_CENTER|DISP_NORMAL|DISP_CLRSCR);
						WaringBeep(ERR_WARNING_BEEP);
						delay_and_wait_key (DISP_OK_DELAY_TIME,EXIT_KEY_F1,120);
						return;
					}
				}
				else
				{
					DispStr_CE(0,4,"密码写入失败 ",DISP_CENTER|DISP_NORMAL|DISP_CLRSCR);
					WaringBeep(ERR_WARNING_BEEP);	
					delay_and_wait_key (DISP_OK_DELAY_TIME,EXIT_KEY_F1,120);
					return;
				}
			}
			else
			{
				DispStr_CE(0,4,"已取消设置! ",DISP_CENTER|DISP_NORMAL|DISP_CLRSCR);
				WaringBeep(ERR_WARNING_BEEP);
				delay_and_wait_key (DISP_ESC_DELAY_TIME,EXIT_KEY_F1,120);
				return;
			}
		}
		else
		{
			DispStr_CE(0,4,"您输入的原密码有误! ",DISP_CENTER|DISP_NORMAL|DISP_CLRSCR);
			WaringBeep(ERR_WARNING_BEEP);
			delay_and_wait_key (DISP_OK_DELAY_TIME,EXIT_KEY_F1,120);
			return;
		}
	}
	else 
	{
		DispStr_CE(0,4,"已取消设置! ",DISP_CENTER|DISP_NORMAL|DISP_CLRSCR);
		WaringBeep(ERR_WARNING_BEEP);
		delay_and_wait_key (DISP_ESC_DELAY_TIME,EXIT_KEY_F1,120);
	}
	return;
}
예제 #3
0
/***********************************************************************
		module		:	[菜单操作]
		function	:	[机器设置菜单操作]
  		return		:	[无]
		comment		:	[全局普通函数]
		machine		:	[EH-0818]
		language	:	[CHN]
 		keyword		:	[MENU]
		date		:	[11/07/20]
 		author		:	[chen-zhengkai]
************************************************************************/
void funSet_task()
{
	int select = -1;
	char fun_menu_str[] =	"1. 时间设置      "
							"2. 日期设置      "
							"3. 待机时间设置  "
							"4. 背光灯时间设置"
							"5. 按键音设置    "
							"6. 机器参数查询  "
							"7. 读取授权卡    ";
	BROWINFO	info;
	info.iStr = fun_menu_str;		//浏览内容指针
	info.lPtr = 0;					//显示内容iStr的起始显示行
	info.cPtr = 0;					//当前选择行
	

	
	while (1) {
		//以下BROWINFO结构成员变量必须参与循环,有可能会被EXT_Brow_Select函数改变
		info.startLine = 2;				//在LCD上的显示起始行
		info.dispLines = 7;				//在LCD上的显示行数
		info.mInt = 7;					//显示内容的总行数
		info.lineMax = 17;				//每行最大字符数
		info.sFont = 0;					//7x9大字体显示
		info.numEnable = 0;				//是否允许数字键代替方向控制
		info.qEvent = EXIT_KEY_F1|EXIT_AUTO_QUIT|EXIT_KEY_POWER|EXIT_KEY_CANCEL;    //可导致函数退出的事件标志
		info.autoexit = 1200;			//自动退出的时间
		//菜单
		Disp_Clear();
		DispStr_CE(0, 0, "机器设置菜单", DISP_CENTER);
		select = EXT_Brow_Select(&info);
		switch (select) {
			case 0:		//时间设置
				setTime();
				break;
			case 1:		//日期设置
				setDate();
				break;
			case 2:		//待机时间设置
				Set_Auto_Poweroff();
				break;
			case 3:		//背光灯时间设置
				setBacklight();
				break;
			case 4:		//按键音设置
				setKeybeeper();
				break;
			case 5:		//机器参数查询
				break;
			case 6:		//读取授权卡
				getAuthorize();
				break;
			default:	//降低CPU占用率,降低能耗
				if (info.qEvent == EXIT_KEY_F1  || EXIT_AUTO_QUIT 
                                || EXIT_KEY_POWER || EXIT_KEY_CANCEL) { //返回上级菜单 
					return;
				}
				Sys_Power_Sleep(3);
				break;
		}
	}
}
예제 #4
0
파일: Menu.c 프로젝트: diewindowsdie/fc-510
void Show_Main(char n)
{
  long min, max; char s;
  Disp_Clear();                       //clear display

  //blink name:
  if(!Hide)
  {
    if(n == MODE_FIF)
      Disp_PutChar('f');                //display "f"
        else Disp_PutString(Str_V[n]);  //show value name
  }

  long v = Count_GetValue();          //read counter
  if(Count_Ready()) Count_Start();    //start counter

  char p = (Scale & ~AUTO_SCALE) + 1; //DP position
  switch(n)
  {
#ifdef HI_RES
  case MODE_F:
  case MODE_FIF:
  case MODE_P:
  case MODE_D:
    s = 3;
    min = 100000000L;
    max = 999999999L;
    break;
  case MODE_R:
    s = 5;
    min = 1000000L;
    max = 9999999L;
    break;
  default:
    s = 4;                            //first position
    min = 10000000L;                  //min value for auto scale
    max = 99999999L;                  //max value for auto scale
#else
  case MODE_F:
  case MODE_FIF:
  case MODE_P:
  case MODE_D:
    s = 3;
    min = 10000000L;
    max = 99999999L;
    break;
  case MODE_R:
    s = 5;
    min = 100000L;
    max = 999999L;
    break;
  default:
    s = 4;                            //first position
    min = 1000000L;                   //min value for auto scale
    max = 9999999L;                   //max value for auto scale
#endif
  }

  //blink value:
  //if(!Hide)
    Disp_Val(s, p, v);                //show value
  Disp_Update();                      //update display

  if(Scale & AUTO_SCALE)              //if auto scale
  {
    if(v >= 0)
    {
      if(v < min) MoveDP(KEY_DN);     //move DP left
      if(v > max) MoveDP(KEY_UP);     //move DP right
    }
    else
    {
      if(v > -min) MoveDP(KEY_DN);    //move DP left
      if(v < -max) MoveDP(KEY_UP);    //move DP right
    }
    Scale |= AUTO_SCALE;              //restore auto scale flag
    Count_SetScale(Scale);            //update scale
  }
}
예제 #5
0
/***********************************************************************
		module		:	[WIFI]
		function		:	[wifi上传菜单]
  		return		:	[无]
		comment	:	[全局普通函数]
		machine		:	[EH-0818]
		language	:	[CHN]
 		keyword		:	[WIFI]
		date			:	[11/07/25]
 		author		:	[chen-zhengkai]
************************************************************************/
void wifi_upload_menu()
{
	int select = -1;
	//int conStatus = 0;		//连接状态,0:连接正常
	char db_menu_str[] =	"1. 启动连接"
							"2. 上传数据"
							"3. 网络设置"
							"4. 断开连接"
							"5. 重启模块";

	BROWINFO	info;
	info.iStr = db_menu_str;		//浏览内容指针
	info.lPtr = 0;					//显示内容iStr的起始显示行
	info.cPtr = 0;					//当前选择行

	while (1) {
		//以下BROWINFO结构成员变量必须参与循环,有可能会被EXT_Brow_Select函数改变
//		 conStatus = CWiFi_GetRepStatus(g_pHandle[0]);
//		 if (!conStatus) {
//		 	strncpy(db_menu_str, "1. 断开连接(已连接)", 21);
//		}
//		else {
//			strncpy(db_menu_str, "1. 启动连接(未连接)", 21);
//		}
		info.startLine = 2;				//在LCD上的显示起始行
		info.dispLines = 5;				//在LCD上的显示行数
		info.mInt = 5;					//显示内容的总行数
		info.lineMax = 11;				//每行最大字符数
		info.sFont = 0;					//7x9大字体显示
		info.numEnable = 0;				//是否允许数字键代替方向控制
		info.qEvent = EXIT_KEY_F1|EXIT_AUTO_QUIT|EXIT_KEY_POWER|EXIT_KEY_CANCEL;    //可导致函数退出的事件标志
		info.autoexit = 1200;			//自动退出的时间
		//菜单
		Disp_Clear();
		DispStr_CE(0, 0, "wifi传输菜单", DISP_CENTER);
		select = EXT_Brow_Select(&info);

		switch (select) {
			case 0:		//启动连接,断开连接
				connectWifi();	//启动连接
				break;
			case 1:		//上传数据
				sendRecords();
				break;
			case 2:		//网络设置
				wifinet_set();
				break;
			case 3:		//断开连接
				disConnect();
				break;
			case 4:		//重启模块
				resetWifi();
				break;
			default:	//降低CPU占用率,降低能耗
				if (info.qEvent == EXIT_KEY_F1  || EXIT_AUTO_QUIT 
                                || EXIT_KEY_POWER || EXIT_KEY_CANCEL) { //返回上级菜单 
					return;
				}
				Sys_Power_Sleep(3);
				break;
		}
	}
}
예제 #6
0
/***********************************************************************
		module		:	[WIFI]
		function	:	[WIFI网络设置子菜单]
  		return		:	[无]
		comment		:	[全局普通函数]
		machine		:	[EH-0818]
		language	:	[CHN]
 		keyword		:	[WIFI]
		date		:	[11/07/26]
 		author		:	[chen-zhengkai]
************************************************************************/
void wifinet_set()
{
	int select = -1;
	char db_menu_str[] =		"1. 设置本机IP  "
							"2. 设置子网掩码"
							"3. 设置网关    "
							"4. 设置服务器IP"
							"5. 设置端口    "
							"6. 设置ssid    "
							"7. 设置密码    "
							"8. 清空安全设置";

//	if ( adminPassword(0) ) {
//		return;
//	}
	BROWINFO	info;
	info.iStr = db_menu_str;		//浏览内容指针
	info.lPtr = 0;					//显示内容iStr的起始显示行
	info.cPtr = 0;					//当前选择行

	while (1) {
		//以下BROWINFO结构成员变量必须参与循环,有可能会被EXT_Brow_Select函数改变
		info.startLine = 0;				//在LCD上的显示起始行
		info.dispLines = 7;				//在LCD上的显示行数
		info.mInt = 8;					//显示内容的总行数
		info.lineMax = 15;				//每行最大字符数
		info.sFont = 0;					//7x9大字体显示
		info.numEnable = 0;				//是否允许数字键代替方向控制
		info.qEvent = EXIT_KEY_F1|EXIT_AUTO_QUIT|EXIT_KEY_POWER|EXIT_KEY_CANCEL;    //可导致函数退出的事件标志
		info.autoexit = 1200;			//自动退出的时间
		//菜单
		Disp_Clear();
		select = EXT_Brow_Select(&info);

		switch (select) {
			case 0:		//设置本机IP
				setIP();
				break;
			case 1:		//设置子网掩码
				setNetMask();
				break;
			case 2:		//设置网关
				setGateway();
				break;
			case 3:		//设置服务器IP
				setServerIP();
				break;
			case 4:		//设置端口
				setServerPort();
				break;
			case 5:		//设置SSID
				setServerSSID();
				break;
			case 6:		//设置密码
				setPassword();
				break;
			case 7:		//清空安全设置
				clearPSK();
				break;
			default:	//降低CPU占用率,降低能耗
				if (info.qEvent == EXIT_KEY_F1  || EXIT_AUTO_QUIT 
                                || EXIT_KEY_POWER || EXIT_KEY_CANCEL) { //返回上级菜单 
					return;
				}
				Sys_Power_Sleep(3);
				break;
		}
	}
}