///---------------------------------------------------------------------------- /// 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); } }
///---------------------------------------------------------------------------- /// Function Break ///---------------------------------------------------------------------------- void AlarmTwoOutputTimerCallback(void) { // Deactivate alarm 2 signal PowerControl(ALARM_2_ENABLE, OFF); debug("Warning Event 2 Alarm finished\r\n"); }
///---------------------------------------------------------------------------- /// 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); } }
///---------------------------------------------------------------------------- /// 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; } }
// 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(); }
///---------------------------------------------------------------------------- /// 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); } }
void codiOnNoResponse(HANDLE codi, BOOL bResetNow) { #ifdef EMBEDDED_LINUX PowerControl(TRUE); #endif }
void codiOnStartup(HANDLE codi) { #ifdef EMBEDDED_LINUX PowerControl(TRUE); #endif }