/******************************************************************************* * @file battery_saadc.h * @author CandyPops Co. * @version V1.0.0 * @date 2022-09-05 * @brief ******************************************************************************/ /******************************************************************************* * [헤더 개요] 배터리 전압 SAADC 측정 인터페이스 * * nRF52840 SAADC를 이용한 배터리 전압 측정 API를 선언한다. * * 주요 API: * - battery_level_meas() : 배터리 전압 1회 측정 (AIN2) * - battery_timer_init/start/stop() : 5초 주기 배터리 모니터링 타이머 제어 * * LOW_BATTERY_VOLTAGE(3500mV) 이하가 10회 연속 감지되면 자동 전원 OFF ******************************************************************************/ #ifndef _BATTERY_SAADC_H_ #define _BATTERY_SAADC_H_ /* 저전압 판정 임계값 (mV) — 이 값 이하가 10회 연속이면 자동 전원 OFF */ #define LOW_BATTERY_VOLTAGE 3500 /* Low Battery 임계값 */ /** @brief 배터리 SAADC 콜백 완료 플래그 (all_sensors 대기용) */ extern volatile bool battery_saadc_done; /** @brief 배터리 전압 1회 측정 시작 (비동기, 결과는 콜백에서 처리) */ void battery_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_