menu_cnfg.h
上传用户:sourcesun
上传日期:2013-09-23
资源大小:362k
文件大小:4k
源码类别:

DNA

开发平台:

Asm

  1. /*************************************************************************
  2.  *
  3.  *    Used with ICCARM and AARM.
  4.  *
  5.  *    (c) Copyright IAR Systems 2003
  6.  *
  7.  *    File name   : menu_config.h
  8.  *    Description : Define common  Menu defenition
  9.  *
  10.  *    History :
  11.  *    1. Data        : Feb 10, 2005
  12.  *       Author      : Stanimir Bonev
  13.  *       Description : Create
  14.  *
  15.  *    $Revision: 1.1.4.1 $
  16.  **************************************************************************/
  17. #include "includes.h"
  18. #ifndef  __MENU_CONFIG_H
  19. #define  __MENU_CONFIG_H
  20. /* USER Menu Index definition */
  21. typedef enum
  22. {
  23.   MENU_WELCOME_SHOW = 0,    /*0 Welcome */
  24.   MENU_CLOCK_AND_DATA_SET,  /*1 Clock and data setting */
  25.   MENU_ILLUMINATION_SET,    /*2 Illumination set */
  26.   MENU_ADC_MEASURE,         /*3 ADC measuge */
  27.   MENU_RETURN,              /*4 Return to main */
  28.   MENU_TIME_AND_DATA_SHOW,  /*5 Data and chock show */
  29.   MENU_SCREENSAVER_SHOW,    /*6 ScreanSaver show */
  30.   MENU_SLEEP_SHOW,          /*7 Low power (sleep) show */
  31.   MENU_CLOCK_SET_RETURN,    /*8 Clock and data set return to menu */
  32.   MENU_ILLUM_MODE_CHANGE,   /*9 Illumination set return to menu */
  33.   MENU_LAST_IND             /* Last menu index */
  34. } MENU_IND_NAME_DEF;
  35. /* USER Event definition */
  36. typedef enum
  37. {
  38.   /* 0 is reserv for internal using */
  39.   MENU_TICK_EVENT = 1,  /* SYS TICK */
  40.   MENU_EVENT_B1_SHORT_PRESS,
  41.   MENU_EVENT_B2_SHORT_PRESS,
  42.   MENU_EVENT_TIME_UPDATE,
  43.   MENU_EVENT_LOW_POWER,
  44.   MENU_EVENT_ADC_CONV,
  45. } MENU_EVENT_NAME_DEF;
  46. /* User Language definition */
  47. typedef enum
  48. {
  49.   MENU_ENGLISH_LANG = 0,  /*0 English language */
  50. } MENU_LANGUAGE_NAME_DEF;
  51. /* Menu time out definition */
  52. #define MENU_WELCOM_DLY         3 *TICK_PER_SECOND    /* 3 sec */
  53. #define MENU_SCREEN_SAVER_DLY   5*TICK_PER_SECOND     /* 10 sec */
  54. #define MENU_TO_DLY             10*TICK_PER_SECOND    /* 10 sec */
  55. #define MENU_LOW_POWER_DLY      20*TICK_PER_SECOND    /* 20 sec */
  56. /* Common menu definictions */
  57. #define MENU_EVENT_STACK_SIZE 5
  58. #define MENU_LANGUAGE_NUMBER  1
  59. #define MENU_MAX_INDEX        MENU_LAST_IND
  60. #define MENU_MAX_EVENT_NUBER  256
  61. #define MENU_MAX_STR_LENG     40
  62. #define MENU_MAX_VISIBILITY_X 16
  63. #define MENU_MAX_VISIBILITY_Y 2
  64. #define MEMU_MAX_TIME_OUT     1000
  65. /* Menu Events type def */
  66. #if MENU_MAX_EVENT_NUBER < 256
  67. #define MENU_EVENT_TYPE_DEF LPC_INT8U
  68. #elif MENU_MAX_EVENT_NUBER < 65536
  69. #define MENU_EVENT_TYPE_DEF LPC_INT16U
  70. #elif MENU_LANGUAGE_NUMBER < 0x100000000
  71. #define MENU_EVENT_TYPE_DEF LPC_INT32U
  72. #else
  73. #error "MENU_MAX_EVENT_NUBER is to large number > 32bit!!!"
  74. #endif
  75. /* Menu Language type def */
  76. #if MENU_LANGUAGE_NUMBER < 256
  77. #define MENU_LANG_TYPE_DEF LPC_INT8U
  78. #elif MENU_LANGUAGE_NUMBER < 65536
  79. #define MENU_LANG_TYPE_DEF LPC_INT16U
  80. #elif MENU_LANGUAGE_NUMBER < 0x100000000
  81. #define MENU_LANG_TYPE_DEF LPC_INT32U
  82. #else
  83. #error "MENU_LANGUAGE_NUMBER is to large number > 32bit!!!"
  84. #endif
  85. /* Menu Index type def */
  86. #if MENU_MAX_INDEX < 256
  87. #define MEMU_IND_DEF LPC_INT8U
  88. #elif MENU_MAX_INDEX < 65536
  89. #define MEMU_IND_DEF LPC_INT16U
  90. #elif MENU_MAX_INDEX < 0x100000000
  91. #define MEMU_IND_DEF LPC_INT32U
  92. #else
  93. #error "MENU_MAX_INDEX is to large number > 32bit!!!"
  94. #endif
  95. /* XY coourdinate type def */
  96. #if ((MENU_MAX_VISIBILITY_X < 256) && (MENU_MAX_VISIBILITY_Y < 256))
  97. #define MEMU_XY_DEF LPC_INT8U
  98. #elif ((MENU_MAX_VISIBILITY_X < 65536) && (MENU_MAX_VISIBILITY_Y < 65536))
  99. #define MEMU_XY_DEF LPC_INT16U
  100. #elif ((MENU_MAX_VISIBILITY_X < 0x100000000) && (MENU_MAX_VISIBILITY_Y < 0x100000000))
  101. #define MEMU_XY_DEF LPC_INT32U
  102. #else
  103. #error "X or Y is to large number > 32bit!!!"
  104. #endif
  105. /* time out type def */
  106. #if MEMU_MAX_TIME_OUT < 255
  107. #define MEMU_TIME_OUT_DEF LPC_INT8U
  108. #define MENU_TIME_OUT_NOT_UPADATE 255
  109. #elif MEMU_MAX_TIME_OUT < 65535
  110. #define MEMU_TIME_OUT_DEF LPC_INT16U
  111. #define MENU_TIME_OUT_NOT_UPADATE 65535
  112. #elif MEMU_MAX_TIME_OUT < 0xFFFFFFFF
  113. #define MEMU_TIME_OUT_DEF LPC_INT32U
  114. #define MENU_TIME_OUT_NOT_UPADATE 0xFFFFFFFF
  115. #else
  116. #error "Menu Time out is to large number > 32bit!!!"
  117. #endif
  118. #endif  /* __MENU_CONFIG_H */