LCD - Liquid Crystal Display

Description

Liquid Crystal Display (LCD) Peripheral API.

This module contains functions to control the LDC peripheral of Silicon Labs 32-bit MCUs and SoCs. The LCD driver can drive up to 8x36 segmented LCD directly. The animation feature makes it possible to have active animations without the CPU intervention.

Data Structures

struct  LCD_AnimInit_TypeDef
 LCD Animation Configuration.
 
struct  LCD_FrameCountInit_TypeDef
 LCD Frame Control Initialization.
 
struct  LCD_Init_TypeDef
 LCD Controller Initialization structure.
 

Functions

void LCD_Init (const LCD_Init_TypeDef *lcdInit)
 Initialize the Liquid Crystal Display (LCD) controller.
 
void LCD_UpdateCtrl (LCD_UpdateCtrl_TypeDef ud)
 Configure Update Control.
 
void LCD_FrameCountInit (const LCD_FrameCountInit_TypeDef *fcInit)
 Initialize the LCD Frame Counter.
 
void LCD_AnimInit (const LCD_AnimInit_TypeDef *animInit)
 Configure the LCD controller Animation feature.
 
void LCD_SegmentEnable (uint32_t seg_nbr, bool enable)
 Enables a given LCD segment line.
 
void LCD_ComEnable (uint8_t com, bool enable)
 Enables a given LCD COM line.
 
void LCD_DmaModeSet (LCD_DmaMode_Typedef mode)
 Set a given DMA mode operation.
 
void LCD_SegmentSet (int com, int bit, bool enable)
 Turn on or clear a segment.
 
void LCD_SegmentSetLow (int com, uint32_t mask, uint32_t bits)
 Update 0-31 lowest segments on a given COM-line in one operation according to the bit mask.
 
void LCD_ContrastSet (int level)
 Configure the contrast level on the LCD panel.
 
void LCD_BiasSet (LCD_Bias_TypeDef bias)
 Configure the bias level on the LCD panel.
 
void LCD_BiasSegmentSet (int segmentLine, int biasLevel)
 Configure the bias level for a specific segment line for Direct Segment Control.
 
void LCD_BiasComSet (int comLine, int biasLevel)
 Configure the bias level for a specific segment line.
 
void LCD_ModeSet (LCD_Mode_Typedef mode)
 Configure the mode for the LCD panel.
 
void LCD_ChargeRedistributionCyclesSet (uint8_t cycles)
 Configure the charge redistribution cycles for the LCD panel.
 
void LCD_LoadBusyWait (void)
 Wait for load synchronization completion.
 
void LCD_ReadyWait (void)
 Wait for the LCD to complete resetting or disabling procedure.
 
void LCD_Enable (bool enable)
 Enable or disable LCD controller.
 
void LCD_Reset (void)
 Reset the LCD.
 
void LCD_AnimEnable (bool enable)
 Enable or disable LCD Animation feature.
 
void LCD_BlinkEnable (bool enable)
 Enable or disable the LCD blink.
 
void LCD_BlankEnable (bool enable)
 Disable all segments while keeping segment state.
 
void LCD_FrameCountEnable (bool enable)
 Enable or disable LCD Frame counter.
 
void LCD_DisplayCountEnable (bool enable)
 Enable or disable the LCD Display counter.
 
int LCD_AnimState (void)
 Return the current animation state.
 
int LCD_BlinkState (void)
 Return the current blink state.
 
void LCD_SyncStart (bool autoload, LCD_LoadAddr_TypeDef load_addr)
 Start the synchronization process.
 
void LCD_SyncStop (bool autoload)
 Stop the synchronization process.
 
uint32_t LCD_IntGet (void)
 Get pending LCD interrupt flags.
 
uint32_t LCD_IntGetEnabled (void)
 Get enabled and pending LCD interrupt flags.
 
void LCD_IntSet (uint32_t flags)
 Set one or more pending LCD interrupts from SW.
 
void LCD_IntEnable (uint32_t flags)
 Enable LCD interrupts.
 
void LCD_IntDisable (uint32_t flags)
 Disable LCD interrupts.
 
void LCD_IntClear (uint32_t flags)
 Clear one or more interrupt flags.
 
void LCD_DSCEnable (bool enable)
 Enable or disable LCD Direct Segment Control.
 

Macros

#define LCD_DEFAULT_CLOCK_PRESCALER   64
 Default Clock Prescaler.
 
#define LCD_DEFAULT_FRAME_RATE_DIV   4
 Default LCD Frame Rate Divisor.
 
#define LCD_DEFAULT_CONTRAST   15
 Default LCD Contrast.
 
#define LCD_COM_LINES_MAX   4
 Maximum common lines of LCD.
 
#define LCD_SEGMENT_LINES_MAX   20
 Maximum segment lines of LCD.
 
#define LCD_INIT_DEFAULT
 Default configuration for LCD initialization structure, enables 160 segments.
 
#define LCD_FRAME_COUNTER_VAL_MAX   64
 Frame counter uses a maximum of 5 bits (FCTOP[5:0]).
 

Enumerations

enum  LCD_Mux_TypeDef {
  lcdMuxStatic = LCD_DISPCTRL_MUX_STATIC,
  lcdMuxDuplex = LCD_DISPCTRL_MUX_DUPLEX,
  lcdMuxTriplex = LCD_DISPCTRL_MUX_TRIPLEX,
  lcdMuxQuadruplex = LCD_DISPCTRL_MUX_QUADRUPLEX
}
 MUX setting.
 
enum  LCD_Wave_TypeDef {
  lcdWaveLowPower = LCD_DISPCTRL_WAVE_TYPEB,
  lcdWaveNormal = LCD_DISPCTRL_WAVE_TYPEA
}
 Wave type.
 
enum  LCD_Bias_TypeDef {
  lcdBiasStatic = LCD_DISPCTRL_BIAS_STATIC,
  lcdBiasOneHalf = LCD_DISPCTRL_BIAS_ONEHALF,
  lcdBiasOneThird = LCD_DISPCTRL_BIAS_ONETHIRD,
  lcdBiasOneFourth = LCD_DISPCTRL_BIAS_ONEFOURTH
}
 Bias setting.
 
enum  LCD_Mode_Typedef {
  lcdModeStepDown = LCD_BIASCTRL_MODE_STEPDOWN,
  lcdModeChargePump = LCD_BIASCTRL_MODE_CHARGEPUMP
}
 Contrast Configuration.
 
enum  LCD_FCPreScale_TypeDef {
  lcdFCPrescDiv1 = LCD_BACFG_FCPRESC_DIV1,
  lcdFCPrescDiv2 = LCD_BACFG_FCPRESC_DIV2,
  lcdFCPrescDiv4 = LCD_BACFG_FCPRESC_DIV4,
  lcdFCPrescDiv8 = LCD_BACFG_FCPRESC_DIV8
}
 Frame Counter Clock Prescaler, FC-CLK = FrameRate (Hz) / this factor.
 
enum  LCD_UpdateCtrl_TypeDef {
  lcdUpdateCtrlRegular = LCD_CTRL_UDCTRL_REGULAR,
  lcdUpdateCtrlFCEvent = LCD_CTRL_UDCTRL_FCEVENT,
  lcdUpdateCtrlFrameStart = LCD_CTRL_UDCTRL_FRAMESTART,
  lcdUpdateCtrlDisplayEvent = LCD_CTRL_UDCTRL_DISPLAYEVENT
}
 Update Data Control.
 
enum  LCD_LoadAddr_TypeDef {
  lcdLoadAddrNone = 0,
  lcdLoadAddrBactrl = LCD_UPDATECTRL_LOADADDR_BACTRLWR,
  lcdLoadAddrAregA = LCD_UPDATECTRL_LOADADDR_AREGAWR,
  lcdLoadAddrAregB = LCD_UPDATECTRL_LOADADDR_AREGBWR,
  lcdLoadAddrSegd0 = LCD_UPDATECTRL_LOADADDR_SEGD0WR,
  lcdLoadAddrSegd1 = LCD_UPDATECTRL_LOADADDR_SEGD1WR,
  lcdLoadAddrSegd2 = LCD_UPDATECTRL_LOADADDR_SEGD2WR,
  lcdLoadAddrSegd3 = LCD_UPDATECTRL_LOADADDR_SEGD3WR
}
 Auto Load address which will start the synchronization from CLK_BUS to CLK_PER.
 
enum  LCD_AnimShift_TypeDef {
  lcdAnimShiftNone = _LCD_BACTRL_AREGASC_NOSHIFT,
  lcdAnimShiftLeft = _LCD_BACTRL_AREGASC_SHIFTLEFT,
  lcdAnimShiftRight = _LCD_BACTRL_AREGASC_SHIFTRIGHT
}
 Animation Shift operation; none, left or right.
 
enum  LCD_AnimLogic_TypeDef {
  lcdAnimLogicAnd = LCD_BACTRL_ALOGSEL_AND,
  lcdAnimLogicOr = LCD_BACTRL_ALOGSEL_OR
}
 Animation Logic Control, how AReg and BReg should be combined.
 
enum  LCD_AnimLoc_TypeDef {
  lcdAnimLocSeg0To7 = LCD_BACTRL_ALOC_SEG0TO7,
  lcdAnimLocSeg8To15 = LCD_BACTRL_ALOC_SEG8TO15
}
 Animation Location, set the LCD segments which animation applies to.
 
enum  LCD_ChargeRedistribution_TypeDef {
  lcdChargeRedistributionDisable = LCD_DISPCTRL_CHGRDST_DISABLE,
  lcdChargeRedistributionEnable = LCD_DISPCTRL_CHGRDST_ONE,
  lcdChargeRedistributionTwoCycle = LCD_DISPCTRL_CHGRDST_TWO,
  lcdChargeRedistributionThreeCycle = LCD_DISPCTRL_CHGRDST_THREE,
  lcdChargeRedistributionFourCycle = LCD_DISPCTRL_CHGRDST_FOUR
}
 Charge redistribution control.
 
enum  LCD_DmaMode_Typedef {
  lcdDmaModeDisable = LCD_BIASCTRL_DMAMODE_DMADISABLE,
  lcdDmaModeFrameCounterEvent = LCD_BIASCTRL_DMAMODE_DMAFC,
  lcdDmaModeDisplayEvent = LCD_BIASCTRL_DMAMODE_DMADISPLAY
}
 DMA mode of operation.
 

Function Documentation

◆ LCD_Init()

void LCD_Init ( const LCD_Init_TypeDef lcdInit)

Initialize the Liquid Crystal Display (LCD) controller.

Configures the LCD controller. You must enable it afterwards, potentially configuring Frame Control and interrupts first according to requirements.

Parameters
[in]lcdInitA pointer to the initialization structure which configures the LCD controller.

◆ LCD_UpdateCtrl()

void LCD_UpdateCtrl ( LCD_UpdateCtrl_TypeDef  ud)

Configure Update Control.

Parameters
[in]udConfigures the LCD update method.

◆ LCD_FrameCountInit()

void LCD_FrameCountInit ( const LCD_FrameCountInit_TypeDef fcInit)

Initialize the LCD Frame Counter.

Parameters
[in]fcInitA pointer to the Frame Counter initialization structure.

◆ LCD_AnimInit()

void LCD_AnimInit ( const LCD_AnimInit_TypeDef animInit)

Configure the LCD controller Animation feature.

Parameters
[in]animInitA pointer to the LCD Animation initialization structure.

◆ LCD_SegmentEnable()

void LCD_SegmentEnable ( uint32_t  seg_nbr,
bool  enable 
)

Enables a given LCD segment line.

Parameters
[in]seg_nbrSegment line number.
[in]enableBoolean true to enable a segment, false to disable.

◆ LCD_ComEnable()

void LCD_ComEnable ( uint8_t  com,
bool  enable 
)

Enables a given LCD COM line.

Parameters
[in]comCOM line number.
[in]enableBoolean true to enable a COM , false to disable.

◆ LCD_DmaModeSet()

void LCD_DmaModeSet ( LCD_DmaMode_Typedef  mode)

Set a given DMA mode operation.

Parameters
[in]modeDMA mode.

◆ LCD_SegmentSet()

void LCD_SegmentSet ( int  com,
int  bit,
bool  enable 
)

Turn on or clear a segment.

Note
For the Gecko Family, the maximum configuration is (COM-lines x Segment-Lines) 4x40. For the Tiny Gecko Family, the maximum configuration is 8x20 or 4x24. For the Giant Gecko Family, the maximum configuration is 8x36 or 4x40.
Parameters
[in]comA COM line to change.
[in]bitA bit index indicating which field to change.
[in]enableTrue will set segment, false will clear segment.

◆ LCD_SegmentSetLow()

void LCD_SegmentSetLow ( int  com,
uint32_t  mask,
uint32_t  bits 
)

Update 0-31 lowest segments on a given COM-line in one operation according to the bit mask.

Parameters
[in]comIndicates a COM line to update.
[in]maskA bit mask for segments 0-31.
[in]bitsA bit pattern for segments 0-31.

◆ LCD_ContrastSet()

void LCD_ContrastSet ( int  level)

Configure the contrast level on the LCD panel.

Parameters
[in]levelThe contrast level in range 0-63.

◆ LCD_BiasSet()

void LCD_BiasSet ( LCD_Bias_TypeDef  bias)

Configure the bias level on the LCD panel.

Parameters
[in]biasThe bias level.

◆ LCD_BiasSegmentSet()

void LCD_BiasSegmentSet ( int  segmentLine,
int  biasLevel 
)

Configure the bias level for a specific segment line for Direct Segment Control.

Note
When DSC is active, each configuration takes up 4 bits in the corresponding Segment Registers (SEGD0L/SEGD1H for Series 0 and 1, SEGDx for Series 2) which defines the bias level. For optimal use of this feature, the entire SEGD-registers should be set at once in an optimized routine. Therefore, this function shows how to correctly configure the bias levels and should be used with care.
Parameters
[in]segmentLineA segment line number.
[in]biasLevelThe bias configuration level. This value must be within the constraints defined by the LCD_DISPCTRL bias settings. For more information, see the applicable Reference Manual and data sheet.

◆ LCD_BiasComSet()

void LCD_BiasComSet ( int  comLine,
int  biasLevel 
)

Configure the bias level for a specific segment line.

Note
When DSC is active, each configuration takes up 4 bits in the corresponding Segment Registers (SEGD4L/SEGD4H for Series 0 and 1, AREGA/AREGB for Series 2) which defines bias level. For optimal use of this feature, the entire register set should be set at once in a optimized routine. Therefore, this function shows how to correctly configure the bias levels and should be used with care.
Parameters
[in]comLineA COM line number, between 0 and 7 for Series 0 and 1. For Series 2, max is LCD_COM_NUM, defined in device-specific headers.
[in]biasLevelThe bias configuration level. This value must be within the constraints defined by the LCD_DISPCTRL bias settings. For more information, see the appropriate Reference Manual and data sheet.

◆ LCD_ModeSet()

void LCD_ModeSet ( LCD_Mode_Typedef  mode)

Configure the mode for the LCD panel.

Parameters
[in]modeA mode.

◆ LCD_ChargeRedistributionCyclesSet()

void LCD_ChargeRedistributionCyclesSet ( uint8_t  cycles)

Configure the charge redistribution cycles for the LCD panel.

Parameters
[in]cyclesCharge redistribution cycles, range 0-4.

◆ LCD_LoadBusyWait()

void LCD_LoadBusyWait ( void  )
inline

Wait for load synchronization completion.

Note
Doing any writes to HV registers will not go through and will cause a bus fault.

◆ LCD_ReadyWait()

void LCD_ReadyWait ( void  )
inline

Wait for the LCD to complete resetting or disabling procedure.

◆ LCD_Enable()

void LCD_Enable ( bool  enable)
inline

Enable or disable LCD controller.

Parameters
[in]enableIf true, enables LCD controller with current configuration. If false, disables LCD controller. Enable CMU clock for LCD for correct operation.

◆ LCD_Reset()

void LCD_Reset ( void  )
inline

Reset the LCD.

◆ LCD_AnimEnable()

void LCD_AnimEnable ( bool  enable)
inline

Enable or disable LCD Animation feature.

Parameters
[in]enableBoolean true enables animation, false disables animation.

◆ LCD_BlinkEnable()

void LCD_BlinkEnable ( bool  enable)
inline

Enable or disable the LCD blink.

Parameters
[in]enableBoolean true enables blink, false disables blink.

◆ LCD_BlankEnable()

void LCD_BlankEnable ( bool  enable)
inline

Disable all segments while keeping segment state.

Parameters
[in]enableBoolean true clears all segments, boolean false restores all segment lines.

◆ LCD_FrameCountEnable()

void LCD_FrameCountEnable ( bool  enable)
inline

Enable or disable LCD Frame counter.

Parameters
[in]enableBoolean true enables frame counter, false disables frame counter.

◆ LCD_DisplayCountEnable()

void LCD_DisplayCountEnable ( bool  enable)
inline

Enable or disable the LCD Display counter.

Parameters
[in]enableBoolean true enables display counter, false disables display counter.

◆ LCD_AnimState()

int LCD_AnimState ( void  )
inline

Return the current animation state.

Returns
Animation state, in range 0-15.

◆ LCD_BlinkState()

int LCD_BlinkState ( void  )
inline

Return the current blink state.

Returns
Return value is 1 if segments are enabled, 0 if disabled.

◆ LCD_SyncStart()

void LCD_SyncStart ( bool  autoload,
LCD_LoadAddr_TypeDef  load_addr 
)
inline

Start the synchronization process.

Parameters
[in]autoloadFlag indicating if the synchronization is started manually with CMD.LOAD (false) or if the synchronization is managed automatically by Auto Load (true).
[in]load_addrAddress which will start the synchronization from CLK_BUS to CLK_PER when Auto Load is selected. This argument has no effect if 'autoload' is false.

◆ LCD_SyncStop()

void LCD_SyncStop ( bool  autoload)
inline

Stop the synchronization process.

Parameters
[in]autoloadFlag indicating if the synchronization is stopped manually with CMD.CLEAR (false) or if the synchronization managed by Auto Load is disabled (true).

◆ LCD_IntGet()

uint32_t LCD_IntGet ( void  )
inline

Get pending LCD interrupt flags.

Returns
Pending LCD interrupt sources. Returns a set of interrupt flags OR-ed together for multiple interrupt sources in the LCD module (LCD_IFS_nnn).

◆ LCD_IntGetEnabled()

uint32_t LCD_IntGetEnabled ( void  )
inline

Get enabled and pending LCD interrupt flags.

Useful for handling more interrupt sources in the same interrupt handler.

Note
Event bits are not cleared by the use of this function.
Returns
Pending and enabled LCD interrupt sources. Return value is the bitwise AND combination of
  • the OR combination of enabled interrupt sources in LCD_IEN_nnn register (LCD_IEN_nnn) and
  • the bitwise OR combination of valid interrupt flags of LCD module (LCD_IF_nnn).

◆ LCD_IntSet()

void LCD_IntSet ( uint32_t  flags)
inline

Set one or more pending LCD interrupts from SW.

Parameters
[in]flagsLCD interrupt sources to set to pending. Use a set of interrupt flags OR-ed together to set multiple interrupt sources for the LCD module (LCD_IFS_nnn).

◆ LCD_IntEnable()

void LCD_IntEnable ( uint32_t  flags)
inline

Enable LCD interrupts.

Parameters
[in]flagsLCD interrupt sources to enable. Use a set of interrupt flags OR-ed together to set multiple interrupt sources for LCD module (LCD_IFS_nnn).

◆ LCD_IntDisable()

void LCD_IntDisable ( uint32_t  flags)
inline

Disable LCD interrupts.

Parameters
[in]flagsLCD interrupt sources to disable. Use a set of interrupt flags OR-ed together to disable multiple interrupt sources for LCD module (LCD_IFS_nnn).

◆ LCD_IntClear()

void LCD_IntClear ( uint32_t  flags)
inline

Clear one or more interrupt flags.

Parameters
[in]flagsLCD interrupt sources to clear. Use a set of interrupt flags OR-ed together to clear multiple interrupt sources for LCD module (LCD_IFS_nnn).

◆ LCD_DSCEnable()

void LCD_DSCEnable ( bool  enable)
inline

Enable or disable LCD Direct Segment Control.

Parameters
[in]enableIf true, enables LCD controller Direct Segment Control Segment and COM line bias levels need to be set explicitly with LCD_BiasSegmentSet() and LCD_BiasComSet() function calls respectively.

Macro Definition Documentation

◆ LCD_DEFAULT_CLOCK_PRESCALER

#define LCD_DEFAULT_CLOCK_PRESCALER   64

Default Clock Prescaler.

◆ LCD_DEFAULT_FRAME_RATE_DIV

#define LCD_DEFAULT_FRAME_RATE_DIV   4

Default LCD Frame Rate Divisor.

◆ LCD_DEFAULT_CONTRAST

#define LCD_DEFAULT_CONTRAST   15

Default LCD Contrast.

◆ LCD_COM_LINES_MAX

#define LCD_COM_LINES_MAX   4

Maximum common lines of LCD.

◆ LCD_SEGMENT_LINES_MAX

#define LCD_SEGMENT_LINES_MAX   20

Maximum segment lines of LCD.

◆ LCD_INIT_DEFAULT

#define LCD_INIT_DEFAULT
Value:
{ \
true, \
lcdMuxQuadruplex, \
lcdBiasOneFourth, \
lcdWaveLowPower, \
lcdModeStepDown, \
lcdChargeRedistributionEnable, \
LCD_DEFAULT_FRAME_RATE_DIV, \
LCD_DEFAULT_CONTRAST, \
LCD_DEFAULT_CLOCK_PRESCALER \
}

Default configuration for LCD initialization structure, enables 160 segments.


◆ LCD_FRAME_COUNTER_VAL_MAX

#define LCD_FRAME_COUNTER_VAL_MAX   64

Frame counter uses a maximum of 5 bits (FCTOP[5:0]).

Enumeration Type Documentation

◆ LCD_Mux_TypeDef

MUX setting.

Enumerator
lcdMuxStatic 

Static (segments can be multiplexed with LCD_COM[0]).

lcdMuxDuplex 

Duplex / 1/2 Duty cycle (segments can be multiplexed with LCD_COM[0:1]).

lcdMuxTriplex 

Triplex / 1/3 Duty cycle (segments can be multiplexed with LCD_COM[0:2]).

lcdMuxQuadruplex 

Quadruplex / 1/4 Duty cycle (segments can be multiplexed with LCD_COM[0:3]).

◆ LCD_Wave_TypeDef

Wave type.

Enumerator
lcdWaveLowPower 

Low power optimized waveform output.

lcdWaveNormal 

Regular waveform output.

◆ LCD_Bias_TypeDef

Bias setting.

Enumerator
lcdBiasStatic 

Static (2 levels).

lcdBiasOneHalf 

1/2 Bias (3 levels).

lcdBiasOneThird 

1/3 Bias (4 levels).

lcdBiasOneFourth 

1/4 Bias (5 levels).

◆ LCD_Mode_Typedef

Contrast Configuration.

Mode of operation.

Enumerator
lcdModeStepDown 

External cap with resistor string.

lcdModeChargePump 

External cap and internal oscillator.

◆ LCD_FCPreScale_TypeDef

Frame Counter Clock Prescaler, FC-CLK = FrameRate (Hz) / this factor.

Enumerator
lcdFCPrescDiv1 

Prescale Div 1.

lcdFCPrescDiv2 

Prescale Div 2.

lcdFCPrescDiv4 

Prescale Div 4.

lcdFCPrescDiv8 

Prescale Div 8.

◆ LCD_UpdateCtrl_TypeDef

Update Data Control.

Enumerator
lcdUpdateCtrlRegular 

Regular update, data transfer done immediately.

lcdUpdateCtrlFCEvent 

Data transfer done at Frame Counter event.

lcdUpdateCtrlFrameStart 

Data transfer done at Frame Start.


lcdUpdateCtrlDisplayEvent 

Data transfer done at Display Counter event.


◆ LCD_LoadAddr_TypeDef

Auto Load address which will start the synchronization from CLK_BUS to CLK_PER.

Enumerator
lcdLoadAddrNone 

Starts synchronizing registers after a write to BACTRL.

lcdLoadAddrBactrl 

Starts synchronizing registers after a write to BACTRL.

lcdLoadAddrAregA 

Starts synchronizing registers after a write to AREGA.

lcdLoadAddrAregB 

Starts synchronizing registers after a write to AREGB.

lcdLoadAddrSegd0 

Starts synchronizing registers after a write to SEGD0.

lcdLoadAddrSegd1 

Starts synchronizing registers after a write to SEGD1.

lcdLoadAddrSegd2 

Starts synchronizing registers after a write to SEGD2.

lcdLoadAddrSegd3 

Starts synchronizing registers after a write to SEGD3.

◆ LCD_AnimShift_TypeDef

Animation Shift operation; none, left or right.

Enumerator
lcdAnimShiftNone 

No shift.

lcdAnimShiftLeft 

Shift segment bits left.

lcdAnimShiftRight 

Shift segment bits right.

◆ LCD_AnimLogic_TypeDef

Animation Logic Control, how AReg and BReg should be combined.

Enumerator
lcdAnimLogicAnd 

Use bitwise logic AND to mix animation register A (AREGA) and B (AREGB).

lcdAnimLogicOr 

Use bitwise logic OR to mix animation register A (AREGA) and B (AREGB).


◆ LCD_AnimLoc_TypeDef

Animation Location, set the LCD segments which animation applies to.

Enumerator
lcdAnimLocSeg0To7 

Animation appears on segments 0 to 7.

lcdAnimLocSeg8To15 

Animation appears on segments 8 to 15.


◆ LCD_ChargeRedistribution_TypeDef

Charge redistribution control.

Enumerator
lcdChargeRedistributionDisable 

Disable charge redistribution.

lcdChargeRedistributionEnable 

Use 1 prescaled low frequency clock cycle for charge redistribution.

lcdChargeRedistributionTwoCycle 

Use 2 prescaled low frequency clock cycle for charge redistribution.

lcdChargeRedistributionThreeCycle 

Use 3 prescaled low frequency clock cycle for charge redistribution.

lcdChargeRedistributionFourCycle 

Use 4 prescaled low frequency clock cycle for charge redistribution.

◆ LCD_DmaMode_Typedef

DMA mode of operation.

Enumerator
lcdDmaModeDisable 

No DMA requests are generated.

lcdDmaModeFrameCounterEvent 

DMA request on frame counter event.

lcdDmaModeDisplayEvent 

DMA request on display counter event.