#ifndef _SF_BATTERY_H #define _SF_BATTERY_H #include #include "FileSysTsk.h" typedef signed int SINT32; typedef enum { SF_POWER_TYPE_DC = (unsigned char)0x01, SF_POWER_TYPE_LI_POLYER, SF_POWER_TYPE_AA } SF_POWERTYPE_E; UINT32 sf_battery_voltage_convert(UINT32 resistanceGnd, UINT32 resistanceVin, UINT32 adcVal); UINT32 sf_battery_convert_to_adc(UINT32 resistanceGnd, UINT32 resistanceVin, UINT32 volt); UINT32 sf_get_max_value(UINT32 *_ValueList); UINT32 sf_adc_value_get(UINT32 mux, UINT32 *pval); UINT32 sf_battery_adc_value_get_once(void); void sf_battery_level_update(void); BOOL sf_check_low_battery(void); SINT32 sf_battery_adc_value_get(void); void sf_battery_level_polling(void); THREAD_RETTYPE sf_battery_check_thread(void *arg); void sf_battery_thread_init(void); UINT8 sf_get_night_led_flag(void); void sf_set_night_led_flag(UINT8 flag); UINT32 sf_battery_level_get(void); void sf_view_osd_battery_draw(UINT8 bShow); UINT8 sf_battery_value_get(UINT8 nightMode); UINT8 sf_battery_type_get(void); UINT32 sf_get_battery_level(void); BOOL sf_battery_check_init(void); void sf_set_need_check_first(void); BOOL sf_is_enough_power_to_update(void); void sf_adc_init(void); BOOL sf_is_battery_low(UINT8 refresh, UINT8 nightMode); INT16 sf_adc2Temperature(UINT16 adcValue, UINT8 type);/*type: 0:F 1:C*/ void sf_stamp_temperature_get(INT16 *fTem,INT16 *cTem); /*0:F 1:C*/ void sf_temper_update(void); INT16 sf_celsius_change_to_fahrenheit(INT16 cTemper); void sf_BatteryInfoSave(char *name, FST_FILE fd); UINT32 sf_get_temper_adc(void); UINT8 sf_solar_to_Lunar(UINT16 Year,UINT8 Month, UINT8 Day); void sf_battery_print(void); #endif