ETAMPDET - External Tamper Detect

Description

External Tamper Detect (ETAMPDET) Peripheral API.

This module contains functions to control the ETAMPDET peripheral of Silicon Labs 32-bit MCUs and SoCs. The ETAMPDET can alert the system to unauthorized physical access with very low current consumption.

Data Structures

struct  sl_etampdet_config_channel_t
 ETAMPDET channel configuration structure.
 
struct  sl_etampdet_config_t
 ETAMPDET configuration structure.
 

Functions

void sl_etampdet_init (const sl_etampdet_config_t *config)
 Initialize ETAMPDET.
 
void sl_etampdet_init_channel (const sl_etampdet_config_channel_t *config_channel)
 Initialize ETAMPDET channel.
 
void sl_etampdet_wait_sync (void)
 Wait for the ETAMPDET to complete all synchronization of register changes and commands.
 
void sl_etampdet_wait_ready (void)
 Wait for the ETAMPDET to complete disabling procedure.
 
void sl_etampdet_enable (void)
 Enable ETAMPDET.
 
void sl_etampdet_disable (void)
 Disable ETAMPDET.
 
void sl_etampdet_load (sl_etampdet_channel_t channel)
 Load seed value into channel LFSR.
 
void sl_etampdet_start (sl_etampdet_channel_t channel)
 Start ETAMPDET channel.
 
void sl_etampdet_stop (sl_etampdet_channel_t channel)
 Stop ETAMPDET channel.
 
void sl_etampdet_enable_interrupts (uint32_t interrupts)
 Enable ETAMPDET interrupts.
 
void sl_etampdet_disable_interrupts (uint32_t interrupts)
 Disable ETAMPDET interrupts.
 
void sl_etampdet_set_interrupts (uint32_t interrupts)
 Set ETAMPDET interrupts.
 
void sl_etampdet_clear_interrupts (uint32_t interrupts)
 Clear ETAMPDET interrupts.
 
uint32_t sl_etampdet_get_interrupts (void)
 Gets pending ETAMPDET interrupt flags.
 
uint32_t sl_etampdet_get_enabled_interrupts (void)
 Gets enabled and pending ETAMPDET interrupt flags.
 
void sl_etampdet_lock (void)
 Lock ETAMPDET registers.
 
void sl_etampdet_unlock (void)
 Unlock ETAMPDET registers.
 
uint32_t sl_etampdet_get_status (void)
 Gets ETAMPDET STATUS register value.
 
void sl_etampdet_set_seed_value (uint32_t seed_value, sl_etampdet_channel_t channel)
 Set ETAMPDET channel seed value.
 
uint32_t sl_etampdet_get_seed_value (sl_etampdet_channel_t channel)
 Get ETAMPDET channel seed value.
 

Macros

#define ETAMPDET_CONFIG_CHANNEL_DEFAULT
 ETAMPDET default channel configuration.
 
#define ETAMPDET_CONFIG_DEFAULT
 ETAMPDET default configuration.
 

Enumerations

enum  sl_etampdet_channel_t {
  channel_0 = 0,
  channel_1
}
 ETAMPDET channels.
 
enum  sl_etampdet_channel_cnt_mismatch_threshold_t {
  detect_filt_threshold_1 = _ETAMPDET_CNTMISMATCHMAX_CHNLCNTMISMATCHMAX0_DetectFilterThreshold1,
  detect_filt_threshold_2 = _ETAMPDET_CNTMISMATCHMAX_CHNLCNTMISMATCHMAX0_DetectFilterThreshold2,
  detect_filt_threshold_3 = _ETAMPDET_CNTMISMATCHMAX_CHNLCNTMISMATCHMAX0_DetectFilterThreshold3,
  detect_filt_threshold_4 = _ETAMPDET_CNTMISMATCHMAX_CHNLCNTMISMATCHMAX0_DetectFilterThreshold4,
  detect_filt_threshold_5 = _ETAMPDET_CNTMISMATCHMAX_CHNLCNTMISMATCHMAX0_DetectFilterThreshold5,
  detect_filt_threshold_6 = _ETAMPDET_CNTMISMATCHMAX_CHNLCNTMISMATCHMAX0_DetectFilterThreshold6,
  detect_filt_threshold_7 = _ETAMPDET_CNTMISMATCHMAX_CHNLCNTMISMATCHMAX0_DetectFilterThreshold7,
  detect_filt_threshold_8 = _ETAMPDET_CNTMISMATCHMAX_CHNLCNTMISMATCHMAX0_DetectFilterThreshold8
}
 ETAMPDET filter thresholds.
 
enum  sl_etampdet_channel_filt_win_size_t {
  detect_filt_win_size_2 = _ETAMPDET_CHNLFILTWINSIZE_CHNLFILTWINSIZE0_DetectFilterMovingWinSize2,
  detect_filt_win_size_3 = _ETAMPDET_CHNLFILTWINSIZE_CHNLFILTWINSIZE0_DetectFilterMovingWinSize3,
  detect_filt_win_size_4 = _ETAMPDET_CHNLFILTWINSIZE_CHNLFILTWINSIZE0_DetectFilterMovingWinSize4,
  detect_filt_win_size_5 = _ETAMPDET_CHNLFILTWINSIZE_CHNLFILTWINSIZE0_DetectFilterMovingWinSize5,
  detect_filt_win_size_6 = _ETAMPDET_CHNLFILTWINSIZE_CHNLFILTWINSIZE0_DetectFilterMovingWinSize6,
  detect_filt_win_size_7 = _ETAMPDET_CHNLFILTWINSIZE_CHNLFILTWINSIZE0_DetectFilterMovingWinSize7,
  detect_filt_win_size_8 = _ETAMPDET_CHNLFILTWINSIZE_CHNLFILTWINSIZE0_DetectFilterMovingWinSize8,
  detect_filt_win_size_9 = _ETAMPDET_CHNLFILTWINSIZE_CHNLFILTWINSIZE0_DetectFilterMovingWinSize9,
  detect_filt_win_size_10 = _ETAMPDET_CHNLFILTWINSIZE_CHNLFILTWINSIZE0_DetectFilterMovingWinSize10,
  detect_filt_win_size_11 = _ETAMPDET_CHNLFILTWINSIZE_CHNLFILTWINSIZE0_DetectFilterMovingWinSize11,
  detect_filt_win_size_12 = _ETAMPDET_CHNLFILTWINSIZE_CHNLFILTWINSIZE0_DetectFilterMovingWinSize12,
  detect_filt_win_size_13 = _ETAMPDET_CHNLFILTWINSIZE_CHNLFILTWINSIZE0_DetectFilterMovingWinSize13,
  detect_filt_win_size_14 = _ETAMPDET_CHNLFILTWINSIZE_CHNLFILTWINSIZE0_DetectFilterMovingWinSize14,
  detect_filt_win_size_15 = _ETAMPDET_CHNLFILTWINSIZE_CHNLFILTWINSIZE0_DetectFilterMovingWinSize15,
  detect_filt_win_size_16 = _ETAMPDET_CHNLFILTWINSIZE_CHNLFILTWINSIZE0_DetectFilterMovingWinSize16
}
 ETAMPDET filter moving window size.
 
enum  sl_etampdet_upper_clk_presc_t {
  upper_clk_prescaler_bypass = _ETAMPDET_CLKPRESCVAL_UPPERPRESC_Bypass,
  upper_clk_prescaler_divide_2 = _ETAMPDET_CLKPRESCVAL_UPPERPRESC_DivideBy2,
  upper_clk_prescaler_divide_4 = _ETAMPDET_CLKPRESCVAL_UPPERPRESC_DivideBy4,
  upper_clk_prescaler_divide_8 = _ETAMPDET_CLKPRESCVAL_UPPERPRESC_DivideBy8,
  upper_clk_prescaler_divide_16 = _ETAMPDET_CLKPRESCVAL_UPPERPRESC_DivideBy16,
  upper_clk_prescaler_divide_32 = _ETAMPDET_CLKPRESCVAL_UPPERPRESC_DivideBy32,
  upper_clk_prescaler_divide_64 = _ETAMPDET_CLKPRESCVAL_UPPERPRESC_DivideBy64
}
 ETAMPDET upper part of divider ripple counter.
 
enum  sl_etampdet_lower_clk_presc_t {
  lower_clk_prescaler_bypass = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_Bypass,
  lower_clk_prescaler_divide_2 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy2,
  lower_clk_prescaler_divide_3 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy3,
  lower_clk_prescaler_divide_4 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy4,
  lower_clk_prescaler_divide_5 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy5,
  lower_clk_prescaler_divide_6 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy6,
  lower_clk_prescaler_divide_7 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy7,
  lower_clk_prescaler_divide_8 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy8,
  lower_clk_prescaler_divide_9 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy9,
  lower_clk_prescaler_divide_10 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy10,
  lower_clk_prescaler_divide_11 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy11,
  lower_clk_prescaler_divide_12 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy12,
  lower_clk_prescaler_divide_13 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy13,
  lower_clk_prescaler_divide_14 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy14,
  lower_clk_prescaler_divide_15 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy15,
  lower_clk_prescaler_divide_16 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy16,
  lower_clk_prescaler_divide_17 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy17,
  lower_clk_prescaler_divide_18 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy18,
  lower_clk_prescaler_divide_19 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy19,
  lower_clk_prescaler_divide_20 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy20,
  lower_clk_prescaler_divide_21 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy21,
  lower_clk_prescaler_divide_22 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy22,
  lower_clk_prescaler_divide_23 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy23,
  lower_clk_prescaler_divide_24 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy24,
  lower_clk_prescaler_divide_25 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy25,
  lower_clk_prescaler_divide_26 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy26,
  lower_clk_prescaler_divide_27 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy27,
  lower_clk_prescaler_divide_28 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy28,
  lower_clk_prescaler_divide_29 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy29,
  lower_clk_prescaler_divide_30 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy30,
  lower_clk_prescaler_divide_31 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy31,
  lower_clk_prescaler_divide_32 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy32,
  lower_clk_prescaler_divide_33 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy33,
  lower_clk_prescaler_divide_34 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy34,
  lower_clk_prescaler_divide_35 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy35,
  lower_clk_prescaler_divide_36 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy36,
  lower_clk_prescaler_divide_37 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy37,
  lower_clk_prescaler_divide_38 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy38,
  lower_clk_prescaler_divide_39 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy39,
  lower_clk_prescaler_divide_40 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy40,
  lower_clk_prescaler_divide_41 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy41,
  lower_clk_prescaler_divide_42 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy42,
  lower_clk_prescaler_divide_43 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy43,
  lower_clk_prescaler_divide_44 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy44,
  lower_clk_prescaler_divide_45 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy45,
  lower_clk_prescaler_divide_46 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy46,
  lower_clk_prescaler_divide_47 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy47,
  lower_clk_prescaler_divide_48 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy48,
  lower_clk_prescaler_divide_49 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy49,
  lower_clk_prescaler_divide_50 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy50,
  lower_clk_prescaler_divide_51 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy51,
  lower_clk_prescaler_divide_52 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy52,
  lower_clk_prescaler_divide_53 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy53,
  lower_clk_prescaler_divide_54 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy54,
  lower_clk_prescaler_divide_55 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy55,
  lower_clk_prescaler_divide_56 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy56,
  lower_clk_prescaler_divide_57 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy57,
  lower_clk_prescaler_divide_58 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy58,
  lower_clk_prescaler_divide_59 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy59,
  lower_clk_prescaler_divide_60 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy60,
  lower_clk_prescaler_divide_61 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy61,
  lower_clk_prescaler_divide_62 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy62,
  lower_clk_prescaler_divide_63 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy63,
  lower_clk_prescaler_divide_64 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy64
}
 ETAMPDET lower part of divider binary counter.
 

Function Documentation

◆ sl_etampdet_init()

void sl_etampdet_init ( const sl_etampdet_config_t config)

Initialize ETAMPDET.

Parameters
[in]configThe pointer to the initialization structure.
Note
User should call sl_etampdet_init_channel() for full initialization. This function should be called before sl_etampdet_init_channel()
The control registers setting of the GPIOs to be used by ETAMPDET should be at the default values to ensure that other clients are not accidentally driving the GPIOs that ETAMPDET is using.

◆ sl_etampdet_init_channel()

void sl_etampdet_init_channel ( const sl_etampdet_config_channel_t config_channel)

Initialize ETAMPDET channel.

Parameters
[in]config_channelThe pointer to the channel initialization structure.
Note
User should call sl_etampdet_init() for full initialization.

◆ sl_etampdet_wait_sync()

void sl_etampdet_wait_sync ( void  )
inline

Wait for the ETAMPDET to complete all synchronization of register changes and commands.

◆ sl_etampdet_wait_ready()

void sl_etampdet_wait_ready ( void  )
inline

Wait for the ETAMPDET to complete disabling procedure.

◆ sl_etampdet_enable()

void sl_etampdet_enable ( void  )
inline

Enable ETAMPDET.

◆ sl_etampdet_disable()

void sl_etampdet_disable ( void  )
inline

Disable ETAMPDET.

◆ sl_etampdet_load()

void sl_etampdet_load ( sl_etampdet_channel_t  channel)
inline

Load seed value into channel LFSR.

Parameters
[in]channelThe channel number.

◆ sl_etampdet_start()

void sl_etampdet_start ( sl_etampdet_channel_t  channel)
inline

Start ETAMPDET channel.

Parameters
[in]channelThe channel number.

◆ sl_etampdet_stop()

void sl_etampdet_stop ( sl_etampdet_channel_t  channel)
inline

Stop ETAMPDET channel.

Parameters
[in]channelThe channel number.

◆ sl_etampdet_enable_interrupts()

void sl_etampdet_enable_interrupts ( uint32_t  interrupts)
inline

Enable ETAMPDET interrupts.

Parameters
[in]interruptsThe interrupts flags to enable.

◆ sl_etampdet_disable_interrupts()

void sl_etampdet_disable_interrupts ( uint32_t  interrupts)
inline

Disable ETAMPDET interrupts.

Parameters
[in]interruptsThe interrupts flags to disable.

◆ sl_etampdet_set_interrupts()

void sl_etampdet_set_interrupts ( uint32_t  interrupts)
inline

Set ETAMPDET interrupts.

Parameters
[in]interruptsThe interrupts flags to set.

◆ sl_etampdet_clear_interrupts()

void sl_etampdet_clear_interrupts ( uint32_t  interrupts)
inline

Clear ETAMPDET interrupts.

Parameters
[in]interruptsThe interrupts flags to clear.

◆ sl_etampdet_get_interrupts()

uint32_t sl_etampdet_get_interrupts ( void  )
inline

Gets pending ETAMPDET interrupt flags.

Note
Event bits are not cleared by using this function.
Returns
Pending ETAMPDET interrupt sources. Returns a set of interrupt flags OR-ed together for multiple interrupt sources.

◆ sl_etampdet_get_enabled_interrupts()

uint32_t sl_etampdet_get_enabled_interrupts ( void  )
inline

Gets enabled and pending ETAMPDET interrupt flags.

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

Note
Interrupt flags are not cleared by using this function.
Returns
Pending and enabled ETAMPDET interrupt sources. The return value is the bitwise AND of
  • the enabled interrupt sources in ETAMPDET_IEN and
  • the pending interrupt flags ETAMPDET_IF.

◆ sl_etampdet_lock()

void sl_etampdet_lock ( void  )
inline

Lock ETAMPDET registers.

Note
When ETAMPDET registers are locked, ETAMPDET_EN, ETAMPDET_CFG, ETAMPDET_CMD, ETAMPDET_CHNLSEEDVALx, ETAMPDET_CNTMISMATCHMAX, ETAMPDET_CHNLFILTWINSIZE, ETAMPDET_EM4WUEN and ETAMPDET_CLKPRESCVAL registers cannot be written to.

◆ sl_etampdet_unlock()

void sl_etampdet_unlock ( void  )
inline

Unlock ETAMPDET registers.

Note
When ETAMPDET registers are unlocked, registers are writable.

◆ sl_etampdet_get_status()

uint32_t sl_etampdet_get_status ( void  )
inline

Gets ETAMPDET STATUS register value.

Returns
Current STATUS register value.

◆ sl_etampdet_set_seed_value()

void sl_etampdet_set_seed_value ( uint32_t  seed_value,
sl_etampdet_channel_t  channel 
)
inline

Set ETAMPDET channel seed value.

Parameters
[in]channelThe channel to set seed value.
[in]seed_valueThe seed value to set into LFSR of the channel.
Note
It is recommended to get the random seed value using TRNG (True random Number Generator) peripheral.

◆ sl_etampdet_get_seed_value()

uint32_t sl_etampdet_get_seed_value ( sl_etampdet_channel_t  channel)
inline

Get ETAMPDET channel seed value.

Parameters
[in]channelThe channel to get seed value from.
Returns
The seed value of the channel.

Macro Definition Documentation

◆ ETAMPDET_CONFIG_CHANNEL_DEFAULT

#define ETAMPDET_CONFIG_CHANNEL_DEFAULT
Value:
{ \
0x13579BDF, /* Set default seed value. */ \
channel_0, /* Choose channel 0.*/ \
detect_filt_win_size_2, /* Set default filter win size. */ \
detect_filt_threshold_1, /* Set Detect filter threshold. */ \
false, /* Enable channel driving pad. */ \
false, /* Disable channel filtering. */ \
false, /* Disable 1 clock delay. */ \
false, /* Enable EM4 wakeup. */ \
} \

ETAMPDET default channel configuration.

◆ ETAMPDET_CONFIG_DEFAULT

#define ETAMPDET_CONFIG_DEFAULT
Value:
{ \
upper_clk_prescaler_bypass, /* Bypass upper prescaler. */ \
lower_clk_prescaler_bypass, /* Bypass lower prescaler.*/ \
} \

ETAMPDET default configuration.

Enumeration Type Documentation

◆ sl_etampdet_channel_t

ETAMPDET channels.

Enumerator
channel_0 

Channel 0.

channel_1 

Channel 1.

◆ sl_etampdet_channel_cnt_mismatch_threshold_t

ETAMPDET filter thresholds.

Enumerator
detect_filt_threshold_1 

Raise detect flag after seeing 1 event before reset counter expire.

detect_filt_threshold_2 

Raise detect flag after seeing 2 events before reset counter expire.

detect_filt_threshold_3 

Raise detect flag after seeing 3 events before reset counter expire.

detect_filt_threshold_4 

Raise detect flag after seeing 4 events before reset counter expire.

detect_filt_threshold_5 

Raise detect flag after seeing 5 events before reset counter expire.

detect_filt_threshold_6 

Raise detect flag after seeing 6 events before reset counter expire.

detect_filt_threshold_7 

Raise detect flag after seeing 7 events before reset counter expire.

detect_filt_threshold_8 

Raise detect flag after seeing 8 events before reset counter expire.

◆ sl_etampdet_channel_filt_win_size_t

ETAMPDET filter moving window size.

Enumerator
detect_filt_win_size_2 

Detect filter moving window size 2.

detect_filt_win_size_3 

Detect filter moving window size 3.

detect_filt_win_size_4 

Detect filter moving window size 4.

detect_filt_win_size_5 

Detect filter moving window size 5.

detect_filt_win_size_6 

Detect filter moving window size 6.

detect_filt_win_size_7 

Detect filter moving window size 7.

detect_filt_win_size_8 

Detect filter moving window size 8.

detect_filt_win_size_9 

Detect filter moving window size 9.

detect_filt_win_size_10 

Detect filter moving window size 10.

detect_filt_win_size_11 

Detect filter moving window size 11.

detect_filt_win_size_12 

Detect filter moving window size 12.

detect_filt_win_size_13 

Detect filter moving window size 13.

detect_filt_win_size_14 

Detect filter moving window size 14.

detect_filt_win_size_15 

Detect filter moving window size 15.

detect_filt_win_size_16 

Detect filter moving window size 16.

◆ sl_etampdet_upper_clk_presc_t

ETAMPDET upper part of divider ripple counter.

Enumerator
upper_clk_prescaler_bypass 

Ripple counter divider bypassed.

upper_clk_prescaler_divide_2 

Divide by 2.

upper_clk_prescaler_divide_4 

Divide by 4.

upper_clk_prescaler_divide_8 

Divide by 8.

upper_clk_prescaler_divide_16 

Divide by 16.

upper_clk_prescaler_divide_32 

Divide by 32.

upper_clk_prescaler_divide_64 

Divide by 64.

◆ sl_etampdet_lower_clk_presc_t

ETAMPDET lower part of divider binary counter.

Enumerator
lower_clk_prescaler_bypass 

Divider is bypassed.

lower_clk_prescaler_divide_2 

Divide by 2.

lower_clk_prescaler_divide_3 

Divide by 3.

lower_clk_prescaler_divide_4 

Divide by 4.

lower_clk_prescaler_divide_5 

Divide by 5.

lower_clk_prescaler_divide_6 

Divide by 6.

lower_clk_prescaler_divide_7 

Divide by 7.

lower_clk_prescaler_divide_8 

Divide by 8.

lower_clk_prescaler_divide_9 

Divide by 9.

lower_clk_prescaler_divide_10 

Divide by 10.

lower_clk_prescaler_divide_11 

Divide by 11.

lower_clk_prescaler_divide_12 

Divide by 12.

lower_clk_prescaler_divide_13 

Divide by 13.

lower_clk_prescaler_divide_14 

Divide by 14.

lower_clk_prescaler_divide_15 

Divide by 15.

lower_clk_prescaler_divide_16 

Divide by 16.

lower_clk_prescaler_divide_17 

Divide by 17.

lower_clk_prescaler_divide_18 

Divide by 18.

lower_clk_prescaler_divide_19 

Divide by 19.

lower_clk_prescaler_divide_20 

Divide by 20.

lower_clk_prescaler_divide_21 

Divide by 21.

lower_clk_prescaler_divide_22 

Divide by 22.

lower_clk_prescaler_divide_23 

Divide by 23.

lower_clk_prescaler_divide_24 

Divide by 24.

lower_clk_prescaler_divide_25 

Divide by 25.

lower_clk_prescaler_divide_26 

Divide by 26.

lower_clk_prescaler_divide_27 

Divide by 27.

lower_clk_prescaler_divide_28 

Divide by 28.

lower_clk_prescaler_divide_29 

Divide by 29.

lower_clk_prescaler_divide_30 

Divide by 30.

lower_clk_prescaler_divide_31 

Divide by 31.

lower_clk_prescaler_divide_32 

Divide by 32.

lower_clk_prescaler_divide_33 

Divide by 33.

lower_clk_prescaler_divide_34 

Divide by 34.

lower_clk_prescaler_divide_35 

Divide by 35.

lower_clk_prescaler_divide_36 

Divide by 36.

lower_clk_prescaler_divide_37 

Divide by 37.

lower_clk_prescaler_divide_38 

Divide by 38.

lower_clk_prescaler_divide_39 

Divide by 39.

lower_clk_prescaler_divide_40 

Divide by 40.

lower_clk_prescaler_divide_41 

Divide by 41.

lower_clk_prescaler_divide_42 

Divide by 42.

lower_clk_prescaler_divide_43 

Divide by 43.

lower_clk_prescaler_divide_44 

Divide by 44.

lower_clk_prescaler_divide_45 

Divide by 45.

lower_clk_prescaler_divide_46 

Divide by 46.

lower_clk_prescaler_divide_47 

Divide by 47.

lower_clk_prescaler_divide_48 

Divide by 48.

lower_clk_prescaler_divide_49 

Divide by 49.

lower_clk_prescaler_divide_50 

Divide by 50.

lower_clk_prescaler_divide_51 

Divide by 51.

lower_clk_prescaler_divide_52 

Divide by 52.

lower_clk_prescaler_divide_53 

Divide by 53.

lower_clk_prescaler_divide_54 

Divide by 54.

lower_clk_prescaler_divide_55 

Divide by 55.

lower_clk_prescaler_divide_56 

Divide by 56.

lower_clk_prescaler_divide_57 

Divide by 57.

lower_clk_prescaler_divide_58 

Divide by 58.

lower_clk_prescaler_divide_59 

Divide by 59.

lower_clk_prescaler_divide_60 

Divide by 60.

lower_clk_prescaler_divide_61 

Divide by 61.

lower_clk_prescaler_divide_62 

Divide by 62.

lower_clk_prescaler_divide_63 

Divide by 63.

lower_clk_prescaler_divide_64 

Divide by 64.