Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions os/hal/include/hal_crc.h
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,15 @@ extern "C" {
#endif
void crcInit(void);
void crcObjectInit(CRCDriver *crcp);
#if (defined(STM32F1xx) || defined(STM32F2xx) || defined(STM32F4xx) || defined(STM32L1xx) || defined(STM32F07x) || \
defined(STM32F030x4) || defined(STM32F030x6) || defined(STM32F030x8) || defined(STM32F030xC) || \
defined(STM32F031x6) || defined(STM32F038xx) || \
defined(STM32F042x6) || defined(STM32F048xx) || \
defined(STM32F051x8) || defined(STM32F058xx) ) // Those MCU dont have programmable CRC registers
void crcStart(CRCDriver *crcp);
#else
void crcStart(CRCDriver *crcp, const CRCConfig *config);
#endif
void crcStop(CRCDriver *crcp);
void crcReset(CRCDriver *crcp);
void crcResetI(CRCDriver *crcp);
Expand Down
19 changes: 18 additions & 1 deletion os/hal/src/hal_crc.c
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,23 @@ void crcObjectInit(CRCDriver *crcp) {
* supports a default configuration
*
* @api
*/
*/
#if (defined(STM32F1xx) || defined(STM32F2xx) || defined(STM32F4xx) || defined(STM32L1xx) || defined(STM32F07x) || \
defined(STM32F030x4) || defined(STM32F030x6) || defined(STM32F030x8) || defined(STM32F030xC) || \
defined(STM32F031x6) || defined(STM32F038xx) || \
defined(STM32F042x6) || defined(STM32F048xx) || \
defined(STM32F051x8) || defined(STM32F058xx) ) // Those MCU dont have programmable CRC registers
void crcStart(CRCDriver *crcp) {
osalDbgCheck(crcp != NULL);

osalSysLock();
osalDbgAssert((crcp->state == CRC_STOP) || (crcp->state == CRC_READY),
"invalid state");
crc_lld_start(crcp);
crcp->state = CRC_READY;
osalSysUnlock();
}
#else
void crcStart(CRCDriver *crcp, const CRCConfig *config) {
osalDbgCheck(crcp != NULL);

Expand All @@ -92,6 +108,7 @@ void crcStart(CRCDriver *crcp, const CRCConfig *config) {
crcp->state = CRC_READY;
osalSysUnlock();
}
#endif

/**
* @brief Deactivates the CRC peripheral.
Expand Down