Adc_Common_MDD

Module -- Adc Core

High-Level Description

The Adc Common module provides “stateless” application context independent functions which provide functionality required by both the Adc and Adc2 modules. In order to operate in any given application, the function design must not write to any fixed static variable location, unless it is in Globally shared memory. All static variable writes outside of Globally shared memory must be performed via pointer access where the caller provides the pointer reference to allowed writable memory in the application context from with the caller is executing.

The motivation for creating core functions is to reduce duplication and testing of common code design.

Figures

Component Diagram

None


Variable Data Dictionary

For details on module input / output variable, refer to the Data Dictionary for the application. Input / output variable names are listed here for reference.

Module InputsModule Outputs
NoneNone

Module Internal Variables

This section identifies the name, range and resolutions for module specific data created by this module. If there are no range restrictions on the variable, the term “FULL” is placed into the table for legal range.

Variable NameResolution

Legal Range

(min)

Legal Range

(max)

Software Segment
None

User defined typedef definition/declaration

This section documents any user types uniquely used for the module.

Typedef NameElement NameUser Defined Type

Legal Range

(min)

Legal Range

(max)

None

Constant Data Dictionary

Calibration Constants

This section lists the calibrations used by the module. For details on calibration constants, refer to the Data Dictionary for the application.

Constant Name
None

Program(fixed) Constants

Embedded Constants

All embedded constants whose values are provided in Eng units will be evaluated to the equivalent counts by using the FPM_InitFixedPoint_m() macro within the #define statement.

Local

Constant NameResolutionUnitsValue
D_NUMOFADCCALREADS_CNT_U81Counts8

Global

This section lists the global constants used by the module. For details on global constants, refer to the Data Dictionary for the application.

Constant Name
D_FALSE_CNT_LGC
D_TRUE_CNT_LGC

Module specific Lookup Tables Constants

Constant NameResolutionValueSoftware Segment
None


Functions/Macros used by the Sub-Modules

Library Functions / Macros

The library and functions / Macros that are called by the various sub modules are identified below,

  1. None

Data Hiding Functions

  1. <None>

Global Functions/Macros Defined by this Module

Offset Calibration

Function NameADCOffsetCalibrationTypeMinMaxUTP Tol.
Arguments PassedadcREGadcctrlregs_t*FULLFULL
Return ValueStatus_Cnt_T_u08uint8FULLFULL

Perform the ADC Calibration and Storing of offset.

Calibration Offset

Local Functions/Macros Used by this MDD only

Software Module Implementation

Runtime Environment (RTE) Initial Values

None

Initialization Functions

None

Periodic Functions

None

Fault Recovery Functions

None

Shutdown Functions

None

Interrupt Functions

None

Serial Communication Functions

None

Transition Functions

None


Execution Requirements

Execution Sequence of the Module

No integration scheduling required. The only service offered by this module has a fixed scheduling within the Adc subsystem.

Execution Rates for sub-modules called by the Scheduler

This table serves as reference for the Scheduler design

Function NameCalling FrequencySystem State(s) in which the function is called
None

Execution Requirements for Serial Communication Functions

Function NameSub-Module called by (Serial Comm Function Name)
N/A


Memory Map Definition Requirements

Sub Modules (Functions)

This table identifies the software segments for functions identified in this module.

Name of Sub ModuleSoftware Segment
ADCOffsetCalibrationADC_START_SEC_CODE

Local Functions

This table identifies the software segments for local functions identified in this module.

Name of Sub ModuleSoftware Segment


Known Issues / Limitations With Design

  1. INLINE functions defined in “GlobalMacro.h” are not unit tested


Revision Control Log

Item #Rev #Change DescriptionDateAuthor Initials
11.0Initial version24Apr13Selva
Last modified October 12, 2025: Initial commit (0347a62)