#ifndef __BATT_PARAM_H__ #define __BATT_PARAM_H__ /* battery status and charging information*/ struct battery_type{ BOOL is_power_on_reset; INT32 voltage_mV; INT32 current_mA; INT32 discharge_mA; INT32 charge_counter_mAh; INT32 temp_01c; INT32 last_temp_01c; INT32 id_ohm; INT32 vref_mv; INT32 voltage_adc; INT32 current_adc; INT32 discharge_adc; INT32 charge_counter_adc; INT32 temp_adc; INT32 last_temp_adc; INT32 id_adc; INT32 vref_adc; INT32 id_index; INT32 charge_full_design_mAh; INT32 charge_full_real_mAh; INT32 temp_index; INT32 temp_check_index; INT32 KADC_01p; INT32 RARC_01p; INT32 pd_m; INT32 software_charge_counter_mAms; INT32 thermal_id; }; struct protect_flags_type{ BOOL is_charging_enable_available; BOOL is_charging_high_current_avaialble; BOOL is_charging_indicator_available; BOOL is_battery_dead; #if 0 BOOL is_battery_overtemp; #endif BOOL is_fake_room_temp; }; /* ds2746 register definition*/ #define DS2746_STATUS_PORF (1 << 6) /* write to 0 as power-up sequence ready*/ #define DS2746_STATUS_SMOD (1 << 5) /* write to 0 to disable DS2746 sleep mode*/ #define DS2746_STATUS_NBEN (1 << 4) /* write to 0 to disable blanking of negative currents*/ #define DS2746_STATUS_AIN0 (1 << 0) #define DS2746_STATUS_AIN1 (1 << 1) /* function prototypes*/ void battery_capacity_update(struct battery_type *battery, int capacity_01p); BOOL battery_param_update(struct battery_type *battery, struct protect_flags_type *flags); DWORD BAHW_MyGetMSecs(void); void battery_param_init(struct battery_type *battery); #endif /* __BATT_PARAM_H__*/