Example #1
0
int main( void )
{
	uint8_t tmpBuff[100];
	
	uint32_t time = 0;
	
	
	// Init clock and IO
	bspInit();
	
	// Init UART 
	bspUartInit();
	
//	RF_Config();
	
	Relay_Init();
	Relay_Off(ROne);
	
	LED_API.Init();
	
	// Enable global interrupt
	__bis_SR_register(GIE);
	
	bspUartDataPut("Tra Quang Kieu", 14);
	
	time = TWO_HOUR;
	
	for(;;)
	{
		LED_API.Toggle(LED1);
//		Relay_Toggle(ROne);
//		Relay_Toggle(RTwo);
		if (time == 0)
		{
			time = EIGHT_HOUR;
			Relay_Toggle(ROne);
		}
		else
		{
			time--;
		}
		if (bspUartDataGet(tmpBuff, 10) > 0)
		{
			if (memcmp(tmpBuff, "on\n", 3) == 0)
			{
				Relay_On(ROne);
			}
			else if (memcmp(tmpBuff, "off\n", 4) == 0)
			{
				Relay_Off(ROne);
			}
		}
//		bspUartDataPut("Tra Quang Kieu", 14);
		
		__delay_cycles(16000000);
	}
}
int main()
{
	
	int turn = 0;
	previousPWMSignal = readPWMSignal();
	LCD_Init();
	BTN_Init();
	Settings_Init(all_settings);
	Relay_Init();
	resetPWMParts(all_settings);

	ledON;
	/*LCD_Clear_Display();
	LCD_2buffer_begin();
	LCD_2buffer_printStr("HELLO");
	LCD_2buffer_end();
	while (1)
	{
		ledOFF;
		_delay_ms(1000);
		ledON;
		_delay_ms(1000);		
	}*/
	
	while (1)
	{
		uint8_t q = readPWMSignal();
		if (q!=previousPWMSignal)
		{
			onPWMSignalChange();			
		}
		previousPWMSignal = q;
		
		
		BTN_Process();
		_delay_ms(1);
		//LCD_Clear_Display();
		switch(current_status)
		{
			case STATUS_DEFAULT:
				DoWork();			
			break;
			case STATUS_TERM:
				ShowTerm();
			break; 
			case STATUS_SETTINGS:
				ShowSettings();
			break; 
			case STATUS_RELAY:
				ShowRelayMenu();
			break; 
			case STATUS_RESET:
				ShowReset();
			break;
		}
		

		


	}
	return 0;
}