classB.h 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263
  1. /************************************************************************
  2. Project: Washing Machine Drive
  3. Filename: classB.h
  4. Partner Filename: N/A
  5. Description: Partner file of main.c
  6. Complier: IAR Embedded Workbench for ARM 7.80, IAR Systems.
  7. CPU TYPE : ST32F0xx
  8. *************************************************************************
  9. Copyright (c) 2017 Welling Motor Technology(Shanghai) Co. Ltd.
  10. All rights reserved.
  11. *************************************************************************
  12. *************************************************************************
  13. Revising History (ECL of this file):
  14. WLBDM_M0_SR_20170814-new FSM1.1, by cyf, create this file;
  15. ************************************************************************/
  16. /************************************************************************
  17. Beginning of File, do not put anything above here except notes
  18. Compiler Directives:
  19. *************************************************************************/
  20. #ifndef CLASSB_H
  21. #define CLASSB_H
  22. /************************************************************************
  23. Compiler Directives (N/A)
  24. *************************************************************************/
  25. #ifdef _CLASSB_C_
  26. #define CLASSB_EXT
  27. #else
  28. #define CLASSB_EXT extern
  29. #endif
  30. #include "stdint.h"
  31. #include "typedefine.h"
  32. /************************************************************************
  33. Definitions & Macros
  34. *************************************************************************/
  35. /* 1:enable FLASH CRC selftest
  36. 0:disable
  37. */
  38. #define FLASHSTEN 1
  39. /* 1:enable clock selftest
  40. 0:disable
  41. */
  42. #define CLOCKSTEN 1
  43. /* 1:enable microchip fault detection
  44. 0:disable
  45. */
  46. #define CHIP_FAULT_DETECTION 1
  47. #define FLASH_TEST_USE
  48. /************************************************************************
  49. TypeDefs & Structure defines (N/A)
  50. *************************************************************************/
  51. typedef union
  52. {
  53. struct
  54. { //bit
  55. ULONG TR_CPU_ERR:1; //0
  56. ULONG TR_RAM_ERR:1; //1
  57. ULONG TR_CLOCK_ERR:1; //2
  58. ULONG TR_FLASH_ERR:1; //3
  59. ULONG TR_STACK_ERR:1; //4
  60. ULONG TR_ADC_ERR:1; //5
  61. ULONG TR_INTER_TIM1_ERR:1; //6
  62. ULONG TR_INTER_TIM2_ERR:1; //7
  63. ULONG TR_INTER_TIM3_ERR:1; //7
  64. ULONG TR_INTER_TIM4_ERR:1; //8
  65. ULONG TR_INTER_TIM6_ERR:1; //9
  66. ULONG TR_INTER_ADC_ERR:1; //9
  67. ULONG TR_CPU1CtrlFlow_ERR:1;
  68. ULONG TR_FLASHCtrlFlow_ERR:1;
  69. ULONG TR_RAMCtrlFlow_ERR:1;
  70. ULONG TR_ADCtrlFlow_ERR:1;
  71. ULONG TR_CLOCKCtrlFlow_ERR:1;
  72. ULONG TR_STACKCtrlFlow_ERR:1;
  73. ULONG TR_TBCITEM_ERR:1;
  74. ULONG TR_I_ABNORMAL:1;
  75. ULONG TR_I_NOCHANGE:1;
  76. ULONG TR_TC_NOCHANGE:1;
  77. ULONG TR_TC_ABNORMAL:1;
  78. ULONG TR_VDC_NOCHANGE:1;
  79. ULONG TR_VDC_ABNORMAL:1;
  80. }bit;
  81. ULONG all;
  82. }CLASS_ERR_CODE;
  83. /************************************************************************
  84. Exported Variables
  85. *************************************************************************/
  86. #ifdef _CLASSB_C_
  87. #pragma location = ".CRCsection"
  88. CLASSB_EXT const uint32_t sect = 0xFFFFFFFF;
  89. CLASSB_EXT UBYTE clas_blclassBErrFlg = 0;
  90. CLASSB_EXT UWORD clas_uwclassBErrCode = 0;
  91. CLASSB_EXT UWORD clas_uwclassBErrCode1 = 0;
  92. CLASSB_EXT UBYTE clas_ubTBSFlg = 0;
  93. CLASSB_EXT UBYTE clas_ubSystickFlg = 0;
  94. CLASSB_EXT ULONG clas_ulLSIDifPeriod = 0;
  95. CLASSB_EXT ULONG clas_DifPeriod = 0;
  96. CLASSB_EXT CLASS_ERR_CODE clasB_unFaultCode = {0};
  97. CLASSB_EXT UWORD clasB_uwADCCnt =0 ;
  98. CLASSB_EXT UWORD clasB_uwTIM1Cnt =0 ;
  99. CLASSB_EXT UWORD clasB_uwTIM2Cnt =0 ;
  100. CLASSB_EXT UWORD clasB_uwTIM3Cnt =0 ;
  101. CLASSB_EXT UWORD clasB_uwTIM4Cnt =0 ;
  102. CLASSB_EXT UWORD clasB_uwTIM6Cnt =0 ;
  103. CLASSB_EXT UWORD clas_uwADPhase1 = 0;
  104. CLASSB_EXT UWORD clas_uwADPhase1Pre = 0;
  105. CLASSB_EXT UWORD clas_uwADPhase2 = 0;
  106. CLASSB_EXT UWORD clas_uwADPhase2Pre = 0;
  107. CLASSB_EXT UWORD clas_uwADTc = 0;
  108. CLASSB_EXT UWORD clas_uwADTcPre = 4000;
  109. CLASSB_EXT UWORD clas_uwADVdc = 0;
  110. CLASSB_EXT UWORD clas_uwADVdcPre = 0;
  111. CLASSB_EXT UWORD clas_uwADVa = 0;
  112. CLASSB_EXT UWORD clas_uwADVaPre = 0;
  113. CLASSB_EXT UWORD clas_uwADVb = 0;
  114. CLASSB_EXT UWORD clas_uwADVbPre = 0;
  115. CLASSB_EXT UWORD clas_uwADVc = 0;
  116. CLASSB_EXT UWORD clas_uwADVcPre = 0;
  117. CLASSB_EXT ULONG clas_ulADTcErrCnt = 0;
  118. CLASSB_EXT UWORD clas_uwADTcErrCnt2 = 0;
  119. // CLASSB_EXT UWORD clas_uwADVdcErrCnt = 0;
  120. CLASSB_EXT ULONG clas_ulADVdcErrCnt = 0;
  121. CLASSB_EXT UWORD clas_uwADVdcErrCnt2 = 0;
  122. // CLASSB_EXT UWORD clas_uwADVaErrCnt = 0;
  123. // CLASSB_EXT UWORD clas_uwADVaErrCnt2 = 0;
  124. // CLASSB_EXT UWORD clas_uwADVbErrCnt = 0;
  125. // CLASSB_EXT UWORD clas_uwADVbErrCnt2 = 0;
  126. // CLASSB_EXT UWORD clas_uwADVcErrCnt = 0;
  127. // CLASSB_EXT UWORD clas_uwADVcErrCnt2 = 0;
  128. CLASSB_EXT UWORD clas_uwADPhase1ErrCnt = 0;
  129. CLASSB_EXT UWORD clas_uwADPhase1ErrCnt2 = 0;
  130. CLASSB_EXT UWORD clas_uwADPhase2ErrCnt = 0;
  131. CLASSB_EXT UWORD clas_uwADPhase2ErrCnt2 = 0;
  132. CLASSB_EXT UWORD clas_uwVrefErrCnt = 0;
  133. CLASSB_EXT UWORD class_uwTestFlg = 0;
  134. CLASSB_EXT SWORD clas_VrefintCal = 0; // ly
  135. CLASSB_EXT SWORD clas_VrefintData = 0; // ly
  136. CLASSB_EXT SWORD clas_VrefintDiff = 0; // ly
  137. CLASSB_EXT BOOL clas_blClockTestFlg = FALSE;
  138. CLASSB_EXT BOOL clas_blIntTestFlg = FALSE;
  139. CLASSB_EXT UWORD clas_uwCnts = 0;
  140. CLASSB_EXT UBYTE clas_ubIntCnts = 0;
  141. CLASSB_EXT UBYTE clas_ubTestSecFlg = 1;
  142. CLASSB_EXT ULONG calss_ulRtcCnt = 0;
  143. CLASSB_EXT ULONG calss_ulIntCnt = 0;
  144. CLASSB_EXT ULONG calss_ulRamCnt = 0;
  145. CLASSB_EXT BOOL clas_blIrqFlg = FALSE;
  146. #else
  147. #pragma location = ".CRCsection"
  148. CLASSB_EXT const uint32_t sect;
  149. CLASSB_EXT UBYTE clas_blclassBErrFlg;
  150. CLASSB_EXT UWORD clas_uwclassBErrCode;
  151. CLASSB_EXT UWORD clas_uwclassBErrCode1;
  152. CLASSB_EXT UBYTE clas_ubTBSFlg;
  153. CLASSB_EXT UBYTE clas_ubSystickFlg;
  154. CLASSB_EXT ULONG clas_ulLSIDifPeriod;
  155. CLASSB_EXT ULONG clas_DifPeriod;
  156. CLASSB_EXT UWORD clas_uwADPhase1;
  157. CLASSB_EXT UWORD clas_uwADPhase1Pre;
  158. CLASSB_EXT UWORD clas_uwADPhase2;
  159. CLASSB_EXT UWORD clas_uwADPhase2Pre;
  160. CLASSB_EXT CLASS_ERR_CODE clasB_unFaultCode;
  161. CLASSB_EXT UWORD clasB_uwADCCnt ;
  162. CLASSB_EXT UWORD clasB_uwTIM1Cnt ;
  163. CLASSB_EXT UWORD clasB_uwTIM2Cnt ;
  164. CLASSB_EXT UWORD clasB_uwTIM3Cnt ;
  165. CLASSB_EXT UWORD clasB_uwTIM4Cnt ;
  166. CLASSB_EXT UWORD clasB_uwTIM6Cnt ;
  167. CLASSB_EXT UWORD clas_uwADTc;
  168. CLASSB_EXT UWORD clas_uwADTcPre;
  169. CLASSB_EXT UWORD clas_uwADVdc;
  170. CLASSB_EXT UWORD clas_uwADVdcPre;
  171. CLASSB_EXT UWORD clas_uwADVa;
  172. CLASSB_EXT UWORD clas_uwADVaPre;
  173. CLASSB_EXT UWORD clas_uwADVb;
  174. CLASSB_EXT UWORD clas_uwADVbPre;
  175. CLASSB_EXT UWORD clas_uwADVc;
  176. CLASSB_EXT UWORD clas_uwADVcPre;
  177. CLASSB_EXT ULONG clas_ulADTcErrCnt;
  178. CLASSB_EXT UWORD clas_uwADTcErrCnt2;
  179. // CLASSB_EXT UWORD clas_uwADVdcErrCnt;
  180. CLASSB_EXT ULONG clas_ulADVdcErrCnt;
  181. CLASSB_EXT UWORD clas_uwADVdcErrCnt2;
  182. // CLASSB_EXT UWORD clas_uwADVaErrCnt;
  183. // CLASSB_EXT UWORD clas_uwADVaErrCnt2;
  184. // CLASSB_EXT UWORD clas_uwADVbErrCnt;
  185. // CLASSB_EXT UWORD clas_uwADVbErrCnt2;
  186. // CLASSB_EXT UWORD clas_uwADVcErrCnt;
  187. // CLASSB_EXT UWORD clas_uwADVcErrCnt2;
  188. CLASSB_EXT UWORD clas_uwADPhase1ErrCnt;
  189. CLASSB_EXT UWORD clas_uwADPhase1ErrCnt2;
  190. CLASSB_EXT UWORD clas_uwADPhase2ErrCnt;
  191. CLASSB_EXT UWORD clas_uwADPhase2ErrCnt2;
  192. CLASSB_EXT UWORD clas_uwVrefErrCnt;
  193. CLASSB_EXT UWORD class_uwTestFlg;
  194. CLASSB_EXT SWORD clas_VrefintCal;
  195. CLASSB_EXT SWORD clas_VrefintData;
  196. CLASSB_EXT SWORD clas_VrefintDiff;
  197. CLASSB_EXT BOOL clas_blClockTestFlg;
  198. CLASSB_EXT BOOL clas_blIntTestFlg;
  199. CLASSB_EXT UWORD clas_uwCnts;
  200. CLASSB_EXT UBYTE clas_ubIntCnts;
  201. CLASSB_EXT UBYTE clas_ubTestSecFlg;
  202. CLASSB_EXT ULONG calss_ulRtcCnt;
  203. CLASSB_EXT ULONG calss_ulIntCnt;
  204. CLASSB_EXT ULONG calss_ulRamCnt;
  205. CLASSB_EXT BOOL clas_blIrqFlg;
  206. #endif
  207. /************************************************************************
  208. RAM ALLOCATION (N/A)
  209. *************************************************************************/
  210. /************************************************************************
  211. Exported Function Call Prototypes
  212. *************************************************************************/
  213. /************************************************************************
  214. Local Function Call Prototypes (N/A)
  215. *************************************************************************/
  216. /************************************************************************
  217. Flag Define (N/A)
  218. *************************************************************************/
  219. #endif
  220. /************************************************************************
  221. Copyright (c) 2017 Welling Motor Technology(Shanghai) Co. Ltd.
  222. All rights reserved.
  223. *************************************************************************
  224. End of this File (EOF)!
  225. Do not put anything after this part!
  226. *************************************************************************/