void p1_lpm_mode_check(struct chg_data *chg) { if(get_boot_charger_info()) { printk("%s : VDCIN (%d)\n", __func__, get_charging_status(chg)); if(get_charging_status(chg)) { charging_mode_set(chg, 1); } else { if (pm_power_off) pm_power_off(); } } else { charging_mode_set(chg, 0); } }
static void chargeled_update() { static int last_charge_status = BATTERY_STATUS_UNKNOWN; int charge_status; charge_status = get_charging_status(); if (charge_status <= 0 || charge_status == last_charge_status) return; last_charge_status = charge_status; update_led(charge_status); }
int battery_charging(void) { char str[128]; int i = 0, j = 5, first_up = 1; int sleep_val = 0; int tmp=-1, charging_percentage=-2; #ifdef CONFIG_UBI_SUPPORT run_command ("ubi part system", 0); run_command ("ubifsmount system", 0); //run_command ("ubifsls", 0); #endif set_charging_mode(1); while(1) { if(!is_ac_connected()) { printf("Ac adapter removed!!!\n"); power_down(); printf("Power Down!\n"); hang(); } //printf("33333333333333333333333\n"); //if(powerkey_scan() || any_key_pressed()) if (any_key_pressed()) { if(sleep_val >= 7) { run_command("lcd bl on", 0); } sleep_val = 0; } if(powerkey_hold(1000)) { return 0; } if(j >= 5) { if(j >= 5) j = 0; if(sleep_val++ < 7) { if(get_charging_status()) { #ifdef CONFIG_UBI_SUPPORT sprintf(str, "ubifsload ${loadaddr} resource/battery_pic/%d.bmp", (bat_pic_num-1)); #else sprintf(str, "nand read ${loadaddr} %x %x", bat_pic_start+bat_pic_size*(bat_pic_num-1), bat_pic_size); #endif run_command(str, 0); sprintf(str, "bmp display ${loadaddr} %d %d", bat_pic_x, bat_pic_y); if(run_command(str, 0)) { // AsciiPrintf("Battery Charging...", 260, 200, 0x00ff00); // AsciiPrintf("Press POWER will plug into the ANDROID world!", 130, 240, 0x00ff00); } if(first_up) { run_command ("lcd bl on", 0); first_up = 0; } if(tmp != 100) { tmp = charging_percentage = 100; //lcd_printf("\b\b\b\b%3d% ", charging_percentage); } } else { #ifdef CONFIG_UBI_SUPPORT sprintf(str, "ubifsload ${loadaddr} resource/battery_pic/%d.bmp", i); #else sprintf(str, "nand read ${loadaddr} %x %x", bat_pic_start+bat_pic_size*i, bat_pic_size); #endif run_command(str, 0); sprintf(str, "bmp display ${loadaddr} %d %d", bat_pic_x, bat_pic_y); if(run_command(str, 0)) { // AsciiPrintf("Battery Charging...", 260, 200, 0x00ff00); // AsciiPrintf("Press POWER will plug into the ANDROID world!", 130, 240, 0x00ff00); } if(first_up) { run_command ("lcd bl on", 0); first_up = 0; } i = (i+1)%bat_pic_num; charging_percentage = get_charging_percentage(); if(tmp != charging_percentage) { tmp = charging_percentage; //lcd_printf("\b\b\b\b%3d% ", charging_percentage); } } if(sleep_val >= 7) { tmp = -1; run_command("lcd bl off", 0); } } } if(tick_delay(50)) { return 1; } j++; } }
int battery_charging(void) { char str[128]; int i = 0, first_up = 1; int sleep_val = 0; int tmp=-1, charging_percentage=-2; set_charging_mode(1); for(i=0; i<26; i++) { lcd_printf("\n"); } for(i=0; i<52; i++) { lcd_printf(" "); } i = 0; while(1) { if(!is_ac_connected) { printf("Ac adapter removed!!!\n"); power_unhold(); printf("Power Down!\n"); hang(); } if(any_key_pressed()) { if(sleep_val >= 7) { run_command("lcd bl on", 0); } sleep_val = 0; } if(powerkey_hold(1000)) { return 0; } if(sleep_val++ < 7) { if(get_charging_status()) { #ifdef CONFIG_UBI_SUPPORT sprintf(str, "ubifsload ${loadaddr} resource/battery_pic/%d.bmp", (bat_pic_num-1)); #else sprintf(str, "nand read ${loadaddr} %x %x", bat_pic_start+bat_pic_size*(bat_pic_num-1), bat_pic_size); #endif run_command(str, 0); sprintf(str, "bmp display ${loadaddr} %d %d", bat_pic_x, bat_pic_y); run_command(str, 0); if(first_up) { run_command ("lcd bl on", 0); first_up = 0; } if(tmp != 100) { tmp = charging_percentage = 100; //lcd_printf("\b\b\b\b%3d% ", charging_percentage); } } else { #ifdef CONFIG_UBI_SUPPORT sprintf(str, "ubifsload ${loadaddr} resource/battery_pic/%d.bmp", i); #else sprintf(str, "nand read ${loadaddr} %x %x", bat_pic_start+bat_pic_size*i, bat_pic_size); #endif run_command(str, 0); sprintf(str, "bmp display ${loadaddr} %d %d", bat_pic_x, bat_pic_y); run_command(str, 0); if(first_up) { run_command ("lcd bl on", 0); first_up = 0; } i = (i+1)%bat_pic_num; charging_percentage = get_charging_percentage(); if(tmp != charging_percentage) { tmp = charging_percentage; //lcd_printf("\b\b\b\b%3d% ", charging_percentage); } } if(sleep_val >= 7) { tmp = -1; run_command("lcd bl off", 0); } } if(sdelay(1)) { return 1; } } }