HPM SDK
HPMicro Software Development Kit
hpm_wdg_drv.c File Reference
#include "hpm_wdg_drv.h"

Data Structures

struct  reset_interval_map_t
 
struct  interrupt_interval_map_t
 

Macros

#define TICKS_1K   (1024UL)
 
#define TICKS_1M   (1024UL * TICKS_1K)
 
#define TICKS_1G   (1024UL * TICKS_1M)
 
#define ONE_SECOND_TICKS_IN_NS   (1000UL * 1000UL * 1000UL)
 

Functions

hpm_stat_t wdg_init (WDG_Type *base, wdg_control_t *wdg_ctrl)
 WDG initialization function. More...
 
reset_interval_t wdg_convert_reset_interval_from_us (const uint32_t src_freq, const uint32_t reset_us)
 Convert the Reset interval value based on the WDG source clock frequency and the expected reset interval in terms of microseconds. More...
 
interrupt_interval_t wdg_convert_interrupt_interval_from_us (const uint32_t src_freq, uint32_t interval_us)
 Convert the interrupt interval value based on the WDG source clock frequency and the expected interrupt interval in terms of microseconds. More...
 
uint64_t wdg_convert_interrupt_interval_to_us (const uint32_t src_freq, interrupt_interval_t interval)
 Convert the interrupt interval value based on the WDG source clock frequency and the expected interrupt interval in terms of microseconds. More...
 
uint32_t wdg_convert_reset_interval_to_us (const uint32_t src_freq, reset_interval_t interval)
 Convert the Reset interval value based on the WDG source clock frequency and the expected reset interval in terms of microseconds. More...
 
uint64_t wdg_get_interrupt_interval_in_us (WDG_Type *base, const uint32_t src_freq)
 Get Actual WDG Interrupt Interval in terms of microseconds. More...
 
uint64_t wdg_get_total_reset_interval_in_us (WDG_Type *base, const uint32_t src_freq)
 Get Actual WDG Reset Interval in terms of microseconds. More...
 

Variables

static const reset_interval_map_t k_reset_interval_map [reset_interval_out_of_range+1U]
 
static const interrupt_interval_map_t k_interrupt_interval_map [interrupt_interval_out_of_range+1U]
 

Macro Definition Documentation

◆ ONE_SECOND_TICKS_IN_NS

#define ONE_SECOND_TICKS_IN_NS   (1000UL * 1000UL * 1000UL)

◆ TICKS_1G

#define TICKS_1G   (1024UL * TICKS_1M)

◆ TICKS_1K

#define TICKS_1K   (1024UL)

◆ TICKS_1M

#define TICKS_1M   (1024UL * TICKS_1K)

Variable Documentation

◆ k_interrupt_interval_map

const interrupt_interval_map_t k_interrupt_interval_map[interrupt_interval_out_of_range+1U]
static
Initial value:
= {
{2UL * (1024UL * (1024UL) ) , interrupt_interval_clock_period_multi_2m},
{8UL * (1024UL * (1024UL) ) , interrupt_interval_clock_period_multi_8m},
{32UL * (1024UL * (1024UL) ) , interrupt_interval_clock_period_multi_32m},
{128UL * (1024UL * (1024UL) ) , interrupt_interval_clock_period_multi_128m},
{512UL * (1024UL * (1024UL) ) , interrupt_interval_clock_period_multi_512m},
{2UL * (1024UL * (1024UL * (1024UL) ) ) , interrupt_interval_clock_period_multi_2g},
}
@ interrupt_interval_out_of_range
Definition: hpm_wdg_drv.h:59
@ interrupt_interval_clock_period_multi_512m
Definition: hpm_wdg_drv.h:56
@ interrupt_interval_clock_period_multi_2m
Definition: hpm_wdg_drv.h:52
@ interrupt_interval_clock_period_multi_256
Definition: hpm_wdg_drv.h:43
@ interrupt_interval_clock_period_multi_2k
Definition: hpm_wdg_drv.h:45
@ interrupt_interval_clock_period_multi_512k
Definition: hpm_wdg_drv.h:51
@ interrupt_interval_clock_period_multi_1k
Definition: hpm_wdg_drv.h:44
@ interrupt_interval_clock_period_multi_16k
Definition: hpm_wdg_drv.h:48
@ interrupt_interval_clock_period_multi_8k
Definition: hpm_wdg_drv.h:47
@ interrupt_interval_clock_period_multi_2g
Definition: hpm_wdg_drv.h:57
@ interrupt_interval_clock_period_multi_128k
Definition: hpm_wdg_drv.h:50
@ interrupt_interval_clock_period_multi_128m
Definition: hpm_wdg_drv.h:55
@ interrupt_interval_clock_period_multi_32k
Definition: hpm_wdg_drv.h:49
@ interrupt_interval_clock_period_multi_4k
Definition: hpm_wdg_drv.h:46
@ interrupt_interval_clock_period_multi_8m
Definition: hpm_wdg_drv.h:53
@ interrupt_interval_clock_period_multi_64
Definition: hpm_wdg_drv.h:42
@ interrupt_interval_clock_period_multi_32m
Definition: hpm_wdg_drv.h:54

◆ k_reset_interval_map

const reset_interval_map_t k_reset_interval_map[reset_interval_out_of_range+1U]
static
Initial value:
= {
{0xFFFFFFFFUL, reset_interval_out_of_range},
}
@ reset_interval_clock_period_mult_256
Definition: hpm_wdg_drv.h:27
@ reset_interval_clock_period_mult_8k
Definition: hpm_wdg_drv.h:32
@ reset_interval_clock_period_mult_1k
Definition: hpm_wdg_drv.h:29
@ reset_interval_clock_period_mult_16k
Definition: hpm_wdg_drv.h:33
@ reset_interval_clock_period_mult_512
Definition: hpm_wdg_drv.h:28
@ reset_interval_out_of_range
Definition: hpm_wdg_drv.h:35
@ reset_interval_clock_period_mult_128
Definition: hpm_wdg_drv.h:26
@ reset_interval_clock_period_mult_2k
Definition: hpm_wdg_drv.h:30
@ reset_interval_clock_period_mult_4k
Definition: hpm_wdg_drv.h:31