VSC driver APIs. More...
Data Structures | |
| struct | vsc_adc_config_t |
| adc config structure More... | |
| struct | vsc_data_opr_config_t |
| vsc config structure More... | |
| struct | vsc_config_t |
| vsc config structure More... | |
Typedefs | |
| typedef enum vsc_phase_mode | vsc_phase_mode_t |
| vsc phase mode More... | |
| typedef enum vsc_data_opr_mode | vsc_data_opr_mode_t |
| vsc data operation mode More... | |
| typedef enum vsc_adc_sel | vsc_adc_sel_t |
| vsc select adc instance More... | |
| typedef enum vsc_pos_cap_mode | vsc_pos_cap_mode_t |
| vsc position capture mode More... | |
| typedef enum vsc_timestamp_sel | vsc_timestamp_sel_t |
| vsc select adc timestamp More... | |
| typedef enum vsc_irq_mask | vsc_irq_mask_t |
| vsc irq mask bit More... | |
Functions | |
| static void | vsc_set_enable (VSC_Type *vsc, bool enable) |
| vsc enable or disable More... | |
| static void | vsc_config_pos_capture_mode (VSC_Type *vsc, vsc_pos_cap_mode_t mode) |
| vsc config position capture mode More... | |
| static void | vsc_config_adc_timestamp (VSC_Type *vsc, vsc_timestamp_sel_t select, uint8_t num) |
| vsc config adc timestamp More... | |
| static void | vsc_set_irq_enable (VSC_Type *vsc, uint32_t irq_mask, bool enable) |
| vsc set irq enable or disable More... | |
| static uint32_t | vsc_get_irq_status (VSC_Type *vsc) |
| vsc get irq status More... | |
| static void | vsc_clear_irq_status (VSC_Type *vsc, uint32_t irq_mask) |
| vsc clear irq status More... | |
| static bool | vsc_get_irq_flag (VSC_Type *vsc, uint32_t irq_mask) |
| vsc check irq request flag More... | |
| static void | vsc_set_adc_wait_cycle (VSC_Type *vsc, uint32_t wait_cycle) |
| vsc set adc wait cycles More... | |
| static void | vsc_set_pos_wait_cycle (VSC_Type *vsc, uint32_t wait_cycle) |
| vsc set position wait cycles More... | |
| static void | vsc_set_adc_tolerate (VSC_Type *vsc, uint32_t tolerate) |
| vsc set abc phase value tolerate More... | |
| static void | vsc_set_pos_pole_pairs (VSC_Type *vsc, uint32_t pole_pairs) |
| vsc set position pole pairs More... | |
| static void | vsc_set_sw_trig_in (VSC_Type *vsc) |
| vsc set software trigger in More... | |
| static int32_t | vsc_get_d_axis_value (VSC_Type *vsc, bool positive_seq) |
| vsc get d-axis value More... | |
| static int32_t | vsc_get_q_axis_value (VSC_Type *vsc, bool positive_seq) |
| vsc get q-axis value More... | |
| static int32_t | vsc_get_alpha_axis_value (VSC_Type *vsc, bool positive_seq) |
| vsc get alpha-axis value More... | |
| static int32_t | vsc_get_beta_axis_value (VSC_Type *vsc, bool positive_seq) |
| vsc get beta-axis value More... | |
| static uint32_t | vsc_get_adc_timestamp (VSC_Type *vsc) |
| vsc get adc timestamp value More... | |
| void | vsc_get_default_config (VSC_Type *vsc, vsc_config_t *config) |
| vsc get default config More... | |
| void | vsc_config_init (VSC_Type *vsc, vsc_config_t *config) |
| vsc config initialization More... | |
| void | vsc_sw_inject_abc_value (VSC_Type *vsc, int32_t value_a, int32_t value_b, int32_t value_c) |
| vsc software inject phase a/b/c value More... | |
| void | vsc_sw_inject_pos_value (VSC_Type *vsc, uint32_t pos) |
| vsc software inject position value More... | |
VSC driver APIs.
| typedef enum vsc_adc_sel vsc_adc_sel_t |
| typedef enum vsc_data_opr_mode vsc_data_opr_mode_t |
| typedef enum vsc_irq_mask vsc_irq_mask_t |
#include <drivers/inc/hpm_vsc_drv.h>
vsc irq mask bit
| typedef enum vsc_phase_mode vsc_phase_mode_t |
| typedef enum vsc_pos_cap_mode vsc_pos_cap_mode_t |
| typedef enum vsc_timestamp_sel vsc_timestamp_sel_t |
| enum vsc_adc_sel |
#include <drivers/inc/hpm_vsc_drv.h>
vsc select adc instance
| Enumerator | |
|---|---|
| vsc_sel_adc0 | |
| vsc_sel_adc1 | |
| vsc_sel_adc2 | |
| enum vsc_data_opr_mode |
#include <drivers/inc/hpm_vsc_drv.h>
vsc data operation mode
| enum vsc_irq_mask |
#include <drivers/inc/hpm_vsc_drv.h>
vsc irq mask bit
| enum vsc_phase_mode |
| enum vsc_pos_cap_mode |
#include <drivers/inc/hpm_vsc_drv.h>
vsc position capture mode
| Enumerator | |
|---|---|
| vsc_pos_use_last_data_when_adc_sample_finish | |
| vsc_pos_use_first_data_after_adc_sample_start | |
| vsc_pos_use_last_data_before_adc_sample_start | |
| enum vsc_timestamp_sel |
#include <drivers/inc/hpm_vsc_drv.h>
vsc select adc timestamp
| Enumerator | |
|---|---|
| vsc_timestamp_sel_value_a | |
| vsc_timestamp_sel_value_b | |
| vsc_timestamp_sel_value_c | |
|
inlinestatic |
#include <drivers/inc/hpm_vsc_drv.h>
vsc clear irq status
| [in] | vsc | CLC base address |
| [in] | irq_mask | irq mask, vsc_irq_mask_t |
|
inlinestatic |
#include <drivers/inc/hpm_vsc_drv.h>
vsc config adc timestamp
| [in] | vsc | VSC base address |
| [in] | select | timestamp select from value a/b/c. vsc_timestamp_sel_t |
| [in] | num | timestamp use which number index of vsc_timestamp_sel_t used. |
| void vsc_config_init | ( | VSC_Type * | vsc, |
| vsc_config_t * | config | ||
| ) |
#include <drivers/inc/hpm_vsc_drv.h>
vsc config initialization
| [in] | vsc | VSC base address |
| [in] | config | vsc config struct |
|
inlinestatic |
#include <drivers/inc/hpm_vsc_drv.h>
vsc config position capture mode
| [in] | vsc | VSC base address |
| [in] | mode | vsc_pos_cap_mode_t |
|
inlinestatic |
#include <drivers/inc/hpm_vsc_drv.h>
vsc get adc timestamp value
| [in] | vsc | CLC base address |
| adc | timestamp value |
|
inlinestatic |
#include <drivers/inc/hpm_vsc_drv.h>
vsc get alpha-axis value
| [in] | vsc | CLC base address |
| [in] | positive_seq | true - positive order; false - reverse order |
| alpha-axis | value |
|
inlinestatic |
#include <drivers/inc/hpm_vsc_drv.h>
vsc get beta-axis value
| [in] | vsc | CLC base address |
| [in] | positive_seq | true - positive order; false - reverse order |
| beta-axis | value |
|
inlinestatic |
#include <drivers/inc/hpm_vsc_drv.h>
vsc get d-axis value
| [in] | vsc | CLC base address |
| [in] | positive_seq | true - positive order; false - reverse order |
| d-axis | value |
| void vsc_get_default_config | ( | VSC_Type * | vsc, |
| vsc_config_t * | config | ||
| ) |
#include <drivers/inc/hpm_vsc_drv.h>
vsc get default config
| [in] | vsc | VSC base address |
| [out] | config | vsc default config |
|
inlinestatic |
#include <drivers/inc/hpm_vsc_drv.h>
vsc check irq request flag
| [in] | vsc | CLC base address |
| [in] | irq_mask | irq mask, vsc_irq_mask_t |
| true-has | irq req, false-no irq req. |
|
inlinestatic |
#include <drivers/inc/hpm_vsc_drv.h>
vsc get irq status
| [in] | vsc | CLC base address |
| irq | status. |
|
inlinestatic |
#include <drivers/inc/hpm_vsc_drv.h>
vsc get q-axis value
| [in] | vsc | CLC base address |
| [in] | positive_seq | true - positive order; false - reverse order |
| q-axis | value |
|
inlinestatic |
#include <drivers/inc/hpm_vsc_drv.h>
vsc set abc phase value tolerate
| [in] | vsc | CLC base address |
| [in] | tolerate | value a/b/c total value tolerate |
|
inlinestatic |
#include <drivers/inc/hpm_vsc_drv.h>
vsc set adc wait cycles
| [in] | vsc | CLC base address |
| [in] | wait_cycle | adc wait cycle for exception |
|
inlinestatic |
#include <drivers/inc/hpm_vsc_drv.h>
vsc enable or disable
| [in] | vsc | VSC base address |
| [in] | enable | true-enable, false-disable |
|
inlinestatic |
#include <drivers/inc/hpm_vsc_drv.h>
vsc set irq enable or disable
| [in] | vsc | CLC base address |
| [in] | irq_mask | irq mask, vsc_irq_mask_t |
| [in] | enable | enable or disable
|
|
inlinestatic |
#include <drivers/inc/hpm_vsc_drv.h>
vsc set position pole pairs
| [in] | vsc | CLC base address |
| [in] | pole_pairs | pole pairs number |
|
inlinestatic |
#include <drivers/inc/hpm_vsc_drv.h>
vsc set position wait cycles
| [in] | vsc | CLC base address |
| [in] | wait_cycle | position wait cycle for exception |
|
inlinestatic |
| void vsc_sw_inject_abc_value | ( | VSC_Type * | vsc, |
| int32_t | value_a, | ||
| int32_t | value_b, | ||
| int32_t | value_c | ||
| ) |
#include <drivers/inc/hpm_vsc_drv.h>
vsc software inject phase a/b/c value
| [in] | vsc | VSC base address |
| [in] | value_a | phase a value |
| [in] | value_b | phase b value |
| [in] | value_c | phase c value |
| void vsc_sw_inject_pos_value | ( | VSC_Type * | vsc, |
| uint32_t | pos | ||
| ) |
#include <drivers/inc/hpm_vsc_drv.h>
vsc software inject position value
| [in] | vsc | VSC base address |
| [in] | pos | position value |