Subversion Repositories freemyipod

Rev

Rev 427 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 427 Rev 622
Line 55... Line 55...
55
 
55
 
56
bool vbus_state(void)
56
bool vbus_state(void)
57
{
57
{
58
    return (PDAT(12) & 8) ? false : true;
58
    return (PDAT(12) & 8) ? false : true;
59
}
59
}
-
 
60
 
-
 
61
int read_battery_voltage(int battery)
-
 
62
{
-
 
63
    if (battery == 0) return pmu_read_battery_voltage();
-
 
64
    return -1;
-
 
65
}
-
 
66
 
-
 
67
int read_battery_current(int battery)
-
 
68
{
-
 
69
    if (battery == 0) return pmu_read_battery_current();
-
 
70
    return -1;
-
 
71
}
-
 
72
 
-
 
73
int read_battery_mwh_design(int battery)
-
 
74
{
-
 
75
    if (battery == 0) return 2035;
-
 
76
    return -1;
-
 
77
}
-
 
78
 
-
 
79
int read_battery_mwh_full(int battery)
-
 
80
{
-
 
81
    if (battery == 0) return 2035;
-
 
82
    return -1;
-
 
83
}
-
 
84
 
-
 
85
int read_battery_mwh_current(int battery)
-
 
86
{
-
 
87
    // TODO: Approximate that better
-
 
88
    if (battery == 0) return (read_battery_voltage(0) - 3600) * 3;
-
 
89
    return -1;
-
 
90
}
-
 
91
 
-
 
92
int read_battery_mw(int battery)
-
 
93
{
-
 
94
    return -1;
-
 
95
}
-
 
96
 
-
 
97
int read_input_mw(int battery)
-
 
98
{
-
 
99
    return -1;
-
 
100
}
-
 
101
 
-
 
102
enum battery_state read_battery_state(int battery)
-
 
103
{
-
 
104
    if (battery != 0) return BATTERY_STATE_INVALID;
-
 
105
    if (charging_state()) return BATTERY_STATE_CHARGING;
-
 
106
    if (external_power_state()) return BATTERY_STATE_IDLE;
-
 
107
    return BATTERY_STATE_DISCHARGING;
-
 
108
}