0
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 /*********************************************************************************
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2 *
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
3 * File Name: spi_api.c
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 *
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 * Bridge functions used to send events to the SPI task
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 *
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 * (C) Texas Instruments, all rights reserved
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 *
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 * Version number: 0.1 Date: 25-September-2000
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 *
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 * History: 0.1 - Created by Candice Bazanegue
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 *
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 * Author:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 *
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 *********************************************************************************/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
17 #include "rvf/rvf_api.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
18 #include "spi/spi_api.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
19 #include "spi/spi_env.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
20 #include "spi/spi_process.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21 #include "rvm/rvm_use_id_list.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
22
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25 /********************************************************************************/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26 /* */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27 /* Function Name: spi_abb_read */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
28 /* */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
29 /********************************************************************************/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
30 T_RV_RET spi_abb_read(UINT16 page, UINT16 address, CALLBACK_FUNC_U16 CallBack)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
31 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
32 T_SPI_READ *msgPtr;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
33
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
34 /* check if the driver has been started */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
35 if (SPI_GBL_INFO_PTR == NULL)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
36 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
37 rvf_send_trace("ABB read not possible. Reason: SPI task not started",51, NULL_PARAM,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
38 RV_TRACE_LEVEL_WARNING, SPI_USE_ID);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
39 return (RVM_NOT_READY);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
40 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
41
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
42 if(SPI_GBL_INFO_PTR->SpiTaskReady == FALSE)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
43 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
44 rvf_send_trace("ABB read not possible. Reason: SPI Task not ready",49, NULL_PARAM,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
45 RV_TRACE_LEVEL_WARNING, SPI_USE_ID);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
46 return (RVM_NOT_READY);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
47 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
48
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
49 rvf_send_trace("SPI_ABB_READ",12, NULL_PARAM,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
50 RV_TRACE_LEVEL_WARNING, SPI_USE_ID);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
51
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
52 if (rvf_get_buf (SPI_GBL_INFO_PTR->prim_id, sizeof (T_SPI_READ),(void **) &msgPtr) == RVF_RED)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
53 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
54 rvf_send_trace ("SPI ERROR: ABB read not possible. Reason: Not enough memory",
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
55 59,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
56 NULL_PARAM,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
57 RV_TRACE_LEVEL_ERROR,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
58 SPI_USE_ID);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
59
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
60 return (RV_MEMORY_ERR);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
61 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
62
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
63 (msgPtr->os_hdr).msg_id = SPI_ABB_READ_EVT;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
64 (msgPtr->os_hdr).dest_addr_id = SPI_GBL_INFO_PTR->addr_id;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
65 (msgPtr->os_hdr).callback_func = (CALLBACK_FUNC) CallBack;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
66 msgPtr->page = page;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
67 msgPtr->address = address;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
68
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
69 rvf_send_msg (SPI_GBL_INFO_PTR->addr_id,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
70 msgPtr);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
71
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
72 return (RV_OK);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
73 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
74
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
75
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
76
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
77
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
78 /********************************************************************************/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
79 /* */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
80 /* Function Name: spi_abb_write */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
81 /* */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
82 /********************************************************************************/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
83 T_RV_RET spi_abb_write(UINT16 page, UINT16 address, UINT16 data)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
84 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
85 T_SPI_WRITE *msgPtr;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
86
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
87 /* check if the driver has been started */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
88 if (SPI_GBL_INFO_PTR == NULL)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
89 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
90 rvf_send_trace("ABB write not possible. Reason: SPI task not started",52, NULL_PARAM,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
91 RV_TRACE_LEVEL_WARNING, SPI_USE_ID);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
92 return (RVM_NOT_READY);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
93 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
94
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
95 if(SPI_GBL_INFO_PTR->SpiTaskReady == FALSE)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
96 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
97 rvf_send_trace("ABB write not possible. Reason: SPI Task not ready",50, NULL_PARAM,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
98 RV_TRACE_LEVEL_WARNING, SPI_USE_ID);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
99 return (RVM_NOT_READY);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
100 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
101
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
102 if (rvf_get_buf (SPI_GBL_INFO_PTR->prim_id, sizeof (T_SPI_WRITE),(void **) &msgPtr) == RVF_RED)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
103 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
104 rvf_send_trace ("SPI ERROR: ABB write not possible. Reason: Not enough memory",
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
105 60,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
106 NULL_PARAM,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
107 RV_TRACE_LEVEL_ERROR,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
108 SPI_USE_ID);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
109
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
110 return (RV_MEMORY_ERR);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
111 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
112
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
113 (msgPtr->os_hdr).msg_id = SPI_ABB_WRITE_EVT;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
114 (msgPtr->os_hdr).dest_addr_id = SPI_GBL_INFO_PTR->addr_id;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
115 (msgPtr->os_hdr).callback_func = NULL;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
116 msgPtr->page = page;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
117 msgPtr->address = address;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
118 msgPtr->data = data;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
119
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
120 rvf_send_msg (SPI_GBL_INFO_PTR->addr_id, msgPtr);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
121
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
122 return (RV_OK);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
123 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
124
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
125
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
126
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
127
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
128 /********************************************************************************/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
129 /* */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
130 /* Function Name: spi_abb_conf_ADC */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
131 /* */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
132 /********************************************************************************/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
133 T_RV_RET spi_abb_conf_ADC(UINT16 channels, UINT16 itval)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
134 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
135 T_SPI_ABB_CONF_ADC *msgPtr;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
136
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
137 /* check if the driver has been started */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
138 if (SPI_GBL_INFO_PTR == NULL)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
139 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
140 rvf_send_trace("ABB conf ADC not possible. Reason: SPI task not started",55, NULL_PARAM,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
141 RV_TRACE_LEVEL_WARNING, SPI_USE_ID);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
142 return (RVM_NOT_READY);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
143 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
144
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
145 if(SPI_GBL_INFO_PTR->SpiTaskReady == FALSE)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
146 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
147 rvf_send_trace("ABB conf ADC not possible. Reason: SPI Task not ready",53, NULL_PARAM,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
148 RV_TRACE_LEVEL_WARNING, SPI_USE_ID);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
149 return (RVM_NOT_READY);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
150 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
151
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
152 rvf_send_trace("SPI_ABB_CONF_ADC",16, NULL_PARAM,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
153 RV_TRACE_LEVEL_WARNING, SPI_USE_ID);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
154
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
155 if (rvf_get_buf (SPI_GBL_INFO_PTR->prim_id, sizeof (T_SPI_ABB_CONF_ADC),(void **) &msgPtr) == RVF_RED)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
156 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
157 rvf_send_trace ("SPI ERROR: ABB conf ADC not possible. Reason: Not enough memory",
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
158 63,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
159 NULL_PARAM,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
160 RV_TRACE_LEVEL_ERROR,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
161 SPI_USE_ID);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
162
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
163 return (RV_MEMORY_ERR);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
164 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
165
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
166 (msgPtr->os_hdr).msg_id = SPI_ABB_CONF_ADC_EVT;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
167 (msgPtr->os_hdr).dest_addr_id = SPI_GBL_INFO_PTR->addr_id;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
168 (msgPtr->os_hdr).callback_func = NULL;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
169 msgPtr->channels = channels;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
170 msgPtr->itval = itval;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
171
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
172 rvf_send_msg (SPI_GBL_INFO_PTR->addr_id, msgPtr);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
173
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
174 return (RV_OK);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
175 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
176
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
177
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
178
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
179 /********************************************************************************/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
180 /* */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
181 /* Function Name: spi_abb_read_ADC */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
182 /* */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
183 /********************************************************************************/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
184 T_RV_RET spi_abb_read_ADC(UINT16 *Buff, CALLBACK_FUNC_NO_PARAM CallBack)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
185 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
186 T_SPI_ABB_READ_ADC *msgPtr;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
187
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
188 /* check if the driver has been started */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
189 if (SPI_GBL_INFO_PTR == NULL)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
190 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
191 rvf_send_trace("ABB read ADC not possible. Reason: SPI task not started",55, NULL_PARAM,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
192 RV_TRACE_LEVEL_WARNING, SPI_USE_ID);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
193 return (RVM_NOT_READY);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
194 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
195
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
196 if(SPI_GBL_INFO_PTR->SpiTaskReady == FALSE)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
197 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
198 rvf_send_trace("ABB conf ADC not possible. Reason: SPI Task not ready",53, NULL_PARAM,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
199 RV_TRACE_LEVEL_WARNING, SPI_USE_ID);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
200 return (RVM_NOT_READY);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
201 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
202
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
203 rvf_send_trace("SPI_ABB_READ_ADC",16, NULL_PARAM,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
204 RV_TRACE_LEVEL_WARNING, SPI_USE_ID);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
205
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
206 if (rvf_get_buf (SPI_GBL_INFO_PTR->prim_id, sizeof (T_SPI_ABB_READ_ADC),(void **) &msgPtr) == RVF_RED)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
207 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
208 rvf_send_trace ("SPI ERROR: ABB read ADC not possible. Reason: Not enough memory",
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
209 63,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
210 NULL_PARAM,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
211 RV_TRACE_LEVEL_ERROR,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
212 SPI_USE_ID);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
213
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
214 return (RV_MEMORY_ERR);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
215 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
216
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
217 (msgPtr->os_hdr).msg_id = SPI_ABB_READ_ADC_EVT;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
218 (msgPtr->os_hdr).dest_addr_id = SPI_GBL_INFO_PTR->addr_id;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
219 (msgPtr->os_hdr).callback_func = NULL;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
220 msgPtr->Buff = Buff;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
221 msgPtr->callback_func = CallBack;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
222
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
223 rvf_send_msg (SPI_GBL_INFO_PTR->addr_id, msgPtr);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
224
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
225 return (RV_OK);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
226 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
227
|