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

📄 port_test.c

📁 this program is ubicontent example source using BREW thanks.
💻 C
📖 第 1 页 / 共 4 页
字号:
		ISOUNDPLAYER_Release(pMe->pSP);
		pMe->pSP = NULL;
	}

	pMe->pPort = pPort;
}


void DisplayInit(port_test *pMe) // Image load
{
	char * mainText;
	switch(pMe->mainImageVal)
	{
	case 1:
		mainText = "./res/main.bci";
		break;
	case 2:
		mainText = "./res/main2.bci";
		break;
	case 3:
		mainText = "./res/main3.bci";
		break;
	case 4:
		mainText = "./res/main4.bci";
		break;
	case 5:
		mainText = "./res/main5.bci";
		break;
	case 6:
		mainText = "./res/main6.bci";
		break;
	}
	
	pMe->mainImage = ISHELL_LoadImage(GetActiveShell(pMe), mainText);

	pMe->doorlockImage = ISHELL_LoadImage(GetActiveShell(pMe), "./res/doorlock.bci");
	
	pMe->doorlockIconImage = ISHELL_LoadImage(GetActiveShell(pMe), "./res/doorlock_door.bci");

	pMe->cutainImage = ISHELL_LoadImage(GetActiveShell(pMe), "./res/cutain.bci");
	pMe->cutainIconImage = ISHELL_LoadImage(GetActiveShell(pMe), "./res/cutain_cutain.bci");

	pMe->gasImage = ISHELL_LoadImage(GetActiveShell(pMe), "./res/gas.bci");
	pMe->gasIconImage = ISHELL_LoadImage(GetActiveShell(pMe), "./res/gas_gas.bci");

	pMe->safeImage = ISHELL_LoadImage(GetActiveShell(pMe), "./res/safe.bci");
	pMe->safeIconImage[0] = ISHELL_LoadImage(GetActiveShell(pMe), "./res/safe_motion.bci");
	pMe->safeIconImage[1] = ISHELL_LoadImage(GetActiveShell(pMe), "./res/safe_window.bci");
	pMe->safeIconImage[2] = ISHELL_LoadImage(GetActiveShell(pMe), "./res/safe_gas.bci");

	pMe->modeImage = ISHELL_LoadImage(GetActiveShell(pMe), "./res/mode.bci");
	pMe->modeIconImage[0] = ISHELL_LoadImage(GetActiveShell(pMe), "./res/mode_out.bci");
	pMe->modeIconImage[1] = ISHELL_LoadImage(GetActiveShell(pMe), "./res/mode_sleep.bci");
	pMe->modeIconImage[2] = ISHELL_LoadImage(GetActiveShell(pMe), "./res/mode_walkup.bci");
	pMe->modeIconImage[3] = ISHELL_LoadImage(GetActiveShell(pMe), "./res/mode_clean.bci");

	pMe->alarmBackImage = ISHELL_LoadImage(GetActiveShell(pMe), "./res/alarm_back.bci");
	pMe->ledImage = ISHELL_LoadImage(GetActiveShell(pMe), "./res/led.bci");
	pMe->powerImage = ISHELL_LoadImage(GetActiveShell(pMe), "./res/power.bci");
	
	pMe->ICon[0] = ISHELL_LoadImage(GetActiveShell(pMe), "./res/icon1.bci");
	pMe->ICon[1] = ISHELL_LoadImage(GetActiveShell(pMe), "./res/icon2.bci");
	pMe->ICon[2] = ISHELL_LoadImage(GetActiveShell(pMe), "./res/icon3.bci");
	pMe->ICon[3] = ISHELL_LoadImage(GetActiveShell(pMe), "./res/icon4.bci");
	pMe->ICon[4] = ISHELL_LoadImage(GetActiveShell(pMe), "./res/icon5.bci");
	pMe->ICon[5] = ISHELL_LoadImage(GetActiveShell(pMe), "./res/icon6.bci");

	pMe->alarmSubImage = ISHELL_LoadImage(GetActiveShell(pMe), "./res/alarm_sub.bci");

	pMe->setImage = ISHELL_LoadImage(GetActiveShell(pMe), "./res/set.bci");
	pMe->errorImage1 = ISHELL_LoadImage(GetActiveShell(pMe), "./res/error_window.bci");
	pMe->errorImage2 = ISHELL_LoadImage(GetActiveShell(pMe), "./res/error_motion.bci");
	pMe->errorImage3 = ISHELL_LoadImage(GetActiveShell(pMe), "./res/error_gas.bci");

}

void DisplayMenu(port_test *pMe)
{
	AECHAR text[10];
	char mp3Text[16];
	int AlarmImageOnoff;
	IDISPLAY_ClearScreen(GetActiveDisplay(pMe));
	switch(pMe->nCurMenu)
	{
	case 0:
		IIMAGE_DrawFrame(pMe->mainImage, pMe->nCurItem, 0, 0);
		SNPRINTF(mp3Text, sizeof(mp3Text), "./mp3/men%d%d.mp3", 0, pMe->nCurItem+1);
		ISOUNDPLAYER_Stop(pMe->Menu[pMe->nCurItem]);
		ISOUNDPLAYER_Set(pMe->Menu[pMe->nCurItem],SDT_FILE,mp3Text);
		ISOUNDPLAYER_Play(pMe->Menu[pMe->nCurItem]);
		break;
	case 1:
		IIMAGE_DrawFrame(pMe->doorlockImage, 0, 0, 0);
		IIMAGE_SetParm(pMe->doorlockIconImage,IPARM_ROP,AEE_RO_TRANSPARENT,0);
		IIMAGE_DrawFrame(pMe->doorlockIconImage, pMe->nDoorLockItem[0][0],  5, 40);
		break;
	case 2:

		IIMAGE_DrawFrame(pMe->ledImage, 0, 0, 0);

		IIMAGE_SetParm(pMe->ICon[0],IPARM_ROP,AEE_RO_TRANSPARENT,0);
		IIMAGE_SetParm(pMe->ICon[1],IPARM_ROP,AEE_RO_TRANSPARENT,0);
		IIMAGE_SetParm(pMe->ICon[2],IPARM_ROP,AEE_RO_TRANSPARENT,0);
		IIMAGE_SetParm(pMe->ICon[3],IPARM_ROP,AEE_RO_TRANSPARENT,0);
		IIMAGE_SetParm(pMe->ICon[4],IPARM_ROP,AEE_RO_TRANSPARENT,0);
		IIMAGE_SetParm(pMe->ICon[5],IPARM_ROP,AEE_RO_TRANSPARENT,0);

		IIMAGE_DrawFrame(pMe->ICon[0], pMe->nLedItem[0][0],  5, 40);
		IIMAGE_DrawFrame(pMe->ICon[1], pMe->nLedItem[1][0], 80, 40);	
		IIMAGE_DrawFrame(pMe->ICon[2], pMe->nLedItem[2][0], 155, 40);	
		IIMAGE_DrawFrame(pMe->ICon[3], pMe->nLedItem[3][0], 5, 145);	
		IIMAGE_DrawFrame(pMe->ICon[4], pMe->nLedItem[4][0], 80, 145);	
		IIMAGE_DrawFrame(pMe->ICon[5], pMe->nLedItem[5][0], 155, 145);
		break;
	case 3:
		IIMAGE_DrawFrame(pMe->powerImage, 0, 0, 0);

		IIMAGE_SetParm(pMe->ICon[0],IPARM_ROP,AEE_RO_TRANSPARENT,0);
		IIMAGE_SetParm(pMe->ICon[1],IPARM_ROP,AEE_RO_TRANSPARENT,0);
		IIMAGE_SetParm(pMe->ICon[2],IPARM_ROP,AEE_RO_TRANSPARENT,0);
		IIMAGE_SetParm(pMe->ICon[3],IPARM_ROP,AEE_RO_TRANSPARENT,0);
		IIMAGE_SetParm(pMe->ICon[4],IPARM_ROP,AEE_RO_TRANSPARENT,0);
		IIMAGE_SetParm(pMe->ICon[5],IPARM_ROP,AEE_RO_TRANSPARENT,0);

		IIMAGE_DrawFrame(pMe->ICon[0], pMe->nPowerItem[0][0]+2,  5, 40);
		IIMAGE_DrawFrame(pMe->ICon[1], pMe->nPowerItem[1][0]+2, 80, 40);	
		IIMAGE_DrawFrame(pMe->ICon[2], pMe->nPowerItem[2][0]+2, 155, 40);	
		IIMAGE_DrawFrame(pMe->ICon[3], pMe->nPowerItem[3][0]+2, 5, 145);	
		IIMAGE_DrawFrame(pMe->ICon[4], pMe->nPowerItem[4][0]+2, 80, 145);	
		IIMAGE_DrawFrame(pMe->ICon[5], pMe->nPowerItem[5][0]+2, 155, 145);
		break;
	case 4:
		IIMAGE_DrawFrame(pMe->cutainImage, 0, 0, 0);
		IIMAGE_SetParm(pMe->cutainIconImage,IPARM_ROP,AEE_RO_TRANSPARENT,0);
		IIMAGE_DrawFrame(pMe->cutainIconImage, pMe->nCurtainItem[0][0],  5, 40);
		break;
	case 5:
		IIMAGE_DrawFrame(pMe->gasImage, 0, 0, 0);
		IIMAGE_SetParm(pMe->gasIconImage,IPARM_ROP,AEE_RO_TRANSPARENT,0);
		IIMAGE_DrawFrame(pMe->gasIconImage, pMe->nGasItem[0][0],  5, 40);
		break;
	case 6:
		IIMAGE_DrawFrame(pMe->safeImage, 0, 0, 0);

		IIMAGE_SetParm(pMe->safeIconImage[0],IPARM_ROP,AEE_RO_TRANSPARENT,0);
		IIMAGE_SetParm(pMe->safeIconImage[1],IPARM_ROP,AEE_RO_TRANSPARENT,0);
		IIMAGE_SetParm(pMe->safeIconImage[2],IPARM_ROP,AEE_RO_TRANSPARENT,0);

		IIMAGE_DrawFrame(pMe->safeIconImage[0], pMe->nSafeItem[0][0],  5, 40);
		IIMAGE_DrawFrame(pMe->safeIconImage[1], pMe->nSafeItem[1][0], 80, 40);	
		IIMAGE_DrawFrame(pMe->safeIconImage[2], pMe->nSafeItem[2][0], 155, 40);	
		break;
	case 7:
		IIMAGE_DrawFrame(pMe->modeImage, 0, 0, 0);

		IIMAGE_SetParm(pMe->modeIconImage[0],IPARM_ROP,AEE_RO_TRANSPARENT,0);
		IIMAGE_SetParm(pMe->modeIconImage[1],IPARM_ROP,AEE_RO_TRANSPARENT,0);
		IIMAGE_SetParm(pMe->modeIconImage[2],IPARM_ROP,AEE_RO_TRANSPARENT,0);
		IIMAGE_SetParm(pMe->modeIconImage[3],IPARM_ROP,AEE_RO_TRANSPARENT,0);

		IIMAGE_DrawFrame(pMe->modeIconImage[0], pMe->nModeItem[0][0],  5, 40);
		IIMAGE_DrawFrame(pMe->modeIconImage[1], pMe->nModeItem[1][0], 80, 40);
		IIMAGE_DrawFrame(pMe->modeIconImage[2], pMe->nModeItem[2][0], 155, 40);
		IIMAGE_DrawFrame(pMe->modeIconImage[3], pMe->nModeItem[3][0], 5, 145);


		break;
	case 8:
		_D("====AlarmKeyButtonIndex===== %d", pMe->nAlarmKeyIndex);
		IIMAGE_DrawFrame(pMe->alarmBackImage, 0, 0, 0);

		IIMAGE_SetParm(pMe->ICon[0],IPARM_ROP,AEE_RO_TRANSPARENT,0);
		IIMAGE_SetParm(pMe->ICon[1],IPARM_ROP,AEE_RO_TRANSPARENT,0);
		IIMAGE_SetParm(pMe->ICon[2],IPARM_ROP,AEE_RO_TRANSPARENT,0);
		IIMAGE_SetParm(pMe->ICon[3],IPARM_ROP,AEE_RO_TRANSPARENT,0);
		IIMAGE_SetParm(pMe->ICon[4],IPARM_ROP,AEE_RO_TRANSPARENT,0);
		IIMAGE_SetParm(pMe->ICon[5],IPARM_ROP,AEE_RO_TRANSPARENT,0);
		
		AlarmImageOnoff = (pMe->Buf[4]==0?pMe->nAlarmItem[0][0]:pMe->nAlarmItem[0][0]+1); 
		IIMAGE_DrawFrame(pMe->ICon[0], AlarmImageOnoff+4, 5, 40);
		
		AlarmImageOnoff = (pMe->Buf[8]==0?pMe->nAlarmItem[1][0]:pMe->nAlarmItem[1][0]+1); 
		IIMAGE_DrawFrame(pMe->ICon[1], AlarmImageOnoff+4, 80, 40);	
		
		AlarmImageOnoff = (pMe->Buf[12]==0?pMe->nAlarmItem[2][0]:pMe->nAlarmItem[2][0]+1); 
		IIMAGE_DrawFrame(pMe->ICon[2], AlarmImageOnoff+4, 155, 40);	
		
		AlarmImageOnoff = (pMe->Buf[16]==0?pMe->nAlarmItem[3][0]:pMe->nAlarmItem[3][0]+1); 
		IIMAGE_DrawFrame(pMe->ICon[3], AlarmImageOnoff+4, 5, 145);	
		
		AlarmImageOnoff = (pMe->Buf[20]==0?pMe->nAlarmItem[4][0]:pMe->nAlarmItem[4][0]+1); 
		IIMAGE_DrawFrame(pMe->ICon[4], AlarmImageOnoff+4, 80, 145);	
		
		AlarmImageOnoff = (pMe->Buf[24]==0?pMe->nAlarmItem[5][0]:pMe->nAlarmItem[5][0]+1); 
		IIMAGE_DrawFrame(pMe->ICon[5], AlarmImageOnoff+4, 155, 145);
		break;
	case 9:
		IIMAGE_DrawFrame(pMe->setImage, 0, 0, 0);
		break;
	case 20: //舅恩 辑宏皋春
		//	pMe->Buf[selectIndex+0] = selectObj;
		//	pMe->Buf[selectIndex+1] = (selectFlag<<4) | selectCmd;
		//	pMe->Buf[selectIndex+2] = selectHour;
		//	pMe->Buf[selectIndex+3] = selectMin;
		//	boolean nAlarmOnOff;
		//	boolean nAlarmOKCancel;
		IIMAGE_DrawFrame(pMe->alarmSubImage, pMe->nAlarmSetIndex, 0, 0);
		
		if(pMe->Buf[pMe->nAlarmKeyIndex*4] != 0)
		{
			pMe->nAlarmSetHour = pMe->Buf[pMe->nAlarmKeyIndex*4+2];
			pMe->nAlarmSetMin = pMe->Buf[pMe->nAlarmKeyIndex*4+3];
			pMe->nAlarmSetObj = getContent(pMe->Buf[pMe->nAlarmKeyIndex*4]);
			pMe->nAlarmSetCmd = pMe->Buf[pMe->nAlarmKeyIndex*4+1] & 0x0f;
			if (pMe->nAlarmSetCmd == 5 || pMe->nAlarmSetCmd == 7)
			{
				pMe->nAlarmOnOff = TRUE;
			}else{
				pMe->nAlarmOnOff = FALSE;
			}
			
			pMe->nAlarmOKCancel = TRUE;
			
			pMe->Buf[pMe->nAlarmKeyIndex*4] = 0;
			pMe->Buf[pMe->nAlarmKeyIndex*4+1] = 0;
			pMe->Buf[pMe->nAlarmKeyIndex*4+2] = 0;
			pMe->Buf[pMe->nAlarmKeyIndex*4+3] = 0;
			_D("alarm value test... %d, %d, %d ", pMe->Buf[pMe->nAlarmKeyIndex*4],pMe->Buf[pMe->nAlarmKeyIndex*4+1],pMe->Buf[pMe->nAlarmKeyIndex*4+2]);

		}
		WSPRINTF(text,sizeof(text), L"%d", pMe->nAlarmSetHour);
		IDISPLAY_DrawText(GetActiveDisplay(pMe), AEE_FONT_NORMAL, text, -1, pMe->nAlarmGetPosition[0][0], pMe->nAlarmGetPosition[0][1], 0, IDF_TEXT_TRANSPARENT);
		WSPRINTF(text,sizeof(text), L"%d", pMe->nAlarmSetMin);
		IDISPLAY_DrawText(GetActiveDisplay(pMe), AEE_FONT_NORMAL, text, -1, pMe->nAlarmGetPosition[1][0], pMe->nAlarmGetPosition[1][1], 0, IDF_TEXT_TRANSPARENT);
		WSPRINTF(text,sizeof(text), L"%d", pMe->nAlarmSetObj);
		IDISPLAY_DrawText(GetActiveDisplay(pMe), AEE_FONT_NORMAL, text, -1, pMe->nAlarmGetPosition[2][0], pMe->nAlarmGetPosition[2][1], 0, IDF_TEXT_TRANSPARENT);
		if (pMe->nAlarmOnOff == TRUE)
		{
			IDISPLAY_DrawText(GetActiveDisplay(pMe), AEE_FONT_NORMAL, L" On", -1, pMe->nAlarmGetPosition[3][0], pMe->nAlarmGetPosition[3][1], 0, IDF_TEXT_TRANSPARENT);
		}else
		{
			IDISPLAY_DrawText(GetActiveDisplay(pMe), AEE_FONT_NORMAL, L"Off", -1, pMe->nAlarmGetPosition[3][0], pMe->nAlarmGetPosition[3][1], 0, IDF_TEXT_TRANSPARENT);
		}
		
		if( pMe->nAlarmOKCancel == TRUE)
		{
			IDISPLAY_DrawText(GetActiveDisplay(pMe), AEE_FONT_NORMAL, L"  OK", -1, pMe->nAlarmGetPosition[4][0], pMe->nAlarmGetPosition[4][1], 0, IDF_TEXT_TRANSPARENT);
		}else{
			IDISPLAY_DrawText(GetActiveDisplay(pMe), AEE_FONT_NORMAL, L"Cancel", -1, pMe->nAlarmGetPosition[4][0], pMe->nAlarmGetPosition[4][1], 0, IDF_TEXT_TRANSPARENT);
		}
		break;
	}
	IDISPLAY_Update(GetActiveDisplay(pMe));
}

int getContent(int AlarmObj) // Contants CHAR Type -> Int Type
{
	switch(AlarmObj)
	{
		case DOORLOCK:
			return 1;
		case TOILET_LIGHT:
			return 2;
		case LIVING_ROOM_FIRST_LIGHT:
			return 3;
		case LIVING_ROOM_SECOND_LIGHT:
			return 4;
		case ROOM_FIRST_LIGHT:
			return 5;
		case ROOM_SECOND_LIGHT:
			return 6;
		case TV_POWER:
			return 7;
		case REFRIGERATOR_POWER:
			return 8;
		case VENTILATION_FAN_POWER:
			return 9;
		case AIR_CONDITIONER_POWER:
			return 10;
		case ROOM_FIRST_POWER:
			return 11;
		case ROOM_SECOND_POWER:
			return 12;
		case CURTAIN:
			return 13;
		case GASS_BREAKER:
			return 14;
	}
}

char getSettingContent(int AlarmObj) // Int Type -> Contants CHAR Type 
{
	switch(AlarmObj)
	{
		case 1:
			return DOORLOCK;
		case 2:
			return TOILET_LIGHT;
		case 3:
			return LIVING_ROOM_FIRST_LIGHT;
		case 4:
			return LIVING_ROOM_SECOND_LIGHT;
		case 5:
			return ROOM_FIRST_LIGHT;
		case 6:
			return ROOM_SECOND_LIGHT;
		case 7:
			return TV_POWER;
		case 8:
			return REFRIGERATOR_POWER;
		case 9:
			return VENTILATION_FAN_POWER;
		case 10:
			return AIR_CONDITIONER_POWER;
		case 11:
			return ROOM_FIRST_POWER;
		case 12:
			return ROOM_SECOND_POWER;
		case 13:
			return CURTAIN;
		case 14:
			return GASS_BREAKER;
	}
}

static void TimerCallback(port_test *pMe)
{
	DisplayInit(pMe); //捞固瘤 按眉 肺爹
	if(pMe->loadingImage != NULL)
	{
		IIMAGE_Stop(pMe->loadingImage);
	}
	pMe->nCurMenu = 0;
	DisplayMenu(pMe); //捞固瘤 ぁぁ
	ISHELL_CancelTimer(GetActiveShell(pMe),(PFNNOTIFY)TimerCallback, pMe);
}

static void OnRead(port_test * pMe)
{
	int32 dwRead;
	char buf[100];
	char * mainText;
	int i;
	dwRead = IPORT_Read(pMe->pPort, buf, sizeof(buf));

	if (dwRead > 0)
	{
		//_D("==============found================== : %s", buf);
		if(buf[7] == WINDOW_OPEN_DETECTION)
		{
			if(pMe->nSafeItem[1][0] == 1)
			{
				IIMAGE_SetParm(pMe->errorImage1,IPARM_ROP,AEE_RO_TRANSPARENT,0);
				IIMAGE_DrawFrame(pMe->errorImage1,0, 50, 50);
				IDISPLAY_Update(GetActiveDisplay(pMe));
				mainText = "./mp3/windowdetect.mp3";
				
				for(i = 1 ; i<= 6 ; i++)
				{
					if(pMe->nLedItem[i][0] == 0){
						pMe->nLedItem[i][0] = 1;
						SetAction(pMe, pMe->nLedItem[i][1], RELAY, ON1, FALSE);
						Sleep(10000);
					}
				}
				ISOUNDPLAYER_Stop(pMe->pSP);
				ISOUNDPLAYER_Set(pMe->pSP,SDT_FILE,mainText);
				ISOUNDPLAYER_Play(pMe->pSP);
			}

			_D("====WINDOW_OPEN!!!!!!!!=====");
		}else if(buf[7]==MOVING_DETECTION)
		{
			if(pMe->nSafeItem[0][0] == 1)
			{
				IIMAGE_SetParm(pMe->errorImage2,IPARM_ROP,AEE_RO_TRANSPARENT,0);
				IIMAGE_DrawFrame(pMe->errorImage2,0, 50, 80);
				IDISPLAY_Update(GetActiveDisplay(pMe));
				mainText = "./mp3/motiondetect.mp3";
				
				for(i = 1 ; i<= 6 ; i++)
				{
					if(pMe->nLedItem[i][0] = 0){
						pMe->nLedItem[i][0] = 1;
						SetAction(pMe, pMe->nLedItem[i][1], RELAY, ON1, FALSE);
						Sleep(10000);
					}
				}
				ISOUNDPLAYER_Stop(pMe->pSP);
				ISOUNDPLAYER_Set(pMe->pSP,SDT_FILE,mainText);
				ISOUNDPLAYER_Play(pMe->pSP);
			}
			_D("====MOVING_OPEN!!!!!!!!=====");
		}else if(buf[7]==GASS_DETECTION)
		{
			if(pMe->nSafeItem[2][0] == 1)
			{
				IIMAGE_SetParm(pMe->errorImage3,IPARM_ROP,AEE_RO_TRANSPARENT,0);
				IIMAGE_DrawFrame(pMe->errorImage3,0, 50, 110);
				IDISPLAY_Update(GetActiveDisplay(pMe));

				if (pMe->nGasItem[0][0]==1){
					SetAction(pMe, pMe->nGasItem[0][1], CLOSE, CLOSE, FALSE);
					pMe->nGasItem[0][0]=0;
				}
				if(pMe->nPowerItem[2][0] ==0){
					SetAction(pMe, pMe->nPowerItem[2][1], RELAY, ON1, FALSE);
					pMe->nPowerItem[2][0]=1;
				}
				mainText = "./mp3/gasdetect.mp3";
				ISOUNDPLAYER_Stop(pMe->pSP);
				ISOUNDPLAYER_Set(pMe->pSP,SDT_FILE,mainText);
				ISOUNDPLAYER_Play(pMe->pSP);
			}
			_D("====GASS_OPEN!!!!!!!!=====");
		}
	}
	
	IPORT_Readable(pMe->pPort, &pMe->cbReadable);
}



static void TimerSetAction(void * pParam) //舅恩 
{
	int hour1, min1;
	port_test * pMe = (port_test *)pParam;
	char mode,flag,cmd;
	int index;
	_D("TimerSetAction");


	pMe->alarmImage = ISHELL_LoadImage(GetActiveShell(pMe), "./res/alarm_clock.bci");
	IIMAGE_DrawFrame(pMe->alarmImage, 0, 0, 0);
	IDISPLAY_Update(GetActiveDisplay(pMe));

	index =	pMe->FlagProgramStart*4;
	if(pMe->Buf[index] > 0x00)
	{

		mode = pMe->Buf[index];
		flag = pMe->Buf[index+1]>>4;
		cmd = pMe->Buf[index+1] & 0x0f;
		hour1 = pMe->Buf[index+2];
		min1 = pMe->Buf[index+3];

		if(getContent(mode)>=2 && getContent(mode)<=6)
			pMe->nLedItem[getContent(mode)-1][0] = 6-cmd;
	
		if(getContent(mode)>=7 && getContent(mode)<=12)
			pMe->nPowerItem[getContent(mode)-7][0] = 6-cmd;

		if(getContent(mode)==13)
			pMe->nCurtainItem[0][0] = 6-cmd;

		if(getContent(mode)==14)
			pMe->nGasItem[0][0] = 8-cmd;

		SetAction(pMe, mode, flag, cmd, TRUE);
		_D("....hour and min %d, %d %d", hour1, min1, index/4);
		AlarmSetAction(pMe, hour1, min1, mode, flag, cmd, index/4);
		pMe->FlagProgramStart = 0;

⌨️ 快捷键说明

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