void DispatcherTask ( void * pvParameters )
{
	struct ADispatcherMessage *pxDispatcherMessage;
	struct ALCDMessage xLCDMessage, *pxLCDMessage = & xLCDMessage;

	UB_RTC_Init ( );
	LedInit ( );

	xDispatcherQueue = xQueueCreate ( 8, sizeof ( unsigned long ) );

	while ( 1 )
	{
		SendTimeToLCD ( pxLCDMessage );

		if ( xQueueReceive ( xDispatcherQueue, & ( pxDispatcherMessage ), 250 / portTICK_RATE_MS ) )
		{
			if ( !strnicmp ( pxDispatcherMessage->Domain, "HELP", 3 ) )
			{
				PrintHelp ( );
			}
			else if ( !strnicmp ( pxDispatcherMessage->Domain, "RTC", 3 ) )
			{
				if ( !strnicmp ( pxDispatcherMessage->Command, "SET", 3 ) )
				{
					SetRTCTime ( pxDispatcherMessage->Parameter );
				}
				else if ( !strnicmp ( pxDispatcherMessage->Command, "GET", 3 ) )
				{
					GetRTCTime ( );
				};
			}
			else if ( !strnicmp ( pxDispatcherMessage->Domain, "AUDIO", 5 ) )
			{
				ForwardAudioMessage ( pxDispatcherMessage->Command, pxDispatcherMessage->Parameter );
			}
			else if ( !strnicmp ( pxDispatcherMessage->Domain, "LED", 3 ) )
			{
				if ( !strnicmp ( pxDispatcherMessage->Command, "SET", 3 ) )
				{
					LedSet ( pxDispatcherMessage->Parameter );
				}
				else if ( !strnicmp ( pxDispatcherMessage->Command, "GET", 3 ) )
				{
					LedGet ( pxDispatcherMessage->Parameter );
				};
			}
			else
			{
			};
		};
	};
};
Exemplo n.º 2
0
void CheckRTC(void)
{
	T_STRUCT time;
	if(RTCInit()==FALSE)
	{
		time.year=DEFAULT_TIME_YEAR;
		time.month=DEFAULT_TIME_MONTH;
		time.day=DEFAULT_TIME_DAY;
		time.hour=DEFAULT_TIME_HOUR;
		time.minute=DEFAULT_TIME_MINUTE;
		time.sec=DEFAULT_TIME_SECOND;
		SetRTCTime(&time);
	} 
}
Exemplo n.º 3
0
void RspButtonSetOk(u8 param)
{
	T_STRUCT time;
	if(param==WIDGET_PARAM_ENTER)
	{
		//保存时间
		time.year=GetEditTmp(&SET_TIME_WIN_EDIT_YEAR); 
		time.month=GetEditTmp(&SET_TIME_WIN_EDIT_MONTH);
		time.day=GetEditTmp(&SET_TIME_WIN_EDIT_DAY);   
		time.hour=GetEditTmp(&SET_TIME_WIN_EDIT_HOUR); 
		time.minute=GetEditTmp(&SET_TIME_WIN_EDIT_MINUTE);
		time.sec=0;
		time.date=GetDate(&time);
		SetRTCTime(&time);

		//刷新一下任务栏的时间
		SetRTCBar(&time);

		//返回MAIN_WIN
		GuiWindowDraw(&MAIN_WINDOW);
	}
}