Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(WBA): Add RTC STM32WBAxx support #107

Merged
merged 1 commit into from
Feb 27, 2024
Merged
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: 6 additions & 2 deletions src/rtc.c
Original file line number Diff line number Diff line change
Expand Up @@ -441,8 +441,9 @@ bool RTC_init(hourFormat_t format, binaryMode_t mode, sourceClock_t source, bool
#ifdef __HAL_RCC_RTCAPB_CLK_ENABLE
__HAL_RCC_RTCAPB_CLK_ENABLE();
#endif
#ifdef __HAL_RCC_RTC_ENABLE
__HAL_RCC_RTC_ENABLE();

#endif
isAlarmASet = RTC_IsAlarmSet(ALARM_A);
#ifdef RTC_ALARM_B
isAlarmBSet = RTC_IsAlarmSet(ALARM_B);
Expand Down Expand Up @@ -591,7 +592,9 @@ void RTC_DeInit(bool reset_cb)
{
HAL_RTC_DeInit(&RtcHandle);
/* Peripheral clock disable */
#ifdef __HAL_RCC_RTC_DISABLE
__HAL_RCC_RTC_DISABLE();
#endif
#ifdef __HAL_RCC_RTCAPB_CLK_DISABLE
__HAL_RCC_RTCAPB_CLK_DISABLE();
#endif
Expand Down Expand Up @@ -1124,7 +1127,8 @@ void RTC_Alarm_IRQHandler(void)
#if defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx) || \
defined(STM32F091xC) || defined(STM32F098xx) || defined(STM32F070xB) || \
defined(STM32F030xC) || defined(STM32G0xx) || defined(STM32H5xx) || \
defined(STM32L0xx) || defined(STM32L5xx) || defined(STM32U5xx)
defined(STM32L0xx) || defined(STM32L5xx) || defined(STM32U5xx) || \
defined(STM32WBAxx)
// In some cases, the same vector is used to manage WakeupTimer,
// but with a dedicated HAL IRQHandler
HAL_RTCEx_WakeUpTimerIRQHandler(&RtcHandle);
Expand Down
5 changes: 3 additions & 2 deletions src/rtc.h
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,8 @@ typedef void(*voidCallbackPtr)(void *);
#endif /* !STM32F1xx */

#if defined(STM32C0xx) || defined(STM32F0xx) || defined(STM32H5xx) || \
defined(STM32L0xx) || defined(STM32L5xx) || defined(STM32U5xx)
defined(STM32L0xx) || defined(STM32L5xx) || defined(STM32U5xx) || \
defined(STM32WBAxx)
#define RTC_Alarm_IRQn RTC_IRQn
#define RTC_Alarm_IRQHandler RTC_IRQHandler
#endif
Expand All @@ -141,7 +142,7 @@ typedef void(*voidCallbackPtr)(void *);
/* mapping the IRQn for the one-second interrupt depending on the soc */
#if defined(STM32F1xx) || (defined(STM32F0xx) && defined(RTC_CR_WUTE)) || \
defined(STM32H5xx) || defined(STM32L0xx) || defined(STM32L5xx) || \
defined(STM32U5xx)
defined(STM32U5xx) || defined(STM32WBAxx)
// specific WakeUp interrupt
#define ONESECOND_IRQn RTC_IRQn
#elif defined(STM32MP1xx)
Expand Down