HPM SDK
HPMicro Software Development Kit
hpm_qeov2_drv.h File Reference
#include "hpm_common.h"
#include "hpm_qeov2_regs.h"

Go to the source code of this file.

Data Structures

struct  qeo_wave_limit_config_t
 
struct  qeo_wave_mode_t
 
struct  qeo_abz_mode_t
 
struct  qeo_z_output_mode_t
 
struct  qeo_pwm_phase_output_table_t
 
struct  qeo_pwm_safety_output_table_t
 
struct  qeo_pwm_mode_t
 

Enumerations

enum  qeo_wave_type_t {
  qeo_wave_cosine = 0 , qeo_wave_saddle = 1 , qeo_wave_abs_cosine = 2 , qeo_wave_saw = 3 ,
  qeo_wave_cosine = 0 , qeo_wave_saddle = 1 , qeo_wave_abs_cosine = 2 , qeo_wave_saw = 3
}
 
enum  qeo_saddle_type_t { qeo_saddle_standard = 0 , qeo_saddle_triple }
 
enum  qeo_wave_limit_t {
  qeo_wave_above_max_limit_max_val = 0 , qeo_wave_above_max_limit_zero = 1 , qeo_wave_above_max_limit_max_level0_val = 2 , qeo_wave_high_area_limit_max_val = 0 ,
  qeo_wave_high_area_limit_max_level0_val = 1 , qeo_wave_low_area_limit_zero = 0 , qeo_wave_low_area_limit_min_level1_val = 1 , qeo_wave_below_min_limit_zero = 0 ,
  qeo_wave_below_min_limit_max_val = 1 , qeo_wave_below_min_limit_min_level1_val = 2 , qeo_wave_above_max_limit_max_val = 0 , qeo_wave_above_max_limit_zero = 1 ,
  qeo_wave_above_max_limit_max_level0_val = 2 , qeo_wave_high_area_limit_max_val = 0 , qeo_wave_high_area_limit_max_level0_val = 1 , qeo_wave_low_area_limit_zero = 0 ,
  qeo_wave_low_area_limit_min_level1_val = 1 , qeo_wave_below_min_limit_zero = 0 , qeo_wave_below_min_limit_max_val = 1 , qeo_wave_below_min_limit_min_level1_val = 2
}
 
enum  qeo_abz_type_t {
  qeo_abz_output_abz = 0 , qeo_abz_output_pulse_revise = 1 , qeo_abz_output_up_down = 2 , qeo_abz_output_three_phase = 3 ,
  qeo_abz_output_abz = 0 , qeo_abz_output_pulse_revise = 1 , qeo_abz_output_up_down = 2 , qeo_abz_output_three_phase = 3
}
 
enum  qeo_z_pulse_type_t { qeo_z_as_zero_signal_mode0 = 0 , qeo_z_as_zero_signal_mode1 = 1 , qeo_z_as_no_output_signal = 2 , qeo_z_as_third_phase_signal = 3 }
 
enum  qeo_pwm_force_output_t {
  qeo_pwm_output_force_0 = 2 , qeo_pwm_output_force_1 = 3 , qeo_pwm_output_not_force = 0 , qeo_pwm_output_force_0 = 2 ,
  qeo_pwm_output_force_1 = 3 , qeo_pwm_output_not_force = 0
}
 
enum  qeo_pwm_safety_output_t {
  qeo_pwm_safety_output_0 = 0 , qeo_pwm_safety_output_1 = 1 , qeo_pwm_safety_output_highz = 2 , qeo_pwm_safety_output_0 = 0 ,
  qeo_pwm_safety_output_1 = 1 , qeo_pwm_safety_output_highz = 2
}
 

Functions

static void qeo_wave_set_resolution_lines (QEOV2_Type *base, uint32_t lines)
 QEO set resolution lines for wave mode. More...
 
static void qeo_wave_set_output_type (QEOV2_Type *base, qeo_wave_type_t type)
 QEO set output type for wave mode. More...
 
static void qeo_wave_set_saddle_type (QEOV2_Type *base, bool standard)
 QEO set saddle type for wave mode. More...
 
static void qeo_wave_set_phase_shift (QEOV2_Type *base, uint8_t index, double angle)
 QEO set phase shift for wave mode. More...
 
static void qeo_wave_enable_vd_vq_inject (QEOV2_Type *base, bool from_sw)
 QEO enable vd vq inject and select vq vq source for wave mode. More...
 
static void qeo_wave_disable_vd_vq_inject (QEOV2_Type *base)
 QEO disable vd vq inject for wave mode. More...
 
static void qeo_wave_config_vd_vq_value (QEOV2_Type *base, int32_t vd_val, int32_t vq_val)
 QEO config vd vq value when vd vq from register. More...
 
static void qeo_wave_load_vd_vq (QEOV2_Type *base)
 QEO load vd vq inject value when vd vq from register. More...
 
static void qeo_wave_enable_amplitude (QEOV2_Type *base, uint8_t index, double amp)
 QEO enable amplitude for wave mode. More...
 
static void qeo_wave_disable_amplitude (QEOV2_Type *base, uint8_t index)
 QEO disable amplitude for wave mode. More...
 
static void qeo_wave_set_mid_point_shift (QEOV2_Type *base, uint8_t index, double shift)
 QEO set mid point shift for wave mode. More...
 
static void qeo_wave_set_max_limit (QEOV2_Type *base, uint8_t index, uint32_t limit0, uint32_t limit1)
 QEO set max limmit for wave mode. More...
 
static void qeo_wave_set_min_limit (QEOV2_Type *base, uint8_t index, uint32_t limit0, uint32_t limit1)
 QEO set min limmit for wave mode. More...
 
static void qeo_wave_set_deadzone_shift (QEOV2_Type *base, uint8_t index, int32_t shift)
 QEO set deadzone shift for wave mode. More...
 
static void qeo_wave_set_pwm_cycle (QEOV2_Type *base, uint32_t cycle)
 QEO wave set pwm cycle. More...
 
static uint32_t qeo_get_wave_output_val (QEOV2_Type *base, uint8_t index)
 QEO get wave output value. More...
 
void qeo_wave_get_default_mode_config (QEOV2_Type *base, qeo_wave_mode_t *config)
 QEO wave get defalut mode config. More...
 
void qeo_wave_config_mode (QEOV2_Type *base, qeo_wave_mode_t *config)
 QEO wave config mode. More...
 
static void qeo_abz_set_resolution_lines (QEOV2_Type *base, uint32_t lines)
 QEO set resolution lines for ABZ mode. More...
 
static void qeo_abz_set_phase_shift (QEOV2_Type *base, uint8_t index, double angle)
 QEO set phase shift for three phase output mode. More...
 
static void qeo_abz_set_offset (QEOV2_Type *base, double physical_angle)
 QEO set offset for output signal in ABZ mode. More...
 
hpm_stat_t qeo_abz_set_max_frequency (QEOV2_Type *base, uint32_t src_freq, uint32_t freq)
 QEO set max frequency for ABZ mode. More...
 
hpm_stat_t qeo_abz_set_wdog_frequency (QEOV2_Type *base, uint32_t src_freq, uint32_t freq)
 QEO set wdog frequency for ABZ mode. More...
 
static void qeo_abz_disable_wdog (QEOV2_Type *base)
 QEO disable wdog for ABZ mode. More...
 
static void qeo_abz_config_reverse_edge (QEOV2_Type *base, bool speed_pulse_negedge)
 QEO config reverse edge for ABZ mode. More...
 
void qeo_abz_get_default_mode_config (QEOV2_Type *base, qeo_abz_mode_t *config)
 QEO ABZ get default mode config. More...
 
void qeo_abz_config_mode (QEOV2_Type *base, qeo_abz_mode_t *config)
 QEO ABZ config mode. More...
 
static void qeo_abz_enable_output (QEOV2_Type *base)
 QEO ABZ mode enable output. More...
 
static void qeo_abz_disable_output (QEOV2_Type *base)
 QEO ABZ mode disable output. More...
 
static void qeo_abz_enable_position_sync (QEOV2_Type *base, bool sync_identical_pos)
 QEO ABZ mode enable and configure position sync mode. More...
 
void qeo_abz_get_default_z_output_mode (QEOV2_Type *base, qeo_z_output_mode_t *mode)
 QEO ABZ mode get default zero pulse output mode. More...
 
void qeo_abz_config_z_output_mode (QEOV2_Type *base, qeo_z_output_mode_t *mode)
 QEO ABZ mode configure zero pulse output mode. More...
 
static void qeo_pwm_set_resolution_lines (QEOV2_Type *base, uint32_t lines)
 QEO set resolution lines for PWM mode. More...
 
static void qeo_pwm_set_phase_shift (QEOV2_Type *base, uint8_t index, double angle)
 QEO set phase shift for PWM mode. More...
 
static void qeo_pwm_enable_output (QEOV2_Type *base)
 QEO PWM mode enable output. More...
 
static void qeo_pwm_disable_output (QEOV2_Type *base)
 QEO PWM mode disable output. More...
 
static bool qeo_pwm_check_hardware_trig_safety (QEOV2_Type *base)
 QEO PWM check if it is triggered by hardware to enter safety mode. More...
 
static void qeo_pwm_select_phase_table (QEOV2_Type *base, bool positive)
 QEO PWM select phase table. More...
 
static void qeo_pwm_software_enter_safety (QEOV2_Type *base)
 QEO PWM enter safety mode by software. More...
 
static void qeo_pwm_software_exit_safety (QEOV2_Type *base)
 QEO PWM exit safety mode by software. More...
 
void qeo_pwm_get_default_mode_config (QEOV2_Type *base, qeo_pwm_mode_t *config)
 QEO PWM get default mode config. More...
 
void qeo_pwm_config_mode (QEOV2_Type *base, qeo_pwm_mode_t *config)
 QEO PWM config mode. More...
 
void qeo_pwm_get_default_safety_table_config (QEOV2_Type *base, qeo_pwm_safety_output_table_t *table)
 QEO PWM get default safety table. More...
 
void qeo_pwm_get_default_phase_table_config (QEOV2_Type *base, qeo_pwm_phase_output_table_t *table)
 QEO PWM get default phase table. More...
 
void qeo_pwm_config_safety_table (QEOV2_Type *base, qeo_pwm_safety_output_table_t *table)
 QEO PWM config safety table. More...
 
void qeo_pwm_config_phase_table (QEOV2_Type *base, uint8_t index, qeo_pwm_phase_output_table_t *table)
 QEO PWM onfig phase table. More...
 
static void qeo_enable_software_position_inject (QEOV2_Type *base)
 QEO enable software position inject. More...
 
static void qeo_software_position_inject (QEOV2_Type *base, uint32_t position)
 QEO software inject position. More...
 
static void qeo_disable_software_position_inject (QEOV2_Type *base)
 QEO disable software position inject, QEO will using position from hardware. More...
 
static bool qeo_check_calculate_finish (QEOV2_Type *base)
 QEO check calculate finish status. More...