Subversion Repositories FuelGauge

Rev

Rev 2 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2 Rev 6
Line 59... Line 59...
59
typedef struct
59
typedef struct
60
{
60
{
61
#if defined(CRC_POL_POL)
61
#if defined(CRC_POL_POL)
62
  uint8_t DefaultPolynomialUse;       /*!< This parameter is a value of @ref CRC_Default_Polynomial and indicates if default polynomial is used.
62
  uint8_t DefaultPolynomialUse;       /*!< This parameter is a value of @ref CRC_Default_Polynomial and indicates if default polynomial is used.
63
                                            If set to DEFAULT_POLYNOMIAL_ENABLE, resort to default
63
                                            If set to DEFAULT_POLYNOMIAL_ENABLE, resort to default
64
                                            X^32 + X^26 + X^23 + X^22 + X^16 + X^12 + X^11 + X^10 +X^8 + X^7 + X^5 + X^4 + X^2+ X +1.
64
                                            X^32 + X^26 + X^23 + X^22 + X^16 + X^12 + X^11 + X^10 +X^8 + X^7 + X^5 +
-
 
65
                                            X^4 + X^2+ X +1.
65
                                            In that case, there is no need to set GeneratingPolynomial field.
66
                                            In that case, there is no need to set GeneratingPolynomial field.
66
                                            If otherwise set to DEFAULT_POLYNOMIAL_DISABLE, GeneratingPolynomial and CRCLength fields must be set. */
67
                                            If otherwise set to DEFAULT_POLYNOMIAL_DISABLE, GeneratingPolynomial and
-
 
68
                                            CRCLength fields must be set. */
67
#endif /* CRC_POL_POL */
69
#endif /* CRC_POL_POL */
68
 
70
 
69
  uint8_t DefaultInitValueUse;        /*!< This parameter is a value of @ref CRC_Default_InitValue_Use and indicates if default init value is used.
71
  uint8_t DefaultInitValueUse;        /*!< This parameter is a value of @ref CRC_Default_InitValue_Use and indicates if default init value is used.
70
                                           If set to DEFAULT_INIT_VALUE_ENABLE, resort to default
72
                                           If set to DEFAULT_INIT_VALUE_ENABLE, resort to default
71
                                           0xFFFFFFFF value. In that case, there is no need to set InitValue field.
73
                                           0xFFFFFFFF value. In that case, there is no need to set InitValue field. If
72
                                           If otherwise set to DEFAULT_INIT_VALUE_DISABLE,  InitValue field must be set. */
74
                                           otherwise set to DEFAULT_INIT_VALUE_DISABLE, InitValue field must be set. */
73
 
75
 
74
#if defined(CRC_POL_POL)
76
#if defined(CRC_POL_POL)
75
  uint32_t GeneratingPolynomial;      /*!< Set CRC generating polynomial as a 7, 8, 16 or 32-bit long value for a polynomial degree
77
  uint32_t GeneratingPolynomial;      /*!< Set CRC generating polynomial as a 7, 8, 16 or 32-bit long value for a polynomial degree
76
                                           respectively equal to 7, 8, 16 or 32. This field is written in normal representation,
78
                                           respectively equal to 7, 8, 16 or 32. This field is written in normal,
77
                                           e.g., for a polynomial of degree 7, X^7 + X^6 + X^5 + X^2 + 1 is written 0x65.
79
                                           representation e.g., for a polynomial of degree 7, X^7 + X^6 + X^5 + X^2 + 1
78
                                           No need to specify it if DefaultPolynomialUse is set to DEFAULT_POLYNOMIAL_ENABLE.   */
80
                                           is written 0x65. No need to specify it if DefaultPolynomialUse is set to
-
 
81
                                            DEFAULT_POLYNOMIAL_ENABLE.   */
79
 
82
 
80
  uint32_t CRCLength;                 /*!< This parameter is a value of @ref CRC_Polynomial_Sizes and indicates CRC length.
83
  uint32_t CRCLength;                 /*!< This parameter is a value of @ref CRC_Polynomial_Sizes and indicates CRC length.
81
                                           Value can be either one of
84
                                           Value can be either one of
82
                                           @arg @ref CRC_POLYLENGTH_32B                  (32-bit CRC),
85
                                           @arg @ref CRC_POLYLENGTH_32B                  (32-bit CRC),
83
                                           @arg @ref CRC_POLYLENGTH_16B                  (16-bit CRC),
86
                                           @arg @ref CRC_POLYLENGTH_16B                  (16-bit CRC),
Line 89... Line 92...
89
                                           is set to DEFAULT_INIT_VALUE_ENABLE.   */
92
                                           is set to DEFAULT_INIT_VALUE_ENABLE.   */
90
 
93
 
91
  uint32_t InputDataInversionMode;    /*!< This parameter is a value of @ref CRCEx_Input_Data_Inversion and specifies input data inversion mode.
94
  uint32_t InputDataInversionMode;    /*!< This parameter is a value of @ref CRCEx_Input_Data_Inversion and specifies input data inversion mode.
92
                                           Can be either one of the following values
95
                                           Can be either one of the following values
93
                                           @arg @ref CRC_INPUTDATA_INVERSION_NONE       no input data inversion
96
                                           @arg @ref CRC_INPUTDATA_INVERSION_NONE       no input data inversion
94
                                           @arg @ref CRC_INPUTDATA_INVERSION_BYTE       byte-wise inversion, 0x1A2B3C4D becomes 0x58D43CB2
97
                                           @arg @ref CRC_INPUTDATA_INVERSION_BYTE       byte-wise inversion, 0x1A2B3C4D
-
 
98
                                           becomes 0x58D43CB2
95
                                           @arg @ref CRC_INPUTDATA_INVERSION_HALFWORD   halfword-wise inversion, 0x1A2B3C4D becomes 0xD458B23C
99
                                           @arg @ref CRC_INPUTDATA_INVERSION_HALFWORD   halfword-wise inversion,
-
 
100
                                           0x1A2B3C4D becomes 0xD458B23C
96
                                           @arg @ref CRC_INPUTDATA_INVERSION_WORD       word-wise inversion, 0x1A2B3C4D becomes 0xB23CD458 */
101
                                           @arg @ref CRC_INPUTDATA_INVERSION_WORD       word-wise inversion, 0x1A2B3C4D
-
 
102
                                           becomes 0xB23CD458 */
97
 
103
 
98
  uint32_t OutputDataInversionMode;   /*!< This parameter is a value of @ref CRCEx_Output_Data_Inversion and specifies output data (i.e. CRC) inversion mode.
104
  uint32_t OutputDataInversionMode;   /*!< This parameter is a value of @ref CRCEx_Output_Data_Inversion and specifies output data (i.e. CRC) inversion mode.
99
                                            Can be either
105
                                            Can be either
100
                                            @arg @ref CRC_OUTPUTDATA_INVERSION_DISABLE   no CRC inversion,
106
                                            @arg @ref CRC_OUTPUTDATA_INVERSION_DISABLE   no CRC inversion,
101
                                            @arg @ref CRC_OUTPUTDATA_INVERSION_ENABLE    CRC 0x11223344 is converted into 0x22CC4488 */
107
                                            @arg @ref CRC_OUTPUTDATA_INVERSION_ENABLE    CRC 0x11223344 is converted
-
 
108
                                             into 0x22CC4488 */
102
} CRC_InitTypeDef;
109
} CRC_InitTypeDef;
103
 
110
 
104
/**
111
/**
105
  * @brief  CRC Handle Structure definition
112
  * @brief  CRC Handle Structure definition
106
  */
113
  */
Line 114... Line 121...
114
 
121
 
115
  __IO HAL_CRC_StateTypeDef   State;       /*!< CRC communication state      */
122
  __IO HAL_CRC_StateTypeDef   State;       /*!< CRC communication state      */
116
 
123
 
117
  uint32_t InputDataFormat;                /*!< This parameter is a value of @ref CRC_Input_Buffer_Format and specifies input data format.
124
  uint32_t InputDataFormat;                /*!< This parameter is a value of @ref CRC_Input_Buffer_Format and specifies input data format.
118
                                            Can be either
125
                                            Can be either
119
                                            @arg @ref CRC_INPUTDATA_FORMAT_BYTES       input data is a stream of bytes (8-bit data)
126
                                            @arg @ref CRC_INPUTDATA_FORMAT_BYTES       input data is a stream of bytes
-
 
127
                                            (8-bit data)
120
                                            @arg @ref CRC_INPUTDATA_FORMAT_HALFWORDS   input data is a stream of half-words (16-bit data)
128
                                            @arg @ref CRC_INPUTDATA_FORMAT_HALFWORDS   input data is a stream of
-
 
129
                                            half-words (16-bit data)
121
                                            @arg @ref CRC_INPUTDATA_FORMAT_WORDS       input data is a stream of words (32-bit data)
130
                                            @arg @ref CRC_INPUTDATA_FORMAT_WORDS       input data is a stream of words
-
 
131
                                            (32-bit data)
122
 
132
 
123
                                           Note that constant CRC_INPUT_FORMAT_UNDEFINED is defined but an initialization error
133
                                          Note that constant CRC_INPUT_FORMAT_UNDEFINED is defined but an initialization
124
                                           must occur if InputBufferFormat is not one of the three values listed above  */
134
                                          error must occur if InputBufferFormat is not one of the three values listed
-
 
135
                                          above  */
125
} CRC_HandleTypeDef;
136
} CRC_HandleTypeDef;
126
/**
137
/**
127
  * @}
138
  * @}
128
  */
139
  */
129
 
140
 
Line 207... Line 218...
207
#define CRC_INPUTDATA_FORMAT_WORDS                 0x00000003U  /*!< Input data in word format      */
218
#define CRC_INPUTDATA_FORMAT_WORDS                 0x00000003U  /*!< Input data in word format      */
208
/**
219
/**
209
  * @}
220
  * @}
210
  */
221
  */
211
 
222
 
212
/** @defgroup CRC_Aliases CRC API aliases
-
 
213
  * @{
-
 
214
  */
-
 
215
#define HAL_CRC_Input_Data_Reverse   HAL_CRCEx_Input_Data_Reverse    /*!< Aliased to HAL_CRCEx_Input_Data_Reverse for inter STM32 series compatibility  */
-
 
216
#define HAL_CRC_Output_Data_Reverse  HAL_CRCEx_Output_Data_Reverse   /*!< Aliased to HAL_CRCEx_Output_Data_Reverse for inter STM32 series compatibility */
-
 
217
/**
-
 
218
  * @}
-
 
219
  */
-
 
220
 
-
 
221
/**
223
/**
222
  * @}
224
  * @}
223
  */
225
  */
224
 
226
 
225
/* Exported macros -----------------------------------------------------------*/
227
/* Exported macros -----------------------------------------------------------*/