라고 하면 거창한데, 내가 짠 code를 내가 헥갈려서 정리한다는 거다. (자폭 모드 T.T)
일단, 어디 어디 있는지 정리부터 해볼까.
일단, 어디 어디 있는지 정리부터 해볼까.
1. phone.c
[CODE]static int b_phone_power(batt_info_t *info, phone_pkt_t *pp) {[/CODE]
[CODE]int handle_phone_off(batt_info_t *info); int handle_phone_warning(batt_info_t *info);[/CODE]
[CODE]if (pp->action == LXT_PHN_POWER_BATTERY_STATUS_NOTIFICATION) {
switch (stat) {
case PHONE_POWER_IS_NORMAL:
case PHONE_POWER_IS_WARNING:
case PHONE_POWER_IS_OFF:[/CODE]
[CODE]int handle_phone_off(batt_info_t *info); int handle_phone_warning(batt_info_t *info);[/CODE]
2. misc.c
[CODE]void b_set_battery_low(batt_info_t *info);
int b_check_battery_low(batt_info_t *info) {[/CODE]
[CODE] if (!(info->stat & BATTERY_SENT_ALARM)) { ... }
if (info->dat.voltage < BATTERY_VOL_PDA_OFF) {
} else { /* if (info->dat.voltage < BATTERY_VOL_PDA_OFF) */
}[/CODE]
3. handler.c
[CODE]int b_handler_normal(batt_info_t *info, BATTERY_RET *bat) {[/CODE]
[CODE] /* check whether battery is low or not */
if ((info->dat.ac == AC_OFF_LINE) &&
(info->dat.level == BATTERY_LEVEL_BAR_0)) {
/* update battery_status except mz_battery_stat(0xff) */
info->dat.battery = bat->battery & ~mz_battery_stat(0xff);
b_set_battery_low(info);
MSG_INFO(1, "battery_low: %dv\n", info->dat.voltage);
if (info->dat.voltage <= BATTERY_VOL_LOW)
b_check_battery_low(info);
} else {
info->dat.battery = bat->battery;
b_time_clr(info, BATTERY_OFF_MSG_TIME);
}
return 0;[/CODE]