MCUSW
Adc.h
Go to the documentation of this file.
1 /*
2 *
3 * Copyright (c) 2019 Texas Instruments Incorporated
4 *
5 * All rights reserved not granted herein.
6 *
7 * Limited License.
8 *
9 * Texas Instruments Incorporated grants a world-wide, royalty-free, non-exclusive
10 * license under copyrights and patents it now or hereafter owns or controls to make,
11 * have made, use, import, offer to sell and sell ("Utilize") this software subject to the
12 * terms herein. With respect to the foregoing patent license, such license is granted
13 * solely to the extent that any such patent is necessary to Utilize the software alone.
14 * The patent license shall not apply to any combinations which include this software,
15 * other than combinations with devices manufactured by or for TI ("TI Devices").
16 * No hardware patent is licensed hereunder.
17 *
18 * Redistributions must preserve existing copyright notices and reproduce this license
19 * (including the above copyright notice and the disclaimer and (if applicable) source
20 * code license limitations below) in the documentation and/or other materials provided
21 * with the distribution
22 *
23 * Redistribution and use in binary form, without modification, are permitted provided
24 * that the following conditions are met:
25 *
26 * * No reverse engineering, decompilation, or disassembly of this software is
27 * permitted with respect to any software provided in binary form.
28 *
29 * * any redistribution and use are licensed by TI for use only with TI Devices.
30 *
31 * * Nothing shall obligate TI to provide you with source code for the software
32 * licensed and provided to you in object code.
33 *
34 * If software source code is provided to you, modification and redistribution of the
35 * source code are permitted provided that the following conditions are met:
36 *
37 * * any redistribution and use of the source code, including any resulting derivative
38 * works, are licensed by TI for use only with TI Devices.
39 *
40 * * any redistribution and use of any object code compiled from the source code
41 * and any resulting derivative works, are licensed by TI for use only with TI Devices.
42 *
43 * Neither the name of Texas Instruments Incorporated nor the names of its suppliers
44 *
45 * may be used to endorse or promote products derived from this software without
46 * specific prior written permission.
47 *
48 * DISCLAIMER.
49 *
50 * THIS SOFTWARE IS PROVIDED BY TI AND TI'S LICENSORS "AS IS" AND ANY EXPRESS
51 * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
52 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
53 * IN NO EVENT SHALL TI AND TI'S LICENSORS BE LIABLE FOR ANY DIRECT, INDIRECT,
54 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
55 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
56 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
57 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
58 * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
59 * OF THE POSSIBILITY OF SUCH DAMAGE.
60 *
61 */
62 
94 /*
95  * Below are the global requirements which are met by this ADC
96  * driver which can't be mapped to a particular source ID
97  */
98 /* Design : DES_ADC_001, DES_ADC_016 */
99 /*
100  * Requirements : MCAL-3172, MCAL-3185, MCAL-3206, MCAL-3207,
101  * MCAL-3228, MCAL-3417, MCAL-3430, MCAL-3471, MCAL-981
102  * MCAL-4473
103  */
104 
105 /*
106  * Below are the ADC's module environment requirements which can't be mapped
107  * to this driver
108  */
109 /*
110  * Requirements : MCAL-3186, MCAL-3208, MCAL-3209, MCAL-3272,
111  * MCAL-3273, MCAL-3281, MCAL-3289, MCAL-3372,
112  * MCAL-3381, MCAL-3419,
113  */
114 
115 #ifndef ADC_H_
116 #define ADC_H_
117 
118 /* ========================================================================== */
119 /* Include Files */
120 /* ========================================================================== */
121 
122 #include "Std_Types.h"
123 /* Design : DES_ADC_011 */
124 #include "Adc_Cfg.h"
125 #include "Adc_Irq.h"
126 
127 #ifdef __cplusplus
128 extern "C"
129 {
130 #endif
131 
132 /* ========================================================================== */
133 /* Macros & Typedefs */
134 /* ========================================================================== */
135 
143 #define ADC_SW_MAJOR_VERSION (1U)
144 
145 #define ADC_SW_MINOR_VERSION (3U)
146 
147 #define ADC_SW_PATCH_VERSION (2U)
148 /* @} */
149 
157 #define ADC_AR_RELEASE_MAJOR_VERSION (4U)
158 
159 #define ADC_AR_RELEASE_MINOR_VERSION (3U)
160 
161 #define ADC_AR_RELEASE_REVISION_VERSION (1U)
162 /* @} */
163 
169 #define ADC_VENDOR_ID ((uint16) 44U)
170 
171 #define ADC_MODULE_ID ((uint16) 123U)
172 
173 #define ADC_INSTANCE_ID ((uint8) 0U)
174 /* @} */
175 
181 #define ADC_UNIT_0 ((Adc_HWUnitType) 0U)
182 
183 #define ADC_UNIT_1 ((Adc_HWUnitType) 1U)
184 /* @} */
185 
190 #if defined (SOC_J721E)
191 #define ADC_HW_UNIT_CNT (2U)
192 #elif defined (SOC_J7200)
193 #define ADC_HW_UNIT_CNT (1U)
194 #endif
195 
200 #define ADC_DEF_CHANNEL_RESOLUTION (12U)
201 
212 #define ADC_NUM_CHANNEL (10U)
213 
214 #define ADC_MIN_CHANNEL_ID (0U)
215 
216 #define ADC_MAX_CHANNEL_ID (ADC_NUM_CHANNEL - 1U)
217 
223 #define ADC_NUM_HW_CHANNEL (10U)
224 
225 #define ADC_MIN_HW_CHANNEL_ID (0U)
226 
227 #define ADC_MAX_HW_CHANNEL_ID (ADC_NUM_HW_CHANNEL - 1U)
228 
230 #define ADC_MIN_OPEN_DELAY (0x00U)
231 
232 #define ADC_MAX_OPEN_DELAY (0x3FFFFU)
233 
234 #define ADC_MIN_SAMPLE_DELAY (0x00U)
235 
236 #define ADC_MAX_SAMPLE_DELAY (0xFFU)
237 
238 #define ADC_MIN_RANGE (0x00U)
239 
240 #define ADC_MAX_RANGE (0xFFFU)
241 
242 /* Design : DES_ADC_014 */
243 /* Requirements : MCAL-3464, MCAL-4478 */
244 
251 #ifndef ADC_E_UNINIT
252 
253 #define ADC_E_UNINIT ((uint8) 0x0AU)
254 #endif
255 #ifndef ADC_E_BUSY
256 
257 #define ADC_E_BUSY ((uint8) 0x0BU)
258 #endif
259 #ifndef ADC_E_IDLE
260 
261 #define ADC_E_IDLE ((uint8) 0x0CU)
262 #endif
263 #ifndef ADC_E_ALREADY_INITIALIZED
264 
268 #define ADC_E_ALREADY_INITIALIZED ((uint8) 0x0DU)
269 #endif
270 #ifndef ADC_E_PARAM_CONFIG
271 
272 #define ADC_E_PARAM_CONFIG ((uint8) 0x0EU)
273 #endif
274 #ifndef ADC_E_PARAM_POINTER
275 
276 #define ADC_E_PARAM_POINTER ((uint8) 0x14U)
277 #endif
278 #ifndef ADC_E_PARAM_GROUP
279 
280 #define ADC_E_PARAM_GROUP ((uint8) 0x15U)
281 #endif
282 #ifndef ADC_E_WRONG_CONV_MODE
283 
287 #define ADC_E_WRONG_CONV_MODE ((uint8) 0x16U)
288 #endif
289 #ifndef ADC_E_WRONG_TRIGG_SRC
290 
291 #define ADC_E_WRONG_TRIGG_SRC ((uint8) 0x17U)
292 #endif
293 #ifndef ADC_E_NOTIF_CAPABILITY
294 
298 #define ADC_E_NOTIF_CAPABILITY ((uint8) 0x18U)
299 #endif
300 #ifndef ADC_E_BUFFER_UNINIT
301 
302 #define ADC_E_BUFFER_UNINIT ((uint8) 0x19U)
303 #endif
304 #ifndef ADC_E_NOT_DISENGAGED
305 
306 #define ADC_E_NOT_DISENGAGED ((uint8) 0x1AU)
307 #endif
308 #ifndef ADC_E_POWER_STATE_NOT_SUPPORTED
309 
310 #define ADC_E_POWER_STATE_NOT_SUPPORTED ((uint8) 0x1BU)
311 #endif
312 #ifndef ADC_E_TRANSITION_NOT_POSSIBLE
313 
314 #define ADC_E_TRANSITION_NOT_POSSIBLE ((uint8) 0x1CU)
315 #endif
316 #ifndef ADC_E_PERIPHERAL_NOT_PREPARED
317 
318 #define ADC_E_PERIPHERAL_NOT_PREPARED ((uint8) 0x1DU)
319 #endif
320 /* @} */
321 
323 /* Design : DES_ADC_017 */
324 /* Requirements : MCAL-3230 */
325 typedef uint8 Adc_ChannelType;
326 
328 /* Design : DES_ADC_017 */
329 /* Requirements : MCAL-3231 */
330 typedef uint8 Adc_GroupType;
331 
339 /* Design : DES_ADC_017 */
340 /* Requirements : MCAL-3232, MCAL-3235 */
341 typedef uint32 Adc_ValueGroupType;
342 
344 /* Design : DES_ADC_017 */
345 /* Requirements : MCAL-3236 */
346 typedef uint32 Adc_PrescaleType;
347 
352 /* Design : DES_ADC_017 */
353 /* Requirements : MCAL-3237 */
354 typedef uint16 Adc_ConversionTimeType;
355 
360 /* Design : DES_ADC_017 */
361 /* Requirements : MCAL-3238 */
362 typedef uint16 Adc_SamplingTimeType;
363 
365 /* Requirements : MCAL-3239 */
366 typedef uint8 Adc_ResolutionType;
367 
369 /* Design : DES_ADC_017 */
370 /* Requirements : MCAL-3193, MCAL-3243 */
371 typedef uint8 Adc_GroupPriorityType;
372 
374 /* Design : DES_ADC_017 */
375 /* Requirements : MCAL-3244 */
376 typedef uint32 Adc_GroupDefType;
377 
382 /* Design : DES_ADC_017 */
383 /* Requirements : MCAL-3245 */
384 typedef uint16 Adc_StreamNumSampleType;
385 
387 /* Design : DES_ADC_017 */
388 /* Requirements : MCAL-3249 */
390 
395 typedef uint8 Adc_HWUnitType;
396 
405 #define ADC_SID_INIT ((uint8) 0x00U)
406 
407 #define ADC_SID_DEINIT ((uint8) 0x01U)
408 
409 #define ADC_SID_START_GROUP_CONVERSION ((uint8) 0x02U)
410 
411 #define ADC_SID_STOP_GROUP_CONVERSION ((uint8) 0x03U)
412 
413 #define ADC_SID_READ_GROUP ((uint8) 0x04U)
414 
415 #define ADC_SID_ENABLE_HARDWARE_TRIGGER ((uint8) 0x05U)
416 
417 #define ADC_SID_DISABLE_HARDWARE_TRIGGER ((uint8) 0x06U)
418 
419 #define ADC_SID_ENABLE_GROUP_NOTIFICATION ((uint8) 0x07U)
420 
421 #define ADC_SID_DISABLE_GROUP_NOTIFICATION ((uint8) 0x08U)
422 
423 #define ADC_SID_GET_GROUP_STATUS ((uint8) 0x09U)
424 
425 #define ADC_SID_GET_VERSION_INFO ((uint8) 0x0AU)
426 
427 #define ADC_SID_GET_STREAM_LAST_POINTER ((uint8) 0x0BU)
428 
429 #define ADC_SID_SETUP_RESULT_BUFFER ((uint8) 0x0CU)
430 
431 #define ADC_SID_SET_POWER_STATE ((uint8) 0x10U)
432 
433 #define ADC_SID_GET_CURRENT_POWER_STATE ((uint8) 0x11U)
434 
435 #define ADC_SID_GET_TARGET_POWER_STATE ((uint8) 0x12U)
436 
437 #define ADC_SID_PREPARE_POWER_STATE ((uint8) 0x13U)
438 
439 #define ADC_SID_MAIN_POWER_TRANSITION_MANAGER ((uint8) 0x14U)
440 
441 #define ADC_SID_IOHWAB_NOTIFICATION ((uint8) 0x20U)
442 
443 #define ADC_SID_IOHWAB_NOTIFY_READY_FOR_POWER_STATE ((uint8) 0x70U)
444 /* @} */
445 
446 /* ========================================================================== */
447 /* Structures and Enums */
448 /* ========================================================================== */
449 
456 typedef P2FUNC(void, ADC_APPL_CODE, Adc_GroupEndNotifyType)(void);
457 
461 /* Requirements : MCAL-3240 */
462 typedef enum
463 {
478 
482 /* Requirements : MCAL-3241 */
483 /* Design : DES_ADC_005, DES_ADC_006 */
484 typedef enum
485 {
492 
496 /* Requirements : MCAL-3242 */
497 /* Design : DES_ADC_003, DES_ADC_004 */
498 typedef enum
499 {
507 
511 /* Requirements : MCAL-3246 */
512 typedef enum
513 {
522 
526 /* Requirements : MCAL-3247 */
527 typedef enum
528 {
534 
541 /* Requirements : MCAL-3248 */
542 typedef enum
543 {
551 
555 /* Requirements : MCAL-3250 */
556 /* Design : DES_ADC_009 */
557 typedef enum
558 {
566 
571 /* Requirements : MCAL-3251 */
572 typedef enum
573 {
584 
592 /* Requirements : MCAL-3252 */
593 typedef enum
594 {
610 
615 /* Requirements : MCAL-3253 */
616 typedef enum
617 {
624 
628 /* Requirements : MCAL-3254 */
629 typedef enum
630 {
636 
640 /* Requirements : MCAL-3255 */
641 typedef enum
642 {
658 
663 typedef enum
664 {
676 
677 /* Design : DES_ADC_017 */
684 typedef struct
685 {
686  uint32 hwChannelId;
700  uint32 openDelay;
704  uint32 sampleDelay;
719 
723 /* Design : DES_ADC_018 */
724 /* Requirements : MCAL-3173, MCAL-3176, MCAL-3177, MCAL-3180,
725  * MCAL-3181, MCAL-3178, MCAL-3182, MCAL-3420,
726  * MCAL-3423, MCAL-3425, MCAL-3428, MCAL-3187,
727  * MCAL-3190,
728  */
729 typedef struct
730 {
767  uint32 highRange;
777  uint32 lowRange;
788  uint32 numChannels;
794 
798 typedef struct
799 {
803 
807 /* Design : DES_ADC_019 */
808 /* Requirements : MCAL-3229, MCAL-3429 */
809 typedef struct Adc_ConfigType_s
810 {
811  uint8 maxGroup;
814  uint8 maxHwUnit;
822 
823 #if (STD_ON == ADC_REGISTER_READBACK_API)
824 
828 typedef struct
829 {
830  /*
831  * ADC related registers
832  */
833  uint32 adcRev;
835  uint32 adcCtrl;
837  uint32 adcMisc;
841 #endif /* #if (STD_ON == ADC_REGISTER_READBACK_API) */
842 
843 /* @} */
844 
845 /* ========================================================================== */
846 /* Function Declarations */
847 /* ========================================================================== */
848 
867 FUNC(void, ADC_CODE) Adc_Init(
868  P2CONST(Adc_ConfigType, AUTOMATIC, ADC_PBCFG) CfgPtr);
869 
870 #if (STD_ON == ADC_DEINIT_API)
871 
890 FUNC(void, ADC_CODE) Adc_DeInit(void);
891 #endif /* #if (STD_ON == ADC_DEINIT_API) */
892 
923 FUNC(Std_ReturnType, ADC_CODE) Adc_SetupResultBuffer(
924  Adc_GroupType Group,
925  const Adc_ValueGroupType *DataBufferPtr);
926 
946 FUNC(Adc_StatusType, ADC_CODE) Adc_GetGroupStatus(Adc_GroupType Group);
947 
977 /* Design : DES_ADC_007 */
979  Adc_GroupType Group,
980  Adc_ValueGroupType **PtrToSamplePtr);
981 
982 #if (STD_ON == ADC_ENABLE_START_STOP_GROUP_API)
983 
1002 FUNC(void, ADC_CODE) Adc_StartGroupConversion(Adc_GroupType Group);
1003 
1022 FUNC(void, ADC_CODE) Adc_StopGroupConversion(Adc_GroupType Group);
1023 #endif /* #if (STD_ON == ADC_ENABLE_START_STOP_GROUP_API) */
1024 
1025 #if (STD_ON == ADC_READ_GROUP_API)
1026 
1058 /* Design : DES_ADC_008 */
1059 FUNC(Std_ReturnType, ADC_CODE) Adc_ReadGroup(
1060  Adc_GroupType Group,
1061  Adc_ValueGroupType *DataBufferPtr);
1062 #endif /* #if (STD_ON == ADC_READ_GROUP_API) */
1063 
1064 #if (STD_ON == ADC_GRP_NOTIF_CAPABILITY_API)
1065 
1084 FUNC(void, ADC_CODE) Adc_EnableGroupNotification(Adc_GroupType Group);
1085 
1105 FUNC(void, ADC_CODE) Adc_DisableGroupNotification(Adc_GroupType Group);
1106 #endif /* #if (STD_ON == ADC_GRP_NOTIF_CAPABILITY_API) */
1107 
1108 #if (STD_ON == ADC_VERSION_INFO_API)
1109 
1127 FUNC(void, ADC_CODE) Adc_GetVersionInfo(
1128  P2VAR(Std_VersionInfoType, AUTOMATIC, ADC_APPL_DATA) versioninfo);
1129 #endif /* #if (STD_ON == ADC_VERSION_INFO_API) */
1130 
1131 #if (STD_ON == ADC_REGISTER_READBACK_API)
1132 
1161 FUNC(Std_ReturnType, ADC_CODE) Adc_RegisterReadback(
1162  Adc_HWUnitType HWUnit,
1163  P2VAR(Adc_RegisterReadbackType, AUTOMATIC, ADC_APPL_DATA) RegRbPtr);
1164 #endif /* #if (STD_ON == ADC_REGISTER_READBACK_API) */
1165 
1166 #ifdef __cplusplus
1167 }
1168 #endif
1169 
1170 #endif /* #ifndef ADC_H_ */
1171 
1172 /* @} */
Definition: Adc.h:645
Definition: Adc.h:599
void Adc_StartGroupConversion(Adc_GroupType Group)
Starts the conversion of all channels of the requested ADC Channel group.
Definition: Adc.h:464
#define ADC_NUM_CHANNEL
Number of MCAL channels - in terms of ADC HW, this represents the number of hardware steps....
Definition: Adc.h:212
Adc_StreamBufferModeType
Type for configuring the streaming access mode buffer type.
Definition: Adc.h:512
This file contains ISR function declaration for ADC MCAL driver.
Definition: Adc.h:633
#define ADC_MAX_GROUP
Maximum group across all hwunit.
Definition: Adc_Cfg.h:161
Adc_HWUnitType hwUnitId
Definition: Adc.h:800
uint32 adcCtrl
Definition: Adc.h:835
Definition: Adc.h:561
Structure containing parameters for ADC MCAL channel configuration. In term of ADC hardware,...
Definition: Adc.h:684
Definition: Adc.h:514
Definition: Adc.h:548
ADC config structure.
Definition: Adc.h:809
void Adc_Init(const Adc_ConfigType *CfgPtr)
Service for ADC initialization.
Adc_AveragingMode
Enum to number of samplings to average. ADC allows user to program the number of samplings to average...
Definition: Adc.h:663
Adc_StreamBufferModeType streamBufMode
Definition: Adc.h:754
uint32 highRange
Definition: Adc.h:767
Adc_GroupReplacementType
Replacement mechanism, which is used on ADC group level, if a group conversion is interrupted by a gr...
Definition: Adc.h:572
This file contains generated pre compile configuration file for ADC MCAL driver.
uint8 Adc_ChannelType
Numeric ID of an ADC channel.
Definition: Adc.h:325
ADC Hardware unit configuration structure.
Definition: Adc.h:798
Adc_ResolutionType resolution
Definition: Adc.h:743
Std_ReturnType Adc_ReadGroup(Adc_GroupType Group, Adc_ValueGroupType *DataBufferPtr)
Reads the group conversion result of the last completed conversion round of the requested group and s...
Adc_StatusType
Current status of the conversion of the requested ADC Channel group.
Definition: Adc.h:462
Adc_GroupAccessModeType
Type for configuring the access mode to group conversion results.
Definition: Adc.h:527
Adc_GroupEndNotifyType Adc_GroupEndNotification
Definition: Adc.h:738
Definition: Adc.h:669
Definition: Adc.h:597
Adc_AveragingMode averagingMode
Definition: Adc.h:715
Adc_StatusType Adc_GetGroupStatus(Adc_GroupType Group)
Returns the conversion status of the requested ADC Channel group.
Definition: Adc.h:500
Definition: Adc.h:607
Adc_PowerStateType
Power state currently active or set as target power state.
Definition: Adc.h:629
#define ADC_MAX_HW_UNIT
Maximum HW unit - This should match the sum for the below units ISR which are ON.
Definition: Adc_Cfg.h:168
Definition: Adc.h:601
Adc_GroupPriorityType groupPriority
Definition: Adc.h:734
Adc_HwTriggerTimerType hwTrigTimer
Definition: Adc.h:759
Adc_GroupReplacementType groupReplacement
Definition: Adc.h:763
uint32 hwChannelId
Definition: Adc.h:686
void Adc_StopGroupConversion(Adc_GroupType Group)
Stops the conversion of the requested ADC Channel group.
Definition: Adc.h:574
void Adc_DisableGroupNotification(Adc_GroupType Group)
Disables the notification mechanism for the requested ADC Channel group.
uint32 adcMisc
Definition: Adc.h:837
Definition: Adc.h:605
uint32 rangeCheckEnable
Definition: Adc.h:708
ADC Group configuration structure.
Definition: Adc.h:729
Definition: Adc.h:467
uint32 openDelay
Definition: Adc.h:700
uint32 adcRev
Definition: Adc.h:833
Definition: Adc.h:544
Definition: Adc.h:546
uint8 Adc_HWUnitType
Specifies the identification (ID) for a ADC Hardware microcontroller peripheral (unit)
Definition: Adc.h:395
void(* Adc_GroupEndNotifyType)(void)
Typedef for group end notification function pointer.
Definition: Adc.h:456
Definition: Adc.h:529
void Adc_DeInit(void)
This service sets all ADC HW Units to a state comparable to their power on reset state.
Adc_HwTriggerSignalType hwTrigSignal
Definition: Adc.h:756
Definition: Adc.h:474
uint32 sampleDelay
Definition: Adc.h:704
Adc_ChannelRangeSelectType
In case of active limit checking: defines which conversion values are taken into account related to t...
Definition: Adc.h:593
ADC register readback structure.
Definition: Adc.h:828
Definition: Adc.h:531
uint8 maxGroup
Definition: Adc.h:811
Adc_StreamNumSampleType streamNumSamples
Definition: Adc.h:741
Definition: Adc.h:595
Definition: Adc.h:671
Definition: Adc.h:577
Definition: Adc.h:649
Adc_StreamNumSampleType Adc_GetStreamLastPointer(Adc_GroupType Group, Adc_ValueGroupType **PtrToSamplePtr)
Returns the number of valid samples per channel, stored in the result buffer.
uint16 Adc_SamplingTimeType
Type of sampling time, i.e. the time during which the value is sampled (in clockcycles).
Definition: Adc.h:362
Definition: Adc.h:665
Adc_ResultAlignmentType
Type for alignment of ADC raw results in ADC result buffer (left/right alignment).
Definition: Adc.h:616
uint8 maxHwUnit
Definition: Adc.h:814
uint32 Adc_ValueGroupType
Type for reading the converted values of a channel group (raw, without further scaling,...
Definition: Adc.h:341
Adc_PowerStateRequestResultType
Result of the requests related to power state transitions.
Definition: Adc.h:641
void Adc_GetVersionInfo(Std_VersionInfoType *versioninfo)
This service returns the version information of this module.
Definition: Adc.h:643
Adc_TriggerSourceType
Type for configuring the trigger source for an ADC Channel group.
Definition: Adc.h:484
uint8 Adc_GroupType
Numeric ID of an ADC channel group.
Definition: Adc.h:330
Adc_GroupType groupId
Definition: Adc.h:731
Adc_GroupAccessModeType accessMode
Definition: Adc.h:752
Definition: Adc.h:647
Adc_TriggerSourceType triggSrc
Definition: Adc.h:749
Adc_GroupConvModeType convMode
Definition: Adc.h:747
Definition: Adc.h:621
uint8 Adc_ResolutionType
Type of channel resolution in number of bits.
Definition: Adc.h:366
Definition: Adc.h:667
Definition: Adc.h:517
Adc_GroupConvModeType
Type for configuring the conversion mode of an ADC Channel group.
Definition: Adc.h:498
Std_ReturnType Adc_SetupResultBuffer(Adc_GroupType Group, const Adc_ValueGroupType *DataBufferPtr)
This service initializes ADC driver with the group specific result buffer start address where the con...
Definition: Adc.h:488
Definition: Adc.h:631
Definition: Adc.h:559
uint32 lowRange
Definition: Adc.h:777
uint8 Adc_HwTriggerTimerType
Type for the value of the ADC module embedded timer.
Definition: Adc.h:389
uint32 numChannels
Definition: Adc.h:788
Adc_PriorityImplementationType
Type for configuring the prioritization mechanism.
Definition: Adc.h:557
uint32 Adc_PrescaleType
Type of clock prescaler factor.
Definition: Adc.h:346
Definition: Adc.h:654
uint32 Adc_GroupDefType
Type of assignment of channels to a channel group.
Definition: Adc.h:376
void Adc_EnableGroupNotification(Adc_GroupType Group)
Enables the notification mechanism for the requested ADC Channel group.
Adc_HWUnitType hwUnitId
Definition: Adc.h:736
uint8 Adc_GroupPriorityType
Priority level of the channel. Lowest priority is 0.
Definition: Adc.h:371
Definition: Adc.h:486
Definition: Adc.h:673
Definition: Adc.h:470
Definition: Adc.h:652
Definition: Adc.h:503
uint16 Adc_StreamNumSampleType
Type for configuring the number of group conversions in streaming access mode (in single access mode,...
Definition: Adc.h:384
Definition: Adc.h:603
uint16 Adc_ConversionTimeType
Type of conversion time, i.e. the time during which the sampled analogue value is converted into digi...
Definition: Adc.h:354
Adc_HwTriggerSignalType
Type for configuring on which edge of the hardware trigger signal the driver should react,...
Definition: Adc.h:542
Definition: Adc.h:618
Std_ReturnType Adc_RegisterReadback(Adc_HWUnitType HWUnit, Adc_RegisterReadbackType *RegRbPtr)
This function reads the important registers of the hardware unit and returns the value in the structu...
Definition: Adc.h:563