board_cfg.h 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266
  1. /*********************************************************************************************************
  2. * Module : board_cfg
  3. * Abstract : controller board expecil configuration !!!!
  4. * Version : 1.0.0
  5. * Author : Leopul(COPYRIGHT 2025 ~ 2027 Leopul. All rights reserved.)
  6. * Complete : 2025-02-16
  7. * Content : None
  8. * Note : None
  9. *********************************************************************************************************/
  10. #ifndef __BOARD_CFG_H_
  11. #define __BOARD_CFG_H_
  12. #define OPEN_WATCH_DOG 0
  13. #define OPEN_NOT_READ_EN 0
  14. #define POWER_DC 0
  15. #define POWER_AC 1
  16. #define POWER_AC_3_3 4
  17. #define POWER_AC_3_1 2
  18. #define POWER_AC_3_2 3
  19. #define INPUT_PT_NONE 0 /* detect module count */
  20. #define INPUT_PT_1 1
  21. #define INPUT_PT_2 2
  22. #define INPUT_PT_3 3
  23. #define ZERO_LINE_CTRL_NO 0
  24. #define ZERO_LINE_CTRL_YES 1
  25. #define OUTPUT_CTRL_NO 0 /* */
  26. #define OUTPUT_CTRL_YES 1
  27. #define DEIVECE(elec_type,input_pt,ctrl_zero_flag,zero_count,ctrl_output_flag,relay_count) ((elec_type << 12)\
  28. |(input_pt << 10)\
  29. |(ctrl_zero_flag << 9)\
  30. |(zero_count << 7)\
  31. |(ctrl_output_flag << 6)\
  32. |relay_count)
  33. #define PT_SUB_COUNT_3 3
  34. #define PT_SUB_COUNT_4 4
  35. #define PRJ_8_NEW 0
  36. #define PRJ_3_4 0
  37. #define PRJ_3_2 0
  38. #define PRJ_DC_8 0
  39. #define PRJ_6_NEW 0
  40. #define PRJ_3_NEW 0
  41. #define PRJ_5_NEW 0
  42. #define PRJ_4_SELF_LOCK 0
  43. #define PRJ_4_BASE 1
  44. #define PRJ_1_BASE 0
  45. #define PRJ_1_SELF_LOCK 0
  46. #define PRJ_1_ALL_MON 0
  47. #define PRJ_4_NO_MON 0
  48. #define PRJ_3_BASE 0
  49. #define PRJ_3_NEW_2 0
  50. #define PRJ_7_NEW 0
  51. #define PRJ_4_SELF_LOCK_2_2 0
  52. #define PPRJ_4_BASE_2_2 0
  53. #define PPRJ_4_BASE_3_1 0
  54. #define PRJ_7_NO_MON 0
  55. #define PRJ_8_NO_MON 0
  56. #define PRJ_4_KEY_EXIT 0
  57. #if PRJ_8
  58. #define POWER_TYPE (POWER_AC)
  59. #define INPUT_PT_NUM (INPUT_PT_2)
  60. #define ZERO_CONTRL (ZERO_LINE_CTRL_NO)
  61. #define ZERO_CTRL_NUM (ZERO_LINE_NONE)
  62. #define OUTPUT_CONTRL (OUTPUT_CTRL_YES)
  63. #define RelaySlaveChaNum 8
  64. #define RELAY_REMENBER 1
  65. #define SURPPORT_2_PT 0
  66. #define SUPPORT_ALL_ON_OFF 0
  67. #define PT_SUB_COUNT (PT_SUB_COUNT_4)
  68. #define ACSingCurrid 1
  69. #elif PRJ_4_NO_MON
  70. #define RelaySlaveChaNum 4
  71. #define ACSingCurrid 2
  72. #define SURPPORT_2_PT 0
  73. #define PT_SUB_COUNT (RelaySlaveChaNum)
  74. #define SUPPORT_MON 1
  75. #elif PRJ_6_NEW
  76. #define RelaySlaveChaNum 6
  77. #define ACSingCurrid 1
  78. #define SURPPORT_2_PT 1
  79. #define PT_SUB_COUNT (PT_SUB_COUNT_3)
  80. #define SUPPORT_DETECTION 1
  81. #define SUPPORT_RELAY_REMENBER 1
  82. #elif PRJ_8_NEW
  83. #define RelaySlaveChaNum 8
  84. #define ACSingCurrid 1
  85. #define SURPPORT_2_PT 1
  86. #define PT_SUB_COUNT (PT_SUB_COUNT_4)
  87. #define SUPPORT_DETECTION 1
  88. #define SUPPORT_RELAY_REMENBER 1
  89. #elif PRJ_3_NEW
  90. #define RelaySlaveChaNum 3
  91. #define ACSingCurrid 2
  92. #define SURPPORT_2_PT 0
  93. #define PT_SUB_COUNT (RelaySlaveChaNum)
  94. #define SUPPORT_DETECTION 1
  95. #define SUPPORT_RELAY_REMENBER 1
  96. // #define SUPPORT_4_ON_FLASH 1
  97. #define SUPPORT_ALL_ON_OFF 1
  98. #elif PRJ_3_BASE
  99. #define RelaySlaveChaNum 3
  100. #define ACSingCurrid 2
  101. #define SURPPORT_2_PT 0
  102. #define PT_SUB_COUNT (RelaySlaveChaNum)
  103. #define SUPPORT_DETECTION 1
  104. #define SUPPORT_RELAY_REMENBER 1
  105. #define SUPPORT_ALL_ON_OFF 1
  106. #elif PRJ_5_NEW
  107. // #define RelaySlaveChaNum 5
  108. // #define ACSingCurrid 1
  109. // #define SURPPORT_2_PT 1
  110. // #define PT_SUB_COUNT (PT_SUB_COUNT_3)
  111. // #define SUPPORT_DETECTION 1
  112. // #define SUPPORT_RELAY_REMENBER 1
  113. #define RelaySlaveChaNum 5
  114. #define ACSingCurrid 1
  115. #define SURPPORT_2_PT 0
  116. #define PT_SUB_COUNT (RelaySlaveChaNum)
  117. #define SUPPORT_DETECTION 1
  118. #define SUPPORT_RELAY_REMENBER 1
  119. #define SUPPORT_PWM_OUT_RELAY 1
  120. #elif PRJ_4_SELF_LOCK
  121. #define RelaySlaveChaNum 4
  122. #define ACSingCurrid 2
  123. #define SURPPORT_2_PT 0
  124. #define PT_SUB_COUNT (RelaySlaveChaNum)
  125. #define SUPPORT_DETECTION 1
  126. #define SUPPORT_RELAY_REMENBER 1
  127. #define SUPPORT_SELF_LOCK 1
  128. #elif PRJ_4_KEY_EXIT
  129. #define RelaySlaveChaNum 4
  130. #define ACSingCurrid 2
  131. #define SURPPORT_2_PT 0
  132. #define PT_SUB_COUNT (RelaySlaveChaNum)
  133. #define SUPPORT_DETECTION 1
  134. #define SUPPORT_RELAY_REMENBER 1
  135. #define SUPPORT_KEY_EXIT 1
  136. #elif PRJ_4_BASE
  137. #define RelaySlaveChaNum 4
  138. #define ACSingCurrid 2
  139. #define SURPPORT_2_PT 0
  140. #define PT_SUB_COUNT (RelaySlaveChaNum)
  141. #define SUPPORT_DETECTION 1
  142. #define SUPPORT_RELAY_REMENBER 1
  143. #define SUPPORT_ALL_ON_OFF 1
  144. #elif PPRJ_4_BASE_2_2
  145. #define RelaySlaveChaNum 4
  146. #define ACSingCurrid 2
  147. #define SURPPORT_2_PT 0
  148. #define PT_SUB_COUNT (RelaySlaveChaNum)
  149. #define SUPPORT_DETECTION 1
  150. #define SUPPORT_RELAY_REMENBER 1
  151. #define SUPPORT_ALL_ON_OFF 1
  152. #define SUPPORT_CTRL2_LOCK2 1
  153. #define AVALIABLE_RELAY 2
  154. #elif PPRJ_4_BASE_3_1
  155. #define RelaySlaveChaNum 4
  156. #define ACSingCurrid 2
  157. #define SURPPORT_2_PT 0
  158. #define PT_SUB_COUNT (RelaySlaveChaNum)
  159. #define SUPPORT_DETECTION 1
  160. #define SUPPORT_RELAY_REMENBER 1
  161. #define SUPPORT_ALL_ON_OFF 1
  162. #define SUPPORT_CTRL2_LOCK2 1
  163. #define AVALIABLE_RELAY 3
  164. #elif PRJ_1_BASE
  165. #define RelaySlaveChaNum 1
  166. #define ACSingCurrid 2
  167. #define SURPPORT_2_PT 0
  168. #define PT_SUB_COUNT (RelaySlaveChaNum)
  169. #define SUPPORT_DETECTION 1
  170. #define SUPPORT_RELAY_REMENBER 1
  171. #define SUPPORT_ALL_ON_OFF 1
  172. #elif PRJ_1_SELF_LOCK
  173. #define RelaySlaveChaNum 1
  174. #define ACSingCurrid 2
  175. #define SURPPORT_2_PT 0
  176. #define PT_SUB_COUNT (RelaySlaveChaNum)
  177. #define SUPPORT_DETECTION 1
  178. #define SUPPORT_RELAY_REMENBER 1
  179. #define SUPPORT_SELF_LOCK 1
  180. #elif PRJ_1_ALL_MON
  181. #define RelaySlaveChaNum 1
  182. #define ACSingCurrid 2
  183. #define SURPPORT_2_PT 0
  184. #define PT_SUB_COUNT (RelaySlaveChaNum)
  185. #define SUPPORT_MON 1
  186. #elif PRJ_3_NEW_2
  187. #define RelaySlaveChaNum 3
  188. #define ACSingCurrid 2
  189. #define SURPPORT_2_PT 0
  190. #define PT_SUB_COUNT (RelaySlaveChaNum)
  191. #define SUPPORT_DETECTION 1
  192. #define SUPPORT_RELAY_REMENBER 1
  193. #define SUPPORT_SELF_LOCK 1
  194. #elif PRJ_7_NEW
  195. #define RelaySlaveChaNum 7
  196. #define ACSingCurrid 1
  197. #define SURPPORT_2_PT 1
  198. #define PT_SUB_COUNT (PT_SUB_COUNT_4)
  199. #define SUPPORT_DETECTION 1
  200. #define SUPPORT_RELAY_REMENBER 1
  201. #elif PRJ_7_NO_MON
  202. #define RelaySlaveChaNum 7
  203. #define ACSingCurrid 2
  204. #define SURPPORT_2_PT 1
  205. #define PT_SUB_COUNT (PT_SUB_COUNT_4)
  206. #define SUPPORT_MON 1
  207. #elif PRJ_8_NO_MON
  208. #define RelaySlaveChaNum 8
  209. #define ACSingCurrid 2
  210. #define SURPPORT_2_PT 1
  211. #define PT_SUB_COUNT (PT_SUB_COUNT_4)
  212. #define SUPPORT_MON 1
  213. #endif
  214. #endif