/*******************************************************************************
 * @file	battery_saadc.h
 * @author	CandyPops Co.
 * @version	V1.0.0
 * @date	2022-09-05
 * @brief
 ******************************************************************************/

/*******************************************************************************
 * [헤더 개요] 배터리 전압 및 압력센서 SAADC 측정 인터페이스
 *
 * nRF52840 SAADC를 이용한 배터리 전압 측정과 압력센서 2채널 측정의
 * 외부 호출용 API를 선언한다.
 *
 * 주요 API:
 *   - battery_level_meas()       : 배터리 전압 1회 측정 (AIN2)
 *   - pressure_all_level_meas()  : 압력센서 2채널 1회 측정 (AIN7, AIN4)
 *   - battery_timer_init/start/stop() : 5초 주기 배터리 모니터링 타이머 제어
 *
 * LOW_BATTERY_VOLTAGE(3100mV) 이하가 10회 연속 감지되면 자동 전원 OFF
 ******************************************************************************/

#ifndef _BATTERY_SAADC_H_
#define _BATTERY_SAADC_H_

/* 저전압 판정 임계값 (mV) — 이 값 이하가 10회 연속이면 자동 전원 OFF */
#define LOW_BATTERY_VOLTAGE			3500	/* Low Battery 임계값 */


/** @brief 배터리 전압 1회 측정 시작 (비동기, 결과는 콜백에서 처리) */
void battery_level_meas(void);
/** @brief 압력센서 2채널(AIN7, AIN4) 1회 측정 시작 (비동기) */
//void pressure_all_level_meas(void); // 압력센서 미탑재
/** @brief 배터리 모니터링 5초 반복 타이머 시작 */
void battery_timer_start(void);
/** @brief 배터리 모니터링 타이머 정지 */
void battery_timer_stop(void);
/** @brief 배터리 모니터링 타이머 초기화 (앱 시작 시 1회 호출) */
void battery_timer_init(void);

#endif //_BATTERY_SAADC_H_

