VSF Documented
Data Structures | Macros | Typedefs | Enumerations | Functions
vsf_template_wdt.h File Reference
#include "./vsf_template_hal_driver.h"
#include "hal/arch/vsf_arch.h"

Go to the source code of this file.

Data Structures

struct  vsf_wdt_isr_t
 
struct  vsf_wdt_cfg_t
 wdt configuration More...
 
struct  vsf_wdt_capability_t
 
struct  vsf_wdt_op_t
 
struct  vsf_wdt_t
 

Macros

#define VSF_WDT_CFG_MULTI_CLASS   ENABLED
 
#define VSF_WDT_CFG_PREFIX   vsf
 
#define VSF_WDT_CFG_FUNCTION_RENAME   ENABLED
 
#define VSF_WDT_CFG_REIMPLEMENT_TYPE_MODE   DISABLED
 
#define VSF_WDT_CFG_REIMPLEMENT_TYPE_IRQ_MASK   DISABLED
 
#define VSF_WDT_CFG_REIMPLEMENT_TYPE_CFG   DISABLED
 
#define VSF_WDT_CFG_REIMPLEMENT_TYPE_CAPABILITY   DISABLED
 
#define VSF_WDT_CFG_INHERT_HAL_CAPABILITY   ENABLED
 
#define VSF_WDT_APIS(__prefix_name)
 
#define __VSF_HAL_TEMPLATE_API   VSF_HAL_TEMPLATE_API_FP
 
#define __vsf_wdt_t   VSF_MCONNECT(VSF_WDT_CFG_PREFIX, _wdt_t)
 
#define vsf_wdt_init(__WDT, ...)   VSF_MCONNECT(VSF_WDT_CFG_PREFIX, _wdt_init) ((__vsf_wdt_t *)(__WDT), ##__VA_ARGS__)
 
#define vsf_wdt_fini(__WDT)   VSF_MCONNECT(VSF_WDT_CFG_PREFIX, _wdt_fini) ((__vsf_wdt_t *)(__WDT))
 
#define vsf_wdt_enable(__WDT)   VSF_MCONNECT(VSF_WDT_CFG_PREFIX, _wdt_enable) ((__vsf_wdt_t *)(__WDT))
 
#define vsf_wdt_disable(__WDT)   VSF_MCONNECT(VSF_WDT_CFG_PREFIX, _wdt_disable) ((__vsf_wdt_t *)(__WDT))
 
#define vsf_wdt_capability(__WDT)   VSF_MCONNECT(VSF_WDT_CFG_PREFIX, _wdt_capability) ((__vsf_wdt_t *)(__WDT))
 
#define vsf_wdt_feed(__WDT, ...)   VSF_MCONNECT(VSF_WDT_CFG_PREFIX, _wdt_feed) ((__vsf_wdt_t *)(__WDT))
 

Typedefs

typedef enum vsf_wdt_mode_t vsf_wdt_mode_t
 
typedef struct vsf_wdt_t vsf_wdt_t
 
typedef void vsf_wdt_isr_handler_t(void *target_ptr, vsf_wdt_t *wdt_ptr)
 
typedef struct vsf_wdt_isr_t vsf_wdt_isr_t
 
typedef struct vsf_wdt_cfg_t vsf_wdt_cfg_t
 wdt configuration
 
typedef struct vsf_wdt_capability_t vsf_wdt_capability_t
 
typedef struct vsf_wdt_op_t vsf_wdt_op_t
 

Enumerations

enum  vsf_wdt_mode_t {
  VSF_WDT_MODE_NO_EARLY_WAKEUP = (0 << 0) ,
  VSF_WDT_MODE_EARLY_WAKEUP = (1 << 0) ,
  VSF_WDT_MODE_RESET_NONE = (0 << 1) ,
  VSF_WDT_MODE_RESET_CPU = (1 << 1) ,
  VSF_WDT_MODE_RESET_SOC = (2 << 1)
}
 
enum  {
  VSF_WDT_MODE_EARLY_WAKEUP_COUNT = 2 ,
  VSF_WDT_MODE_EARLY_WAKEUP_MASK ,
  VSF_WDT_MODE_RESET_COUNT = 3 ,
  VSF_WDT_MODE_RESET_MASK ,
  VSF_WDT_MODE_MASK_COUNT = 2 ,
  VSF_WDT_MODE_ALL_BITS_MASK
}
 

Functions

vsf_err_t vsf_wdt_init (vsf_wdt_t *wdt_ptr, vsf_wdt_cfg_t *cfg_ptr)
 initialize a wdt instance.
 
void vsf_wdt_fini (vsf_wdt_t *wdt_ptr)
 finalize a wdt instance.
 
fsm_rt_t vsf_wdt_enable (vsf_wdt_t *wdt_ptr)
 enable interrupt masks of wdt instance.
 
fsm_rt_t vsf_wdt_disable (vsf_wdt_t *wdt_ptr)
 disable interrupt masks of wdt instance.
 
vsf_wdt_capability_t vsf_wdt_capability (vsf_wdt_t *wdt_ptr)
 get the capability of wdt instance.
 
void vsf_wdt_feed (vsf_wdt_t *wdt_ptr)
 wdt feed
 

Macro Definition Documentation

◆ VSF_WDT_CFG_MULTI_CLASS

#define VSF_WDT_CFG_MULTI_CLASS   ENABLED

◆ VSF_WDT_CFG_PREFIX

#define VSF_WDT_CFG_PREFIX   vsf

◆ VSF_WDT_CFG_FUNCTION_RENAME

#define VSF_WDT_CFG_FUNCTION_RENAME   ENABLED

◆ VSF_WDT_CFG_REIMPLEMENT_TYPE_MODE

#define VSF_WDT_CFG_REIMPLEMENT_TYPE_MODE   DISABLED

◆ VSF_WDT_CFG_REIMPLEMENT_TYPE_IRQ_MASK

#define VSF_WDT_CFG_REIMPLEMENT_TYPE_IRQ_MASK   DISABLED

◆ VSF_WDT_CFG_REIMPLEMENT_TYPE_CFG

#define VSF_WDT_CFG_REIMPLEMENT_TYPE_CFG   DISABLED

Redefine struct vsf_wdt_cfg_t. The vsf_wdt_isr_handler_t type also needs to be redefined For compatibility, members should not be deleted when struct vsf_wdt_cfg_t redefining.

◆ VSF_WDT_CFG_REIMPLEMENT_TYPE_CAPABILITY

#define VSF_WDT_CFG_REIMPLEMENT_TYPE_CAPABILITY   DISABLED

Redefine struct vsf_wdt_capability_t. For compatibility, members should not be deleted when struct vsf_wdt_capability_t redefining.

◆ VSF_WDT_CFG_INHERT_HAL_CAPABILITY

#define VSF_WDT_CFG_INHERT_HAL_CAPABILITY   ENABLED

◆ VSF_WDT_APIS

#define VSF_WDT_APIS (   __prefix_name)
Value:
__VSF_HAL_TEMPLATE_API(__prefix_name, vsf_err_t, wdt, init, VSF_MCONNECT(__prefix_name, _wdt_t) *wdt_ptr, vsf_wdt_cfg_t *cfg_ptr) \
__VSF_HAL_TEMPLATE_API(__prefix_name, void, wdt, fini, VSF_MCONNECT(__prefix_name, _wdt_t) *wdt_ptr) \
__VSF_HAL_TEMPLATE_API(__prefix_name, fsm_rt_t, wdt, enable, VSF_MCONNECT(__prefix_name, _wdt_t) *wdt_ptr) \
__VSF_HAL_TEMPLATE_API(__prefix_name, fsm_rt_t, wdt, disable, VSF_MCONNECT(__prefix_name, _wdt_t) *wdt_ptr) \
__VSF_HAL_TEMPLATE_API(__prefix_name, vsf_wdt_capability_t, wdt, capability, VSF_MCONNECT(__prefix_name, _wdt_t) *wdt_ptr) \
__VSF_HAL_TEMPLATE_API(__prefix_name, void, wdt, feed, VSF_MCONNECT(__prefix_name, _wdt_t) *wdt_ptr)
vsf_err_t
Definition __type.h:42
struct VSF_MCONNECT(VSF_FLASH_CFG_IMP_PREFIX, _flash_t)
Definition flash.c:53
__le16 capability
Definition ieee80211.h:134
Definition vsf_template_wdt.h:143
wdt configuration
Definition vsf_template_wdt.h:134
fsm_rt_t
Definition vsf_fsm.h:315
#define __VSF_HAL_TEMPLATE_API
Definition vsf_template_wdt.h:159

◆ __VSF_HAL_TEMPLATE_API

#define __VSF_HAL_TEMPLATE_API   VSF_HAL_TEMPLATE_API_FP

◆ __vsf_wdt_t

#define __vsf_wdt_t   VSF_MCONNECT(VSF_WDT_CFG_PREFIX, _wdt_t)

◆ vsf_wdt_init

#define vsf_wdt_init (   __WDT,
  ... 
)    VSF_MCONNECT(VSF_WDT_CFG_PREFIX, _wdt_init) ((__vsf_wdt_t *)(__WDT), ##__VA_ARGS__)

◆ vsf_wdt_fini

#define vsf_wdt_fini (   __WDT)    VSF_MCONNECT(VSF_WDT_CFG_PREFIX, _wdt_fini) ((__vsf_wdt_t *)(__WDT))

◆ vsf_wdt_enable

#define vsf_wdt_enable (   __WDT)    VSF_MCONNECT(VSF_WDT_CFG_PREFIX, _wdt_enable) ((__vsf_wdt_t *)(__WDT))

◆ vsf_wdt_disable

#define vsf_wdt_disable (   __WDT)    VSF_MCONNECT(VSF_WDT_CFG_PREFIX, _wdt_disable) ((__vsf_wdt_t *)(__WDT))

◆ vsf_wdt_capability

#define vsf_wdt_capability (   __WDT)    VSF_MCONNECT(VSF_WDT_CFG_PREFIX, _wdt_capability) ((__vsf_wdt_t *)(__WDT))

◆ vsf_wdt_feed

#define vsf_wdt_feed (   __WDT,
  ... 
)    VSF_MCONNECT(VSF_WDT_CFG_PREFIX, _wdt_feed) ((__vsf_wdt_t *)(__WDT))

Typedef Documentation

◆ vsf_wdt_mode_t

◆ vsf_wdt_t

typedef struct vsf_wdt_t vsf_wdt_t

◆ vsf_wdt_isr_handler_t

typedef void vsf_wdt_isr_handler_t(void *target_ptr, vsf_wdt_t *wdt_ptr)

◆ vsf_wdt_isr_t

typedef struct vsf_wdt_isr_t vsf_wdt_isr_t

◆ vsf_wdt_cfg_t

typedef struct vsf_wdt_cfg_t vsf_wdt_cfg_t

wdt configuration

◆ vsf_wdt_capability_t

◆ vsf_wdt_op_t

typedef struct vsf_wdt_op_t vsf_wdt_op_t

Enumeration Type Documentation

◆ vsf_wdt_mode_t

Enumerator
VSF_WDT_MODE_NO_EARLY_WAKEUP 
VSF_WDT_MODE_EARLY_WAKEUP 
VSF_WDT_MODE_RESET_NONE 
VSF_WDT_MODE_RESET_CPU 
VSF_WDT_MODE_RESET_SOC 

◆ anonymous enum

anonymous enum
Enumerator
VSF_WDT_MODE_EARLY_WAKEUP_COUNT 
VSF_WDT_MODE_EARLY_WAKEUP_MASK 
VSF_WDT_MODE_RESET_COUNT 
VSF_WDT_MODE_RESET_MASK 
VSF_WDT_MODE_MASK_COUNT 
VSF_WDT_MODE_ALL_BITS_MASK 

Function Documentation

◆ vsf_wdt_init()

vsf_err_t vsf_wdt_init ( vsf_wdt_t wdt_ptr,
vsf_wdt_cfg_t cfg_ptr 
)
extern

initialize a wdt instance.

Parameters
[in]wdt_ptra pointer to structure vsf_wdt_t
[in]cfg_ptra pointer to structure vsf_wdt_cfg_t
Returns
vsf_err_t: VSF_ERR_NONE if wdt was initialized, or a negative error code
Note
It is not necessary to call vsf_wdt_fini() to deinitialization. vsf_wdt_init() should be called before any other WDT API except vsf_wdt_capability().

◆ vsf_wdt_fini()

void vsf_wdt_fini ( vsf_wdt_t wdt_ptr)
extern

finalize a wdt instance.

Parameters
[in]wdt_ptra pointer to structure vsf_wdt_t
Returns
none

◆ vsf_wdt_enable()

fsm_rt_t vsf_wdt_enable ( vsf_wdt_t wdt_ptr)
extern

enable interrupt masks of wdt instance.

Parameters
[in]wdt_ptra pointer to structure vsf_wdt_t
[in]irq_maskone or more value of enum vsf_wdt_irq_mask_t
Returns
none.

◆ vsf_wdt_disable()

fsm_rt_t vsf_wdt_disable ( vsf_wdt_t wdt_ptr)
extern

disable interrupt masks of wdt instance.

Parameters
[in]wdt_ptra pointer to structure vsf_wdt_t
[in]irq_maskone or more value of enum vsf_wdt_irq_mask_t, vsf_wdt_irq_mask_t
Returns
none.

◆ vsf_wdt_capability()

vsf_wdt_capability_t vsf_wdt_capability ( vsf_wdt_t wdt_ptr)
extern

get the capability of wdt instance.

Parameters
[in]wdt_ptra pointer to structure vsf_wdt_t
Returns
vsf_wdt_capability_t: return all capability of current wdt vsf_wdt_capability_t

◆ vsf_wdt_feed()

void vsf_wdt_feed ( vsf_wdt_t wdt_ptr)
extern

wdt feed

Parameters
[in]wdt_ptra pointer to structure vsf_wdt_t