HPM SDK
HPMicro Software Development Kit
hpm_eui_drv.h File Reference
#include "hpm_common.h"
#include "hpm_soc_ip_feature.h"
#include "hpm_eui_regs.h"

Go to the source code of this file.

Data Structures

struct  eui_ctrl_config_t
 eui ctrl config structure More...
 
struct  eui_disp_config_t
 eui disp config structure More...
 
union  eui_scan_disp_data_t
 eui scan disp data structure More...
 

Enumerations

enum  eui_work_mode_t { eui_work_mode_8x8 = 0 , eui_work_mode_16x4 }
 eui work mode selection More...
 
enum  eui_disp_ctrl_idx_t { eui_disp_ctrl_idx_ab = 0 , eui_disp_ctrl_idx_cd , eui_disp_ctrl_idx_ef , eui_disp_ctrl_idx_gh }
 eui disp control index More...
 
enum  eui_b_disp_format_t { eui_b_disp_b = 0 , eui_b_disp_a_and_b , eui_b_disp_a_or_b , eui_b_disp_a_xor_b }
 eui b disp date format More...
 
enum  eui_disp_data_idx_t {
  eui_disp_data_idx_a = 0 , eui_disp_data_idx_b , eui_disp_data_idx_c , eui_disp_data_idx_d ,
  eui_disp_data_idx_e , eui_disp_data_idx_f , eui_disp_data_idx_g , eui_disp_data_idx_h
}
 eui disp data index More...
 
enum  eui_time_id_t {
  eui_clko_time = 0 , eui_slot_time , eui_hold_time , eui_disp_time ,
  eui_filter_time
}
 eui time id More...
 
enum  eui_irq_mask_t { eui_irq_area_mask = EUI_IRQ_EN_IRQ_AREA_EN_MASK , eui_irq_single_mask = EUI_IRQ_EN_IRQ_SINGLE_EN_MASK }
 irq mask More...
 
enum  eui_dedicate_output_lines_t {
  eui_dedicate_output_0_line = 0 , eui_dedicate_output_1_line , eui_dedicate_output_2_lines , eui_dedicate_output_3_lines ,
  eui_dedicate_output_4_lines , eui_dedicate_output_5_lines , eui_dedicate_output_6_lines , eui_dedicate_output_24_lines
}
 Number of dedicated output lines. More...
 

Functions

static void eui_set_enable (EUI_Type *eui, bool enable)
 set enable More...
 
static void eui_set_work_mode (EUI_Type *eui, eui_work_mode_t mode)
 set work mode More...
 
static eui_work_mode_t eui_get_work_mode (EUI_Type *eui)
 get work mode More...
 
static void eui_clear_output_data (EUI_Type *eui)
 clear output data More...
 
static void eui_clear_intput_data (EUI_Type *eui)
 clear input data More...
 
static void eui_set_data_polarity (EUI_Type *eui, uint16_t disp_data_invert, uint8_t scan_invert)
 set data polarity and scan polarity More...
 
static void eui_set_dedicate_disp_data (EUI_Type *eui, uint32_t data)
 set dedicate disp data More...
 
static uint16_t eui_get_dedicate_input_data (EUI_Type *eui)
 get dedicate input data More...
 
static void eui_set_irq_enable (EUI_Type *eui, uint32_t mask)
 set irq enable More...
 
static void eui_set_irq_disable (EUI_Type *eui, uint32_t mask)
 set irq disable More...
 
static uint32_t eui_get_irq_enable_status (EUI_Type *eui)
 get irq enable status More...
 
static uint32_t eui_get_irq_status (EUI_Type *eui)
 get irq status More...
 
static void eui_clear_irq_flag (EUI_Type *eui, uint32_t mask)
 clear irq flag More...
 
void eui_get_default_ctrl_config (EUI_Type *eui, eui_ctrl_config_t *config)
 get default control config structure More...
 
void eui_config_ctrl (EUI_Type *eui, uint32_t eui_clk_freq, eui_ctrl_config_t *config)
 config control structure More...
 
void eui_config_disp (EUI_Type *eui, uint32_t eui_clk_freq, eui_disp_ctrl_idx_t idx, eui_disp_config_t *config)
 config disp structure More...
 
void eui_set_scan_disp_data (EUI_Type *eui, eui_disp_data_idx_t idx, eui_scan_disp_data_t *data)
 set eui scan disp data More...
 
void eui_get_scan_disp_data (EUI_Type *eui, eui_disp_data_idx_t idx, uint32_t *data0, uint32_t *data1)
 set eui scan disp data More...
 
uint16_t eui_get_scan_key_by_row (EUI_Type *eui, uint8_t row)
 get eui scan key value by row More...
 
bool eui_get_scan_key_by_row_col (EUI_Type *eui, uint8_t row, uint8_t col)
 get eui scan key value by row and column More...
 
uint32_t eui_get_time (EUI_Type *eui, uint32_t eui_clk_freq, eui_time_id_t id)
 get time value, unit: us More...