FreeCalypso > hg > fc-magnetite
annotate src/cs/drivers/drv_app/pwr/pwr_disch.c @ 682:17b7b92e7dba
uartfax.c: fix for old Openmoko bug with Auto-CTS
Openmoko made the change of enabling hardware assisted CTS flow control
in the UART when RTS/CTS flow control is used - it is a change which we
have retained in FreeCalypso - but they forgot to turn this hw mode off
if RTS/CTS flow control is deselected at the application level. We
(FreeCalypso) are now fixing the latter defect ourselves.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Fri, 26 Jun 2020 02:53:02 +0000 |
parents | c93a236e0d50 |
children |
rev | line source |
---|---|
145
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 /******************************************************************************* |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2 * |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
3 * pwr_disch.c |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 * |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 * Purpose: This file contains functions for battery discharge management. |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 * |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 * (C) Texas Instruments 2001 |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 * |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 ******************************************************************************/ |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 |
151
c93a236e0d50
PWR SWE compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
145
diff
changeset
|
11 #include "rv/rv_defined_swe.h" // for RVM_PWR_SWE |
145
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 #ifdef RVM_PWR_SWE |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 |
151
c93a236e0d50
PWR SWE compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
145
diff
changeset
|
15 #include "abb/abb.h" |
c93a236e0d50
PWR SWE compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
145
diff
changeset
|
16 #include "rvm/rvm_use_id_list.h" |
c93a236e0d50
PWR SWE compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
145
diff
changeset
|
17 #include "pwr/pwr_disch.h" |
c93a236e0d50
PWR SWE compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
145
diff
changeset
|
18 #include "power/power.h" |
c93a236e0d50
PWR SWE compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
145
diff
changeset
|
19 #include "spi/spi_task.h" |
c93a236e0d50
PWR SWE compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
145
diff
changeset
|
20 #include "pwr/pwr_cust.h" |
c93a236e0d50
PWR SWE compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
145
diff
changeset
|
21 #include "pwr/pwr_messages.h" |
c93a236e0d50
PWR SWE compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
145
diff
changeset
|
22 #include "spi/spi_env.h" |
c93a236e0d50
PWR SWE compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
145
diff
changeset
|
23 #include "pwr/pwr_env.h" |
145
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24 |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25 /* Define a pointer to the PWR Environment control block. */ |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26 extern T_PWR_ENV_CTRL_BLK *pwr_env_ctrl_blk; |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27 |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
28 |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
29 |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
30 |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
31 /******************************************************************************* |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
32 ** Function pwr_discharge_timer_process |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
33 ** |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
34 ** Description |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
35 ** |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
36 *******************************************************************************/ |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
37 void pwr_discharge_timer_process(void) |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
38 { |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
39 rvf_send_trace("TIMER3", 6, NULL_PARAM, RV_TRACE_LEVEL_DEBUG_LOW, PWR_USE_ID); |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
40 if (SPI_GBL_INFO_PTR->is_gsm_on == TRUE) |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
41 { |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
42 pwr_handle_discharge(); /* battery discharge management */ |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
43 } |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
44 |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
45 } |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
46 |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
47 |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
48 |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
49 /******************************************************************************* |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
50 ** Function pwr_handle_discharge |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
51 ** |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
52 ** Description Compares the battery voltage with some thresholds and, if a |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
53 ** threshold is passed, sends event(s) to the upper layer. |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
54 ** Re-start the timer with a value depending on the discharge |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
55 ** level. |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
56 ** |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
57 *******************************************************************************/ |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
58 void pwr_handle_discharge(void) |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
59 { |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
60 UINT16 timer_value; |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
61 UINT16 status; |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
62 UINT16 bat_madc_voltage, bat_voltage; |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
63 static T_PWR_PERCENT remain_capacity = 100; /* since this variable is declared as static */ |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
64 /* it will keep its value from one function call to the other */ |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
65 T_PWR_PERCENT current_capacity; |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
66 |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
67 if (SPI_GBL_INFO_PTR->is_adc_on == FALSE) |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
68 { |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
69 /* Start VBAT channel conversion by writing in the result register */ |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
70 ABB_Write_Register_on_page(PAGE0, VBATREG, 0x0000); |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
71 rvf_delay(RVF_MS_TO_TICKS(5)); |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
72 bat_madc_voltage = ABB_Read_Register_on_page(PAGE0, VBATREG); |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
73 rvf_send_trace("battery voltage (MADC code) ", 28, bat_madc_voltage, RV_TRACE_LEVEL_DEBUG_LOW, PWR_USE_ID); |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
74 } |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
75 else /* The L1 asks for ADC conversions */ |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
76 { |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
77 #ifndef _WINDOWS |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
78 bat_madc_voltage = SPI_GBL_INFO_PTR->adc_result[0]; |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
79 #else |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
80 bat_madc_voltage = ABB_Read_Register_on_page(PAGE0, VBATREG); |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
81 #endif |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
82 } |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
83 |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
84 /* Find the remaining capacity in the battery corresponding to this new voltage */ |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
85 bat_voltage = pwr_adc_to_mvolt(bat_madc_voltage); |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
86 rvf_send_trace("battery voltage (mV) ", 21, bat_voltage, RV_TRACE_LEVEL_DEBUG_LOW, PWR_USE_ID); |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
87 current_capacity = pwr_get_capacity_vs_voltage(bat_voltage); |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
88 rvf_send_trace("current capacity (%) ", 21, current_capacity, RV_TRACE_LEVEL_DEBUG_LOW, PWR_USE_ID); |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
89 |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
90 status = ABB_Read_Status(); |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
91 |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
92 /* Determine if a threshold has been passed */ |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
93 if (current_capacity != remain_capacity) |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
94 { |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
95 /* a new threshold has been passed */ |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
96 remain_capacity = current_capacity; |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
97 |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
98 /* informs the upper layer */ |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
99 pwr_send_bat_discharge_event(remain_capacity); |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
100 |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
101 if (status & CHGPRES) /* charger plugged */ |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
102 { |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
103 if (remain_capacity == CHARGE_START_AGAIN_CAPACITY) |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
104 { |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
105 PWR_Charger_Plug(); |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
106 } |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
107 } |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
108 |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
109 else /* charger not plugged */ |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
110 { |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
111 if(remain_capacity <= pwr_env_ctrl_blk->power_alert.remain_capa_threshold) |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
112 { |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
113 /* informs the upper layer that the battery is low */ |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
114 pwr_send_low_bat_event(remain_capacity); |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
115 timer_value = SPI_TIMER3_INTERVAL_BIS; /* 10 s */ |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
116 } |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
117 else |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
118 { |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
119 #ifndef _WINDOWS |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
120 timer_value = SPI_TIMER3_INTERVAL; /* 1 minute */ |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
121 #else |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
122 timer_value = SPI_TIMER3_INTERVAL_BIS; /* 10 s */ |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
123 #endif |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
124 } |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
125 |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
126 /* Start timer with a value depending on the remaining capacity in the battery */ |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
127 rvf_start_timer (SPI_TIMER3, |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
128 RVF_MS_TO_TICKS (timer_value), |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
129 FALSE); |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
130 } |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
131 } |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
132 |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
133 else /* the capacity has not changed */ |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
134 { |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
135 #ifndef _WINDOWS |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
136 timer_value = SPI_TIMER3_INTERVAL; /* 1 minute */ |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
137 #else |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
138 timer_value = SPI_TIMER3_INTERVAL_BIS; /* 10 s */ |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
139 #endif |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
140 |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
141 /* Start timer with a value depending on the remaining capacity in the battery */ |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
142 rvf_start_timer (SPI_TIMER3, |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
143 RVF_MS_TO_TICKS (timer_value), |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
144 FALSE); |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
145 |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
146 } |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
147 } |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
148 |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
149 #endif /* #ifdef RVM_PWR_SWE */ |