uart_appl.h 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. /************************************************************************
  2. Project: Welling Motor Control Paltform
  3. Filename: uart_appl.h
  4. Partner Filename: uart_appl.c
  5. Description: The header file of uart_appl.c
  6. Complier: IAR Embedded Workbench for ARM 7.80.4
  7. CPU TYPE : GD32F30x
  8. *************************************************************************
  9. Copyright (c) 2018 Welling Motor Technology(Shanghai) Co. Ltd.
  10. All rights reserved.
  11. *************************************************************************
  12. *************************************************************************
  13. Revising History (ECL of this file):
  14. ************************************************************************/
  15. /************************************************************************
  16. Beginning of File, do not put anything above here except notes
  17. Compiler Directives
  18. ************************************************************************/
  19. #ifndef UART_APPL_H
  20. #define UART_APPL_H
  21. /************************************************************************
  22. Compiler Directives (N/A)
  23. *************************************************************************/
  24. #ifdef _UART_APPL_C_
  25. #define _UART_APPL_C_EXT
  26. #else
  27. #define _UART_APPL_C_EXT extern
  28. #endif
  29. /************************************************************************
  30. Definitions & Macros
  31. *************************************************************************/
  32. #define UART_ACK_BUFFER_SIZE 24
  33. #define UART_HOST_TIMEOUT_COUNT 6000 // Timeout == 6sec
  34. #define UART_ACK_BUFFER_DEFAULT \
  35. { \
  36. 0xB2, 0x01, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \
  37. } // Default value of UART_ACK_BUFFER
  38. /************************************************************************
  39. TypeDefs & Structure defines (N/A)
  40. *************************************************************************/
  41. /************************************************************************
  42. Exported Variables
  43. *************************************************************************/
  44. #ifdef _UART_APPL_C_
  45. //******************************* Data Interface ***************************************************
  46. _UART_APPL_C_EXT BOOL uart_commandEN =
  47. FALSE; // LittleSwan protocol stipulates that when the correct Ping commmand(motorNum !=0) is received then other command can be reponsed.
  48. _UART_APPL_C_EXT BOOL uart_FCTcommandEN = FALSE; // ly180403
  49. _UART_APPL_C_EXT FlagStatus uart_blDrumTestOkFlg = RESET;
  50. _UART_APPL_C_EXT UWORD uart_uwDrumTestEn = 0;
  51. _UART_APPL_C_EXT FlagStatus uart_blTimeoutFlg = RESET; // when Ping command receied, enable timeout count.
  52. _UART_APPL_C_EXT UWORD uart_uwTimeoutCnts = 0; // reset timeout counter everytime any commmand received.
  53. _UART_APPL_C_EXT SWORD uart_swDrumSpdAbsNowRpm = 0; // present effected drum speed command mirror
  54. _UART_APPL_C_EXT SWORD uart_swDrumSpdAbsPreRpm = 0; // previous effected drum speed commmand mirror
  55. //----------- ACK(response) value Interface ------------
  56. _UART_APPL_C_EXT SWORD uart_swDrumSpdNowRpm = 0; // present effected drum speed command
  57. _UART_APPL_C_EXT SWORD uart_swDrumSpdPreRpm = 0; // previous effected drum speed commmand
  58. _UART_APPL_C_EXT UWORD uart_uwSoftwareVer = 0x0000;
  59. _UART_APPL_C_EXT UBYTE uart_ubMotorID = 0x00;
  60. _UART_APPL_C_EXT UBYTE uart_ubMotorTemp = 0x00;
  61. _UART_APPL_C_EXT SBYTE uart_sbIPMtemp = 0x00;
  62. _UART_APPL_C_EXT UWORD uart_uwFaultCode = 0x0000;
  63. _UART_APPL_C_EXT SWORD uart_swDrumSpdRpm = -100;
  64. _UART_APPL_C_EXT SBYTE uart_sbPhaseUCurrentA = 0;
  65. _UART_APPL_C_EXT UWORD uart_uwBusVoltageV = 310;
  66. //----------- Command value Interface ------------
  67. _UART_APPL_C_EXT SWORD uart_swDrumSpdCmdRpm = 0;
  68. _UART_APPL_C_EXT SWORD uart_swDrumSpdCmdPreRpm = 0;
  69. _UART_APPL_C_EXT UBYTE uart_ubAckBuffer[UART_ACK_BUFFER_SIZE] = UART_ACK_BUFFER_DEFAULT;
  70. _UART_APPL_C_EXT UBYTE uart_ubData1 = 0; // Reserved
  71. _UART_APPL_C_EXT UBYTE uart_ubPlatform = 0x00;
  72. _UART_APPL_C_EXT UWORD uart_uwLoadTested = 0;
  73. _UART_APPL_C_EXT UWORD uart_uwLoadDef = 0;
  74. _UART_APPL_C_EXT UWORD *uart_ptuwLoad = &uart_uwLoadDef;
  75. _UART_APPL_C_EXT UWORD uart_uwACCtimeTs = 10;
  76. _UART_APPL_C_EXT UWORD uart_uwACCtimePreTs = 10;
  77. _UART_APPL_C_EXT SWORD uart_swDrumACCRpmps = 130;
  78. _UART_APPL_C_EXT SWORD uart_swMotorACCRpmps = 1500;
  79. _UART_APPL_C_EXT BOOL uart_bCommOvrTmFlg = FALSE;
  80. _UART_APPL_C_EXT SWORD uart_swMotorStopCnt = 0;
  81. _UART_APPL_C_EXT UWORD uart_uwFTbsHz = 4000;
  82. _UART_APPL_C_EXT SLONG uart_slSpdRefRpm = 0;
  83. _UART_APPL_C_EXT SWORD uart_swTorqRefNm = 0;
  84. #else
  85. _UART_APPL_C_EXT BOOL uart_commandEN; // LittleSwan protocol stipulates that when the correct Ping commmand(motorNum !=0) is received then other
  86. // command can be reponsed.
  87. _UART_APPL_C_EXT FlagStatus uart_blDrumTestOkFlg;
  88. _UART_APPL_C_EXT UBYTE uart_ubPlatform;
  89. _UART_APPL_C_EXT UWORD uart_uwLoadTested;
  90. _UART_APPL_C_EXT UWORD uart_uwLoadDef;
  91. _UART_APPL_C_EXT UWORD * uart_ptuwLoad;
  92. _UART_APPL_C_EXT SWORD uart_swDrumSpdAbsNowRpm;
  93. _UART_APPL_C_EXT SWORD uart_swDrumSpdAbsPreRpm;
  94. _UART_APPL_C_EXT UWORD uart_uwDrumTestEn;
  95. _UART_APPL_C_EXT UWORD uart_uwACCtimeTs;
  96. _UART_APPL_C_EXT UWORD uart_uwACCtimePreTs;
  97. _UART_APPL_C_EXT FlagStatus uart_blTimeoutFlg;
  98. _UART_APPL_C_EXT UWORD uart_uwTimeoutCnts;
  99. _UART_APPL_C_EXT BOOL uart_bCommOvrTmFlg;
  100. _UART_APPL_C_EXT SWORD uart_swMotorStopCnt;
  101. _UART_APPL_C_EXT SWORD uart_swDrumSpdNowRpm; // present effected drum speed command
  102. _UART_APPL_C_EXT SWORD uart_swDrumSpdPreRpm; // previous effected drum speed commmand
  103. _UART_APPL_C_EXT UWORD uart_uwSoftwareVer;
  104. _UART_APPL_C_EXT UBYTE uart_ubMotorID;
  105. _UART_APPL_C_EXT UBYTE uart_ubMotorTemp;
  106. _UART_APPL_C_EXT SBYTE uart_sbIPMtemp;
  107. _UART_APPL_C_EXT UWORD uart_uwFaultCode;
  108. _UART_APPL_C_EXT SWORD uart_swDrumSpdRpm;
  109. _UART_APPL_C_EXT SBYTE uart_sbPhaseUCurrentA;
  110. _UART_APPL_C_EXT UWORD uart_uwBusVoltageV;
  111. _UART_APPL_C_EXT SWORD uart_swDrumSpdCmdRpm;
  112. _UART_APPL_C_EXT UBYTE uart_ubAckBuffer[UART_ACK_BUFFER_SIZE];
  113. _UART_APPL_C_EXT UBYTE uart_ubData1;
  114. _UART_APPL_C_EXT SWORD uart_swDrumACCRpmps; // 0821
  115. _UART_APPL_C_EXT SWORD uart_swMotorACCRpmps; // 0821
  116. _UART_APPL_C_EXT UWORD uart_uwFTbsHz;
  117. _UART_APPL_C_EXT SLONG uart_slSpdRefRpm;
  118. _UART_APPL_C_EXT SWORD uart_swTorqRefNm;
  119. _UART_APPL_C_EXT SWORD uart_swDrumSpdCmdPreRpm;
  120. #endif
  121. //------------------------------------------------------------------------
  122. /************************************************************************
  123. Exported Function Call Prototypes
  124. *************************************************************************/
  125. #ifdef _UART_APPL_C_
  126. _UART_APPL_C_EXT BOOL uart_bSwanDecoder(UBYTE *ptubBuffer, UWORD Num, UBYTE **ptptubACKbuffer, UWORD *ACKnum);
  127. _UART_APPL_C_EXT UWORD uart_uwCRCCcitt(const UBYTE ptubBuf[], UWORD length);
  128. #else
  129. _UART_APPL_C_EXT BOOL uart_bSwanDecoder(UBYTE *ptubBuffer, UWORD Num, UBYTE **ptptubACKbuffer, UWORD *ACKnum);
  130. _UART_APPL_C_EXT UWORD uart_uwCRCCcitt(const UBYTE ptubBuf[], UWORD length);
  131. #endif
  132. #endif
  133. /*>>>>>>>>>>>>>>>>>>>>>>>> End of Header File Inclusion Protection <<<<<<<<<<<<<<<<<<<<<<<*/
  134. /****************************************************************************************
  135. End of this File (EOF). Do not put anything after this line.
  136. ****************************************************************************************/