Hi,
at the description of the function : app_timer_start
/**@brief Function for starting a timer. * * @param[in] timer_id Timer identifier. * @param[in] timeout_ticks Number of ticks (of RTC1, including prescaling) to time-out event * (minimum 5 ticks). * @param[in] p_context General purpose pointer. Will be passed to the time-out handler when * the timer expires. * * @retval NRF_SUCCESS If the timer was successfully started. * @retval NRF_ERROR_INVALID_PARAM If a parameter was invalid. * @retval NRF_ERROR_INVALID_STATE If the application timer module has not been initialized or the timer * has not been created. * @retval NRF_ERROR_NO_MEM If the timer operations queue was full. * * @note The minimum timeout_ticks value is 5. * @note For multiple active timers, time-outs occurring in close proximity to each other (in the * range of 1 to 3 ticks) will have a positive jitter of maximum 3 ticks. * @note When calling this method on a timer that is already running, the second start operation * is ignored. */ ret_code_t app_timer_start(app_timer_id_t timer_id, uint32_t timeout_ticks, void * p_context);
The parameter "timeout_ticks" has a minimum value, what about the maximum value? in other words can we use this app_timer_start function to start a timer for hours?
Is the limit is just the type of timeout_ticks ? ( in this case is 32 bits long )
According to my calculation, if the RTC frequency is 32768 Hz, then this timer can work for ((2^32) - 1)/32768 = 131071.9999 seconds = 2184.5 minutes = 36.4 hours.
Please let me know If my calculation is right\wrong.
Best Regards
JK