FreeCalypso > hg > fc-magnetite
annotate src/cs/drivers/drv_app/pwr/pwr_process.c @ 640:16eb1b9640dc
target gtm900 renamed to gtm900mgc2
This change reflects the fact that the build target in question supports
MGC2GSMT hardware only, and will NOT work on other hw that confusing bears
the same end user name of GTM900, neither the LoCosto-based GTM900-C
nor the Calypso-based MG01GSMT that has a different and incompatible RFFE.
If we ever get our hands on a piece of MG01GSMT hw and add support for it,
that other target will be named gtm900mg01.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Fri, 31 Jan 2020 00:46:07 +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 /* Name pwr_process.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 /* Function this file contains the pwr_process function, used to */ |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 /* handle messages received in the SPI task mailbox. */ |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 /* */ |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 /* Version 0.1 */ |
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 /* Date Modification */ |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 /* ------------------------------------ */ |
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 /* Author Candice Bazanegue */ |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 /* */ |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 /* (C) Copyright 2000 by Texas Instruments Incorporated, All Rights Reserved */ |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 /*****************************************************************************/ |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
17 |
151
c93a236e0d50
PWR SWE compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
145
diff
changeset
|
18 #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
|
19 |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
20 #ifdef RVM_PWR_SWE |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21 |
151
c93a236e0d50
PWR SWE compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
145
diff
changeset
|
22 #include "abb/abb.h" |
c93a236e0d50
PWR SWE compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
145
diff
changeset
|
23 #include "rvm/rvm_use_id_list.h" |
c93a236e0d50
PWR SWE compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
145
diff
changeset
|
24 #include "rvf/rvf_api.h" |
c93a236e0d50
PWR SWE compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
145
diff
changeset
|
25 #include "pwr/pwr_messages_i.h" |
c93a236e0d50
PWR SWE compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
145
diff
changeset
|
26 #include "spi/spi_env.h" |
145
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 ** Function pwr_process |
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 ** Description It is called by the spi task core. |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
33 ** Messages can be related to ABB interrupt handling, or |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
34 ** battery charge management. |
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_process(T_RV_HDR * msg_ptr) |
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 void *ptr = NULL; |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
40 |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
41 if (msg_ptr != NULL) |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
42 { |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
43 switch (msg_ptr->msg_id) |
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 case PWR_SPI_INFO_BATTERY_EVT: |
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 /* Battery voltage and charger current */ |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
48 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
|
49 { |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
50 /* start the channels conversion */ |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
51 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
|
52 } |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
53 |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
54 /* Callback function */ |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
55 if(((T_RV_HDR *)msg_ptr)->callback_func != NULL) |
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 ((T_RV_HDR *)msg_ptr)->callback_func(ptr); |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
58 } |
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 rvf_free_buf ((void *) msg_ptr); |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
61 |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
62 break; |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
63 } |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
64 |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
65 default: |
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 /* Unknow message has been received */ |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
68 rvf_send_trace("PWR_task : Received an unknown message",38, NULL_PARAM , |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
69 RV_TRACE_LEVEL_DEBUG_HIGH, PWR_USE_ID); |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
70 |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
71 rvf_free_buf ((void *) msg_ptr); |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
72 |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
73 break; |
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 } // end of switch |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
76 } // end of if |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
77 return; |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
78 } |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
79 |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
80 #endif /* #ifdef RVM_PWR_SWE */ |
246f4a7dd92b
src/cs/drivers/drv_app/pwr: import from MV100 source
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
81 |
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 |