Skip to content

Commit

Permalink
timer RTC setting Alarm with more than 32-bit subseconds
Browse files Browse the repository at this point in the history
When the SubSecond parameter variable is bigger than 32bits,
setting the Alarm is still possible calling the RTC_StartAlarm64
function

Signed-off-by: F. Ramu <[email protected]>
  • Loading branch information
FRASTM authored and fpistm committed Sep 3, 2024
1 parent 192c123 commit 34b54c9
Showing 1 changed file with 2 additions and 1 deletion.
3 changes: 2 additions & 1 deletion src/BSP/timer_if.c
Original file line number Diff line number Diff line change
Expand Up @@ -237,7 +237,8 @@ UTIL_TIMER_Status_t TIMER_IF_StartTimer(uint32_t timeout)
TIMER_IF_DBG_PRINTF("Start timer: time=%d, alarm=%d\n\r", GetTimerTicks(), timeout);

/* Program ALARM B on timeout ticks converted in ms (one more for uncertainty, mask is 31 */
RTC_StartAlarm(RTC_ALARM_B, 0, 0, 0, 0, (timeout * 1000 / MS_TO_TICK + 1), RTC_HOURFORMAT12_PM, 31UL);
uint64_t subSeconds64 = ((uint64_t)((uint64_t)timeout * (uint64_t)(1000))) / MS_TO_TICK + 1;
RTC_StartAlarm64(RTC_ALARM_B, 0, 0, 0, 0, subSeconds64, RTC_HOURFORMAT12_PM, 31UL);

/* USER CODE BEGIN TIMER_IF_StartTimer_Last */

Expand Down

0 comments on commit 34b54c9

Please sign in to comment.