FreeCalypso > hg > fc-magnetite
annotate src/cs/drivers/drv_app/pwr/pwr_disch.c @ 465:0f79101c6fa2
bmi2: show FreeCalypso fw version in ###520# screen
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Tue, 20 Mar 2018 06:08:06 +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 */ | 
