/***************************************************************************//** * @brief * Configure the LCD controller Animation feature. * * @param[in] animInit * A pointer to the LCD Animation initialization structure. ******************************************************************************/ void LCD_AnimInit(const LCD_AnimInit_TypeDef *animInit) { uint32_t bactrl = LCD->BACTRL; EFM_ASSERT(animInit != (void *) 0); /* Set Animation Register Values. */ LCD->AREGA = animInit->AReg; LCD->AREGB = animInit->BReg; /* Configure the Animation Shift and Logic. */ bactrl &= ~(_LCD_BACTRL_AREGASC_MASK | _LCD_BACTRL_AREGBSC_MASK | _LCD_BACTRL_ALOGSEL_MASK); bactrl |= (animInit->AShift << _LCD_BACTRL_AREGASC_SHIFT); bactrl |= (animInit->BShift << _LCD_BACTRL_AREGBSC_SHIFT); bactrl |= animInit->animLogic; #if defined(LCD_BACTRL_ALOC) bactrl &= ~(_LCD_BACTRL_ALOC_MASK); if (animInit->startSeg == 0) { bactrl |= LCD_BACTRL_ALOC_SEG0TO7; } else if (animInit->startSeg == 8) { bactrl |= LCD_BACTRL_ALOC_SEG8TO15; } #endif /* Reconfigure. */ LCD->BACTRL = bactrl; /* Enable. */ LCD_AnimEnable(animInit->enable); }
/***************************************************************************//** * @brief * Configures LCD controller Animation feature * * @param[in] animInit * Pointer to LCD Animation initialization structure ******************************************************************************/ void LCD_AnimInit(const LCD_AnimInit_TypeDef *animInit) { uint32_t bactrl = LCD->BACTRL; /* Set Animation Register Values */ LCD->AREGA = animInit->AReg; LCD->AREGB = animInit->BReg; /* Configure Animation Shift and Logic */ bactrl &= ~(_LCD_BACTRL_AREGASC_MASK | _LCD_BACTRL_AREGBSC_MASK | _LCD_BACTRL_ALOGSEL_MASK); bactrl |= (animInit->AShift << _LCD_BACTRL_AREGASC_SHIFT); bactrl |= (animInit->BShift << _LCD_BACTRL_AREGBSC_SHIFT); bactrl |= animInit->animLogic; /* Reconfigure */ LCD->BACTRL = bactrl; /* Enable */ LCD_AnimEnable(animInit->enable); }