port_test.c

来自「this program is ubicontent example sourc」· C语言 代码 · 共 1,847 行 · 第 1/4 页

C
1,847
字号
	_D("OnKey 6");
	if(pMe->nCurMenu > 0 && pMe->nCurMenu < 20){
		key_select(pMe,nValue-1);
		return(FALSE);
	}

	if(pMe->nCurMenu == 20)
		alarm_key_select(pMe,nValue);

	return(FALSE);
}

static boolean port_test_OnKey7(port_test * pMe)
{
	int nValue = 7;
	_D("OnKey 7");
	if(pMe->nCurMenu == 20)
		alarm_key_select(pMe,nValue);

	return(FALSE);
}

static boolean port_test_OnKey8(port_test * pMe)
{
	int nValue = 8;
	_D("OnKey 8");
	if(pMe->nCurMenu == 20)
		alarm_key_select(pMe,nValue);

	return(FALSE);
}

static boolean port_test_OnKey9(port_test * pMe)
{
	int nValue = 9;
	_D("OnKey 9");
	if(pMe->nCurMenu == 20)
		alarm_key_select(pMe,nValue);


	return(FALSE);
}

static boolean port_test_OnKeyStar(port_test * pMe)
{
	_D("OnKey Star");

	return(FALSE);
}

static boolean port_test_OnKeyPound(port_test * pMe)
{
	_D("OnKey Pound");

	return(FALSE);
}

static boolean port_test_OnKeyUP(port_test * pMe)
{
	_D("OnKey Up");

	if(pMe->nCurMenu == 0) //皋牢 皋春老 版快俊父 累悼登档废.
	{
		if(pMe->nCurItem <= 2) //酒捞袍 牢郸胶啊 贸澜老版快 付瘤阜 酒捞袍 牢郸胶肺.
		{
			pMe->nCurItem = pMe->nCurItem + 6;
		}else
		{
			pMe->nCurItem = pMe->nCurItem - 3;
		}

		DisplayMenu(pMe);
	}
	if(pMe->nCurMenu == 20)
	{
		pMe->nAlarmSetIndex--;
		if(pMe->nAlarmSetIndex < 0)
			pMe->nAlarmSetIndex = 4;
		DisplayMenu(pMe);
	}
	return(FALSE);
}

static boolean port_test_OnKeyDown(port_test * pMe)
{
	_D("OnKey Down");

	if(pMe->nCurMenu == 0) ////皋牢 皋春老 版快俊父 累悼登档废.
	{
		if(pMe->nCurItem >= 6) //酒捞袍 牢郸胶啊 付瘤阜老版快 贸澜 酒捞袍 牢郸胶肺.
		{
			pMe->nCurItem = pMe->nCurItem - 6;
		}else
		{
			pMe->nCurItem = pMe->nCurItem + 3;
		}

		DisplayMenu(pMe);
	}
	if(pMe->nCurMenu == 20)
	{
		pMe->nAlarmSetIndex++;
		if(pMe->nAlarmSetIndex > 4)
			pMe->nAlarmSetIndex = 0;
		DisplayMenu(pMe);
	}
	return(FALSE);
}

static boolean port_test_OnKeyLeft(port_test * pMe)
{
	//int index;

	_D("OnKey Left");

	if(pMe->nCurMenu == 0) //皋牢 皋春老 版快俊父 累悼登档废.
	{
		if(pMe->nCurItem == 0) //酒捞袍 牢郸胶啊 贸澜老版快 付瘤阜 酒捞袍 牢郸胶肺.
		{
			pMe->nCurItem = 8;
		}else
		{
			pMe->nCurItem = pMe->nCurItem - 1;
		}
		DisplayMenu(pMe);
	}
	if(pMe->nCurMenu == 20)
	{
		pMe->nAlarmSetIndex--;
		if(pMe->nAlarmSetIndex < 0)
			pMe->nAlarmSetIndex = 4;
		DisplayMenu(pMe);
	}
	return(FALSE);
}

static boolean port_test_OnKeyRight(port_test * pMe)
{
	//int index;

	_D("OnKey Right");

	if(pMe->nCurMenu == 0) ////皋牢 皋春老 版快俊父 累悼登档废.
	{
		if(pMe->nCurItem == 8) //酒捞袍 牢郸胶啊 付瘤阜老版快 贸澜 酒捞袍 牢郸胶肺.
		{
			pMe->nCurItem = 0;
		}else
		{
			pMe->nCurItem = pMe->nCurItem + 1;
		}

		DisplayMenu(pMe);
	}
	if(pMe->nCurMenu == 20)
	{
		pMe->nAlarmSetIndex++;
		if(pMe->nAlarmSetIndex > 4)
			pMe->nAlarmSetIndex = 0;
		DisplayMenu(pMe);
	}
	return(FALSE);
}

static boolean port_test_OnKeySelect(port_test * pMe)
{
	//int i;
	_D("OnKey Select");

	if(pMe->nCurMenu == 0) pMe->nCurMenu = pMe->nCurItem + 1;

	if(pMe->nCurMenu == 20)
	{
		if(	pMe->nAlarmSetIndex == 3)
		{
			pMe->nAlarmOnOff = (pMe->nAlarmOnOff==TRUE?FALSE:TRUE);
		}
		if(	pMe->nAlarmSetIndex == 4)
		{
			pMe->nAlarmOKCancel = (pMe->nAlarmOKCancel==TRUE?FALSE:TRUE);
		}
	}
	
	if(pMe->nCurMenu != 50) DisplayMenu(pMe);
	

	return(FALSE);
}

static boolean img_print_OnKeyClr(port_test * pMe) //CLR 滚瓢阑 喘范阑锭
{
	char flag;
	char cmd;
	_D("OnKey Clr");

	if(pMe->nCurMenu == 0) //皋牢皋春俊辑 CLR滚瓢阑 喘范阑版快
	{

	}else if(pMe->nCurMenu > 0 && pMe->nCurMenu < 20) //技何皋春俊辑 CLR滚瓢阑 喘范阑版快 皋牢皋春肺 登倒酒皑.
	{
		pMe->nCurMenu = 0;
		DisplayMenu(pMe);
	}
	if(pMe->nCurMenu == 20){ // 舅恩辑宏皋春俊辑 clr滚瓢 喘范阑版快
		if(pMe->nAlarmSetIndex == 0) //
		{
			if(pMe->nAlarmSetHour < 10)
			{
				pMe->nAlarmSetHour = 0;
			}else{
				pMe->nAlarmSetHour = pMe->nAlarmSetHour/10;
			}
		}
		if(pMe->nAlarmSetIndex == 1)
		{
			if(pMe->nAlarmSetMin < 10)
			{
				pMe->nAlarmSetMin = 0;
			}else{
				pMe->nAlarmSetMin = pMe->nAlarmSetMin/10;
			}
		}
		if(pMe->nAlarmSetIndex == 2)
		{
			if(pMe->nAlarmSetObj < 10)
			{
				pMe->nAlarmSetObj = 0;
			}else{
				pMe->nAlarmSetObj = pMe->nAlarmSetObj/10;
			}
		}
		
		if(pMe->nAlarmSetIndex >=3)
		{
			if(pMe->nAlarmOKCancel == FALSE)
			{
				 ISHELL_CancelAlarm(GetActiveShell(pMe),0x1111000f, pMe->nAlarmKeyIndex);
				 pMe->Buf[pMe->nAlarmKeyIndex*4+0] = 0x00;
				 pMe->Buf[pMe->nAlarmKeyIndex*4+1] = 0x00;
				 pMe->Buf[pMe->nAlarmKeyIndex*4+2] = 0x00;
				 pMe->Buf[pMe->nAlarmKeyIndex*4+3] = 0x00;
				 File_Access_Close(pMe);
				 pMe->nCurMenu = 8;
			}else{
				
				if (pMe->nAlarmSetHour < 0 || pMe->nAlarmSetHour > 23)
				{
					_D("error");
					return(TRUE);
				}
				if (pMe->nAlarmSetMin < 0 || pMe->nAlarmSetMin > 59)
				{
					_D("error");
					return(TRUE);
				}

				if (pMe->nAlarmSetObj < 1 || pMe->nAlarmSetObj > 14)
				{
					_D("error");
					return(TRUE);
				}
				

				if(pMe->nAlarmSetObj >= 2 && pMe->nAlarmSetObj <= 12)
				{
					flag = RELAY;
					if(pMe->nAlarmOnOff == TRUE)
					{
						cmd = ON1; 
					}else{
						cmd = OFF1;
					}
				}else{
					if(pMe->nAlarmOnOff == TRUE)
					{
						cmd = flag = OPEN;
					}else{
						cmd = flag = CLOSE;
					}
				}
				if(pMe->nAlarmSetObj == 1)
				{
					flag = RELAY;
					if(pMe->nAlarmOnOff == TRUE)
					{
						cmd =  OPEN;
					}else{
						cmd = CLOSE;
					}
				}
				if(pMe->nAlarmSetObj == 13)
				{
					if(pMe->nAlarmOnOff == TRUE)
					{
						cmd = flag = ON1;
					}else{
						cmd = flag = OFF1;
					}
				}
				_D("pMe->nAlarmKeyIndex .. %d", pMe->nAlarmKeyIndex);
				AlarmSetAction(pMe, pMe->nAlarmSetHour, pMe->nAlarmSetMin, getSettingContent(pMe->nAlarmSetObj), flag, cmd, pMe->nAlarmKeyIndex);
				pMe->nCurMenu = 8;
			}
		}
		DisplayMenu(pMe);
	}
	return(TRUE);
}


//虐 菩靛 捞亥飘 勤甸矾甫 角青窍扁 傈俊 鞘夸茄 傈贸府 荐青
int port_test_PreTranslateKey(uint16 * pVkey, uint32 * pBitFlags)
{
	_D("OnKey PreTranslate");

	return(-1); //-1阑 馆券窍搁 秦寸 虐 勤甸矾档 眠啊 角青(-1, FALSE TRUE)
}


//檬扁拳 棺 秦力
boolean port_test_Init(port_test *pMe)
{
	int i,j,k,l;
    _D("Call: port_test_Init");

    pMe->DeviceInfo.wStructSize = sizeof(pMe->DeviceInfo);
    ISHELL_GetDeviceInfo(GetActiveShell(pMe),&pMe->DeviceInfo);

	//览侩橇肺弊伐 捞亥飘 勤甸矾 殿废
	BEGIN_EVENT(6)
		SET_EVENT(EVT_APP_START, port_test_OnStart)
		SET_EVENT(EVT_APP_STOP, port_test_OnStop)
		SET_EVENT(EVT_APP_SUSPEND, port_test_OnSuspend)
		SET_EVENT(EVT_APP_RESUME, port_test_OnResume)
		SET_EVENT(EVT_APP_MESSAGE, port_test_OnMessage)
		SET_EVENT(EVT_ALARM, port_test_OnAlarm)
	END_EVENT()

	//虐 菩靛 捞亥飘 勤甸矾 殿废
	BEGIN_KEY_EVENT(18)
		SET_KEY_EVENT(AVK_0, port_test_OnKey0)
		SET_KEY_EVENT(AVK_1, port_test_OnKey1)
		SET_KEY_EVENT(AVK_2, port_test_OnKey2)
		SET_KEY_EVENT(AVK_3, port_test_OnKey3)
		SET_KEY_EVENT(AVK_4, port_test_OnKey4)
		SET_KEY_EVENT(AVK_5, port_test_OnKey5)
		SET_KEY_EVENT(AVK_6, port_test_OnKey6)
		SET_KEY_EVENT(AVK_7, port_test_OnKey7)
		SET_KEY_EVENT(AVK_8, port_test_OnKey8)
		SET_KEY_EVENT(AVK_9, port_test_OnKey9)
		SET_KEY_EVENT(AVK_STAR, port_test_OnKeyStar)
		SET_KEY_EVENT(AVK_POUND, port_test_OnKeyPound)
		SET_KEY_EVENT(AVK_UP, port_test_OnKeyUP)
		SET_KEY_EVENT(AVK_DOWN, port_test_OnKeyDown)
		SET_KEY_EVENT(AVK_LEFT, port_test_OnKeyLeft)
		SET_KEY_EVENT(AVK_RIGHT, port_test_OnKeyRight)
		SET_KEY_EVENT(AVK_SELECT, port_test_OnKeySelect)
		SET_KEY_EVENT(AVK_CLR, img_print_OnKeyClr)
	END_KEY_EVENT()

	//捞 镑俊 檬扁拳 棺 磊盔且寸 内靛甫 火涝茄促.
		pMe->pPort = NULL;
		pMe->errorImage1 = NULL;
		pMe->errorImage2 = NULL;
		pMe->errorImage3 = NULL;
		pMe->loadingImage = NULL;
		pMe->doorlockImage = NULL;
		pMe->doorlockIconImage = NULL;
		pMe->ledImage = NULL;
		pMe->powerImage = NULL;
		pMe->cutainImage = NULL;
		pMe->cutainIconImage = NULL;
		pMe->gasImage = NULL;
		pMe->safeImage = NULL;
		pMe->modeImage = NULL;
		pMe->setImage = NULL;
		pMe->setIconImage = NULL;
		pMe->gasIconImage = NULL;
		pMe->mainImage = NULL;
		pMe->alarmBackImage = NULL;
		pMe->alarmSubImage = NULL;

		for(i=0; i<6; i++)
		{
			pMe->ICon[i] = NULL;
			for(j=0; j<2; j++)
			{
				pMe->nDoorLockItem[i][j] = 0;
				pMe->nLedItem[i][j] = 0;
				pMe->nPowerItem[i][j] = 0;
				pMe->nCurtainItem[i][j] = 0;
				pMe->nGasItem[i][j] = 0;
				pMe->nSafeItem[i][j] = 0;
				pMe->nModeItem[i][j] = 0;
				pMe->nAlarmItem[i][j] = 0;
			}
			//pMe->nSelect[i] = 0;
		}
		for(k=0; k<3; k++)
		{
			pMe->safeIconImage[k] = NULL;
		}
		for(l=0; l<4; l++)
		{
			pMe->modeIconImage[l] = NULL;
		}
		pMe->pSP = NULL;
		for(i=0; i<8; i++)
		{
			pMe->Menu[i]=NULL;
		}

		pMe->nDoorLockItem[0][1] = DOORLOCK;
		pMe->nLedItem[1][1] = TOILET_LIGHT;
		pMe->nLedItem[2][1] = LIVING_ROOM_FIRST_LIGHT;
		pMe->nLedItem[3][1] = LIVING_ROOM_SECOND_LIGHT;
		pMe->nLedItem[4][1] = ROOM_FIRST_LIGHT;
		pMe->nLedItem[5][1] = ROOM_SECOND_LIGHT;

		pMe->nPowerItem[0][1] = TV_POWER;
		pMe->nPowerItem[1][1] = REFRIGERATOR_POWER;
		pMe->nPowerItem[2][1] = VENTILATION_FAN_POWER;
		pMe->nPowerItem[3][1] = AIR_CONDITIONER_POWER;
		pMe->nPowerItem[4][1] = ROOM_FIRST_POWER;
		pMe->nPowerItem[5][1] = ROOM_SECOND_POWER;

		pMe->nCurtainItem[0][1] = CURTAIN;
		pMe->nGasItem[0][1] = GASS_BREAKER;

		pMe->nCurItem = 0;
		pMe->nCurItemSub = 0;
		pMe->nLedCount = 0;
		pMe->nLedState = 0;
		pMe->nCurMenu = 0;
		pMe->nAlarmKeyIndex = 0;
		pMe->pFile = NULL;

		pMe->nAlarmGetPosition[0][0] = 20;
		pMe->nAlarmGetPosition[0][1] = 45;
		pMe->nAlarmGetPosition[1][0] = 85;
		pMe->nAlarmGetPosition[1][1] = 45;
		pMe->nAlarmGetPosition[2][0] = 20;
		pMe->nAlarmGetPosition[2][1] = 73;
		pMe->nAlarmGetPosition[3][0] = 60;
		pMe->nAlarmGetPosition[3][1] = 136;
		pMe->nAlarmGetPosition[4][0] = 56;
		pMe->nAlarmGetPosition[4][1] = 170;
	//磊盔且寸 场
    return TRUE;
}

void port_test_Free(port_test *pMe)
{
    _D("Call: port_test_Free");

	EVENT_FREE();
	KEY_EVENT_FREE();

	//捞 镑俊 且寸等 磊盔阑 秦力窍绰 内靛甫 火涝茄促.
	ObjectDestroy(pMe);
}

⌨️ 快捷键说明

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