static int __ddrrun_func save_calc_ocv() { short v_reg, c_reg; disable_charger(); sleep(1320); /* 1210ms + 110ms */ SMARTSTAR_REGS_READ(SMARTSTAR_VOL_FIFO_BASE, &v_reg, 2); SMARTSTAR_REGS_READ(SMARTSTAR_CUR_FIFO_BASE, &c_reg, 2); enable_charger(); coul_nv_info->calc_ocv_reg_v = v_reg; coul_nv_info->calc_ocv_reg_c = c_reg; coul_nv_info->start_cc = 0; coul_nv_info->hkadc_batt_temp = (short)smartstar_battery_temperature(); coul_nv_info->hkadc_batt_id_voltage = (short)smartstar_battery_id_voltage(); coul_nv_info->ocv_temp = smartstar_battery_temperature()*10; SMARTSTAR_COUL_INF("save calc ocv fastboot read batt temp =%d , batt id voltage=%d\n",\ coul_nv_info->hkadc_batt_temp, coul_nv_info->hkadc_batt_id_voltage); SMARTSTAR_COUL_INF("v_reg=%d, c_reg=%d\n", v_reg, c_reg); return save_nv(); }
static int __ddrrun_func use_saved_ocv(int is_calc_ocv_valid) { if(is_saved_ocv_valid(is_calc_ocv_valid)){ SMARTSTAR_COUL_INF("use saved ocv\n"); coul_nv_info->hkadc_batt_temp = smartstar_battery_temperature(); coul_nv_info->hkadc_batt_id_voltage = smartstar_battery_id_voltage(); /* don't clean cc and time, kernel will use them and saved ocv to calc soc */ return save_nv(); } else{ return use_calc_ocv(); } }
void main_save() { sound_stop(); if (conf.cmos) save_nv(); unsigned char optype = 0; for (int i = 0; i < 4; i++) { if (!comp.wd.fdd[i].test()) return; optype |= comp.wd.fdd[i].optype; } if (!optype) sprintf(statusline, "all saved"), statcnt = 30; }
static int __ddrrun_func save_pmu_ocv() { short ocvreg,volreg_offset; SMARTSTAR_REGS_READ(SMARTSTAR_OCV_REG_BASE,&ocvreg,2); SMARTSTAR_REGS_READ(SMARTSTAR_OFFSET_VOLTAGE,&volreg_offset,2); ocvreg -= volreg_offset; ocvreg += delta_ocv; SMARTSTAR_REGS_WRITE(SMARTSTAR_SAVE_OCV_ADDR,&ocvreg,2); coul_nv_info->calc_ocv_reg_v = 0; coul_nv_info->calc_ocv_reg_c = 0; coul_nv_info->start_cc = 0; coul_nv_info->hkadc_batt_temp = (short)smartstar_battery_temperature(); coul_nv_info->hkadc_batt_id_voltage = (short)smartstar_battery_id_voltage(); coul_nv_info->ocv_temp = smartstar_battery_temperature()*10; SMARTSTAR_COUL_INF("save pmu ovc fastboot read batt temp =%d , batt id voltage=%d\n", \ coul_nv_info->hkadc_batt_temp, coul_nv_info->hkadc_batt_id_voltage); return save_nv(); }
void __declspec(noreturn) exit() { // EnableMenuItem(GetSystemMenu(GetConsoleWindow(), FALSE), SC_CLOSE, MF_ENABLED); exitflag = 1; if (savesndtype) savesnddialog(); if (videosaver_state) main_savevideo(); // stop saving video if (!normal_exit) done_fdd(false); done_tape(); done_dx(); done_gs(); done_leds(); save_nv(); zf232.rs_close(); zf232.zf_close(); done_ie_help(); done_bpx(); GdiplusShutdown(); // timeEndPeriod(1); if (ay[1].Chip2203) YM2203Shutdown(ay[1].Chip2203); //Dexus if (ay[0].Chip2203) YM2203Shutdown(ay[0].Chip2203); //Dexus if (comp.ts.vdac2) vdac2::close_ft8xx(); color(); printf("\nsee you later!\n"); if (!nowait) { SetConsoleTitle("press a key..."); FlushConsoleInputBuffer(GetStdHandle(STD_INPUT_HANDLE)); getch(); } fflush(stdout); SetConsoleCtrlHandler(ConsoleHandler, FALSE); exit(0); }