VSF Documented
Data Structures | Macros | Enumerations | Variables
vsf_timer_gpio_pwm.h File Reference
#include "hal/vsf_hal_cfg.h"
#include "utilities/vsf_utilities.h"
#include "utilities/ooc_class.h"

Go to the source code of this file.

Data Structures

class  vsf_timer_gpio_multi_pwm_channel_t
 
class  vsf_timer_gpio_multi_pwm_t
 
class  vsf_timer_gpio_single_pwm_t
 

Macros

#define VSF_TIMER_GPIO_PWM_CFG_MULTI_CLASS   VSF_PWM_CFG_MULTI_CLASS
 
#define __VSF_TIMER_GPIO_MULTI_PWM_INIT_HALOP    .vsf_pwm.op = &vsf_timer_gpio_multi_pwm_op,
 
#define __VSF_TIMER_GPIO_SINGLE_PWM_INIT_HALOP    .vsf_pwm.op = &vsf_timer_gpio_single_pwm_op,
 
#define __VSF_TIMER_GPIO_MULTI_PWM_INIT(__TIMER, __GPIO_PORT, __CHANNEL_NUM, __CHANNELS)
 
#define VSF_TIMER_GPIO_MULTI_PWM_INIT(__TIMER, __GPIO_PORT, __CHANNEL_NUM, __CHANNELS)    __VSF_TIMER_GPIO_MULTI_PWM_INIT((__TIMER), (__GPIO_PORT), (__CHANNEL_NUM), (__CHANNELS))
 
#define __describe_timer_gpio_multi_pwm_channel(__config)    { .config = (__config) },
 
#define __describe_timer_gpio_multi_pwm(__name, __timer, __gpio_port, ...)
 
#define describe_timer_gpio_multi_pwm(__name, __timer, __gpio_port, ...)    __describe_timer_gpio_multi_pwm(__name, (__timer), (__gpio_port), __VA_ARGS__)
 
#define __VSF_TIMER_GPIO_SINGLE_PWM_INIT(__TIMER, __FN_GPIO_CONTROL)
 
#define VSF_TIMER_GPIO_SINGLE_PWM_INIT(__TIMER, __FN_GPIO_CONTROL)    __VSF_TIMER_GPIO_SINGLE_PWM_INIT((__TIMER), (__FN_GPIO_CONTROL))
 
#define __describe_timer_gpio_single_pwm(__name, __timer, __fn_gpio_control)
 
#define describe_timer_gpio_single_pwm(__name, __timer, __fn_gpio_control)    __describe_timer_gpio_single_pwm(__name, (__timer), (__fn_gpio_control))
 

Enumerations

enum  {
  VSF_TIMER_GPIO_PWM_NORMAL = 0 ,
  VSF_TIMER_GPIO_PWM_REVERSE = 1
}
 

Variables

const vsf_pwm_op_t vsf_timer_gpio_single_pwm_op
 
const vsf_pwm_op_t vsf_timer_gpio_multi_pwm_op
 

Macro Definition Documentation

◆ VSF_TIMER_GPIO_PWM_CFG_MULTI_CLASS

#define VSF_TIMER_GPIO_PWM_CFG_MULTI_CLASS   VSF_PWM_CFG_MULTI_CLASS

◆ __VSF_TIMER_GPIO_MULTI_PWM_INIT_HALOP

#define __VSF_TIMER_GPIO_MULTI_PWM_INIT_HALOP    .vsf_pwm.op = &vsf_timer_gpio_multi_pwm_op,

◆ __VSF_TIMER_GPIO_SINGLE_PWM_INIT_HALOP

#define __VSF_TIMER_GPIO_SINGLE_PWM_INIT_HALOP    .vsf_pwm.op = &vsf_timer_gpio_single_pwm_op,

◆ __VSF_TIMER_GPIO_MULTI_PWM_INIT

#define __VSF_TIMER_GPIO_MULTI_PWM_INIT (   __TIMER,
  __GPIO_PORT,
  __CHANNEL_NUM,
  __CHANNELS 
)
Value:
.timer = (vsf_timer_t *)(__TIMER), \
.gpio = (vsf_gpio_t *)(__GPIO_PORT), \
.channels = (__CHANNELS), \
.channel_num = (__CHANNEL_NUM),
Definition vsf_template_gpio.h:471
Definition vsf_template_timer.h:184
#define __VSF_TIMER_GPIO_MULTI_PWM_INIT_HALOP
Definition vsf_timer_gpio_pwm.h:57

◆ VSF_TIMER_GPIO_MULTI_PWM_INIT

#define VSF_TIMER_GPIO_MULTI_PWM_INIT (   __TIMER,
  __GPIO_PORT,
  __CHANNEL_NUM,
  __CHANNELS 
)     __VSF_TIMER_GPIO_MULTI_PWM_INIT((__TIMER), (__GPIO_PORT), (__CHANNEL_NUM), (__CHANNELS))

◆ __describe_timer_gpio_multi_pwm_channel

#define __describe_timer_gpio_multi_pwm_channel (   __config)     { .config = (__config) },

◆ __describe_timer_gpio_multi_pwm

#define __describe_timer_gpio_multi_pwm (   __name,
  __timer,
  __gpio_port,
  ... 
)
Value:
VSF_MFOREACH(__describe_timer_gpio_multi_pwm_channel, __VA_ARGS__)\
}; \
VSF_TIMER_GPIO_MULTI_PWM_INIT((__timer), (__gpio_port), \
dimof(VSF_MCONNECT3(__, __name, _channels)), \
VSF_MCONNECT3(__, __name, _channels)) \
};
#define dimof(__arr)
Definition __type.h:155
Definition vsf_timer_gpio_pwm.h:114
Definition vsf_timer_gpio_pwm.h:130
#define __name
Definition hci_transport_aic8800.c:552
#define VSF_MCONNECT3(a, b, c)
Definition vsf_connect_macro.h:73
#define __describe_timer_gpio_multi_pwm_channel(__config)
Definition vsf_timer_gpio_pwm.h:75

◆ describe_timer_gpio_multi_pwm

#define describe_timer_gpio_multi_pwm (   __name,
  __timer,
  __gpio_port,
  ... 
)     __describe_timer_gpio_multi_pwm(__name, (__timer), (__gpio_port), __VA_ARGS__)

◆ __VSF_TIMER_GPIO_SINGLE_PWM_INIT

#define __VSF_TIMER_GPIO_SINGLE_PWM_INIT (   __TIMER,
  __FN_GPIO_CONTROL 
)
Value:
.timer = (vsf_timer_t *)(__TIMER), \
.gpio_control = (__FN_GPIO_CONTROL),
#define __VSF_TIMER_GPIO_SINGLE_PWM_INIT_HALOP
Definition vsf_timer_gpio_pwm.h:59

◆ VSF_TIMER_GPIO_SINGLE_PWM_INIT

#define VSF_TIMER_GPIO_SINGLE_PWM_INIT (   __TIMER,
  __FN_GPIO_CONTROL 
)     __VSF_TIMER_GPIO_SINGLE_PWM_INIT((__TIMER), (__FN_GPIO_CONTROL))

◆ __describe_timer_gpio_single_pwm

#define __describe_timer_gpio_single_pwm (   __name,
  __timer,
  __fn_gpio_control 
)
Value:
VSF_TIMER_GPIO_SINGLE_PWM_INIT((__timer), (__fn_gpio_control)) \
};
Definition vsf_timer_gpio_pwm.h:148

◆ describe_timer_gpio_single_pwm

#define describe_timer_gpio_single_pwm (   __name,
  __timer,
  __fn_gpio_control 
)     __describe_timer_gpio_single_pwm(__name, (__timer), (__fn_gpio_control))

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
VSF_TIMER_GPIO_PWM_NORMAL 
VSF_TIMER_GPIO_PWM_REVERSE 

Variable Documentation

◆ vsf_timer_gpio_single_pwm_op

const vsf_pwm_op_t vsf_timer_gpio_single_pwm_op
extern

◆ vsf_timer_gpio_multi_pwm_op

const vsf_pwm_op_t vsf_timer_gpio_multi_pwm_op
extern