Beispiel #1
0
///----------------------------------------------------------------------------
///	Function Break
///----------------------------------------------------------------------------
void ActivateDisplayShortDuration(uint16 secondsToDisplay)
{
	// Check if the LCD Power was turned off
	if (g_lcdPowerFlag == DISABLED)
	{
		g_lcdPowerFlag = ENABLED;
		PowerControl(LCD_POWER_ENABLE, ON);
		SoftUsecWait(LCD_ACCESS_DELAY);
		SetLcdContrast(g_contrast_value);
		InitLcdDisplay();					// Setup LCD segments and clear display buffer
		AssignSoftTimer(LCD_POWER_ON_OFF_TIMER_NUM, (secondsToDisplay * TICKS_PER_SEC), LcdPwTimerCallBack);

		// Check if the unit is monitoring, if so, reassign the monitor update timer
		if (g_sampleProcessing == ACTIVE_STATE)
		{
			debug("Keypress Timer Mgr: enabling Monitor Update Timer.\r\n");
			AssignSoftTimer(MENU_UPDATE_TIMER_NUM, ONE_SECOND_TIMEOUT, MenuUpdateTimerCallBack);
		}
	}

	// Check if the LCD Backlight was turned off
	if (g_lcdBacklightFlag == DISABLED)
	{
		g_lcdBacklightFlag = ENABLED;
		SetLcdBacklightState(BACKLIGHT_BRIGHT);
		AssignSoftTimer(LCD_BACKLIGHT_ON_OFF_TIMER_NUM, (secondsToDisplay * TICKS_PER_SEC), DisplayTimerCallBack);
	}
}
Beispiel #2
0
///----------------------------------------------------------------------------
///	Function Break
///----------------------------------------------------------------------------
void AlarmTwoOutputTimerCallback(void)
{
	// Deactivate alarm 2 signal
	PowerControl(ALARM_2_ENABLE, OFF);

	debug("Warning Event 2 Alarm finished\r\n");
}
Beispiel #3
0
///----------------------------------------------------------------------------
///	Function Break
///----------------------------------------------------------------------------
void LcdPwTimerCallBack(void)
{
	debug("LCD Power Timer callback: activated.\r\n");

	g_lcdPowerFlag = DISABLED;

	PowerControl(LCD_CONTRAST_ENABLE, OFF);
	ClearLcdDisplay();
	ClearControlLinesLcdDisplay();
	LcdClearPortReg();
	PowerControl(LCD_POWER_ENABLE, OFF);

	if (g_sampleProcessing == ACTIVE_STATE)
	{
		debug("LCD Power Timer callback: disabling Monitor Update Timer.\r\n");
		ClearSoftTimer(MENU_UPDATE_TIMER_NUM);
	}
}
Beispiel #4
0
///----------------------------------------------------------------------------
///	Function Break
///----------------------------------------------------------------------------
void SetLcdBacklightState(LCD_BACKLIGHT_STATES state)
{
	switch (state)
	{
		case BACKLIGHT_OFF:
			PowerControl(LCD_BACKLIGHT_ENABLE, OFF);
			PowerControl(LCD_BACKLIGHT_HI_ENABLE, OFF);
		break;

		case BACKLIGHT_DIM:
			if (GetPowerControlState(LCD_BACKLIGHT_ENABLE) == OFF)
			{
				PowerControl(LCD_BACKLIGHT_ENABLE, ON);
			}

			PowerControl(LCD_BACKLIGHT_HI_ENABLE, OFF);
		break;

		case BACKLIGHT_BRIGHT:
			if (GetPowerControlState(LCD_BACKLIGHT_ENABLE) == OFF)
			{
				PowerControl(LCD_BACKLIGHT_ENABLE, ON);
			}

			PowerControl(LCD_BACKLIGHT_HI_ENABLE, ON);
		break;
	}
}
Beispiel #5
0
// Main Control loop
void loop()
{
	CommandProcess();
	TaskScheduler();
	PowerControl();
   
	// ******************************************************
	//                Get data for once erery 0.1s
	// ******************************************************
	if(TMR1INTCount != RecentTimeCounter)
	{
		MainTimeMSCounter = getTickCount();

        if (pTidList[devNum]->func.pfnPeriod)
            pTidList[devNum]->func.pfnPeriod();

		RecentTimeCounter = TMR1INTCount;
	}
	
	// =============TID Master handle received data===============
	// -----------TID Master handle received data------------
	if(devNum == 0)
	{
		if(TIDMstInitFIN==0)
		{
			TIDMst_GetDev();
		}
		else if(TIDMstInitFIN==1)
		{
			TIDMstDevTRx();
		}
	}
	// ====================  SLAVE PART  ======================
	// -----------TID slave handle received data--------------
	else
	{
		if(I2CMS_SlvRxFin==1)
		TID_SlvRxUpdate();
	}
    
	// -----------Slave part excute subfunction--------------

    if (pTidList[devNum]->func.pfnPulling)
        pTidList[devNum]->func.pfnPulling();
    
	// --------------TID Slave Store data-----------------
	if(devNum != 0)
	SlvDataStore();
}
Beispiel #6
0
///----------------------------------------------------------------------------
///	Function Break
///----------------------------------------------------------------------------
void SetLcdContrast(uint8 cmd)
{
	//uint16* powerManagementPort = (uint16*)POWER_CONTROL_ADDRESS;
	uint32 i;

	// Check if lcd contrast adjustment is out of visable range
	if (cmd > DEFAULT_MAX_CONTRAST)
	{
		g_contrast_value = DEFAULT_MAX_CONTRAST;
		return;
	}

	// ADJ CTRL
	// 0	0 --> Wiper(counter) stays where is was set, -V is off
	// 0	1 --> Wiper(counter) stays where is was set, -V is on
	// 1	0 --> Wiper(counter) is reset to midpoint/mid-level/32 and -V is off
	//RE	1 --> Wiper(counter) is incremented (wraps on high boundary 64) and -V is on

	// New Board
	// ---------
	// ADJ is Power Management bit LCD_CONTRAST_ENABLE
	// CTRL is Power Management bit LCD_POWER_ENABLE
	// RE is a rising edge

	// Old Board
	// ---------
	// ADJ is reg_PORTE.reg bit 4
	// CTRL is powerManagement.bit.lcs
	// RE is a rising edge

	// see if less than half or more
	if (cmd < 32)
	{
		// less than half so run to max and then wrap
		cmd = (uint8)(cmd + 32);
	}
	else
	{
		// more than half so just add difference from half to desired position
		cmd = (uint8)(cmd - 32);
	}

	// Section to reset the Wiper(counter)
	//reg_PORTE.reg |= 0x04; // Set adjust high
	//SoftUsecWait(LCD_ACCESS_DELAY);
	//powerManagement.bit.lcdContrastEnable = OFF;
	//*powerManagementPort = powerManagement.reg; // Set ctrl low
	//SoftUsecWait(1000);
	// Enables wiper(counter) adjustment
	//powerManagement.bit.lcdContrastEnable = ON;
	//*powerManagementPort = powerManagement.reg; // Set ctrl high
	//SoftUsecWait(LCD_ACCESS_DELAY);
	//reg_PORTE.reg &= ~0x04; // Set adjust low
	//SoftUsecWait(LCD_ACCESS_DELAY);

	// Section to reset the Wiper(counter)
	PowerControl(LCD_CONTRAST_ENABLE, ON); // Set adjust high
	PowerControl(LCD_POWER_ENABLE, OFF); // Set control low
	SoftUsecWait(LCD_ACCESS_DELAY); // Delay

	// Enables wiper(counter) adjustment
	PowerControl(LCD_POWER_ENABLE, ON); // Set control high
	SoftUsecWait(LCD_ACCESS_DELAY); // Delay

	PowerControl(LCD_CONTRAST_ENABLE, OFF); // Set adjust low
	SoftUsecWait(LCD_ACCESS_DELAY); // Delay

	// Section to adjust the wiper(counter)
	for (i = 0; i < cmd; i++)
	{
		//reg_PORTE.reg |= 0x04; // Set adjust high
		//SoftUsecWait(LCD_ACCESS_DELAY);
		//reg_PORTE.reg &= ~0x04; // Set adjust low
		//SoftUsecWait(LCD_ACCESS_DELAY);
		
		PowerControl(LCD_CONTRAST_ENABLE, ON); // Set adjust high
		SoftUsecWait(LCD_ACCESS_DELAY);
		
		PowerControl(LCD_CONTRAST_ENABLE, OFF); // Set adjust low
		SoftUsecWait(LCD_ACCESS_DELAY);
	}
}
Beispiel #7
0
void codiOnNoResponse(HANDLE codi, BOOL bResetNow)
{
#ifdef EMBEDDED_LINUX
    PowerControl(TRUE);
#endif
}
Beispiel #8
0
void codiOnStartup(HANDLE codi)
{
#ifdef EMBEDDED_LINUX
    PowerControl(TRUE);
#endif
}