1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
/*
****************************************************************************
PROJECT : VLIB macro driver
FILE : $Id: r_csisw_api.h 7640 2016-02-12 13:14:23Z florian.zimmermann $
============================================================================
DESCRIPTION
Generic part of the macro driver - CSISW (software CSI)
============================================================================
C O P Y R I G H T
============================================================================
Copyright (c) 2014
by
Renesas Electronics (Europe) GmbH.
Arcadiastrasse 10
D-40472 Duesseldorf
Germany
All rights reserved.
============================================================================
Purpose: only for testing
DISCLAIMER
This software is supplied by Renesas Electronics Corporation and is only
intended for use with Renesas products. No other uses are authorized. This
software is owned by Renesas Electronics Corporation and is protected under
all applicable laws, including copyright laws.
THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING
THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT
LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.
TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS
ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE
FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR
ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE
BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
Renesas reserves the right, without notice, to make changes to this software
and to discontinue the availability of this software. By using this software,
you agree to the additional terms and conditions found by accessing the
following link:
http://www.renesas.com/disclaimer *
Copyright (C) 2011 Renesas Electronics Corporation. All rights reserved.
****************************************************************************
*/
#ifndef R_CSISW_API_H_
#define R_CSISW_API_H_
#ifdef __cplusplus
extern "C" {
#endif
/*******************************************************************************
Title: CSISW Driver API
An application using CSISW should only need to include this r_csisw_api.h
*/
/*******************************************************************************
Section: Global Constants
*/
/*******************************************************************************
Constant: R_CSISW_VERSION_HI and R_CSISW_VERSION_LO
Driver version information
*/
#define R_CSISW_VERSION_HI 0
#define R_CSISW_VERSION_LO 1
/*******************************************************************************
Section: Global Types
*/
/*******************************************************************************
Enum: r_csisw_Error_t
CSISW macro driver error code.
If an error occures these enums give information about the
reason.
Values:
R_CSISW_ERR_OK - No error
R_CSISW_ERR_NG - Unspecified error
*/
typedef enum
{
R_CSISW_ERR_OK = 0x0,
R_CSISW_ERR_NG ,
R_CSISW_ERR_RANGE ,
R_CSISW_ERR_LOCKED ,
R_CSISW_ERR_NOTLOCKED
} r_csisw_Error_t;
/*******************************************************************************
Enum: r_csisw_TxRxMode_t
Tx-only, Rx-only or Tx and Rx configuration
Values:
R_CSISW_TX_ONLY - Tx-only mode
R_CSISW_RX_ONLY - Rx-only mode
R_CSISW_TX_RX - Tx and Rx enabled mode
R_CSISW_TX_RX_OFF - Tx and Rx disabled (idle/init state)
*/
typedef enum {
R_CSISW_TX_ONLY,
R_CSISW_RX_ONLY,
R_CSISW_TX_RX,
R_CSISW_TX_RX_OFF
} r_csisw_TxRxMode_t;
/*******************************************************************************
Section: Global API Functions
*/
/*******************************************************************************
Function: R_CSISW_GetVersionStr
Get the driver version number in human readable form (string).
Parameters:
void
Returns:
ReceiveString - Pointer to receive string destination
*/
const int8_t * R_CSISW_GetVersionStr(void);
/*******************************************************************************
Function: R_CSISW_GetMajorVersion
Get the driver major version number.
Parameters:
void
Returns:
- Major version number
*/
const uint16_t R_CSISW_GetMajorVersion(void);
/*******************************************************************************
Function: R_CSISW_GetMinorVersion
Get the driver minor version number.
Parameters:
void
Returns:
- Minor version number
*/
const uint16_t R_CSISW_GetMinorVersion(void);
/*******************************************************************************
Function: R_CSISW_Init
Driver init function.
Parameters:
Unit - Macro instance number
Returns:
see: <r_csisw_Error_t>
*/
r_csisw_Error_t R_CSISW_Init(uint32_t Unit);
/*******************************************************************************
Function: R_CSISW_Enable
Driver enable function.
Parameters:
Unit - Macro instance number
Returns:
see: <r_csisw_Error_t>
*/
r_csisw_Error_t R_CSISW_Enable(uint32_t Unit, r_csisw_TxRxMode_t TxRxMode);
/*******************************************************************************
Function: R_CSISW_Read
Read one CSI value by software bitbanging.
Parameters:
Unit - Instance number
Buffer - Destination array for the Data to be read
MaxNum - Max number of data that can be read
Returns:
see: <r_csisw_Error_t>
*/
r_csisw_Error_t R_CSISW_Read(uint32_t Unit, void *Buffer, uint32_t MaxNum);
/*******************************************************************************
Function: R_CSISW_Write
Write one CSI value by software bitbanging.
Parameters:
Unit - Instance number
Buffer - Data to be copied
Num - Number of data
Returns:
see: <r_csisw_Error_t>
*/
r_csisw_Error_t R_CSISW_Write(uint32_t Unit, void *Buffer, uint32_t Num);
/*******************************************************************************
Function: R_CSISW_DeInit
Driver deinit function.
Parameters:
Unit - Macro Instance number
Returns:
see: <r_csisw_Error_t>
*/
r_csisw_Error_t R_CSISW_DeInit(uint32_t Unit);
#ifdef __cplusplus
}
#endif
#endif /* R_CSISW_API_H_ */