KeyboardConfig.h 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. /**
  2. * @file KeyboardConfig.h
  3. * @brief Header file of keyboard configuration.
  4. *
  5. * @verbatim
  6. * ==============================================================================
  7. * ##### How to use #####
  8. * ==============================================================================
  9. *
  10. *
  11. @ endverbatim
  12. *
  13. * @author HiView SoC Software Team
  14. * @version 1.0.0
  15. * @date 2023-05-30
  16. */
  17. #ifndef __KEYBOARD_CONFIG_H__
  18. #define __KEYBOARD_CONFIG_H__
  19. #include "Keyboard.h"
  20. #define KEY_HOLD_TIME_MS 500
  21. /* if don't support double kick, config it small. if support it, 250 maybe useful. */
  22. #define KEY_DOUBLE_CLICK_TIME_MS 20
  23. /* 两路ADC按键对应的使能开关,1:开 0:关 */
  24. #define ADC0_KEY_ENABLE 1
  25. #define ADC1_KEY_ENABLE 1
  26. /* 单路ADC对应的按键数量,注意单路最多支持6个按键 */
  27. #define SINGLE_ADC_KEY_NUMS 3
  28. /* ADC功能按键的总数量(两路总和) */
  29. #define ADC_KEY_NUMS (SINGLE_ADC_KEY_NUMS*2)
  30. /* 组合按键使能开关 */
  31. #define ADC_COMBO_KEY_ENABLE 1
  32. /* 组合按键的个数,注意:组合按键只支持两路ADC按键同时开启的情况 */
  33. #define ADC_COMBO_KEY_NUMS 1
  34. /* ADC键值的阈值,注意:ADC_Theshold_MAX 要大于所有ADC键值的最大值;
  35. ADC_Theshold_MIN要小于所有ADC键值的最小值 */
  36. #define ADC_Theshold_MAX (0x700)
  37. #define ADC_Theshold_MIN (2)
  38. /* MENU + POWER 组合按键的定义,需要给出MENU按键在ADC0还是ADC1 */
  39. #define PM51_CONFIG_MENU_KEY_WITH_ADC_INDEX MENU_KEY_WITH_ADC0
  40. /* LED ON时对应PWM的极性 */
  41. #define PM51_CONFIG_LED_ON_WITH_PWM_POL PWM_POL_LOW
  42. /* 工厂按键的对应的键值Index,注意:具体按键名称可以在结构体定义中查找;
  43. 进入工厂的方法是:关机后按住定义的按键,再交流开机,当系统显示LOGO的时候松开按键 */
  44. #define PM51_CONFIG_FACTORY_MODE_KEY_VAL E_ADC0_KEY_VAL_4
  45. /* 配置Powerkey对应的功能模式 */
  46. #define PM51_CONFIG_POWER_KEY_MODE POWER_KEY_MODE_NORMAL
  47. /* 按键长按的时长,持续OSD_DEFAULT_KEY_HOLD_TIME_MS时间后,触发按键长按操作 */
  48. #define OSD_DEFAULT_KEY_HOLD_TIME_MS (3000)
  49. /* 按键重复周期,用于OSD菜单的连续切换 */
  50. #define OSD_DEFAULT_KEY_REPEAT_PERIOD_MS (200)
  51. /* 按键重复周期,用于OSD连续数据的调整 */
  52. #define OSD_ADJUST_KEY_REPEAT_PERIOD_MS (20)
  53. /* LED 亮灭间隔时间 */
  54. #define PM51_CONFIG_LED_BREATH_TIME (1)
  55. #ifdef HV_CONFIG_ARCH_RISC
  56. UINT32 GetAdcMappedValue(UINT32 uiAdcValue);
  57. #endif
  58. #endif