SemiDrive SSDK Appication Program Interface PTG3.0
Data Structures | Functions
sdrv_etimer.h File Reference
#include <compiler.h>
#include <types.h>
#include "../source/etimer/sdrv_etimer_lld.h"
#include "sdrv_common.h"

Go to the source code of this file.

Data Structures

struct  sdrv_etimer_basic_cnt_cfg
 
struct  sdrv_etimer_tmr_cfg
 
struct  sdrv_etimer_chn
 
struct  sdrv_etimer_controller
 
struct  sdrv_etimer_pwm_state
 
struct  etimer_cmp_cfg
 
struct  etimer_multi_cmp_val
 

Functions

uint8_t sdrv_etimer_set_callback (sdrv_etimer_t *etmr, etimer_callback callback, void *arg)
 
status_t sdrv_etimer_timer_init (sdrv_etimer_t *etmr, sdrv_etimer_basic_cnt_cfg_t *cnt_cfg)
 
status_t sdrv_etimer_timer_start (sdrv_etimer_t *etmr, uint32_t time_out)
 
status_t sdrv_etimer_timer_stop (sdrv_etimer_t *etmr)
 
uint32_t sdrv_etimer_timer_get_current_time (sdrv_etimer_t *etmr)
 
status_t sdrv_etimer_capture_init (sdrv_etimer_t *etmr)
 
status_t sdrv_etimer_capture_start (sdrv_etimer_t *etmr)
 
status_t sdrv_etimer_capture_stop (sdrv_etimer_t *etmr)
 
status_t sdrv_etimer_capture_pwm (sdrv_etimer_t *etmr, sdrv_etimer_pwm_state_t *state)
 
status_t sdrv_etimer_compare_pwm_initial_out_status (sdrv_etimer_t *etmr, bool cmp0_init, bool cmp1_init)
 
status_t sdrv_etimer_compare_pwm_config (sdrv_etimer_t *etmr, sdrv_etimer_cmp_cfg_t *cmp_cfg, const sdrv_etimer_pwm_state_t *state)
 
status_t sdrv_etimer_compare_pwm_config_update (sdrv_etimer_t *etmr, sdrv_etimer_cmp_cfg_t *cmp_cfg, const sdrv_etimer_pwm_state_t *state)
 
status_t sdrv_etimer_compare_pwm_dma_en (sdrv_etimer_t *etmr, uint16_t wml)
 
status_t sdrv_etimer_compare_multi_mode (sdrv_etimer_t *etmr, sdrv_etimer_multi_cmp_val_t *multi_cmp)
 
status_t sdrv_etimer_compare_pwm_start (sdrv_etimer_t *etmr)
 
status_t sdrv_etimer_compare_pwm_stop (sdrv_etimer_t *etmr)
 
status_t sdrv_etimer_quad_config (sdrv_etimer_t *etmr, quad_ctrl_t *quad_ctrl)
 
status_t sdrv_etimer_quad_start (sdrv_etimer_t *etmr)
 
status_t sdrv_etimer_quad_stop (sdrv_etimer_t *etmr)
 
bool sdrv_etimer_quad_dir_up (sdrv_etimer_t *etmr)
 
status_t sdrv_etimer_filter_config (sdrv_etimer_t *etmr, flt_config_t *filter_cfg)
 
status_t sdrv_etimer_icu_config (sdrv_etimer_t *etmr, sdrv_etimer_cpt_trig_mode_e edge_sel)
 
status_t sdrv_etimer_icu_dma_en (sdrv_etimer_t *etmr, uint16_t wml)
 
status_t sdrv_etimer_icu_start (sdrv_etimer_t *etmr)
 
status_t sdrv_etimer_icu_stop (sdrv_etimer_t *etmr)
 
uint32_t sdrv_etimer_icu_get_cnt_val (sdrv_etimer_t *etmr)
 
bool sdrv_etimer_icu_get_level (sdrv_etimer_t *etmr)
 

Detailed Description

Macro Definition Documentation

◆ ETMR_SOURCE_CLK

#define ETMR_SOURCE_CLK   250

Typedef Documentation

◆ etimer_callback

typedef void(* etimer_callback) (void *arg)

◆ etimer_chn_status_t

etimer work status

◆ etimer_g0_mode_t

etimer g0 counter mode

◆ etimer_work_mode_t

etimer work mode

◆ sdrv_etimer_basic_cnt_cfg_t

sdrv etimer tmr config

◆ sdrv_etimer_basic_cnt_id_t

sdrv etimer basic counter num

◆ sdrv_etimer_cmp_cfg_t

sdrv etimer cmp mode ctrl

◆ sdrv_etimer_controller_t

◆ sdrv_etimer_multi_cmp_val_t

sdrv etimer multi cmp mode cmp val (ns)

◆ sdrv_etimer_pwm_state_t

sdrv etimer pwm_status

◆ sdrv_etimer_t

sdrv etimer ctrl

◆ sdrv_etimer_tmr_cfg_t

sdrv tmr config

Enumeration Type Documentation

◆ etimer_chn_status

etimer work status

Enumerator
ETIMER_CHAN_UNINIT 
ETIMER_CHAN_INIT 
ETIMER_CHAN_RUNNING 
ETIMER_CHAN_STOP 

◆ etimer_g0_mode

etimer g0 counter mode

Enumerator
G0_IDLE 
G0_FOR_TIMER 
G0_FOR_PWM_GEN 

◆ etimer_work_mode

etimer work mode

Enumerator
ETIMER_PWM_IDLE 
ETIMER_PWM_CAPTURE 
ETIMER_PWM_GENERATE 
ETIMER_TIMER_FUNC 
ETIMER_ICU_FUNC 
ETIMER_PWM_OTHERS 

◆ sdrv_etimer_basic_cnt_id

sdrv etimer basic counter num

Enumerator
ETIMR_BASIC_TMR_G0 
ETIMR_BASIC_TMR_G1 
ETIMR_BASIC_TMR_NUM 

Function Documentation

◆ sdrv_etimer_capture_init()

status_t sdrv_etimer_capture_init ( sdrv_etimer_t etmr)

init etimer capture chan.

Parameters
[in]etmretimer ctrl instance

◆ sdrv_etimer_capture_pwm()

status_t sdrv_etimer_capture_pwm ( sdrv_etimer_t etmr,
sdrv_etimer_pwm_state_t state 
)

etimer capture pwm signal.

Parameters
[in]etmretimer ctrl instance
[in]statepwm duty and period

◆ sdrv_etimer_capture_start()

status_t sdrv_etimer_capture_start ( sdrv_etimer_t etmr)

start etimer capture chan.

Parameters
[in]etmretimer ctrl instance

◆ sdrv_etimer_capture_stop()

status_t sdrv_etimer_capture_stop ( sdrv_etimer_t etmr)

stop etimer capture chan.

Parameters
[in]etmretimer ctrl instance

◆ sdrv_etimer_compare_multi_mode()

status_t sdrv_etimer_compare_multi_mode ( sdrv_etimer_t etmr,
sdrv_etimer_multi_cmp_val_t multi_cmp 
)

configure multi compare mode.

Parameters
[in]etmretimer ctrl instance
[in]multi_cmpetimer multi cmp config

◆ sdrv_etimer_compare_pwm_config()

status_t sdrv_etimer_compare_pwm_config ( sdrv_etimer_t etmr,
sdrv_etimer_cmp_cfg_t cmp_cfg,
const sdrv_etimer_pwm_state_t state 
)

etimer pwm state config.

Parameters
[in]etmretimer ctrl instance
[in]cmp_cfgetimer cmp common config
[in]statepwm duty and period

◆ sdrv_etimer_compare_pwm_config_update()

status_t sdrv_etimer_compare_pwm_config_update ( sdrv_etimer_t etmr,
sdrv_etimer_cmp_cfg_t cmp_cfg,
const sdrv_etimer_pwm_state_t state 
)

etimer pwm config update.

Parameters
[in]etmretimer ctrl instance
[in]cmp_cfgetimer cmp common config
[in]statepwm duty and period

◆ sdrv_etimer_compare_pwm_dma_en()

status_t sdrv_etimer_compare_pwm_dma_en ( sdrv_etimer_t etmr,
uint16_t  wml 
)

configure etimer pwm output dma enable (dma_en must after pwm config)

Parameters
[in]etmretimer ctrl instance
[in]wmlwater mark level (range : 1-15)

◆ sdrv_etimer_compare_pwm_initial_out_status()

status_t sdrv_etimer_compare_pwm_initial_out_status ( sdrv_etimer_t etmr,
bool  cmp0_init,
bool  cmp1_init 
)

etimer pwm set initial putput status.

Parameters
[in]etmretimer ctrl instance
[in]cmp0_initetimer cmp0 initial out status
[in]cmp1_initetimer cmp1 initial out status

◆ sdrv_etimer_compare_pwm_start()

status_t sdrv_etimer_compare_pwm_start ( sdrv_etimer_t etmr)

start to generate etimer pwm signal.

Parameters
[in]etmretimer ctrl instance

◆ sdrv_etimer_compare_pwm_stop()

status_t sdrv_etimer_compare_pwm_stop ( sdrv_etimer_t etmr)

stop to generate etimer pwm signal.

Parameters
[in]etmretimer ctrl instance

◆ sdrv_etimer_filter_config()

status_t sdrv_etimer_filter_config ( sdrv_etimer_t etmr,
flt_config_t *  filter_cfg 
)

configure etimer filter config

Parameters
[in]etmretimer ctrl instance
[in]filter_cfgfilter_cfg

◆ sdrv_etimer_icu_config()

status_t sdrv_etimer_icu_config ( sdrv_etimer_t etmr,
sdrv_etimer_cpt_trig_mode_e  edge_sel 
)

configure etimer icu config

Parameters
[in]etmretimer ctrl instance
[in]edge_selcapture edge select

◆ sdrv_etimer_icu_dma_en()

status_t sdrv_etimer_icu_dma_en ( sdrv_etimer_t etmr,
uint16_t  wml 
)

configure etimer icu dma enable (dma_en must after icu config)

Parameters
[in]etmretimer ctrl instance
[in]wmlwater mark level (range : 1-15)

◆ sdrv_etimer_icu_get_cnt_val()

uint32_t sdrv_etimer_icu_get_cnt_val ( sdrv_etimer_t etmr)

stop etimer icu get capture timestamp.

Parameters
[in]etmretimer ctrl instance
Returns
cpt_val : capture val

◆ sdrv_etimer_icu_get_level()

bool sdrv_etimer_icu_get_level ( sdrv_etimer_t etmr)

stop etimer icu get channel level status.

Parameters
[in]etmretimer ctrl instance
Returns
high level : true low level : false

◆ sdrv_etimer_icu_start()

status_t sdrv_etimer_icu_start ( sdrv_etimer_t etmr)

start etimer icu chan.

Parameters
[in]etmretimer ctrl instance

◆ sdrv_etimer_icu_stop()

status_t sdrv_etimer_icu_stop ( sdrv_etimer_t etmr)

stop etimer icu chan.

Parameters
[in]etmretimer ctrl instance

◆ sdrv_etimer_quad_config()

status_t sdrv_etimer_quad_config ( sdrv_etimer_t etmr,
quad_ctrl_t *  quad_ctrl 
)

etimer quad config.

Parameters
[in]etmretimer ctrl instance
[in]quad_ctrletimer quad config

◆ sdrv_etimer_quad_dir_up()

bool sdrv_etimer_quad_dir_up ( sdrv_etimer_t etmr)

get quad dir signal status

Parameters
[in]etmretimer ctrl instance

◆ sdrv_etimer_quad_start()

status_t sdrv_etimer_quad_start ( sdrv_etimer_t etmr)

start etimer quad.

Parameters
[in]etmretimer ctrl instance

◆ sdrv_etimer_quad_stop()

status_t sdrv_etimer_quad_stop ( sdrv_etimer_t etmr)

stop etimer quad.

Parameters
[in]etmretimer ctrl instance

◆ sdrv_etimer_set_callback()

uint8_t sdrv_etimer_set_callback ( sdrv_etimer_t etmr,
etimer_callback  callback,
void *  arg 
)

etimer setup callback funciton

Parameters
[in]etmretimer ctrl instance
[in]callbackuser callback function
Returns
succeed:0 fail:other

◆ sdrv_etimer_timer_get_current_time()

uint32_t sdrv_etimer_timer_get_current_time ( sdrv_etimer_t etmr)

etimer timer get current time val (us)

Parameters
[in]etmretimer ctrl instance
Returns
current time val

◆ sdrv_etimer_timer_init()

status_t sdrv_etimer_timer_init ( sdrv_etimer_t etmr,
sdrv_etimer_basic_cnt_cfg_t cnt_cfg 
)

etimer timer init

Parameters
[in]etmretimer ctrl instance
[in]cnt_cfgtimer counter config

◆ sdrv_etimer_timer_start()

status_t sdrv_etimer_timer_start ( sdrv_etimer_t etmr,
uint32_t  time_out 
)

etimer timer start

Parameters
[in]etmretimer ctrl instance
[in]time_outtimer timeout value

◆ sdrv_etimer_timer_stop()

status_t sdrv_etimer_timer_stop ( sdrv_etimer_t etmr)

etimer timer stop

Parameters
[in]etmretimer ctrl instance