1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | /* ============================================================ */ /* periodic */ /* ============================================================ */ void fg_drv_update_hw_status(void) { static bool fg_current_state; signed int chr_vol; int fg_current, fg_coulomb, bat_vol; int plugout_status, tmp, bat_plugout_time; int fg_current_iavg; bool valid = false; static unsigned int cnt; ktime_t ktime = ktime_set(60, 0);
bm_debug("[%s]=>\n", __func__);
if (gauge_get_hw_version() >= GAUGE_HW_V1000 && gauge_get_hw_version() < GAUGE_HW_V2000) fg_int_event(gm.gdev, EVB_PERIODIC_CHECK);
fg_update_sw_iavg();
gauge_dev_get_boot_battery_plug_out_status( gm.gdev, &plugout_status, &bat_plugout_time);
fg_current_state = gauge_get_current(&fg_current); fg_coulomb = gauge_get_coulomb(); bat_vol = pmic_get_battery_voltage(); chr_vol = battery_get_vbus(); tmp = force_get_tbat(true);
bm_err("lbat %d %d %d %d\n", gm.sw_low_battery_ht_en, gm.sw_low_battery_ht_threshold, gm.sw_low_battery_lt_en, gm.sw_low_battery_lt_threshold);
bm_err("car[%d,%ld,%ld,%ld,%ld, cycle_car:%d,ncar:%d] c:%d %d vbat:%d vbus:%d soc:%d %d gm3:%d %d %d %d\n", fg_coulomb, gm.coulomb_plus.end, gm.coulomb_minus.end, gm.soc_plus.end, gm.soc_minus.end, gm.bat_cycle_car, gm.bat_cycle_ncar, fg_current_state, fg_current, bat_vol, chr_vol, battery_get_soc(), battery_get_uisoc(), gm.disableGM30, fg_cust_data.disable_nafg, gm.ntc_disable_nafg, gm.cmd_disable_nafg);
if (bat_get_debug_level() >= 7) gauge_coulomb_dump_list();
fg_current_iavg = gauge_get_average_current(&valid); fg_nafg_monitor();
bm_err("tmp:%d %d %d hcar2:%d lcar2:%d time:%d sw_iavg:%d %d %d nafg_m:%d %d %d\n", tmp, gm.fg_bat_tmp_int_ht, gm.fg_bat_tmp_int_lt, gm.fg_bat_int2_ht, gm.fg_bat_int2_lt, fg_get_system_sec(), gm.sw_iavg, fg_current_iavg, valid, gm.last_nafg_cnt, gm.is_nafg_broken, gm.disable_nafg_int);
if (cnt % 10 == 0) gauge_dev_dump(gm.gdev, NULL, 0); cnt++;
gm3_log_dump(false); gm3_log_dump_nafg(1);
wakeup_fg_algo_cmd( FG_INTR_KERNEL_CMD, FG_KERNEL_CMD_DUMP_REGULAR_LOG, 0);
if (bat_get_debug_level() >= BMLOG_DEBUG_LEVEL) ktime = ktime_set(10, 0); else ktime = ktime_set(60, 0);
hrtimer_start(&gm.fg_hrtimer, ktime, HRTIMER_MODE_REL);
} |