1 ////////////////////////////////////////////////////////////////////////////////
2 /// @file     hal_crc.h
3 /// @author   AE TEAM
4 /// @brief    THIS FILE CONTAINS ALL THE FUNCTIONS PROTOTYPES FOR THE CRC
5 ///           FIRMWARE LIBRARY.
6 ////////////////////////////////////////////////////////////////////////////////
7 /// @attention
8 ///
9 /// THE EXISTING FIRMWARE IS ONLY FOR REFERENCE, WHICH IS DESIGNED TO PROVIDE
10 /// CUSTOMERS WITH CODING INFORMATION ABOUT THEIR PRODUCTS SO THEY CAN SAVE
11 /// TIME. THEREFORE, MINDMOTION SHALL NOT BE LIABLE FOR ANY DIRECT, INDIRECT OR
12 /// CONSEQUENTIAL DAMAGES ABOUT ANY CLAIMS ARISING OUT OF THE CONTENT OF SUCH
13 /// HARDWARE AND/OR THE USE OF THE CODING INFORMATION CONTAINED HEREIN IN
14 /// CONNECTION WITH PRODUCTS MADE BY CUSTOMERS.
15 ///
16 /// <H2><CENTER>&COPY; COPYRIGHT MINDMOTION </CENTER></H2>
17 ////////////////////////////////////////////////////////////////////////////////
18 
19 // Define to prevent recursive inclusion
20 #ifndef __HAL_CRC_H
21 #define __HAL_CRC_H
22 
23 // Files includes
24 #include "types.h"
25 #include "reg_common.h"
26 #include "reg_crc.h"
27 
28 ////////////////////////////////////////////////////////////////////////////////
29 /// @addtogroup MM32_Hardware_Abstract_Layer
30 /// @{
31 
32 ////////////////////////////////////////////////////////////////////////////////
33 /// @defgroup CRC_HAL
34 /// @brief CRC HAL modules
35 /// @{
36 
37 
38 ////////////////////////////////////////////////////////////////////////////////
39 /// @defgroup CRC_Exported_Types
40 /// @{
41 
42 /// @}
43 
44 ////////////////////////////////////////////////////////////////////////////////
45 /// @defgroup CRC_Exported_Constants
46 /// @{
47 
48 /// @}
49 
50 ////////////////////////////////////////////////////////////////////////////////
51 /// @defgroup CRC_Exported_Variables
52 /// @{
53 #ifdef _HAL_CRC_C_
54 #define GLOBAL
55 
56 #else
57 #define GLOBAL extern
58 #endif
59 
60 #undef GLOBAL
61 /// @}
62 
63 ////////////////////////////////////////////////////////////////////////////////
64 /// @defgroup CRC_Exported_Functions
65 /// @{
66 void CRC_ResetDR(void);
67 void CRC_SetIDRegister(u8 id_value);
68 
69 u32 CRC_CalcCRC(u32 data);
70 u32 CRC_CalcBlockCRC(u32* buffer, u32 length);
71 u32 CRC_GetCRC(void);
72 
73 u8 CRC_GetIDRegister(void);
74 
75 /// @}
76 
77 /// @}
78 
79 /// @}
80 
81 
82 ////////////////////////////////////////////////////////////////////////////////
83 #endif // __HAL_CRC_H
84 ////////////////////////////////////////////////////////////////////////////////
85