Skip to content

Commit

Permalink
feat(WBA): Add RTC STM32WBAxx support
Browse files Browse the repository at this point in the history
Signed-off-by: Frederic Pillon <[email protected]>
  • Loading branch information
fpistm committed Feb 27, 2024
1 parent 5da16e6 commit ce1122e
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 4 deletions.
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

0 comments on commit ce1122e

Please sign in to comment.