blob: f44c47578002686eb2a6c92baa243608f1f7aae0 [file] [log] [blame]
Daniel Krueger9d7164c2008-12-19 11:41:57 -08001/****************************************************************************
2
3 (c) SYSTEC electronic GmbH, D-07973 Greiz, August-Bebel-Str. 29
4 www.systec-electronic.com
5
6 Project: openPOWERLINK
7
8 Description: source file for kernel PDO Communication Abstraction Layer module
9
10 License:
11
12 Redistribution and use in source and binary forms, with or without
13 modification, are permitted provided that the following conditions
14 are met:
15
16 1. Redistributions of source code must retain the above copyright
17 notice, this list of conditions and the following disclaimer.
18
19 2. Redistributions in binary form must reproduce the above copyright
20 notice, this list of conditions and the following disclaimer in the
21 documentation and/or other materials provided with the distribution.
22
23 3. Neither the name of SYSTEC electronic GmbH nor the names of its
24 contributors may be used to endorse or promote products derived
25 from this software without prior written permission. For written
26 permission, please contact info@systec-electronic.com.
27
28 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
29 "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
30 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
31 FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
32 COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
33 INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
34 BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
35 LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
36 CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
37 LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
38 ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
39 POSSIBILITY OF SUCH DAMAGE.
40
41 Severability Clause:
42
43 If a provision of this License is or becomes illegal, invalid or
44 unenforceable in any jurisdiction, that shall not affect:
45 1. the validity or enforceability in that jurisdiction of any other
46 provision of this License; or
47 2. the validity or enforceability in other jurisdictions of that or
48 any other provision of this License.
49
50 -------------------------------------------------------------------------
51
52 $RCSfile: EplPdokCal.c,v $
53
54 $Author: D.Krueger $
55
56 $Revision: 1.6 $ $Date: 2008/10/17 15:32:32 $
57
58 $State: Exp $
59
60 Build Environment:
61 GCC V3.4
62
63 -------------------------------------------------------------------------
64
65 Revision History:
66
67 2006/06/27 d.k.: start of the implementation, version 1.00
68
69****************************************************************************/
70
71#include "kernel/EplPdokCal.h"
72
73#if (((EPL_MODULE_INTEGRATION) & (EPL_MODULE_PDOK)) != 0)
74
Daniel Krueger9d7164c2008-12-19 11:41:57 -080075/***************************************************************************/
76/* */
77/* */
78/* G L O B A L D E F I N I T I O N S */
79/* */
80/* */
81/***************************************************************************/
82
83//---------------------------------------------------------------------------
84// const defines
85//---------------------------------------------------------------------------
86
87//---------------------------------------------------------------------------
88// local types
89//---------------------------------------------------------------------------
90
91//---------------------------------------------------------------------------
92// modul globale vars
93//---------------------------------------------------------------------------
94
95//---------------------------------------------------------------------------
96// local function prototypes
97//---------------------------------------------------------------------------
98
Daniel Krueger9d7164c2008-12-19 11:41:57 -080099/***************************************************************************/
100/* */
101/* */
102/* C L A S S EplPdokCal */
103/* */
104/* */
105/***************************************************************************/
106//
107// Description:
108//
109//
110/***************************************************************************/
111
Daniel Krueger9d7164c2008-12-19 11:41:57 -0800112//=========================================================================//
113// //
114// P R I V A T E D E F I N I T I O N S //
115// //
116//=========================================================================//
117
118//---------------------------------------------------------------------------
119// const defines
120//---------------------------------------------------------------------------
121
122//---------------------------------------------------------------------------
123// local types
124//---------------------------------------------------------------------------
125
Greg Kroah-Hartman833dfbe2008-12-19 17:11:52 -0800126typedef struct {
127 BOOL m_fTpdosValid;
Daniel Krueger9d7164c2008-12-19 11:41:57 -0800128
129} tEplPdokCalInstance;
130
131//---------------------------------------------------------------------------
132// local vars
133//---------------------------------------------------------------------------
134
Greg Kroah-Hartman833dfbe2008-12-19 17:11:52 -0800135static tEplPdokCalInstance EplPdokCalInstance_g;
Daniel Krueger9d7164c2008-12-19 11:41:57 -0800136
137//---------------------------------------------------------------------------
138// local function prototypes
139//---------------------------------------------------------------------------
140
Daniel Krueger9d7164c2008-12-19 11:41:57 -0800141//=========================================================================//
142// //
143// P U B L I C F U N C T I O N S //
144// //
145//=========================================================================//
146
147//---------------------------------------------------------------------------
148//
149// Function: EplPdokCalAddInstance()
150//
151// Description: add and initialize new instance of EPL stack
152//
153// Parameters: none
154//
155// Returns: tEplKernel = error code
156//
157//
158// State:
159//
160//---------------------------------------------------------------------------
161
162tEplKernel EplPdokCalAddInstance(void)
163{
164
Greg Kroah-Hartman833dfbe2008-12-19 17:11:52 -0800165 EPL_MEMSET(&EplPdokCalInstance_g, 0, sizeof(EplPdokCalInstance_g));
Daniel Krueger9d7164c2008-12-19 11:41:57 -0800166
Greg Kroah-Hartman833dfbe2008-12-19 17:11:52 -0800167 return kEplSuccessful;
Daniel Krueger9d7164c2008-12-19 11:41:57 -0800168}
169
170//---------------------------------------------------------------------------
171//
172// Function: EplPdokCalDelInstance()
173//
174// Description: deletes an instance of EPL stack
175//
176// Parameters: none
177//
178// Returns: tEplKernel = error code
179//
180//
181// State:
182//
183//---------------------------------------------------------------------------
184
185tEplKernel EplPdokCalDelInstance(void)
186{
187
Greg Kroah-Hartman833dfbe2008-12-19 17:11:52 -0800188 return kEplSuccessful;
Daniel Krueger9d7164c2008-12-19 11:41:57 -0800189}
190
Daniel Krueger9d7164c2008-12-19 11:41:57 -0800191//---------------------------------------------------------------------------
192//
193// Function: EplPdokCalSetTpdosValid()
194//
195// Description: This function sets the validity flag for TPDOs to the
196// specified value.
197//
198// Parameters: fValid_p = validity flag
199//
200// Returns: tEplKernel = error code
201//
202//
203// State:
204//
205//---------------------------------------------------------------------------
206
207tEplKernel EplPdokCalSetTpdosValid(BOOL fValid_p)
208{
Greg Kroah-Hartman833dfbe2008-12-19 17:11:52 -0800209 tEplKernel Ret = kEplSuccessful;
Daniel Krueger9d7164c2008-12-19 11:41:57 -0800210
Greg Kroah-Hartman833dfbe2008-12-19 17:11:52 -0800211 EplPdokCalInstance_g.m_fTpdosValid = fValid_p;
Daniel Krueger9d7164c2008-12-19 11:41:57 -0800212
Greg Kroah-Hartman833dfbe2008-12-19 17:11:52 -0800213 return Ret;
Daniel Krueger9d7164c2008-12-19 11:41:57 -0800214}
215
216//---------------------------------------------------------------------------
217//
218// Function: EplPdokCalAreTpdosValid()
219//
220// Description: This function returns the validity flag for TPDOs.
221//
222// Parameters: pfValid_p = OUT: validity flag
223//
224// Returns: tEplKernel = error code
225//
226//
227// State:
228//
229//---------------------------------------------------------------------------
230
231tEplKernel EplPdokCalAreTpdosValid(BOOL * pfValid_p)
232{
Greg Kroah-Hartman833dfbe2008-12-19 17:11:52 -0800233 tEplKernel Ret = kEplSuccessful;
Daniel Krueger9d7164c2008-12-19 11:41:57 -0800234
Greg Kroah-Hartman833dfbe2008-12-19 17:11:52 -0800235 *pfValid_p = EplPdokCalInstance_g.m_fTpdosValid;
Daniel Krueger9d7164c2008-12-19 11:41:57 -0800236
Greg Kroah-Hartman833dfbe2008-12-19 17:11:52 -0800237 return Ret;
Daniel Krueger9d7164c2008-12-19 11:41:57 -0800238}
239
Daniel Krueger9d7164c2008-12-19 11:41:57 -0800240//=========================================================================//
241// //
242// P R I V A T E F U N C T I O N S //
243// //
244//=========================================================================//
245
246//---------------------------------------------------------------------------
247//
248// Function:
249//
250// Description:
251//
252//
253//
254// Parameters:
255//
256//
257// Returns:
258//
259//
260// State:
261//
262//---------------------------------------------------------------------------
263
264#endif
265
266// EOF