QEO driver APIs. More...
Data Structures | |
| struct | qeo_wave_limit_config_t |
| struct | qeo_wave_mode_t |
| struct | qeo_abz_mode_t |
| struct | qeo_pwm_phase_output_table_t |
| struct | qeo_pwm_safety_output_table_t |
| struct | qeo_pwm_mode_t |
Functions | |
| static void | qeo_wave_set_resolution_lines (QEO_Type *base, uint32_t lines) |
| QEO set resolution lines for wave mode. More... | |
| static void | qeo_wave_set_output_type (QEO_Type *base, qeo_wave_type_t type) |
| QEO set output type for wave mode. More... | |
| static void | qeo_wave_set_saddle_type (QEO_Type *base, bool standard) |
| QEO set saddle type for wave mode. More... | |
| static void | qeo_wave_set_phase_shift (QEO_Type *base, uint8_t index, double angle) |
| QEO set phase shift for wave mode. More... | |
| static void | qeo_wave_enable_vd_vq_inject (QEO_Type *base, uint8_t index, int32_t vd_val, int32_t vq_val) |
| QEO enable vd vq inject for wave mode. More... | |
| static void | qeo_wave_disable_vd_vq_inject (QEO_Type *base, uint8_t index) |
| QEO disable vd vq inject for wave mode. More... | |
| static void | qeo_wave_load_vd_vq (QEO_Type *base) |
| QEO load vd vq inject value for wave mode. More... | |
| static void | qeo_wave_enable_amplitude (QEO_Type *base, uint8_t index, double amp) |
| QEO enable amplitude for wave mode. More... | |
| static void | qeo_wave_disable_amplitude (QEO_Type *base, uint8_t index) |
| QEO disable amplitude for wave mode. More... | |
| static void | qeo_wave_set_mid_point_shift (QEO_Type *base, uint8_t index, double shift) |
| QEO set mid point shift for wave mode. More... | |
| static void | qeo_wave_set_max_limit (QEO_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 (QEO_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 (QEO_Type *base, uint8_t index, int16_t shift) |
| QEO set deadzone shift for wave mode. More... | |
| static uint16_t | qeo_get_wave_output_val (QEO_Type *base, uint8_t index) |
| QEO get wave output value. More... | |
| void | qeo_wave_get_default_mode_config (QEO_Type *base, qeo_wave_mode_t *config) |
| QEO wave get defalut mode config. More... | |
| void | qeo_wave_config_mode (QEO_Type *base, qeo_wave_mode_t *config) |
| QEO wave config mode. More... | |
| static void | qeo_abz_set_resolution_lines (QEO_Type *base, uint32_t lines) |
| QEO set resolution lines for ABZ mode. More... | |
| static void | qeo_abz_set_phase_shift (QEO_Type *base, uint8_t index, double angle) |
| QEO set phase shift for ABZ mode. More... | |
| hpm_stat_t | qeo_abz_set_max_frequency (QEO_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 (QEO_Type *base, uint32_t src_freq, uint32_t freq) |
| QEO set wdog frequency for ABZ mode. More... | |
| static void | qeo_abz_disable_wdog (QEO_Type *base) |
| QEO disable wdog for ABZ mode. More... | |
| static void | qeo_abz_config_reverse_edge (QEO_Type *base, bool speed_pulse_negedge) |
| QEO config reverse edge for ABZ mode. More... | |
| void | qeo_abz_position_sync (QEO_Type *base, uint32_t lines, uint32_t sync_pos) |
| QEO sync position for ABZ mode. More... | |
| void | qeo_abz_get_default_mode_config (QEO_Type *base, qeo_abz_mode_t *config) |
| QEO ABZ get default mode config. More... | |
| void | qeo_abz_config_mode (QEO_Type *base, qeo_abz_mode_t *config) |
| QEO ABZ config mode. More... | |
| static void | qeo_pwm_set_resolution_lines (QEO_Type *base, uint32_t lines) |
| QEO set resolution lines for PWM mode. More... | |
| static void | qeo_pwm_set_phase_shift (QEO_Type *base, uint8_t index, double angle) |
| QEO set phase shift for PWM mode. More... | |
| static bool | qeo_pwm_check_hardware_trig_safety (QEO_Type *base) |
| QEO PWM check if it is triggered by hardware to enter safety mode. More... | |
| static void | qeo_pwm_select_phase_table (QEO_Type *base, bool positive) |
| QEO PWM select phase table. More... | |
| static void | qeo_pwm_software_enter_safety (QEO_Type *base) |
| QEO PWM enter safety mode by software. More... | |
| static void | qeo_pwm_software_exit_safety (QEO_Type *base) |
| QEO PWM exit safety mode by software. More... | |
| void | qeo_pwm_get_default_mode_config (QEO_Type *base, qeo_pwm_mode_t *config) |
| QEO PWM get default mode config. More... | |
| void | qeo_pwm_config_mode (QEO_Type *base, qeo_pwm_mode_t *config) |
| QEO PWM config mode. More... | |
| void | qeo_pwm_get_default_safety_table_config (QEO_Type *base, qeo_pwm_safety_output_table_t *table) |
| QEO PWM get default safety table. More... | |
| void | qeo_pwm_get_default_phase_table_config (QEO_Type *base, qeo_pwm_phase_output_table_t *table) |
| QEO PWM get default phase table. More... | |
| void | qeo_pwm_config_safety_table (QEO_Type *base, qeo_pwm_safety_output_table_t *table) |
| QEO PWM config safety table. More... | |
| void | qeo_pwm_config_phase_table (QEO_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 (QEO_Type *base) |
| QEO enable software position inject. More... | |
| static void | qeo_software_position_inject (QEO_Type *base, uint32_t position) |
| QEO software inject position. More... | |
| static void | qeo_disable_software_position_inject (QEO_Type *base) |
| QEO disable software position inject, QEO will using position from hardware. More... | |
| static bool | qeo_check_calculate_finish (QEO_Type *base) |
| QEO check calculate finish status. More... | |
QEO driver APIs.
| enum qeo_abz_type_t |
#include <drivers/inc/hpm_qeo_drv.h>
#include <drivers/inc/hpm_qeo_drv.h>
| Enumerator | |
|---|---|
| qeo_pwm_output_force_0 | |
| qeo_pwm_output_force_1 | |
| qeo_pwm_output_not_force | |
| qeo_pwm_output_force_0 | |
| qeo_pwm_output_force_1 | |
| qeo_pwm_output_not_force | |
#include <drivers/inc/hpm_qeo_drv.h>
| Enumerator | |
|---|---|
| qeo_pwm_safety_output_0 | |
| qeo_pwm_safety_output_1 | |
| qeo_pwm_safety_output_highz | |
| qeo_pwm_safety_output_0 | |
| qeo_pwm_safety_output_1 | |
| qeo_pwm_safety_output_highz | |
| enum qeo_wave_limit_t |
#include <drivers/inc/hpm_qeo_drv.h>
| enum qeo_wave_type_t |
#include <drivers/inc/hpm_qeo_drv.h>
| Enumerator | |
|---|---|
| qeo_wave_cosine | |
| qeo_wave_saddle | |
| qeo_wave_abs_cosine | |
| qeo_wave_saw | |
| qeo_wave_cosine | |
| qeo_wave_saddle | |
| qeo_wave_abs_cosine | |
| qeo_wave_saw | |
| enum qeo_z_pulse_period_t |
#include <drivers/inc/hpm_qeo_drv.h>
| Enumerator | |
|---|---|
| qeo_z_pulse_25_percent | |
| qeo_z_pulse_75_percent | |
| qeo_z_pulse_100_percent | |
| void qeo_abz_config_mode | ( | QEO_Type * | base, |
| qeo_abz_mode_t * | config | ||
| ) |
#include <drivers/inc/hpm_qeo_drv.h>
QEO ABZ config mode.
| [in] | base | QEO base address |
| [in] | config | qeo_abz_mode_t |
|
inlinestatic |
#include <drivers/inc/hpm_qeo_drv.h>
QEO config reverse edge for ABZ mode.
| [in] | base | QEO base address |
| [in] | speed_pulse_negedge | true for reverse edge point speed pulse's negedge false for reverse edge point between speed pulse's posedge and negedge, min period dedicated by the num line_width |
|
inlinestatic |
#include <drivers/inc/hpm_qeo_drv.h>
QEO disable wdog for ABZ mode.
| [in] | base | QEO base address |
| void qeo_abz_get_default_mode_config | ( | QEO_Type * | base, |
| qeo_abz_mode_t * | config | ||
| ) |
#include <drivers/inc/hpm_qeo_drv.h>
QEO ABZ get default mode config.
| [in] | base | QEO base address |
| [in] | config | qeo_abz_mode_t |
| void qeo_abz_position_sync | ( | QEO_Type * | base, |
| uint32_t | lines, | ||
| uint32_t | sync_pos | ||
| ) |
#include <drivers/inc/hpm_qeo_drv.h>
QEO sync position for ABZ mode.
| [in] | base | QEO base address |
| [in] | lines | ABZ line counter |
| [in] | sync_pos | the position value to be synchronized |
If the line step of the position to be synchronized after position value to ABZ value conversion is the same as the current position, will hang the ABZ. ABZ value = m lines + n line_steps(0 <= m <= 3) This API will check the sync_pos and shift it if needed
| hpm_stat_t qeo_abz_set_max_frequency | ( | QEO_Type * | base, |
| uint32_t | src_freq, | ||
| uint32_t | freq | ||
| ) |
#include <drivers/inc/hpm_qeo_drv.h>
QEO set max frequency for ABZ mode.
| [in] | base | QEO base address |
| [in] | src_freq | QEO(MOTO system) frequency |
| [in] | freq | abz signal frequency (A pulse frequency) |
| status_success | or status_invalid_argument |
|
inlinestatic |
#include <drivers/inc/hpm_qeo_drv.h>
QEO set phase shift for ABZ mode.
| [in] | base | QEO base address |
| [in] | index | ABZ index(0/1/2) |
| [in] | angle | left shift angle |
|
inlinestatic |
#include <drivers/inc/hpm_qeo_drv.h>
QEO set resolution lines for ABZ mode.
| [in] | base | QEO base address |
| [in] | lines | resolution lines |
| hpm_stat_t qeo_abz_set_wdog_frequency | ( | QEO_Type * | base, |
| uint32_t | src_freq, | ||
| uint32_t | freq | ||
| ) |
#include <drivers/inc/hpm_qeo_drv.h>
QEO set wdog frequency for ABZ mode.
| [in] | base | QEO base address |
| [in] | src_freq | QEO(MOTO system) frequency |
| [in] | freq | wdog frequency |
| status_success | or status_invalid_argument |
|
inlinestatic |
#include <drivers/inc/hpm_qeo_drv.h>
QEO check calculate finish status.
| [in] | base | QEO base address |
| true | or false |
|
inlinestatic |
#include <drivers/inc/hpm_qeo_drv.h>
QEO disable software position inject, QEO will using position from hardware.
| [in] | base | QEO base address |
|
inlinestatic |
#include <drivers/inc/hpm_qeo_drv.h>
QEO enable software position inject.
| [in] | base | QEO base address |
|
inlinestatic |
#include <drivers/inc/hpm_qeo_drv.h>
QEO get wave output value.
| [in] | base | QEO base address |
| [in] | index | wave index(0/1/2) |
| wave | output value |
|
inlinestatic |
#include <drivers/inc/hpm_qeo_drv.h>
QEO PWM check if it is triggered by hardware to enter safety mode.
| [in] | base | QEO base address |
| true | or false |
| void qeo_pwm_config_mode | ( | QEO_Type * | base, |
| qeo_pwm_mode_t * | config | ||
| ) |
#include <drivers/inc/hpm_qeo_drv.h>
QEO PWM config mode.
| [in] | base | QEO base address |
| [in] | config | qeo_pwm_mode_t |
| void qeo_pwm_config_phase_table | ( | QEO_Type * | base, |
| uint8_t | index, | ||
| qeo_pwm_phase_output_table_t * | table | ||
| ) |
#include <drivers/inc/hpm_qeo_drv.h>
QEO PWM onfig phase table.
| [in] | base | QEO base address |
| [in] | index | phase table index |
| [in] | table | qeo_pwm_phase_output_table_t |
| void qeo_pwm_config_safety_table | ( | QEO_Type * | base, |
| qeo_pwm_safety_output_table_t * | table | ||
| ) |
#include <drivers/inc/hpm_qeo_drv.h>
QEO PWM config safety table.
| [in] | base | QEO base address |
| [in] | table | qeo_pwm_safety_output_table_t |
| void qeo_pwm_get_default_mode_config | ( | QEO_Type * | base, |
| qeo_pwm_mode_t * | config | ||
| ) |
#include <drivers/inc/hpm_qeo_drv.h>
QEO PWM get default mode config.
| [in] | base | QEO base address |
| [in] | config | qeo_pwm_mode_t |
| void qeo_pwm_get_default_phase_table_config | ( | QEO_Type * | base, |
| qeo_pwm_phase_output_table_t * | table | ||
| ) |
#include <drivers/inc/hpm_qeo_drv.h>
QEO PWM get default phase table.
| [in] | base | QEO base address |
| [in] | table | qeo_pwm_phase_output_table_t |
| void qeo_pwm_get_default_safety_table_config | ( | QEO_Type * | base, |
| qeo_pwm_safety_output_table_t * | table | ||
| ) |
#include <drivers/inc/hpm_qeo_drv.h>
QEO PWM get default safety table.
| [in] | base | QEO base address |
| [in] | table | qeo_pwm_safety_output_table_t |
|
inlinestatic |
#include <drivers/inc/hpm_qeo_drv.h>
QEO PWM select phase table.
| [in] | base | QEO base address |
| [in] | positive | true for using positive phase table, false for using negative phase table |
|
inlinestatic |
#include <drivers/inc/hpm_qeo_drv.h>
QEO set phase shift for PWM mode.
| [in] | base | QEO base address |
| [in] | index | PWM index(0/1/2/3) |
| [in] | angle | left shift angle |
|
inlinestatic |
#include <drivers/inc/hpm_qeo_drv.h>
QEO set resolution lines for PWM mode.
| [in] | base | QEO base address |
| [in] | lines | resolution lines |
|
inlinestatic |
#include <drivers/inc/hpm_qeo_drv.h>
QEO PWM enter safety mode by software.
| [in] | base | QEO base address |
|
inlinestatic |
#include <drivers/inc/hpm_qeo_drv.h>
QEO PWM exit safety mode by software.
| [in] | base | QEO base address |
|
inlinestatic |
#include <drivers/inc/hpm_qeo_drv.h>
QEO software inject position.
| [in] | base | QEO base address |
| [in] | position | position value |
| void qeo_wave_config_mode | ( | QEO_Type * | base, |
| qeo_wave_mode_t * | config | ||
| ) |
#include <drivers/inc/hpm_qeo_drv.h>
QEO wave config mode.
| [in] | base | QEO base address |
| [in] | config | qeo_wave_mode_t |
|
inlinestatic |
#include <drivers/inc/hpm_qeo_drv.h>
QEO disable amplitude for wave mode.
| [in] | base | QEO base address |
| [in] | index | wave index(0/1/2) |
|
inlinestatic |
#include <drivers/inc/hpm_qeo_drv.h>
QEO disable vd vq inject for wave mode.
| [in] | base | QEO base address |
| [in] | index | wave index(0/1/2) |
|
inlinestatic |
#include <drivers/inc/hpm_qeo_drv.h>
QEO enable amplitude for wave mode.
| [in] | base | QEO base address |
| [in] | index | wave index(0/1/2) |
| [in] | amp | amplitude value |
|
inlinestatic |
#include <drivers/inc/hpm_qeo_drv.h>
QEO enable vd vq inject for wave mode.
| [in] | base | QEO base address |
| [in] | index | wave index(0/1/2) |
| [in] | vd_val | vd value |
| [in] | vq_val | vq value |
| void qeo_wave_get_default_mode_config | ( | QEO_Type * | base, |
| qeo_wave_mode_t * | config | ||
| ) |
#include <drivers/inc/hpm_qeo_drv.h>
QEO wave get defalut mode config.
| [in] | base | QEO base address |
| [in] | config | qeo_wave_mode_t |
|
inlinestatic |
#include <drivers/inc/hpm_qeo_drv.h>
QEO load vd vq inject value for wave mode.
| [in] | base | QEO base address |
|
inlinestatic |
#include <drivers/inc/hpm_qeo_drv.h>
QEO set deadzone shift for wave mode.
| [in] | base | QEO base address |
| [in] | index | wave index(0/1/2) |
| [in] | shift | deadzone shift value |
|
inlinestatic |
#include <drivers/inc/hpm_qeo_drv.h>
QEO set max limmit for wave mode.
| [in] | base | QEO base address |
| [in] | index | wave index(0/1/2) |
| [in] | limit0 | limit0 value |
| [in] | limit1 | limit1 value |
|
inlinestatic |
#include <drivers/inc/hpm_qeo_drv.h>
QEO set mid point shift for wave mode.
| [in] | base | QEO base address |
| [in] | index | wave index(0/1/2) |
| [in] | shift | mid point shift value |
|
inlinestatic |
#include <drivers/inc/hpm_qeo_drv.h>
QEO set min limmit for wave mode.
| [in] | base | QEO base address |
| [in] | index | wave index(0/1/2) |
| [in] | limit0 | limit0 value |
| [in] | limit1 | limit1 value |
|
inlinestatic |
#include <drivers/inc/hpm_qeo_drv.h>
QEO set output type for wave mode.
| [in] | base | QEO base address |
| [in] | type | qeo_wave_type_t |
|
inlinestatic |
#include <drivers/inc/hpm_qeo_drv.h>
QEO set phase shift for wave mode.
| [in] | base | QEO base address |
| [in] | index | wave index(0/1/2) |
| [in] | angle | left shift angle |
|
inlinestatic |
#include <drivers/inc/hpm_qeo_drv.h>
QEO set resolution lines for wave mode.
| [in] | base | QEO base address |
| [in] | lines | resolution lines |
|
inlinestatic |
#include <drivers/inc/hpm_qeo_drv.h>
QEO set saddle type for wave mode.
| [in] | base | QEO base address |
| [in] | standard | true for standard saddle, false for triangular wave stacking |