quasar_timer.h

This module provides BSP API functions for everything related to free running timers and delays.

This module provides functions to control and configure basic timers.

Copyright

Copyright (C) 2026 SPARK Microsystems International Inc. All rights reserved.

License

This source code is proprietary and subject to the SPARK Microsystems Software EULA found in this package in file EULA.txt.

Author

SPARK FW Team.

Functions

uint32_t quasar_timer_get_ms_tick(void)

Get timebase milliseconds tick value.

Returns:

Tick value.

void quasar_timer_delay_ms(uint32_t delay)

Blocking delay with a 1ms resolution.

Parameters:

delay[in] Delay in milli seconds to wait.

void quasar_timer_free_running_ms_init(quasar_irq_priority_t irq_priority)

Initialize the free running ms timer.

Parameters:

irq_priority[in] Free running ms timer priority.

uint64_t quasar_timer_free_running_ms_get_tick_count(void)

Get the current free running ms timer tick count.

Returns:

The free running ms timer tick count.

uint32_t quasar_timer_free_running_ms_get_tick_frequency(void)

Get the free running ms timer tick frequency.

Returns:

The free running ms timer tick frequency.

void quasar_timer_multi_radio_init(quasar_irq_priority_t irq_priority)

Initialize the timer for dual-radio support.

Parameters:

irq_priority[in] Priority of the multi radio timer.

void quasar_timer_blocking_delay_init(quasar_irq_priority_t irq_priority)

Initialize the blocking delay ms timer.

Parameters:

irq_priority[in] Blocking delay ms timer priority.

uint32_t quasar_timer_multi_radio_get_freq_hz(void)

Get the multi-radio timer frequency from the system clock and prescaler.

Returns:

Multi-radio timer frequency.

void quasar_timer_multi_radio_set_callback(void (*callback)(void))

Set the multi-radio timer callback.

Parameters:

callback[in] Multi-radio callback.

void quasar_timer_multi_radio_set_period(uint16_t period)

Set the timer period for dual-radio support.

Parameters:

period[in] Set the dual-radio timer Period.

void quasar_timer_multi_radio_set_prescaler(uint16_t prescaler)

Set the timer prescaler for dual-radio support.

Parameters:

prescaler[in] Set the dual-radio timer prescaler.

uint32_t quasar_timer_multi_radio_get_prescaler(void)

Get prescaler value of the multi-radio timer.

Returns:

prescaler value.

void quasar_timer_multi_radio_start(void)

Start the dual-radio timer.

void quasar_timer_multi_radio_stop(void)

Stop the dual-radio timer.