/*******************************************************************************
 * @file	timer_routine.h
 * @author	CandyPops Co.
 * @version	V1.0.0
 * @date	2022-09-05
 * @brief
 *******************************************************************************
 *
 * [Header overview]
 * Public interface header for the main event loop timer.
 *
 * Uses a single-shot timer at 10ms (normal) or 80ms (detail) interval.
 * The main_loop() callback handles sensor data collection and system control.
 *
 * [Key functions]
 *   main_timer_start() : Start timer (single-shot, manual restart required)
 *   main_timer_stop()  : Stop timer
 *   main_timer_init()  : Initialize timer (call once at app startup)
 *
 ******************************************************************************/

#ifndef TIMER_ROUTINE_H__
#define TIMER_ROUTINE_H__

/** @brief Start main loop timer (single-shot, calls main_loop after MAIN_LOOP_INTERVAL) */
void main_timer_start(void);

/** @brief Start main loop timer with specified interval (ms) */
void main_timer_start_ms(uint32_t interval_ms);

/** @brief Stop main loop timer */
void main_timer_stop(void);

/** @brief Initialize main loop timer (call once at startup, creates single-shot timer) */
void main_timer_init(void);

#endif //TIMER_ROUTINE_H__
