/**
 * @file Keyboard.h
 * @brief Header file of keyboard defination.
 *
 * @verbatim
 * ==============================================================================
 *                        ##### How to use #####
 * ==============================================================================
 *
 *
 @ endverbatim
 *
 * @author HiView SoC Software Team
 * @version 1.0.0
 * @date 2023-05-30
 */
#ifndef __KEYBOARD_H__
#define __KEYBOARD_H__

#define MENU_KEY_WITH_ADC0      0
#define MENU_KEY_WITH_ADC1      1

#define PWM_POL_LOW             0
#define PWM_POL_HIGH            1

#define POWER_KEY_MODE_NONE     0
#define POWER_KEY_MODE_NORMAL   1
#define POWER_KEY_MODE_MULTI    2
#define POWER_KEY_MODE_ADC      4

#define ADCKEYVALUEINDEX    0
#define ADCDATAINDEX        1
#define ADCDATAOFFSETINDEX  2
#define ADCDATAMAPMAX       3

typedef enum _AdcKeyVal
{
    E_ADC0_KEY_VAL_0 = 0,
    E_ADC0_KEY_VAL_1,
    E_ADC0_KEY_VAL_2,
    E_ADC0_KEY_VAL_3,
    E_ADC0_KEY_VAL_4,
    E_ADC0_KEY_VAL_5,
    E_ADC1_KEY_VAL_0 = 6,
    E_ADC1_KEY_VAL_1,
    E_ADC1_KEY_VAL_2,
    E_ADC1_KEY_VAL_3,
    E_ADC1_KEY_VAL_4,
    E_ADC1_KEY_VAL_5,
    E_COMBO_KEY_VAL_0 = 12,
    E_COMBO_KEY_VAL_1,
    E_COMBO_KEY_VAL_2,
    E_COMBO_KEY_VAL_3,
    E_COMBO_KEY_VAL_4,
    E_COMBO_KEY_VAL_5,
    E_COMBO_KEY_VAL_6,
    E_COMBO_KEY_VAL_7,
    E_POWER_KEY_VAL_0 = 20, 
    E_ADC_KEY_VAL_MAX
} AdcKeyVal;

typedef struct _AdcComboKeyMap
{
    AdcKeyVal  enAdc0KeyVal;
    AdcKeyVal  enAdc1KeyVal;
    AdcKeyVal  enComboKeyVal;
}AdcComboKeyMap;

#endif