Data Structures | |
struct | XMC_BCCU_CH_CONFIG_t |
struct | XMC_BCCU_DIM_CONFIG_t |
struct | XMC_BCCU_GLOBAL_CONFIG_t |
struct | XMC_BCCU_TRIG_CONFIG_t |
Typedefs | |
typedef BCCU_CH_Type | XMC_BCCU_CH_t |
typedef BCCU_DE_Type | XMC_BCCU_DIM_t |
typedef BCCU_Type | XMC_BCCU_t |
Enumerations | |
enum | XMC_BCCU_BCLK_MODE_t |
enum | XMC_BCCU_CH_ACTIVE_LEVEL_t |
enum | XMC_BCCU_CH_DIMMING_ENGINE_BYPASS_t |
enum | XMC_BCCU_CH_DIMMING_SOURCE_t |
enum | XMC_BCCU_CH_FLICKER_WD_t |
enum | XMC_BCCU_CH_GATING_FUNC_t |
enum | XMC_BCCU_CH_TRAP_EDGE_t |
enum | XMC_BCCU_CH_TRAP_IN_t |
enum | XMC_BCCU_CH_TRIG_EDGE_t |
enum | XMC_BCCU_CH_TRIGOUT_t |
enum | XMC_BCCU_DIM_CURVE_t |
enum | XMC_BCCU_EVENT_STATUS_t |
enum | XMC_BCCU_EVENT_t |
enum | XMC_BCCU_STATUS_t |
enum | XMC_BCCU_SUSPEND_MODE_t |
enum | XMC_BCCU_TRAP_LEVEL_t |
enum | XMC_BCCU_TRAP_STATUS_t |
enum | XMC_BCCU_TRAPEDGE_t |
enum | XMC_BCCU_TRIGDELAY_t |
enum | XMC_BCCU_TRIGMODE_t |
The Brightness and Color Control Unit (BCCU) is a dimming control peripheral for LED lighting applications. The BCCU module can be used to control multiple LED channels. Every channel generates one-bit sigma-delta bit stream with a user adjustable 12-bit average value. The dimming engine changes the brightness gradually (exponential curve) to appear natural to the human eye. It supports color control by adjusting the relative intensity of selected channels using a linear walk scheme for smooth color changes. It also supports high-power multi-channel LED lamps by optionally packing the bitstream. The optional packer which decreases the average rate of output switching by enforcing a defined on-time. The BCCU module generates two trigger signals to the ADC (BCCU_TRIGOUT0 and BCCU_TRIGOU1) to start conversions in a synchronized manner. The module can also be used as a multi-channel digital-analog converter with low-pass filters on the outputs. The BCCU module supports 3 independent dimming engines, 9 independent channels, Trap functions and 2 ADC triggering modes.
The driver is divided into global control (BCCU), channel control (BCCU_CH) and dimming control (BCCU_DIM).
BCCU features:
BCCU_CH features:
BCCU_DIM features:
Recommended programming sequence:
typedef BCCU_CH_Type XMC_BCCU_CH_t |
Redefinition of BCCU module channel structure; pointer to bccu module channel Base address
typedef BCCU_DE_Type XMC_BCCU_DIM_t |
Redefinition of BCCU module dimming engine structure; pointer to bccu module dimming engine base address
typedef BCCU_Type XMC_BCCU_t |
Redefinition of BCCU module structure; pointer to bccu module base address
enum XMC_BCCU_BCLK_MODE_t |
Provides the options to select source of trap input
enum XMC_BCCU_DIM_CURVE_t |
Provides the options to select exponential dimming curve
Provides the options to know the status of the event flags. The members can be combined using 'OR' operator for multiple selection.
enum XMC_BCCU_EVENT_t |
Provides the options to enable/disable the events. The members can be combined using 'OR' operator for multiple selection.
enum XMC_BCCU_STATUS_t |
Provides the options to select suspend mode
enum XMC_BCCU_TRAPEDGE_t |
enum XMC_BCCU_TRIGDELAY_t |
Provides the options to select trigger delay, and only be used if Bit clock in Normal mode
enum XMC_BCCU_TRIGMODE_t |
void XMC_BCCU_AbortDimming | ( | XMC_BCCU_t *const | bccu, |
uint32_t | dim_no | ||
) |
bccu | Base address of the bccu module. Range: BCCU0 |
dim_no | Specific dimming engine number to stop dimming process Range: 0 to 2 |
void XMC_BCCU_AbortLinearWalk | ( | XMC_BCCU_t *const | bccu, |
uint32_t | chan_no | ||
) |
bccu | Base address of the bccu module. Range: BCCU0 |
chan_no | Specific channel number to stop color change Range: 0 to 8 |
void XMC_BCCU_CH_ConfigTrigger | ( | XMC_BCCU_CH_t *const | channel, |
XMC_BCCU_CH_TRIG_EDGE_t | edge, | ||
uint32_t | force_trig_en | ||
) |
channel | Base address of the bccu channel. Range: BCCU0_CH0, BCCU0_CH1.. |
edge | Output transition selection. Use type XMC_BCCU_CH_TRIG_EDGE_t. Range: XMC_BCCU_CH_TRIG_EDGE_PASS_TO_ACT or XMC_BCCU_CH_TRIG_EDGE_ACT_TO_PASS |
force_trig_en | Forcing a trigger at output. Range: 0 or 1 Generates a trigger if modulator output do not change for 256 bclk cycles |
void XMC_BCCU_CH_DisableDimmingBypass | ( | XMC_BCCU_CH_t *const | channel | ) |
channel | Base address of the bccu channel. Range: BCCU0_CH0, BCCU0_CH1.. |
void XMC_BCCU_CH_DisableFlickerWatchdog | ( | XMC_BCCU_CH_t *const | channel | ) |
channel | Base address of the bccu channel. Range: BCCU0_CH0, BCCU0_CH1.. |
void XMC_BCCU_CH_DisableGating | ( | XMC_BCCU_CH_t *const | channel | ) |
channel | Base address of the bccu channel. Range: BCCU0_CH0, BCCU0_CH1.. |
void XMC_BCCU_CH_DisablePacker | ( | XMC_BCCU_CH_t *const | channel | ) |
channel | Base address of the bccu channel. Range: BCCU0_CH0, BCCU0_CH1.. |
void XMC_BCCU_CH_EnableDimmingBypass | ( | XMC_BCCU_CH_t *const | channel | ) |
channel | Base address of the bccu channel. Range: BCCU0_CH0, BCCU0_CH1.. |
void XMC_BCCU_CH_EnableFlickerWatchdog | ( | XMC_BCCU_CH_t *const | channel | ) |
channel | Base address of the bccu channel. Range: BCCU0_CH0, BCCU0_CH1.. |
void XMC_BCCU_CH_EnableGating | ( | XMC_BCCU_CH_t *const | channel | ) |
channel | Base address of the bccu channel. Range: BCCU0_CH0, BCCU0_CH1.. |
void XMC_BCCU_CH_EnablePacker | ( | XMC_BCCU_CH_t *const | channel, |
uint32_t | thresh, | ||
uint32_t | off_comp, | ||
uint32_t | on_comp | ||
) |
channel | Base address of the bccu channel. Range: BCCU0_CH0, BCCU0_CH1.. |
thresh | Packer threshold value of FIFO. It defines number of queue stages must be filled before output generator starts generating the pulses. Until that, only off-bits are generated at the output. |
off_comp | Packer off-time compare level. When the off-time counter reaches this, the measured on off time counters are stored into FIFO |
on_comp | Packer on-time compare level. When the on-time counter reaches this, the measured on & off time counters are stored into FIFO |
void XMC_BCCU_CH_Init | ( | XMC_BCCU_CH_t *const | channel, |
const XMC_BCCU_CH_CONFIG_t *const | config | ||
) |
channel | Base address of the bccu channel. Range: BCCU0_CH0, BCCU0_CH1.. |
config | Pointer to constant bccu channel configuration data structure. Use type XMC_BCCU_CH_CONFIG_t. |
uint32_t XMC_BCCU_CH_ReadIntensity | ( | XMC_BCCU_CH_t *const | channel | ) |
channel | Base address of the bccu channel. Range: BCCU0_CH0, BCCU0_CH1.. |
uint32_t XMC_BCCU_CH_ReadPackerOffCompare | ( | XMC_BCCU_CH_t *const | channel | ) |
channel | Base address of the bccu channel. Range: BCCU0_CH0, BCCU0_CH1.. |
uint32_t XMC_BCCU_CH_ReadPackerOnCompare | ( | XMC_BCCU_CH_t *const | channel | ) |
channel | Base address of the bccu channel. Range: BCCU0_CH0, BCCU0_CH1.. |
uint32_t XMC_BCCU_CH_ReadPackerThreshold | ( | XMC_BCCU_CH_t *const | channel | ) |
channel | Base address of the bccu channel. Range: BCCU0_CH0, BCCU0_CH1.. |
void XMC_BCCU_CH_SelectDimEngine | ( | XMC_BCCU_CH_t *const | channel, |
XMC_BCCU_CH_DIMMING_SOURCE_t | sel | ||
) |
channel | Base address of the bccu channel. Range: BCCU0_CH0, BCCU0_CH1.. |
sel | Selects a dimming engine source of the channel. Use type XMC_BCCU_CH_DIMMING_SOURCE_t |
void XMC_BCCU_CH_SetLinearWalkPrescaler | ( | XMC_BCCU_CH_t *const | channel, |
uint32_t | clk_div | ||
) |
channel | Base address of the bccu channel. Range: BCCU0_CH0, BCCU0_CH1.. |
clk_div | Prescaler factor. Range: 0 to 1023 |
void XMC_BCCU_CH_SetPackerOffCompare | ( | XMC_BCCU_CH_t *const | channel, |
uint32_t | level | ||
) |
channel | Base address of the bccu channel. Range: BCCU0_CH0, BCCU0_CH1.. |
level | Packer off-time compare level. When the off-time counter reaches this, the measured on & off time counters are stored into FIFO |
void XMC_BCCU_CH_SetPackerOffCounter | ( | XMC_BCCU_CH_t *const | channel, |
uint32_t | cnt_val | ||
) |
channel | Base address of the bccu channel. Range: BCCU0_CH0, BCCU0_CH1.. |
cnt_val | Configures an initial packer off-time counter level, only if channel is disabled. Controls phase shift of the modulator output |
void XMC_BCCU_CH_SetPackerOnCompare | ( | XMC_BCCU_CH_t *const | channel, |
uint32_t | level | ||
) |
channel | Base address of the bccu channel. Range: BCCU0_CH0, BCCU0_CH1.. |
level | Packer on-time compare level. When the on-time counter reaches this, the measured on & off time counters are stored into FIFO |
void XMC_BCCU_CH_SetPackerOnCounter | ( | XMC_BCCU_CH_t *const | channel, |
uint32_t | cnt_val | ||
) |
channel | Base address of the bccu channel. Range: BCCU0_CH0, BCCU0_CH1.. |
cnt_val | Configures an initial packer on-time counter level, only if channel is disabled. Controls phase shift of the modulator output |
void XMC_BCCU_CH_SetPackerThreshold | ( | XMC_BCCU_CH_t *const | channel, |
uint32_t | val | ||
) |
channel | Base address of the bccu channel. Range: BCCU0_CH0, BCCU0_CH1.. |
val | Packer threshold value of FIFO |
void XMC_BCCU_CH_SetTargetIntensity | ( | XMC_BCCU_CH_t *const | channel, |
uint32_t | ch_int | ||
) |
channel | Base address of the bccu channel. Range: BCCU0_CH0, BCCU0_CH1.. |
ch_int | Target channel intensity. Range: 0 to 4095 |
void XMC_BCCU_ClearEventFlag | ( | XMC_BCCU_t *const | bccu, |
uint32_t | flag_type | ||
) |
bccu | Base address of the bccu module. Range: BCCU0 |
flag_type | event flag mask to clear multiple events at a time using ORed values of XMC_BCCU_EVENT_STATUS_t. For example: If XMC_BCCU_EVENT_STATUS_TRIGGER0, XMC_BCCU_EVENT_STATUS_TRIGGER1, XMC_BCCU_EVENT_STATUS_FIFOEMPTY wants to clear at a same time, then event mask is = (XMC_BCCU_EVENT_STATUS_TRIGGER0 | XMC_BCCU_EVENT_STATUS_TRIGGER1 | XMC_BCCU_EVENT_STATUS_FIFOEMPTY) |
void XMC_BCCU_ConcurrentAbortDimming | ( | XMC_BCCU_t *const | bccu, |
uint32_t | mask | ||
) |
bccu | Base address of the bccu module. Range: BCCU0 |
mask | Dimming engine mask to abort a dimming for multiple dimming engines at a same time. For example: If dimming engine 0, channel 2 wants to abort a dimming at a same time, then dimming engine mask is 0101 = 0x03 -----------------------— | DE2 | DE1 | DE0 | -----------------------— |
void XMC_BCCU_ConcurrentAbortLinearWalk | ( | XMC_BCCU_t *const | bccu, |
uint32_t | mask | ||
) |
bccu | Base address of the bccu module. Range: BCCU0 |
mask | Channel mask to stop a linear walk for multiple channels at a same time. For example: If channel 0, channel 7, channel 1 wants to abort a linear walk at a same time, then channel mask is 01000 0011 = 0x83 ---------------------------------------------------------------------------------------------------— | Chan8 | Chan7 | Chan6 | Chan5 | Chan4 | Chan3 | Chan2 | Chan1 | Chan0 | ---------------------------------------------------------------------------------------------------— |
void XMC_BCCU_ConcurrentConfigTrigger | ( | XMC_BCCU_t *const | bccu, |
XMC_BCCU_TRIG_CONFIG_t * | trig | ||
) |
bccu | Base address of the bccu module. Range: BCCU0 |
trig | Pointer to a trigger configuration data structure. Use type XMC_BCCU_TRIG_CONFIG_t. |
void XMC_BCCU_ConcurrentDisableChannels | ( | XMC_BCCU_t *const | bccu, |
uint32_t | mask | ||
) |
bccu | Base address of the bccu module. Range: BCCU0 |
mask | Channel mask to disable multiple channels. For example: If channel 0, channel 7, channel 1 wants to disable at a same time, then channel mask is 01000 0011 = 0x83 ---------------------------------------------------------------------------------------------------— | Chan8 | Chan7 | Chan6 | Chan5 | Chan4 | Chan3 | Chan2 | Chan1 | Chan0 | ---------------------------------------------------------------------------------------------------— |
void XMC_BCCU_ConcurrentDisableDimmingEngine | ( | XMC_BCCU_t *const | bccu, |
uint32_t | mask | ||
) |
bccu | Base address of the bccu module. Range: BCCU0 |
mask | Dimming engine mask to disable multiple dimming engine at a same time. For example: If dimming engine 0, channel 2 wants to disable a dimming at a same time, then dimming engine mask is 0101 = 0x03 -----------------------— | DE2 | DE1 | DE0 | -----------------------— |
void XMC_BCCU_ConcurrentDisableTrap | ( | XMC_BCCU_t *const | bccu, |
uint32_t | mask | ||
) |
bccu | Base address of the bccu module. Range: BCCU0 |
mask | Channel mask to disable multiple channels trap functionality. For example: If channel 0, channel 7, channel 1 wants to disable a trap functionality at a same time, then channel mask is 01000 0011 = 0x83 ---------------------------------------------------------------------------------------------------— | Chan8 | Chan7 | Chan6 | Chan5 | Chan4 | Chan3 | Chan2 | Chan1 | Chan0 | ---------------------------------------------------------------------------------------------------— |
void XMC_BCCU_ConcurrentEnableChannels | ( | XMC_BCCU_t *const | bccu, |
uint32_t | mask | ||
) |
bccu | Base address of the bccu module. Range: BCCU0 |
mask | Channel mask to enable multiple channels. For example: If channel 0, channel 7, channel 1 wants to enable at a same time, then channel mask is 01000 0011 = 0x83 ---------------------------------------------------------------------------------------------------— | Chan8 | Chan7 | Chan6 | Chan5 | Chan4 | Chan3 | Chan2 | Chan1 | Chan0 | ---------------------------------------------------------------------------------------------------— |
void XMC_BCCU_ConcurrentEnableDimmingEngine | ( | XMC_BCCU_t *const | bccu, |
uint32_t | mask | ||
) |
bccu | Base address of the bccu module. Range: BCCU0 |
mask | Dimming engine mask to enable multiple dimming engine at a same time. For example: If dimming engine 0, channel 2 wants to enable a dimming at a same time, then dimming engine mask is 0101 = 0x03 -----------------------— | DE2 | DE1 | DE0 | -----------------------— |
void XMC_BCCU_ConcurrentEnableTrap | ( | XMC_BCCU_t *const | bccu, |
uint32_t | mask | ||
) |
bccu | Base address of the bccu module. Range: BCCU0 |
mask | Channel mask to enable multiple channels trap functionality. For example: If channel 0, channel 7, channel 1 wants to enable a trap functionality at a same time, then channel mask is 01000 0011 = 0x83 ---------------------------------------------------------------------------------------------------— | Chan8 | Chan7 | Chan6 | Chan5 | Chan4 | Chan3 | Chan2 | Chan1 | Chan0 | ---------------------------------------------------------------------------------------------------— |
void XMC_BCCU_ConcurrentSetOutputPassiveLevel | ( | XMC_BCCU_t *const | bccu, |
uint32_t | chan_mask, | ||
XMC_BCCU_CH_ACTIVE_LEVEL_t | level | ||
) |
bccu | Base address of the bccu module. Range: BCCU0 |
chan_mask | Channel mask to enable multiple channels. For example: If channel 0, channel 7, channel 1 wants to enable at a same time, then channel mask is 01000 0011 = 0x83 ---------------------------------------------------------------------------------------------------— | Chan8 | Chan7 | Chan6 | Chan5 | Chan4 | Chan3 | Chan2 | Chan1 | Chan0 | ---------------------------------------------------------------------------------------------------— |
level | Passive level selection. Use type XMC_BCCU_CH_ACTIVE_LEVEL_t. Range: XMC_BCCU_CH_ACTIVE_LEVEL_HIGH or XMC_BCCU_CH_ACTIVE_LEVEL_LOW |
void XMC_BCCU_ConcurrentStartDimming | ( | XMC_BCCU_t *const | bccu, |
uint32_t | mask | ||
) |
bccu | Base address of the bccu module. Range: BCCU0 |
mask | Dimming engine mask to start a dimming for multiple dimming engines at a same time. For example: If dimming engine 0, channel 2 wants to start a dimming at a same time, then dimming engine mask is 0101 = 0x03 -----------------------— | DE2 | DE1 | DE0 | -----------------------— |
void XMC_BCCU_ConcurrentStartLinearWalk | ( | XMC_BCCU_t *const | bccu, |
uint32_t | mask | ||
) |
bccu | Base address of the bccu module. Range: BCCU0 |
mask | Channel mask to start a linear walk for multiple channels at a same time. For example: If channel 0, channel 7, channel 1 wants to start a linear walk at a same time, then channel mask is 01000 0011 = 0x83 ---------------------------------------------------------------------------------------------------— | Chan8 | Chan7 | Chan6 | Chan5 | Chan4 | Chan3 | Chan2 | Chan1 | Chan0 | ---------------------------------------------------------------------------------------------------— |
void XMC_BCCU_ConfigGlobalTrigger | ( | XMC_BCCU_t *const | bccu, |
XMC_BCCU_TRIGMODE_t | mode, | ||
XMC_BCCU_TRIGDELAY_t | delay | ||
) |
bccu | Base address of the bccu module. Range: BCCU0 |
mode | Trigger mode selection. Range: XMC_BCCU_TRIGMODE0, XMC_BCCU_TRIGMODE1.
|
delay | Delay to avoid sampling during switching noise. Use type XMC_BCCU_TRIGDELAY_t. Range: XMC_BCCU_NO_DELAY, XMC_BCCU_QUARTER_BIT_DELAY, XMC_BCCU_HALF_BIT_DELAY. |
void XMC_BCCU_ConfigSuspendMode | ( | XMC_BCCU_t *const | bccu, |
XMC_BCCU_SUSPEND_MODE_t | mode | ||
) |
bccu | Base address of the bccu module. Range: BCCU0 |
mode | Suspend mode selection. Use type XMC_BCCU_SUSPEND_MODE_t. Range: XMC_BCCU_SUSPEND_MODE_IGNORE, XMC_BCCU_SUSPEND_MODE_FREEZE, XMC_BCCU_USPEND_MODE_SAFE_FREEZE. |
void XMC_BCCU_DIM_ConfigDimCurve | ( | XMC_BCCU_DIM_t *const | dim_engine, |
uint32_t | dither_en, | ||
XMC_BCCU_DIM_CURVE_t | sel | ||
) |
dim_engine | Base address of the bccu dimming engine. Range: BCCU0_DE0, BCCU0_DE1, BCCU0_DE2 |
dither_en | Dither enable. Dithering added for every dimming step if dimming level < 128. |
sel | Type of exponential curve. Use type XMC_BCCU_DIM_CURVE_t. Note: If dither enabled, the configuration is being ignored |
XMC_BCCU_DIM_CURVE_t XMC_BCCU_DIM_GetDimCurve | ( | XMC_BCCU_DIM_t *const | dim_engine | ) |
dim_engine | Base address of the bccu dimming engine. Range: BCCU0_DE0, BCCU0_DE1, BCCU0_DE2 |
void XMC_BCCU_DIM_Init | ( | XMC_BCCU_DIM_t *const | dim_engine, |
const XMC_BCCU_DIM_CONFIG_t *const | config | ||
) |
dim_engine | Base address of the bccu dimming engine. Range: BCCU0_DE0, BCCU0_DE1, BCCU0_DE2 |
config | Pointer to constant dimming engine configuration data structure. Use type XMC_BCCU_DIM_CONFIG_t. |
uint32_t XMC_BCCU_DIM_ReadDimDivider | ( | XMC_BCCU_DIM_t *const | dim_engine | ) |
dim_engine | Base address of the bccu dimming engine. Range: BCCU0_DE0, BCCU0_DE1, BCCU0_DE2 |
uint32_t XMC_BCCU_DIM_ReadDimmingLevel | ( | XMC_BCCU_DIM_t *const | dim_engine | ) |
dim_engine | Base address of the bccu dimming engine. Range: BCCU0_DE0, BCCU0_DE1, BCCU0_DE2 |
void XMC_BCCU_DIM_SetDimDivider | ( | XMC_BCCU_DIM_t *const | dim_engine, |
uint32_t | div | ||
) |
dim_engine | Base address of the bccu dimming engine. Range: BCCU0_DE0, BCCU0_DE1, BCCU0_DE2 |
div | Dimming clock divider, used to adjust the fade rate. If 0, the dimming level as same as target dimming level on shadow transfer |
void XMC_BCCU_DIM_SetTargetDimmingLevel | ( | XMC_BCCU_DIM_t *const | dim_engine, |
uint32_t | level | ||
) |
dim_engine | Base address of the bccu dimming engine. Range: BCCU0_DE0, BCCU0_DE1, BCCU0_DE2 |
level | Target dimming level. Range: 0 to 4095 |
void XMC_BCCU_DisableChannel | ( | XMC_BCCU_t *const | bccu, |
uint32_t | chan_no | ||
) |
bccu | Base address of the bccu module. Range: BCCU0 |
chan_no | Specific channel number to disable. Range: 0 to 8 |
void XMC_BCCU_DisableChannelTrigger | ( | XMC_BCCU_t *const | bccu, |
uint32_t | chan_no | ||
) |
bccu | Base address of the bccu module. Range: BCCU0 |
chan_no | Channel number to trigger a specific channel. Range: 0 to 8 |
void XMC_BCCU_DisableDimmingEngine | ( | XMC_BCCU_t *const | bccu, |
uint32_t | dim_no | ||
) |
bccu | Base address of the bccu module. Range: BCCU0 |
dim_no | Specific dimming engine number to disable. Range: 0 to 2 |
void XMC_BCCU_DisableInterrupt | ( | XMC_BCCU_t *const | bccu, |
uint32_t | event | ||
) |
bccu | Base address of the bccu module. Range: BCCU0 |
event | Event mask to disable multiple events at a time using ORed values of XMC_BCCU_EVENT_t. For example: If XMC_BCCU_EVENT_TRIGGER0, XMC_BCCU_EVENT_TRIGGER1, XMC_BCCU_EVENT_FIFOEMPTY wants to disable at a same time, then event mask is = (XMC_BCCU_EVENT_TRIGGER0 | XMC_BCCU_EVENT_TRIGGER1 | XMC_BCCU_EVENT_FIFOEMPTY) |
void XMC_BCCU_DisableTrap | ( | XMC_BCCU_t *const | bccu, |
uint32_t | chan_no | ||
) |
bccu | Base address of the bccu module. Range: BCCU0 |
chan_no | Channel number to disable specific channel trap functionality. Range: 0 to 8 |
void XMC_BCCU_EnableChannel | ( | XMC_BCCU_t *const | bccu, |
uint32_t | chan_no | ||
) |
bccu | Base address of the bccu module. Range: BCCU0 |
chan_no | Specific channel number to enable. Range: 0 to 8 |
void XMC_BCCU_EnableChannelTrigger | ( | XMC_BCCU_t *const | bccu, |
uint32_t | chan_no, | ||
XMC_BCCU_CH_TRIGOUT_t | trig_line | ||
) |
bccu | Base address of the bccu module. Range: BCCU0 |
chan_no | Channel number to trigger a specific channel. Range: 0 to 8 |
trig_line | Trigger line number to trigger a vadc. Use type XMC_BCCU_CH_TRIGOUT_t. Range: XMC_BCCU_CH_TRIGOUT0 or XMC_BCCU_CH_TRIGOUT1 |
void XMC_BCCU_EnableDimmingEngine | ( | XMC_BCCU_t *const | bccu, |
uint32_t | dim_no | ||
) |
bccu | Base address of the bccu module. Range: BCCU0 |
dim_no | Specific dimming engine number to enable. Range: 0 to 2 |
void XMC_BCCU_EnableInterrupt | ( | XMC_BCCU_t *const | bccu, |
uint32_t | event | ||
) |
bccu | Base address of the bccu module. Range: BCCU0 |
event | Event mask to enable multiple events at a time using ORed values of XMC_BCCU_EVENT_t. For example: If XMC_BCCU_EVENT_TRIGGER0, XMC_BCCU_EVENT_TRIGGER1, XMC_BCCU_EVENT_FIFOEMPTY wants to enable at a same time, then event mask is = (XMC_BCCU_EVENT_TRIGGER0 | XMC_BCCU_EVENT_TRIGGER1 | XMC_BCCU_EVENT_FIFOEMPTY) |
void XMC_BCCU_EnableTrap | ( | XMC_BCCU_t *const | bccu, |
uint32_t | chan_no | ||
) |
bccu | Base address of the bccu module. Range: BCCU0 |
chan_no | Channel number to enable specific channel trap functionality. Range: 0 to 8 |
uint32_t XMC_BCCU_GetChannelOutputLvlAtLastTrigger | ( | XMC_BCCU_t *const | bccu, |
uint32_t | chan_no | ||
) |
bccu | Base address of the bccu module. Range: BCCU0 |
chan_no | Specific channel number to get an output level on last trigger. Range: 0 to 8 |
void XMC_BCCU_GlobalInit | ( | XMC_BCCU_t *const | bccu, |
const XMC_BCCU_GLOBAL_CONFIG_t *const | config | ||
) |
bccu | Base address of the bccu module. Range: BCCU0 |
config | Pointer to constant bccu global configuration data structure. Use type XMC_BCCU_GLOBAL_CONFIG_t. |
uint32_t XMC_BCCU_IsDimmingFinished | ( | XMC_BCCU_t *const | bccu, |
uint32_t | dim_no | ||
) |
bccu | Base address of the bccu module. Range: BCCU0 |
dim_no | Specific dimming engine number to know the dimming status. Range: 0 to 2 |
uint32_t XMC_BCCU_IsDitherEnable | ( | XMC_BCCU_DIM_t *const | dim_engine | ) |
dim_engine | Base address of the bccu dimming engine. Range: BCCU0_DE0, BCCU0_DE1, BCCU0_DE2 |
uint32_t XMC_BCCU_IsLinearWalkComplete | ( | XMC_BCCU_t *const | bccu, |
uint32_t | chan_no | ||
) |
bccu | Base address of the bccu module. Range: BCCU0 |
chan_no | Channel number to know the linear walk completion status. Range: 0 to 8 |
uint32_t XMC_BCCU_ReadBitClock | ( | XMC_BCCU_t *const | bccu | ) |
bccu | Base address of the bccu module. Range: BCCU0 |
uint32_t XMC_BCCU_ReadDimClock | ( | XMC_BCCU_t *const | bccu | ) |
bccu | Base address of the bccu module. Range: BCCU0 |
uint32_t XMC_BCCU_ReadEventFlag | ( | XMC_BCCU_t *const | bccu | ) |
bccu | Base address of the bccu module. Range: BCCU0 |
uint32_t XMC_BCCU_ReadFastClock | ( | XMC_BCCU_t *const | bccu | ) |
bccu | Base address of the bccu module. Range: BCCU0 |
uint32_t XMC_BCCU_ReadFlickerWDThreshold | ( | XMC_BCCU_t *const | bccu | ) |
bccu | Base address of the bccu module. Range: BCCU0 |
uint32_t XMC_BCCU_ReadGlobalTrigger | ( | XMC_BCCU_t *const | bccu | ) |
bccu | Base address of the bccu module. Range: BCCU0 |
uint32_t XMC_BCCU_ReadLastTrigChanNr | ( | XMC_BCCU_t *const | bccu | ) |
bccu | Base address of the bccu module. Range: BCCU0 |
uint32_t XMC_BCCU_ReadSuspendMode | ( | XMC_BCCU_t *const | bccu | ) |
bccu | Base address of the bccu module. Range: BCCU0 |
uint32_t XMC_BCCU_ReadTrapEdge | ( | XMC_BCCU_t *const | bccu | ) |
bccu | Base address of the bccu module. Range: BCCU0 |
uint32_t XMC_BCCU_ReadTrapInput | ( | XMC_BCCU_t *const | bccu | ) |
bccu | Base address of the bccu module. Range: BCCU0 |
void XMC_BCCU_SelectBitClock | ( | XMC_BCCU_t *const | bccu, |
XMC_BCCU_BCLK_MODE_t | div | ||
) |
bccu | Base address of the bccu module. Range: BCCU0 |
div | Prescaler factor. Use type XMC_BCCU_BCLK_MODE_t. Range: XMC_BCCU_BCLK_MODE_NORMAL or XMC_BCCU_BCLK_MODE_FAST. |
void XMC_BCCU_SelectTrapInput | ( | XMC_BCCU_t *const | bccu, |
XMC_BCCU_CH_TRAP_IN_t | input | ||
) |
bccu | Base address of the bccu module. Range: BCCU0 |
input | Trap input selection. Use type XMC_BCCU_TRIGDELAY_t. Range: XMC_BCCU_TRIGDELAY_NO_DELAY, XMC_BCCU_TRIGDELAY_QUARTER_BIT, XMC_BCCU_TRIGDELAY_HALF_BIT. |
void XMC_BCCU_SetDimClockPrescaler | ( | XMC_BCCU_t *const | bccu, |
uint32_t | div | ||
) |
bccu | Base address of the bccu module. Range: BCCU0 |
div | Prescaler factor. Range: 0 to 4095. |
void XMC_BCCU_SetEventFlag | ( | XMC_BCCU_t *const | bccu, |
uint32_t | flag_type | ||
) |
bccu | Base address of the bccu module. Range: BCCU0 |
flag_type | Event flag mask to configure multiple events at a time using ORed values of XMC_BCCU_EVENT_STATUS_t. For example: If XMC_BCCU_EVENT_STATUS_TRIGGER0, XMC_BCCU_EVENT_STATUS_TRIGGER1, XMC_BCCU_EVENT_STATUS_FIFOEMPTY wants to configure at a same time, then event mask is = (XMC_BCCU_EVENT_STATUS_TRIGGER0 | XMC_BCCU_EVENT_STATUS_TRIGGER1 | XMC_BCCU_EVENT_STATUS_FIFOEMPTY) |
void XMC_BCCU_SetFastClockPrescaler | ( | XMC_BCCU_t *const | bccu, |
uint32_t | div | ||
) |
bccu | Base address of the bccu module. Range: BCCU0 |
div | Prescaler factor. Range: 0 to 4095. |
void XMC_BCCU_SetFlickerWDThreshold | ( | XMC_BCCU_t *const | bccu, |
uint32_t | threshold_no | ||
) |
bccu | Base address of the bccu module. Range: BCCU0 |
threshold_no | Number of consecutive zeroes at modulator output. Range: 0 to 4095. |
void XMC_BCCU_SetGlobalDimmingLevel | ( | XMC_BCCU_t *const | bccu, |
uint32_t | level | ||
) |
bccu | Base address of the bccu module. Range: BCCU0 |
level | Dimming level of global dimming engine. Range: 0 to 4095 |
void XMC_BCCU_SetOutputPassiveLevel | ( | XMC_BCCU_t *const | bccu, |
uint32_t | chan_no, | ||
XMC_BCCU_CH_ACTIVE_LEVEL_t | level | ||
) |
bccu | Base address of the bccu module. Range: BCCU0 |
chan_no | Specific channel number to enable specific channel. Range: 0 to 8 |
level | Passive level selection. Use type XMC_BCCU_CH_ACTIVE_LEVEL_t. Range: XMC_BCCU_CH_ACTIVE_LEVEL_HIGH or XMC_BCCU_CH_ACTIVE_LEVEL_LOW |
void XMC_BCCU_SetTrapEdge | ( | XMC_BCCU_t *const | bccu, |
XMC_BCCU_CH_TRAP_EDGE_t | edge | ||
) |
bccu | Base address of the bccu module. Range: BCCU0 |
edge | Trap edge selection. Use type XMC_BCCU_CH_TRAP_EDGE_t. Range: XMC_BCCU_CH_TRAP_EDGE_RISING, XMC_BCCU_CH_TRAP_EDGE_FALLING. |
void XMC_BCCU_StartDimming | ( | XMC_BCCU_t *const | bccu, |
uint32_t | dim_no | ||
) |
bccu | Base address of the bccu module. Range: BCCU0 |
dim_no | Specific dimming engine number to start dimming process Range: 0 to 2 |
void XMC_BCCU_StartLinearWalk | ( | XMC_BCCU_t *const | bccu, |
uint32_t | chan_no | ||
) |
bccu | Base address of the bccu module. Range: BCCU0 |
chan_no | Specific channel number to start color change Range: 0 to 8 |