Subversion Repositories freemyipod

Rev

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

Rev 427 Rev 622
Line 65... Line 65...
65
 
65
 
66
bool vbus_state(void)
66
bool vbus_state(void)
67
{
67
{
68
    return (PDAT14 & 8) ? false : true;
68
    return (PDAT14 & 8) ? false : true;
69
}
69
}
-
 
70
 
-
 
71
int read_battery_voltage(int battery)
-
 
72
{
-
 
73
    if (battery == 0) return pmu_read_battery_voltage();
-
 
74
    return -1;
-
 
75
}
-
 
76
 
-
 
77
int read_battery_current(int battery)
-
 
78
{
-
 
79
    if (battery == 0) return pmu_read_battery_current();
-
 
80
    return -1;
-
 
81
}
-
 
82
 
-
 
83
int read_battery_mwh_design(int battery)
-
 
84
{
-
 
85
    if (battery == 0) return 1480;
-
 
86
    return -1;
-
 
87
}
-
 
88
 
-
 
89
int read_battery_mwh_full(int battery)
-
 
90
{
-
 
91
    if (battery == 0) return 1480;
-
 
92
    return -1;
-
 
93
}
-
 
94
 
-
 
95
int read_battery_mwh_current(int battery)
-
 
96
{
-
 
97
    // TODO: Approximate that better
-
 
98
    if (battery == 0) return (read_battery_voltage(0) - 3600) * 2;
-
 
99
    return -1;
-
 
100
}
-
 
101
 
-
 
102
int read_battery_mw(int battery)
-
 
103
{
-
 
104
    if (battery == 0) return read_battery_current(0) * 3700 / 1000;
-
 
105
    return -1;
-
 
106
}
-
 
107
 
-
 
108
int read_input_mw(int battery)
-
 
109
{
-
 
110
    return -1;
-
 
111
}
-
 
112
 
-
 
113
enum battery_state read_battery_state(int battery)
-
 
114
{
-
 
115
    if (battery != 0) return BATTERY_STATE_INVALID;
-
 
116
    if (charging_state()) return BATTERY_STATE_CHARGING;
-
 
117
    if (external_power_state()) return BATTERY_STATE_IDLE;
-
 
118
    return BATTERY_STATE_DISCHARGING;
-
 
119
}