/*******************************************************************************
 * @file	timer_routine.h
 * @author	CandyPops Co.
 * @version	V1.0.0
 * @date	2022-09-05
 * @brief
 *******************************************************************************
 *
 * [헤더 개요]
 * 메인 이벤트 루프 타이머의 공용 인터페이스 헤더.
 *
 * 10ms(일반) 또는 80ms(디테일) 간격의 싱글샷 타이머를 사용하여
 * main_loop() 콜백에서 센서 데이터 수집 및 시스템 제어를 수행한다.
 *
 * [주요 함수]
 *   main_timer_start() : 타이머 시작 (싱글샷, 수동 재시작 필요)
 *   main_timer_stop()  : 타이머 정지
 *   main_timer_init()  : 타이머 초기화 (앱 시작 시 1회 호출)
 *
 ******************************************************************************/

#ifndef TIMER_ROUTINE_H__
#define TIMER_ROUTINE_H__

/** @brief 메인 루프 타이머 시작 (싱글샷, MAIN_LOOP_INTERVAL 후 main_loop 호출) */
void main_timer_start(void);

/** @brief 지정된 간격(ms)으로 메인 루프 타이머 시작 */
void main_timer_start_ms(uint32_t interval_ms);

/** @brief 메인 루프 타이머 정지 */
void main_timer_stop(void);

/** @brief 메인 루프 타이머 초기화 (앱 시작 시 1회, 싱글샷 모드로 생성) */
void main_timer_init(void);

#endif //TIMER_ROUTINE_H__
