menu_cnfg.h 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. #ifndef __MENU_CONFIG_H
  2. #define __MENU_CONFIG_H
  3. /*************************************************************************
  4. *
  5. * Used with ICCARM and AARM.
  6. *
  7. * (c) Copyright IAR Systems 2003
  8. *
  9. * File name : config.h
  10. * Description : Define common defenition
  11. *
  12. * History :
  13. * 1. Data : Feb 10, 2005
  14. * Author : Stanimir Bonev
  15. * Description : Create
  16. *
  17. * $Revision: 1.1 $
  18. **************************************************************************/
  19. #include "includes.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 */