SDL_bool SDL_GetPowerInfo_PSP(SDL_PowerState * state, int *seconds, int *percent) { int battery = scePowerIsBatteryExist(); int plugged = scePowerIsPowerOnline(); int charging = scePowerIsBatteryCharging(); *state = SDL_POWERSTATE_UNKNOWN; *seconds = -1; *percent = -1; if (!battery) { *state = SDL_POWERSTATE_NO_BATTERY; *seconds = -1; *percent = -1; } else if (charging) { *state = SDL_POWERSTATE_CHARGING; *percent = scePowerGetBatteryLifePercent(); *seconds = scePowerGetBatteryLifeTime()*60; } else if (plugged) { *state = SDL_POWERSTATE_CHARGED; *percent = scePowerGetBatteryLifePercent(); *seconds = scePowerGetBatteryLifeTime()*60; } else { *state = SDL_POWERSTATE_ON_BATTERY; *percent = scePowerGetBatteryLifePercent(); *seconds = scePowerGetBatteryLifeTime()*60; } return SDL_TRUE; /* always the definitive answer on PSP. */ }
static enum frontend_powerstate frontend_psp_get_powerstate(int *seconds, int *percent) { enum frontend_powerstate ret = FRONTEND_POWERSTATE_NONE; #ifndef VITA int battery = scePowerIsBatteryExist(); #endif int plugged = scePowerIsPowerOnline(); int charging = scePowerIsBatteryCharging(); *percent = scePowerGetBatteryLifePercent(); *seconds = scePowerGetBatteryLifeTime() * 60; #ifndef VITA if (!battery) { ret = FRONTEND_POWERSTATE_NO_SOURCE; *seconds = -1; *percent = -1; } else #endif if (charging) ret = FRONTEND_POWERSTATE_CHARGING; else if (plugged) ret = FRONTEND_POWERSTATE_CHARGED; else ret = FRONTEND_POWERSTATE_ON_POWER_SOURCE; return ret; }
char * psp_get_battery_string() { strcpy(loc_batt_str, "none"); # ifndef LINUX_MODE char tmp[128]; int ret; if (scePowerIsBatteryExist()) { ret = scePowerGetBatteryLifePercent(); if (ret >= 0) { sprintf(tmp, "%d", ret); strcpy(loc_batt_str,tmp); strcat(loc_batt_str,"%"); if(!scePowerIsPowerOnline()){ if((ret=scePowerGetBatteryLifeTime()) >= 0){ sprintf(tmp, " %dh", ret/60); strcat(loc_batt_str,tmp); sprintf(tmp, "%d", (ret%60) + 100); strcat(loc_batt_str,tmp+1); } } } } # endif return loc_batt_str; }
static JSBool xgg_system_power_propop_timeremaining_get(JSContext *pcxa, JSObject *pobja, jsval id, jsval *vp) { #ifdef XTPF_Linux *vp = INT_TO_JSVAL(30 * 60); // seconds #endif //XTPF_Linux #ifdef XTPF_PSP *vp = BOOLEAN_TO_JSVAL(scePowerGetBatteryLifeTime()); #endif //XTPF_PSP return JS_TRUE; }
static JSBool xgg_system_power_propop_timetotal_get(JSContext *pcxa, JSObject *pobja, jsval id, jsval *vp) { #ifdef XTPF_Linux *vp = INT_TO_JSVAL(60 * 60); // seconds #endif //XTPF_Linux #ifdef XTPF_PSP // reverse calc. xjse_int_t npercent = scePowerGetBatteryLifePercent(); *vp = BOOLEAN_TO_JSVAL(scePowerGetBatteryLifeTime() * npercent / 100); #endif //XTPF_PSP return JS_TRUE; }
char *psp_get_status_line(void) { static char buff[64]; int ret, bat_percent, bat_time; pspTime time; ret = sceRtcGetCurrentClockLocalTime(&time); bat_percent = scePowerGetBatteryLifePercent(); bat_time = scePowerGetBatteryLifeTime(); if (ret < 0 || bat_percent < 0 || bat_time < 0) return NULL; snprintf(buff, sizeof(buff), "%02i:%02i bat: %3i%%", time.hour, time.minutes, bat_percent); if (!scePowerIsPowerOnline()) snprintf(buff+strlen(buff), sizeof(buff)-strlen(buff), " (%i:%02i)", bat_time/60, bat_time%60); return buff; }
void CSystem::GetSystemInfo() { /**BATTERY*/ /**PERCENTUALE CARICA DELLA BATTERIA*/ BatteryLifePerc = L"Battery charge percentage: "; BatteryLifePerc += scePowerGetBatteryLifePercent(); BatteryLifePerc += L"%"; /**PERCENTUALE CARICA DELLA BATTERIA*/ BatteryLifeTime = L"Battery Life Time: "; BatteryLifeTime += scePowerGetBatteryLifeTime() / 3600; BatteryLifeTime += L"m"; /**TEMPERATURA DELLA BATTERIA*/ BatteryTemp = L"Temperature of the battery: "; BatteryTemp += scePowerGetBatteryTemp(); BatteryTemp += L"deg C"; /**EXTERNAL POWER*/ IsPowerOnline = scePowerIsPowerOnline() ? L"External Power: Yes" : L"External Power: No "; /**BATTERY PRESENT*/ IsBatteryExist = scePowerIsBatteryExist() ? L"Battery Present: Yes" : L"Battery Present: No "; /**FREEMEMORY*/ FreeMemory = L"Free Memory: "; FreeMemory += __freemem(); /**CPU BUS*/ CpuClock = L"CPU: "; CpuClock += scePowerGetCpuClockFrequency(); CpuClock += " MHZ"; BusClock = L"BUS: "; BusClock += scePowerGetBusClockFrequency(); BusClock += " MHZ"; }
static int lua_powerGetBatteryLifeTime(lua_State *L) { if (lua_gettop(L) != 0) return luaL_error(L, "System.powerGetBatteryLifeTime() takes no arguments"); lua_pushnumber(L, scePowerGetBatteryLifeTime()); return 1; }
void check() { // No battery? if (!scePowerIsBatteryExist()) { // Don't report anything. return; } // Get the new battery status. const int level = scePowerGetBatteryLifePercent(); const bool charging = scePowerGetBatteryChargingStatus(); // Is the level not sensible? if ((level < 0) || (level > 100)) { // Hopefully it will be sensible soon. return; } // Has the battery status changed? if ((level != lastLevel) || (charging != lastCharging)) { // Charging? if (charging) { // Inform the player. Con_Printf("Battery %d%% (charging)\n", level); } else { // How much time is left? const int timeLeft = scePowerGetBatteryLifeTime(); // Is the time sensible? if (timeLeft > 0) { // Convert the time to something readable. const int hoursLeft = timeLeft / 60; const int minutesLeft = timeLeft % 60; // Inform the player. Con_Printf("Battery %d%% (%d hour%s %d minute%s)\n", level, hoursLeft, (hoursLeft == 1) ? "" : "s", // Handle pluralisation of hour(s). minutesLeft, (minutesLeft == 1) ? "" : "s"); // Handle pluralisation of minute(s). } else { // It's a silly time, just report the battery level. Con_Printf("Battery %d%%\n", level); } } // Remember the status for next frame. lastLevel = level; lastCharging = charging; } }