HFCC-01 Low-Level Software (LLSW) Rel_6802_HFCC-01-RP-CSAR-CB
Loading...
Searching...
No Matches
rvdt.h File Reference
#include "commonDataTypes.h"
#include "driverStatus.h"
Include dependency graph for rvdt.h:
rvdt.h Node1 rvdt.h Node2 commonDataTypes.h Node1->Node2 Node3 driverStatus.h Node1->Node3
This graph shows which files directly or indirectly include this file:
rvdt.h Node1 rvdt.h Node2 modHsb.c Node1->Node2 Node3 modRvdt.c Node1->Node3 Node4 rvdt.c Node1->Node4

Go to the source code of this file.

Data Structures

struct  RvdtPbitStatus
 RVDT Sensor Interface Power-On Built-In Test (PBIT) Diagnostic Status Structure. More...
struct  RvdtCbitStatus
 RVDT Sensor Interface Continuous Built-In Test (CBIT) Diagnostic Status Structure. More...
struct  ExcWaveformTable
 RVDT AC Reference Excitation Waveform Lookup Table Structure. More...
struct  BPFData
 RVDT Demodulation Bandpass Filter (BPF) Parameters and Coefficients Structure. More...
struct  LPFFilterCoeffs
 RVDT Lowpass Filter (LPF) Transfer Function Coefficients Structure. More...
struct  BPFFilterCoeffs
 RVDT Bandpass Filter (BPF) Transfer Function Coefficients Structure. More...
struct  RvdtDevHandler
 RVDT Sensor Interface Peripheral Hardware Device Handler Structure. More...

Macros

#define RVDT_DEV_CH_MAX   (4U)

Enumerations

enum  RvdtBITState { RVDT_BIT_PASS = 0U , RVDT_BIT_FAIL = 1U }
 RVDT Sensor Interface Built-In Test (BIT) Pass/Fail Evaluation State. More...
enum  RefGain { GAIN_CTRL_1000 = 0x00U , GAIN_CTRL_1180 = 0x10U , GAIN_CTRL_1400 = 0x20U , GAIN_CTRL_1670 = 0x30U }
 RVDT AC Excitation Reference Signal Gain Control Attenuation Selection. More...
enum  WaveformMode { DIFFERENTIAL_WAVE = 0x00U , SINGLE_ENDED_WAVE = 0x80U }
 RVDT Excitation Waveform Generation Mode (Differential or Single-Ended). More...
enum  DacVcm { DACVCM_CTRL_820mV = 0U , DACVCM_CTRL_840mV , DACVCM_CTRL_860mV , DACVCM_CTRL_880mV }
 RVDT DAC Voltage Common-Mode (VCM) Bias Level Selection. More...
enum  DiffVocm { DIFFERENTIAL_AMPLIFIER_OUTPUT_COMMON_MODE_VOLTAGE_750mV , DIFFERENTIAL_AMPLIFIER_OUTPUT_COMMON_MODE_VOLTAGE_1000mV , DIFFERENTIAL_AMPLIFIER_OUTPUT_COMMON_MODE_VOLTAGE_1250mV , DIFFERENTIAL_AMPLIFIER_OUTPUT_COMMON_MODE_VOLTAGE_1500mV }
 RVDT Differential Output Common-Mode Voltage Configuration (750mV to 1500mV). More...
enum  S1Gain { S1_GAIN_1000mV = 0U , S1_GAIN_1330mV , S1_GAIN_1670mV , S1_GAIN_2000mV }
 RVDT Secondary Coil S1 Input Amplifier Reference Gain Setting. More...
enum  S2Gain { S2_GAIN_1000mV = 0U , S2_GAIN_1330mV , S2_GAIN_1670mV , S2_GAIN_2000mV }
 RVDT Secondary Coil S2 Input Amplifier Reference Gain Setting. More...
enum  S1WaveformMode { S1_DIFFERENTIAL = 0U , S1_SINGLE_ENDED = 64U }
 RVDT Secondary Coil S1 Waveform Configuration (Differential or Single-Ended). More...
enum  S2WaveformMode { S2_DIFFERENTIAL = 0U , S2_SINGLE_ENDED = 64U }
 RVDT Secondary Coil S2 Waveform Configuration (Differential or Single-Ended). More...
enum  VCMBias { VCM_BIAS_500mV = 0U , VCM_BIAS_625mV , VCM_BIAS_750mV , VCM_BIAS_825mV }
 RVDT Voltage Common-Mode Bias Setting (500mV to 825mV). More...
enum  DEMODOutputRate { OUTPUT_RATE_128US = 0U , OUTPUT_RATE_256US = 4U }
 RVDT Demodulator Output Tracking Loop Sampling Rate Selection (128us or 256us). More...

Functions

DriverStatus rvdt_getPbit (const RvdtDevHandler rvdtDevHdl, RvdtPbitStatus *pbitStatus)
 rvdt_getPbit.
DriverStatus rvdt_getCbit (const RvdtDevHandler rvdtDevHdl, RvdtCbitStatus *cbitStatus)
 rvdt_getCbit.
DriverStatus rvdt_getTemp (const RvdtDevHandler rvdtDevHdl, Float32 *temp)
 rvdt_getTemp.
DriverStatus rvdt_initDev (const RvdtDevHandler rvdtDevHdl)
 rvdt_initDev.
DriverStatus rvdt_getRefStatus (const RvdtDevHandler rvdtDevHdl, Bool *opStatus)
 rvdt_getRefStatus.
DriverStatus rvdt_setPowerEnable (const RvdtDevHandler rvdtDevHdl, const Bool enable)
 rvdt_setPowerEnable.
DriverStatus rvdt_setTestMux (const RvdtDevHandler rvdtDevHdl, const Bool enable)
 rvdt_setTestMux
DriverStatus rvdt_setRefWaveEnable (const RvdtDevHandler rvdtDevHdl, const Bool enable)
 rvdt_setRefWaveEnable.
DriverStatus rvdt_configWaveformGeneration (const RvdtDevHandler rvdtDevHdl, const UInt8 dacvcm, const UInt8 vocm, const UInt8 gain, const UInt8 mode, const Float32 voltageRms, const Float32 frequency)
 rvdt_configWaveformGeneration.
DriverStatus rvdt_getSenseStatus (const RvdtDevHandler rvdtDevHdl, Bool *opStatus)
 rvdt_getSenseStatus.
DriverStatus rvdt_setSenseEnable (const RvdtDevHandler rvdtDevHdl, const Bool enable)
 rvdt_setSenseEnable.
DriverStatus rvdt_setS1s2Config (const RvdtDevHandler rvdtDevHdl, const UInt8 vcmBias)
 rvdt_setS1s2Config.
DriverStatus rvdt_configSec1 (const RvdtDevHandler rvdtDevHdl, const UInt8 sense, const UInt8 gain, const UInt8 rate)
 rvdt_configSec1.
DriverStatus rvdt_configSec2 (const RvdtDevHandler rvdtDevHdl, const UInt8 sense, const UInt8 gain, const UInt8 rate)
 rvdt_configSec2.
DriverStatus rvdt_configLpfCoefficient (const RvdtDevHandler rvdtDevHdl, const UInt32 lpfFreq, const UInt32 lpfRate)
 rvdt_configLpfCoefficient.
DriverStatus rvdt_configBpfCoefficient (const RvdtDevHandler rvdtDevHdl, const UInt32 bpfFreq, const UInt32 bpfBandwidth)
 rvdt_configBpfCoefficient.
DriverStatus rvdt_setRefConfigCommand (const RvdtDevHandler rvdtDevHdl)
 rvdt_setRefConfigCommand.
DriverStatus rvdt_setSenseConfigCommand (const RvdtDevHandler rvdtDevHdl)
 rvdt_setSenseConfigCommand.
DriverStatus rvdt_setSenseFilterCommand (const RvdtDevHandler rvdtDevHdl)
 rvdt_setSenseFilterCommand
DriverStatus rvdt_getSensePosition (const RvdtDevHandler rvdtDevHdl, Float32 *demod1Ptr, Float32 *demod2Ptr, Float32 *deltaVal, UInt32 *adcVal1, UInt32 *adcVal2)
 rvdt_getSensePosition.

Detailed Description

Author
Ramza Anuar ramza.nosp@m..anu.nosp@m.ar@tu.nosp@m.sas..nosp@m.my

Rvdt device driver header file

Macro Definition Documentation

◆ RVDT_DEV_CH_MAX

#define RVDT_DEV_CH_MAX   (4U)

Enumeration Type Documentation

◆ DacVcm

enum DacVcm

RVDT DAC Voltage Common-Mode (VCM) Bias Level Selection.

Enumerator
DACVCM_CTRL_820mV 

DAC voltage common mode control 820mV.

DACVCM_CTRL_840mV 

DAC voltage common mode control 840mV.

DACVCM_CTRL_860mV 

DAC voltage common mode control 860mV.

DACVCM_CTRL_880mV 

DAC voltage common mode control 880mV.

◆ DEMODOutputRate

RVDT Demodulator Output Tracking Loop Sampling Rate Selection (128us or 256us).

Enumerator
OUTPUT_RATE_128US 

Demo output rate 128us.

OUTPUT_RATE_256US 

Demo output rate 256us.

◆ DiffVocm

enum DiffVocm

RVDT Differential Output Common-Mode Voltage Configuration (750mV to 1500mV).

Enumerator
DIFFERENTIAL_AMPLIFIER_OUTPUT_COMMON_MODE_VOLTAGE_750mV 

Differential amplifier output common mode voltage 750mV.

DIFFERENTIAL_AMPLIFIER_OUTPUT_COMMON_MODE_VOLTAGE_1000mV 

Differential amplifier output common mode voltage 1000mV.

DIFFERENTIAL_AMPLIFIER_OUTPUT_COMMON_MODE_VOLTAGE_1250mV 

Differential amplifier output common mode voltage 1250mV.

DIFFERENTIAL_AMPLIFIER_OUTPUT_COMMON_MODE_VOLTAGE_1500mV 

Differential amplifier output common mode voltage 1500mV.

◆ RefGain

enum RefGain

RVDT AC Excitation Reference Signal Gain Control Attenuation Selection.

Enumerator
GAIN_CTRL_1000 

Reference gain control 1000.

GAIN_CTRL_1180 

Reference gain control 1180.

GAIN_CTRL_1400 

Reference gain control 1400.

GAIN_CTRL_1670 

Reference gain control 1670.

Reference gain control 1670

◆ RvdtBITState

RVDT Sensor Interface Built-In Test (BIT) Pass/Fail Evaluation State.

Enumerator
RVDT_BIT_PASS 

RVDT BIT for ERROR condition is 0.

RVDT_BIT_FAIL 

RVDT BIT for NO ERROR condition is 1.

RVDT BIT for NO ERROR condition is 1.

◆ S1Gain

enum S1Gain

RVDT Secondary Coil S1 Input Amplifier Reference Gain Setting.

Enumerator
S1_GAIN_1000mV 

S1 Reference gain 1000mV.

S1_GAIN_1330mV 

S1 Reference gain 1330mV.

S1_GAIN_1670mV 

S1 Reference gain 1670mV.

S1_GAIN_2000mV 

S1 Reference gain 2000mV.

◆ S1WaveformMode

RVDT Secondary Coil S1 Waveform Configuration (Differential or Single-Ended).

Enumerator
S1_DIFFERENTIAL 

S1 Differential waveform mode.

S1_SINGLE_ENDED 

S1 Single-ended waveform mode.

S1 Single-ended waveform mode

◆ S2Gain

enum S2Gain

RVDT Secondary Coil S2 Input Amplifier Reference Gain Setting.

Enumerator
S2_GAIN_1000mV 

S2 Reference gain 1000mV.

S2_GAIN_1330mV 

S2 Reference gain 1330mV.

S2_GAIN_1670mV 

S2 Reference gain 1670mV.

S2_GAIN_2000mV 

S2 Reference gain 2000mV.

◆ S2WaveformMode

RVDT Secondary Coil S2 Waveform Configuration (Differential or Single-Ended).

Enumerator
S2_DIFFERENTIAL 

S2 Differential waveform mode.

S2_SINGLE_ENDED 

S2 Single-ended waveform mode.

S2 Single-ended waveform mode

◆ VCMBias

enum VCMBias

RVDT Voltage Common-Mode Bias Setting (500mV to 825mV).

Enumerator
VCM_BIAS_500mV 

Voltage common mode bias 500mV.

VCM_BIAS_625mV 

Voltage common mode bias 625mV.

VCM_BIAS_750mV 

Voltage common mode bias 750mV.

VCM_BIAS_825mV 

Voltage common mode bias 825mV.

◆ WaveformMode

RVDT Excitation Waveform Generation Mode (Differential or Single-Ended).

Enumerator
DIFFERENTIAL_WAVE 

Differential waveform mode.

SINGLE_ENDED_WAVE 

Single-ended waveform mode.

Single-ended waveform mode

Function Documentation

◆ rvdt_configBpfCoefficient()

DriverStatus rvdt_configBpfCoefficient ( const RvdtDevHandler rvdtDevHdl,
const UInt32 bpfFreq,
const UInt32 bpfBandwidth )

rvdt_configBpfCoefficient.

Configure band pass filter coefficient.

Parameters
[in]rvdtDevHdlThe RVDT device handler.
[in]bpfFreqBPF Center Frequency value in Hz
[in]bpfBandwidthBand pass filter bandwidth in Hz
Returns
DriverStatus - Driver status return code, If no error occurs during the operation of the function, it returns DRV_SUCCESS. Otherwise related error message is returned.
Return values
DRV_SUCCESS: Success.
DRV_WRITE_FAILED: Failed to write to the device or module.
DRV_INVALID_PARAM: The provided address pointer is invalid.

Low-Level Software Requirements (LLR)

Low-Level Requirement Specification: rvdt_configBpfCoefficient

Requirement ID Parent HLR ID Detailed Low-Level Requirement Statement (EARS Format) Software Unit Reference Verification Method Status
LLR_RVDT_RVDT_CONFIGBPFCOEFFICIENT_01 HLR_RVDT_18873 WHEN a driver operation reports a failure status other than DRV_SUCCESS, the rvdt_configBpfCoefficient() function SHALL abort processing and return that driver failure status. rvdt.c:rvdt_configBpfCoefficient() Test Closed
LLR_RVDT_RVDT_CONFIGBPFCOEFFICIENT_02 HLR_RVDT_18873 WHEN preconditions are satisfied, the rvdt_configBpfCoefficient() function SHALL invoke routine floor() to execute target subsystem hardware operation. rvdt.c:rvdt_configBpfCoefficient() Test Closed
LLR_RVDT_RVDT_CONFIGBPFCOEFFICIENT_03 HLR_RVDT_18873 WHEN preconditions are satisfied, the rvdt_configBpfCoefficient() function SHALL invoke routine configSec1BpfB1() to execute target subsystem hardware operation. rvdt.c:rvdt_configBpfCoefficient() Test Closed
LLR_RVDT_RVDT_CONFIGBPFCOEFFICIENT_04 HLR_RVDT_18873 WHEN preconditions are satisfied, the rvdt_configBpfCoefficient() function SHALL invoke routine configSec2BpfB1() to execute target subsystem hardware operation. rvdt.c:rvdt_configBpfCoefficient() Test Closed
LLR_RVDT_RVDT_CONFIGBPFCOEFFICIENT_05 HLR_RVDT_18873 WHEN preconditions are satisfied, the rvdt_configBpfCoefficient() function SHALL invoke routine configSec1BpfA2() to execute target subsystem hardware operation. rvdt.c:rvdt_configBpfCoefficient() Test Closed
LLR_RVDT_RVDT_CONFIGBPFCOEFFICIENT_06 HLR_RVDT_18873 WHEN preconditions are satisfied, the rvdt_configBpfCoefficient() function SHALL invoke routine configSec2BpfA2() to execute target subsystem hardware operation. rvdt.c:rvdt_configBpfCoefficient() Test Closed
LLR_RVDT_RVDT_CONFIGBPFCOEFFICIENT_07 HLR_RVDT_18873 WHEN all operational processing completes successfully, the rvdt_configBpfCoefficient() function SHALL return DRV_SUCCESS. rvdt.c:rvdt_configBpfCoefficient() Test Closed

Control Coupling Diagram (CCD)

ControlCouplingStructureChart Caller rvdt_configBpfCoefficient() [Low-Level Device Drivers] Target floor() [Low-Level Driver Helper] Caller:s->Target:n l_t0->l_b0   rvdtDevHdl (Flag) l_t1->l_b1   bpfFreq (Flag) l_t2->l_b2   bpfBandwidth (Flag) r_b0->r_t0   statusCode (DriverStatus)
Control Coupling Structure Chart

Data Coupling Diagram (DCD)

DataCouplingStructureChart Caller rvdt_configBpfCoefficient() [Low-Level Device Drivers] Target floor() [Low-Level Driver Helper] Caller:s->Target:n l_t0->l_b0   rvdtDevHdl (Payload) l_t1->l_b1   bpfFreq (Payload) l_t2->l_b2   bpfBandwidth (Payload) r_b0->r_t0   stateTelemetry (Internal State)
Data Coupling Structure Chart

Control Flow Diagram (CFD)

cfd_rvdt_configBpfCoefficient start Entry: rvdt_configBpfCoefficient() guard_1 LLR_01: Guard Check Is a driver operation reports a failure status other than DRV_SUCCESS? start->guard_1 err_exit_1 LLR_01 Error Exit abort processing and return `retStatus` guard_1->err_exit_1 YES (TRUE) act_2 LLR_02: Action Step invoke routine `floor()` to execute target subsystem hardware operation guard_1->act_2 NO (FALSE) act_3 LLR_03: Action Step invoke routine `configSec1BpfB1()` to execute target subsystem hardware operation act_2->act_3 act_4 LLR_04: Action Step invoke routine `configSec2BpfB1()` to execute target subsystem hardware operation act_3->act_4 act_5 LLR_05: Action Step invoke routine `configSec1BpfA2()` to execute target subsystem hardware operation act_4->act_5 act_6 LLR_06: Action Step invoke routine `configSec2BpfA2()` to execute target subsystem hardware operation act_5->act_6 success_exit LLR_07: Final Exit return `DRV_SUCCESS` act_6->success_exit
Control Flow Diagram

Data Flow Diagram (DFD)

dfd_rvdt_configBpfCoefficient in_store Input Data Sources & Parameters • rvdtDevHdl (const RvdtDevHandler) • bpfFreq (const UInt32) • bpfBandwidth (const UInt32) proc_1 LLR_01: Data Validation Check • Evaluate Parameter / State: retStatus in_store->proc_1 Validated Input Data proc_2 LLR_02: Data Payload Transformation • Process payload via floor() proc_1->proc_2 Data Payload (floor) proc_3 LLR_03: Data Payload Transformation • Process payload via configSec1BpfB1() proc_2->proc_3 Data Payload (configSec1BpfB1) proc_4 LLR_04: Data Payload Transformation • Process payload via configSec2BpfB1() proc_3->proc_4 Data Payload (configSec2BpfB1) proc_5 LLR_05: Data Payload Transformation • Process payload via configSec1BpfA2() proc_4->proc_5 Data Payload (configSec1BpfA2) proc_6 LLR_06: Data Payload Transformation • Process payload via configSec2BpfA2() proc_5->proc_6 Data Payload (configSec2BpfA2) proc_7 LLR_07: Status Output Packaging • Format Return Payload: DriverStatus proc_6->proc_7 Final Output Data out_sink Output Data Sinks & Status Return • Status Payload (DriverStatus) proc_7->out_sink Output Data & Status Code
Data Flow Diagram
Here is the call graph for this function:
rvdt_configBpfCoefficient Node1 rvdt_configBpfCoefficient Node1->Node1 Node2 configSec1BpfA2 Node1->Node2 Node7 configSec1BpfA3 Node1->Node7 Node8 configSec1BpfB1 Node1->Node8 Node9 configSec2BpfA2 Node1->Node9 Node10 configSec2BpfA3 Node1->Node10 Node11 configSec2BpfB1 Node1->Node11 Node2->Node2 Node3 writeRvdtReg Node2->Node3 Node3->Node3 Node4 interDrv_Write32 Node3->Node4 Node4->Node4 Node5 interDrv_isAddressValid Node4->Node5 Node6 memoryMap_Write32 Node4->Node6 Node5->Node5 Node6->Node6 Node7->Node3 Node7->Node7 Node8->Node3 Node8->Node8 Node9->Node3 Node9->Node9 Node10->Node3 Node10->Node10 Node11->Node3 Node11->Node11
Here is the caller graph for this function:
rvdt_configBpfCoefficient Node1 rvdt_configBpfCoefficient Node1->Node1 Node2 modRvdt_SetSenseFilter Node1->Node2 Node2->Node2

◆ rvdt_configLpfCoefficient()

DriverStatus rvdt_configLpfCoefficient ( const RvdtDevHandler rvdtDevHdl,
const UInt32 lpfFreq,
const UInt32 lpfRate )

rvdt_configLpfCoefficient.

Configure low pass filter coefficient.

Parameters
[in]rvdtDevHdlThe RVDT device handler.
[in]lpfFreqLow pass filter frequency (Hz).
[in]lpfRateLow pass filter rate (0 - 128us, 1 - 256us).
Returns
DriverStatus - Driver status return code, If no error occurs during the operation of the function, it returns DRV_SUCCESS. Otherwise related error message is returned.
Return values
DRV_SUCCESS: Success.
DRV_WRITE_FAILED: Failed to write to the device or module.
DRV_INVALID_PARAM: The provided address pointer is invalid.
DRV_INVALID_VALUE: The value is out of range.

Low-Level Software Requirements (LLR)

Low-Level Requirement Specification: rvdt_configLpfCoefficient

Requirement ID Parent HLR ID Detailed Low-Level Requirement Statement (EARS Format) Software Unit Reference Verification Method Status
LLR_RVDT_RVDT_CONFIGLPFCOEFFICIENT_01 HLR_RVDT_18874 WHEN a driver operation reports a failure status other than DRV_SUCCESS, the rvdt_configLpfCoefficient() function SHALL abort processing and return that driver failure status. rvdt.c:rvdt_configLpfCoefficient() Test Closed
LLR_RVDT_RVDT_CONFIGLPFCOEFFICIENT_02 HLR_RVDT_18874 WHEN preconditions are satisfied, the rvdt_configLpfCoefficient() function SHALL invoke routine with() to execute target subsystem hardware operation. rvdt.c:rvdt_configLpfCoefficient() Test Closed
LLR_RVDT_RVDT_CONFIGLPFCOEFFICIENT_03 HLR_RVDT_18874 WHEN preconditions are satisfied, the rvdt_configLpfCoefficient() function SHALL invoke routine customRound() to execute target subsystem hardware operation. rvdt.c:rvdt_configLpfCoefficient() Test Closed
LLR_RVDT_RVDT_CONFIGLPFCOEFFICIENT_04 HLR_RVDT_18874 WHEN preconditions are satisfied, the rvdt_configLpfCoefficient() function SHALL invoke routine configSec1Lpf() to execute target subsystem hardware operation. rvdt.c:rvdt_configLpfCoefficient() Test Closed
LLR_RVDT_RVDT_CONFIGLPFCOEFFICIENT_05 HLR_RVDT_18874 WHEN preconditions are satisfied, the rvdt_configLpfCoefficient() function SHALL invoke routine configSec2Lpf() to execute target subsystem hardware operation. rvdt.c:rvdt_configLpfCoefficient() Test Closed
LLR_RVDT_RVDT_CONFIGLPFCOEFFICIENT_06 HLR_RVDT_18874 WHEN all operational processing completes successfully, the rvdt_configLpfCoefficient() function SHALL return DRV_SUCCESS. rvdt.c:rvdt_configLpfCoefficient() Test Closed

Control Coupling Diagram (CCD)

ControlCouplingStructureChart Caller rvdt_configLpfCoefficient() [Low-Level Device Drivers] Target with() [Low-Level Driver Helper] Caller:s->Target:n l_t0->l_b0   rvdtDevHdl (Flag) l_t1->l_b1   lpfFreq (Flag) l_t2->l_b2   lpfRate (Flag) r_b0->r_t0   statusCode (DriverStatus)
Control Coupling Structure Chart

Data Coupling Diagram (DCD)

DataCouplingStructureChart Caller rvdt_configLpfCoefficient() [Low-Level Device Drivers] Target with() [Low-Level Driver Helper] Caller:s->Target:n l_t0->l_b0   rvdtDevHdl (Payload) l_t1->l_b1   lpfFreq (Payload) l_t2->l_b2   lpfRate (Payload) r_b0->r_t0   stateTelemetry (Internal State)
Data Coupling Structure Chart

Control Flow Diagram (CFD)

cfd_rvdt_configLpfCoefficient start Entry: rvdt_configLpfCoefficient() guard_1 LLR_01: Guard Check Is a driver operation reports a failure status other than DRV_SUCCESS? start->guard_1 err_exit_1 LLR_01 Error Exit abort processing and return `retStatus` guard_1->err_exit_1 YES (TRUE) act_2 LLR_02: Action Step invoke routine `with()` to execute target subsystem hardware operation guard_1->act_2 NO (FALSE) act_3 LLR_03: Action Step invoke routine `customRound()` to execute target subsystem hardware operation act_2->act_3 act_4 LLR_04: Action Step invoke routine `configSec1Lpf()` to execute target subsystem hardware operation act_3->act_4 act_5 LLR_05: Action Step invoke routine `configSec2Lpf()` to execute target subsystem hardware operation act_4->act_5 success_exit LLR_06: Final Exit return `DRV_SUCCESS` act_5->success_exit
Control Flow Diagram

Data Flow Diagram (DFD)

dfd_rvdt_configLpfCoefficient in_store Input Data Sources & Parameters • rvdtDevHdl (const RvdtDevHandler) • lpfFreq (const UInt32) • lpfRate (const UInt32) proc_1 LLR_01: Data Validation Check • Evaluate Parameter / State: retStatus in_store->proc_1 Validated Input Data proc_2 LLR_02: Data Payload Transformation • Process payload via with() proc_1->proc_2 Data Payload (with) proc_3 LLR_03: Data Payload Transformation • Process payload via customRound() proc_2->proc_3 Data Payload (customRound) proc_4 LLR_04: Data Payload Transformation • Process payload via configSec1Lpf() proc_3->proc_4 Data Payload (configSec1Lpf) proc_5 LLR_05: Data Payload Transformation • Process payload via configSec2Lpf() proc_4->proc_5 Data Payload (configSec2Lpf) proc_6 LLR_06: Status Output Packaging • Format Return Payload: DriverStatus proc_5->proc_6 Final Output Data out_sink Output Data Sinks & Status Return • Status Payload (DriverStatus) proc_6->out_sink Output Data & Status Code
Data Flow Diagram
Here is the call graph for this function:
rvdt_configLpfCoefficient Node1 rvdt_configLpfCoefficient Node1->Node1 Node2 butterworthLowPassFilter Node1->Node2 Node3 configSec1Lpf Node1->Node3 Node8 configSec2Lpf Node1->Node8 Node9 customRound Node1->Node9 Node2->Node2 Node3->Node3 Node4 writeRvdtReg Node3->Node4 Node4->Node4 Node5 interDrv_Write32 Node4->Node5 Node5->Node5 Node6 interDrv_isAddressValid Node5->Node6 Node7 memoryMap_Write32 Node5->Node7 Node6->Node6 Node7->Node7 Node8->Node4 Node8->Node8 Node9->Node9
Here is the caller graph for this function:
rvdt_configLpfCoefficient Node1 rvdt_configLpfCoefficient Node1->Node1 Node2 modRvdt_SetSenseFilter Node1->Node2 Node2->Node2

◆ rvdt_configSec1()

DriverStatus rvdt_configSec1 ( const RvdtDevHandler rvdtDevHdl,
const UInt8 sense,
const UInt8 gain,
const UInt8 rate )

rvdt_configSec1.

Configure secondary 1 coil.

Parameters
[in]rvdtDevHdlThe RVDT device handler.
[in]senseThe secondary 1 sense value (0 - 1).
[in]gainThe secondary 1 gain value (0 - 3).
[in]rateThe demod 1 sample output rate (0 - 1).
Returns
DriverStatus - Driver status return code, If no error occurs during the operation of the function, it returns DRV_SUCCESS. Otherwise related error message is returned.
Return values
DRV_SUCCESS: Success.
DRV_WRITE_FAILED: Failed to write to the device or module.
DRV_READ_FAILED: Failed to read from the device or module.
DRV_INVALID_VALUE: The sense, gain, or rate value exceed limit.
DRV_INVALID_PARAM: The provided address pointer is invalid.

Low-Level Software Requirements (LLR)

Low-Level Requirement Specification: rvdt_configSec1

Requirement ID Parent HLR ID Detailed Low-Level Requirement Statement (EARS Format) Software Unit Reference Verification Method Status
LLR_RVDT_RVDT_CONFIGSEC1_01 HLR_RVDT_18870 WHEN sense is greater than RVDT_MAX_CFG_SENSE or gain is greater than RVDT_MAX_CFG_GAIN or rate is greater than RVDT_MAX_CFG_RATE, the rvdt_configSec1() function SHALL abort processing and return DRV_INVALID_VALUE. rvdt.c:rvdt_configSec1() Test Closed
LLR_RVDT_RVDT_CONFIGSEC1_02 HLR_RVDT_18870 WHEN a driver operation reports a failure status other than DRV_SUCCESS, the rvdt_configSec1() function SHALL abort processing and return that driver failure status. rvdt.c:rvdt_configSec1() Test Closed
LLR_RVDT_RVDT_CONFIGSEC1_03 HLR_RVDT_18870 WHEN preconditions are satisfied, the rvdt_configSec1() function SHALL read the RVDT module device block members memory offset (RVDT_CFG_SEC1) at physical offset 0x0010 (MMAP_RVDT_CFG_SEC1) using readRvdtReg(). rvdt.c:rvdt_configSec1() Test Closed
LLR_RVDT_RVDT_CONFIGSEC1_04 HLR_RVDT_18870 WHEN preconditions are satisfied, the rvdt_configSec1() function SHALL write the RVDT module device block members memory offset (RVDT_CFG_SEC1) at physical offset 0x0010 (MMAP_RVDT_CFG_SEC1) using writeRvdtReg(). rvdt.c:rvdt_configSec1() Test Closed
LLR_RVDT_RVDT_CONFIGSEC1_05 HLR_RVDT_18870 WHEN all operational processing completes successfully, the rvdt_configSec1() function SHALL return DRV_SUCCESS. rvdt.c:rvdt_configSec1() Test Closed

Control Coupling Diagram (CCD)

ControlCouplingStructureChart Caller rvdt_configSec1() [Low-Level Device Drivers] Target readRvdtReg() [Low-Level Driver Helper] Caller:s->Target:n l_t0->l_b0   rvdtDevHdl (Flag) l_t1->l_b1   sense (Flag) l_t2->l_b2   gain (Flag) l_t3->l_b3   rate (Flag) r_b0->r_t0   statusCode (DriverStatus)
Control Coupling Structure Chart

Data Coupling Diagram (DCD)

DataCouplingStructureChart Caller rvdt_configSec1() [Low-Level Device Drivers] Target readRvdtReg() [Low-Level Driver Helper] Caller:s->Target:n l_t0->l_b0   rvdtDevHdl (Payload) l_t1->l_b1   sense (Payload) l_t2->l_b2   gain (Payload) l_t3->l_b3   rate (Payload) r_b0->r_t0   stateTelemetry (Internal State)
Data Coupling Structure Chart

Control Flow Diagram (CFD)

cfd_rvdt_configSec1 start Entry: rvdt_configSec1() guard_1 LLR_01: Guard Check Is `sense` is greater than `RVDT_MAX_CFG_SENSE` or `gain` is greater than `RVDT_MAX_CFG_GAIN` or `rate` is greater than `RVDT_MAX_CFG_RATE`? start->guard_1 err_exit_1 LLR_01 Error Exit abort processing and return `DRV_INVALID_VALUE` guard_1->err_exit_1 YES (TRUE) guard_2 LLR_02: Guard Check Is a driver operation reports a failure status other than DRV_SUCCESS? guard_1->guard_2 err_exit_2 LLR_02 Error Exit abort processing and return `retStatus` guard_2->err_exit_2 YES (TRUE) act_3 LLR_03: Action Step read the RVDT module device block members memory offset (RVDT_CFG_SEC1) at physical offset `0x0010` (`MMAP_RVDT_CFG_SEC1`) using `readRvdtReg()` guard_2->act_3 NO (FALSE) act_4 LLR_04: Action Step write the RVDT module device block members memory offset (RVDT_CFG_SEC1) at physical offset `0x0010` (`MMAP_RVDT_CFG_SEC1`) using `writeRvdtReg()` act_3->act_4 success_exit LLR_05: Final Exit return `DRV_SUCCESS` act_4->success_exit
Control Flow Diagram

Data Flow Diagram (DFD)

dfd_rvdt_configSec1 in_store Input Data Sources & Parameters • rvdtDevHdl (const RvdtDevHandler) • sense (const UInt8) • gain (const UInt8) • rate (const UInt8) proc_1 LLR_01: Data Validation Check • Evaluate Parameter / State: sense in_store->proc_1 Validated Input Data proc_2 LLR_02: Data Validation Check • Evaluate Parameter / State: retStatus proc_1->proc_2 Validated Input Data proc_3 LLR_03: Data Payload Transformation • Process payload via readRvdtReg() proc_2->proc_3 Data Payload (readRvdtReg) proc_4 LLR_04: Data Payload Transformation • Process payload via writeRvdtReg() proc_3->proc_4 Data Payload (writeRvdtReg) proc_5 LLR_05: Status Output Packaging • Format Return Payload: DriverStatus proc_4->proc_5 Final Output Data out_sink Output Data Sinks & Status Return • Status Payload (DriverStatus) proc_5->out_sink Output Data & Status Code
Data Flow Diagram
Here is the call graph for this function:
rvdt_configSec1 Node1 rvdt_configSec1 Node1->Node1 Node2 readRvdtReg Node1->Node2 Node6 writeRvdtReg Node1->Node6 Node2->Node2 Node3 interDrv_Read32 Node2->Node3 Node3->Node3 Node4 interDrv_isAddressValid Node3->Node4 Node5 memoryMap_Read32 Node3->Node5 Node4->Node4 Node5->Node5 Node6->Node6 Node7 interDrv_Write32 Node6->Node7 Node7->Node4 Node7->Node7 Node8 memoryMap_Write32 Node7->Node8 Node8->Node8
Here is the caller graph for this function:
rvdt_configSec1 Node1 rvdt_configSec1 Node1->Node1 Node2 modRvdt_SetSenseConfig Node1->Node2 Node2->Node2

◆ rvdt_configSec2()

DriverStatus rvdt_configSec2 ( const RvdtDevHandler rvdtDevHdl,
const UInt8 sense,
const UInt8 gain,
const UInt8 rate )

rvdt_configSec2.

Configure secondary 2 coil.

Parameters
[in]rvdtDevHdlThe RVDT device handler.
[in]senseThe secondary 2 sense value (0 - 1).
[in]gainThe secondary 2 gain value (0 - 3).
[in]rateThe demod 2 sample output rate (0 - 1).
Returns
DriverStatus - Driver status return code, If no error occurs during the operation of the function, it returns DRV_SUCCESS. Otherwise related error message is returned.
Return values
DRV_SUCCESS: Success.
DRV_WRITE_FAILED: Failed to write to the device or module.
DRV_READ_FAILED: Failed to read from the device or module.
DRV_INVALID_VALUE: The sense, gain, or rate value exceed limit.
DRV_INVALID_PARAM: The provided address pointer is invalid.

Low-Level Software Requirements (LLR)

Low-Level Requirement Specification: rvdt_configSec2

Requirement ID Parent HLR ID Detailed Low-Level Requirement Statement (EARS Format) Software Unit Reference Verification Method Status
LLR_RVDT_RVDT_CONFIGSEC2_01 HLR_RVDT_18870 WHEN sense is greater than RVDT_MAX_CFG_SENSE or gain is greater than RVDT_MAX_CFG_GAIN or rate is greater than RVDT_MAX_CFG_RATE, the rvdt_configSec2() function SHALL abort processing and return DRV_INVALID_VALUE. rvdt.c:rvdt_configSec2() Test Closed
LLR_RVDT_RVDT_CONFIGSEC2_02 HLR_RVDT_18870 WHEN a driver operation reports a failure status other than DRV_SUCCESS, the rvdt_configSec2() function SHALL abort processing and return that driver failure status. rvdt.c:rvdt_configSec2() Test Closed
LLR_RVDT_RVDT_CONFIGSEC2_03 HLR_RVDT_18870 WHEN preconditions are satisfied, the rvdt_configSec2() function SHALL read the RVDT module device block members memory offset (RVDT_CFG_SEC2) at physical offset 0x0014 (MMAP_RVDT_CFG_SEC2) using readRvdtReg(). rvdt.c:rvdt_configSec2() Test Closed
LLR_RVDT_RVDT_CONFIGSEC2_04 HLR_RVDT_18870 WHEN preconditions are satisfied, the rvdt_configSec2() function SHALL write the RVDT module device block members memory offset (RVDT_CFG_SEC2) at physical offset 0x0014 (MMAP_RVDT_CFG_SEC2) using writeRvdtReg(). rvdt.c:rvdt_configSec2() Test Closed
LLR_RVDT_RVDT_CONFIGSEC2_05 HLR_RVDT_18870 WHEN all operational processing completes successfully, the rvdt_configSec2() function SHALL return DRV_SUCCESS. rvdt.c:rvdt_configSec2() Test Closed

Control Coupling Diagram (CCD)

ControlCouplingStructureChart Caller rvdt_configSec2() [Low-Level Device Drivers] Target readRvdtReg() [Low-Level Driver Helper] Caller:s->Target:n l_t0->l_b0   rvdtDevHdl (Flag) l_t1->l_b1   sense (Flag) l_t2->l_b2   gain (Flag) l_t3->l_b3   rate (Flag) r_b0->r_t0   statusCode (DriverStatus)
Control Coupling Structure Chart

Data Coupling Diagram (DCD)

DataCouplingStructureChart Caller rvdt_configSec2() [Low-Level Device Drivers] Target readRvdtReg() [Low-Level Driver Helper] Caller:s->Target:n l_t0->l_b0   rvdtDevHdl (Payload) l_t1->l_b1   sense (Payload) l_t2->l_b2   gain (Payload) l_t3->l_b3   rate (Payload) r_b0->r_t0   stateTelemetry (Internal State)
Data Coupling Structure Chart

Control Flow Diagram (CFD)

cfd_rvdt_configSec2 start Entry: rvdt_configSec2() guard_1 LLR_01: Guard Check Is `sense` is greater than `RVDT_MAX_CFG_SENSE` or `gain` is greater than `RVDT_MAX_CFG_GAIN` or `rate` is greater than `RVDT_MAX_CFG_RATE`? start->guard_1 err_exit_1 LLR_01 Error Exit abort processing and return `DRV_INVALID_VALUE` guard_1->err_exit_1 YES (TRUE) guard_2 LLR_02: Guard Check Is a driver operation reports a failure status other than DRV_SUCCESS? guard_1->guard_2 err_exit_2 LLR_02 Error Exit abort processing and return `retStatus` guard_2->err_exit_2 YES (TRUE) act_3 LLR_03: Action Step read the RVDT module device block members memory offset (RVDT_CFG_SEC2) at physical offset `0x0014` (`MMAP_RVDT_CFG_SEC2`) using `readRvdtReg()` guard_2->act_3 NO (FALSE) act_4 LLR_04: Action Step write the RVDT module device block members memory offset (RVDT_CFG_SEC2) at physical offset `0x0014` (`MMAP_RVDT_CFG_SEC2`) using `writeRvdtReg()` act_3->act_4 success_exit LLR_05: Final Exit return `DRV_SUCCESS` act_4->success_exit
Control Flow Diagram

Data Flow Diagram (DFD)

dfd_rvdt_configSec2 in_store Input Data Sources & Parameters • rvdtDevHdl (const RvdtDevHandler) • sense (const UInt8) • gain (const UInt8) • rate (const UInt8) proc_1 LLR_01: Data Validation Check • Evaluate Parameter / State: sense in_store->proc_1 Validated Input Data proc_2 LLR_02: Data Validation Check • Evaluate Parameter / State: retStatus proc_1->proc_2 Validated Input Data proc_3 LLR_03: Data Payload Transformation • Process payload via readRvdtReg() proc_2->proc_3 Data Payload (readRvdtReg) proc_4 LLR_04: Data Payload Transformation • Process payload via writeRvdtReg() proc_3->proc_4 Data Payload (writeRvdtReg) proc_5 LLR_05: Status Output Packaging • Format Return Payload: DriverStatus proc_4->proc_5 Final Output Data out_sink Output Data Sinks & Status Return • Status Payload (DriverStatus) proc_5->out_sink Output Data & Status Code
Data Flow Diagram
Here is the call graph for this function:
rvdt_configSec2 Node1 rvdt_configSec2 Node1->Node1 Node2 readRvdtReg Node1->Node2 Node6 writeRvdtReg Node1->Node6 Node2->Node2 Node3 interDrv_Read32 Node2->Node3 Node3->Node3 Node4 interDrv_isAddressValid Node3->Node4 Node5 memoryMap_Read32 Node3->Node5 Node4->Node4 Node5->Node5 Node6->Node6 Node7 interDrv_Write32 Node6->Node7 Node7->Node4 Node7->Node7 Node8 memoryMap_Write32 Node7->Node8 Node8->Node8
Here is the caller graph for this function:
rvdt_configSec2 Node1 rvdt_configSec2 Node1->Node1 Node2 modRvdt_SetSenseConfig Node1->Node2 Node2->Node2

◆ rvdt_configWaveformGeneration()

DriverStatus rvdt_configWaveformGeneration ( const RvdtDevHandler rvdtDevHdl,
const UInt8 dacvcm,
const UInt8 vocm,
const UInt8 gain,
const UInt8 mode,
const Float32 voltageRms,
const Float32 frequency )

rvdt_configWaveformGeneration.

Configure waveform generation.

Parameters
[in]rvdtDevHdlThe RVDT device handler.
[in]dacvcmDifferential offset adjustment value.
[in]vocmDifferential mode output common mode.
[in]gainReference gain.
[in]modeSingle-ended mode or differential mode.
[in]voltageRmsOperating vrms value.
[in]frequencyOperating frequency value (Hz).
Returns
DriverStatus - Driver status return code, If no error occurs during the operation of the function, it returns DRV_SUCCESS. Otherwise related error message is returned.
Return values
DRV_SUCCESS: Success.
DRV_WRITE_FAILED: Failed to write to the device or module.
DRV_INVALID_SIZE: The size of the waveform table is invalid.
DRV_INVALID_PARAM: The provided address pointer is invalid.
DRV_INVALID_VALUE: The input value is invalid.

Low-Level Software Requirements (LLR)

Low-Level Requirement Specification: rvdt_configWaveformGeneration

Requirement ID Parent HLR ID Detailed Low-Level Requirement Statement (EARS Format) Software Unit Reference Verification Method Status
LLR_RVDT_RVDT_CONFIGWAVEFORMGENERATION_01 HLR_RVDT_18870 WHEN any waveform configuration argument exceeds maximum hardware limits (gain > RVDT_MAX_WAVE_GAIN, dacvcm > RVDT_MAX_DACVCM, vocm > RVDT_MAX_VOCM, or mode > RVDT_MAX_WAVE_MODE), the rvdt_configWaveformGeneration() function SHALL abort processing and return DRV_INVALID_VALUE. rvdt.c:rvdt_configWaveformGeneration() Test Closed
LLR_RVDT_RVDT_CONFIGWAVEFORMGENERATION_02 HLR_RVDT_18870 WHEN mode is equal to 0, the rvdt_configWaveformGeneration() function SHALL clear bit 7 (mode select) in the excitation waveform configuration data. rvdt.c:rvdt_configWaveformGeneration() Test Closed
LLR_RVDT_RVDT_CONFIGWAVEFORMGENERATION_03 HLR_RVDT_18870 WHEN mode is not equal to 0, the rvdt_configWaveformGeneration() function SHALL set bit 7 (mode select) in the excitation waveform configuration data. rvdt.c:rvdt_configWaveformGeneration() Test Closed
LLR_RVDT_RVDT_CONFIGWAVEFORMGENERATION_04 HLR_RVDT_18870 WHEN parameter validation passes, the rvdt_configWaveformGeneration() function SHALL calculate lookup table amplitude and write the excitation waveform pattern to FPGA memory map using writeRvdtReg(). rvdt.c:rvdt_configWaveformGeneration() Test Closed
LLR_RVDT_RVDT_CONFIGWAVEFORMGENERATION_05 HLR_RVDT_18870 WHEN any hardware register write operation fails (status not equal to DRV_SUCCESS), the rvdt_configWaveformGeneration() function SHALL abort processing and return that driver failure status. rvdt.c:rvdt_configWaveformGeneration() Test Closed
LLR_RVDT_RVDT_CONFIGWAVEFORMGENERATION_06 HLR_RVDT_18870 WHEN all operational processing completes successfully, the rvdt_configWaveformGeneration() function SHALL return DRV_SUCCESS. rvdt.c:rvdt_configWaveformGeneration() Test Closed

Control Coupling Diagram (CCD)

ControlCouplingStructureChart Caller rvdt_configWaveformGeneration() [Low-Level Device Drivers] Target calculateWaveformTableSize() [Low-Level Driver Helper] Caller:s->Target:n l_t0->l_b0   rvdtDevHdl (Flag) l_t1->l_b1   dacvcm (Flag) l_t2->l_b2   vocm (Flag) l_t3->l_b3   gain (Flag) l_t4->l_b4   mode (Flag) l_t5->l_b5   voltageRms (Flag) l_t6->l_b6   frequency (Flag) r_b0->r_t0   statusCode (DriverStatus)
Control Coupling Structure Chart

Data Coupling Diagram (DCD)

DataCouplingStructureChart Caller rvdt_configWaveformGeneration() [Low-Level Device Drivers] Target calculateWaveformTableSize() [Low-Level Driver Helper] Caller:s->Target:n l_t0->l_b0   rvdtDevHdl (Payload) l_t1->l_b1   dacvcm (Payload) l_t2->l_b2   vocm (Payload) l_t3->l_b3   gain (Payload) l_t4->l_b4   mode (Payload) l_t5->l_b5   voltageRms (Payload) l_t6->l_b6   frequency (Payload) r_b0->r_t0   stateTelemetry (Internal State)
Data Coupling Structure Chart

Control Flow Diagram (CFD)

cfd_rvdt_configWaveformGeneration start Entry: rvdt_configWaveformGeneration() guard_1 LLR_01: Guard Check Is `gain` is greater than `RVDT_MAX_WAVE_GAIN` or `dacvcm` is greater than `RVDT_MAX_DACVCM` or `vocm` is greater than `RVDT_MAX_VOCM` or `mode` is greater than `RVDT_MAX_WAVE_MODE`? start->guard_1 err_exit_1 LLR_01 Error Exit abort processing and return `DRV_INVALID_VALUE` guard_1->err_exit_1 YES (TRUE) guard_2 LLR_02: Guard Check Is `mode` is equal to `0`? guard_1->guard_2 err_exit_2 LLR_02 Error Exit execute conditional operational branch guard_2->err_exit_2 YES (TRUE) guard_3 LLR_03: Guard Check Is a driver operation reports a failure status other than DRV_SUCCESS? guard_2->guard_3 err_exit_3 LLR_03 Error Exit abort processing and return `retStatus` guard_3->err_exit_3 YES (TRUE) guard_4 LLR_04: Guard Check Is `wfmTable.size` is greater than `UINT8_MAX`? guard_3->guard_4 err_exit_4 LLR_04 Error Exit abort processing and return `DRV_INVALID_SIZE` guard_4->err_exit_4 YES (TRUE) act_5 LLR_05: Action Step invoke routine `calculateWaveformTableSize()` to execute target subsystem hardware operation guard_4->act_5 NO (FALSE) act_6 LLR_06: Action Step invoke routine `calculateWaveformTableValue()` to execute target subsystem hardware operation act_5->act_6 act_7 LLR_07: Action Step write the RVDT module device block members memory offset (RVDT_CFG_WAVE_GEN) at physical offset `0x0008` (`MMAP_RVDT_CFG_WAVE_GEN`) using `writeRvdtReg()` act_6->act_7 success_exit LLR_08: Final Exit return `DRV_SUCCESS` act_7->success_exit
Control Flow Diagram

Data Flow Diagram (DFD)

dfd_rvdt_configWaveformGeneration in_store Input Data Sources & Parameters • rvdtDevHdl (const RvdtDevHandler) • dacvcm (const UInt8) • vocm (const UInt8) • gain (const UInt8) proc_1 LLR_01: Data Validation Check • Evaluate Parameter / State: gain in_store->proc_1 Validated Input Data proc_2 LLR_02: Data Validation Check • Evaluate Parameter / State: mode proc_1->proc_2 Validated Input Data proc_3 LLR_03: Data Validation Check • Evaluate Parameter / State: retStatus proc_2->proc_3 Validated Input Data proc_4 LLR_04: Data Validation Check • Evaluate Parameter / State: wfmTable proc_3->proc_4 Validated Input Data proc_5 LLR_05: Data Payload Transformation • Process payload via calculateWaveformTableSize() proc_4->proc_5 Data Payload (calculateWaveformTableSize) proc_6 LLR_06: Data Payload Transformation • Process payload via calculateWaveformTableValue() proc_5->proc_6 Data Payload (calculateWaveformTableValue) proc_7 LLR_07: Data Payload Transformation • Process payload via writeRvdtReg() proc_6->proc_7 Data Payload (writeRvdtReg) proc_8 LLR_08: Status Output Packaging • Format Return Payload: DriverStatus proc_7->proc_8 Final Output Data out_sink Output Data Sinks & Status Return • Status Payload (DriverStatus) proc_8->out_sink Output Data & Status Code
Data Flow Diagram
Here is the call graph for this function:
rvdt_configWaveformGeneration Node1 rvdt_configWaveformGeneration Node1->Node1 Node2 calculateWaveformTableSize Node1->Node2 Node4 calculateWaveformTableValue Node1->Node4 Node5 writeRvdtReg Node1->Node5 Node2->Node2 Node3 customRound Node2->Node3 Node3->Node3 Node4->Node4 Node5->Node5 Node6 interDrv_Write32 Node5->Node6 Node6->Node6 Node7 interDrv_isAddressValid Node6->Node7 Node8 memoryMap_Write32 Node6->Node8 Node7->Node7 Node8->Node8
Here is the caller graph for this function:
rvdt_configWaveformGeneration Node1 rvdt_configWaveformGeneration Node1->Node1 Node2 modRvdt_SetRefConfig Node1->Node2 Node2->Node2

◆ rvdt_getCbit()

DriverStatus rvdt_getCbit ( const RvdtDevHandler rvdtDevHdl,
RvdtCbitStatus * cbitStatus )

rvdt_getCbit.

Get RVDT CBIT status.

Parameters
[in]rvdtDevHdlThe RVDT device handler.
[out]cbitStatusThe pointer of CBIT status value.
Returns
DriverStatus - Driver status return code, If no error occurs during the operation of the function, it returns DRV_SUCCESS. Otherwise related error message is returned.
Return values
DRV_SUCCESS: Success.
DRV_READ_FAILED: Failed to read from the device or module.
DRV_INVALID_PARAM: The provided address pointer is invalid.

Low-Level Software Requirements (LLR)

Low-Level Requirement Specification: rvdt_getCbit

Requirement ID Parent HLR ID Detailed Low-Level Requirement Statement (EARS Format) Software Unit Reference Verification Method Status
LLR_RVDT_RVDT_GETCBIT_01 HLR_RVDT_23601 WHEN the pointer cbitStatus is NULL (invalid), the rvdt_getCbit() function SHALL abort processing and return DRV_INVALID_PARAM. rvdt.c:rvdt_getCbit() Test Closed
LLR_RVDT_RVDT_GETCBIT_02 HLR_RVDT_23601 WHEN a driver operation reports a failure status other than DRV_SUCCESS, the rvdt_getCbit() function SHALL abort processing and return that driver failure status. rvdt.c:rvdt_getCbit() Test Closed
LLR_RVDT_RVDT_GETCBIT_03 HLR_RVDT_23601 WHEN querying RVDT Channel Bank 1, the rvdt_getCbit() function SHALL read common power-good, over-temperature, and supply rail fault status bits from the bank CBIT status register. rvdt.c:rvdt_getCbit() Test Closed
LLR_RVDT_RVDT_GETCBIT_04 HLR_RVDT_23601 FOR each RVDT device bank, WHEN the demodulator configuration register does not match active status, the rvdt_getCbit() function SHALL set the configuration mismatch failure status for that bank. rvdt.c:rvdt_getCbit() Test Closed
LLR_RVDT_RVDT_GETCBIT_05 HLR_RVDT_23601 FOR each configured RVDT device bank (0 through RVDT_DEV_CH_MAX - 1), the rvdt_getCbit() function SHALL calculate the register offset using MMAP_RVDT_DEV_OFFSET and read the bank CBIT Status Register (MMAP_RVDT_CBIT_STATUS) and Diagnostic Register via readRvdtReg(). rvdt.c:rvdt_getCbit() Test Closed
LLR_RVDT_RVDT_GETCBIT_06 HLR_RVDT_23601 WHEN preconditions are satisfied, the rvdt_getCbit() function SHALL invoke bitwise routine READ_BIT() to extract target channel status bit from register payload. rvdt.c:rvdt_getCbit() Test Closed
LLR_RVDT_RVDT_GETCBIT_07 HLR_RVDT_23601 WHEN all operational processing completes successfully, the rvdt_getCbit() function SHALL return DRV_SUCCESS. rvdt.c:rvdt_getCbit() Test Closed

Control Coupling Diagram (CCD)

ControlCouplingStructureChart Caller rvdt_getCbit() [Low-Level Device Drivers] Target readRvdtReg() [Low-Level Driver Helper] Caller:s->Target:n l_t0->l_b0   rvdtDevHdl (Flag) r_b0->r_t0   statusCode (DriverStatus)
Control Coupling Structure Chart

Data Coupling Diagram (DCD)

DataCouplingStructureChart Caller rvdt_getCbit() [Low-Level Device Drivers] Target readRvdtReg() [Low-Level Driver Helper] Caller:s->Target:n l_t0->l_b0   rvdtDevHdl (Payload) r_b0->r_t0   *cbitStatus (Output Data)
Data Coupling Structure Chart

Control Flow Diagram (CFD)

cfd_rvdt_getCbit start Entry: rvdt_getCbit() guard_1 LLR_01: Guard Check Is the pointer `cbitStatus` is NULL (invalid)? start->guard_1 err_exit_1 LLR_01 Error Exit abort processing and return `DRV_INVALID_PARAM` guard_1->err_exit_1 YES (TRUE) guard_2 LLR_02: Guard Check Is a driver operation reports a failure status other than DRV_SUCCESS? guard_1->guard_2 err_exit_2 LLR_02 Error Exit abort processing and return `retStatus` guard_2->err_exit_2 YES (TRUE) guard_3 LLR_03: Guard Check Is `i` is equal to `0U`? guard_2->guard_3 err_exit_3 LLR_03 Error Exit execute conditional operational branch guard_3->err_exit_3 YES (TRUE) guard_4 LLR_04: Guard Check Is `configStatus` is equal to `FALSE`? guard_3->guard_4 err_exit_4 LLR_04 Error Exit execute conditional operational branch guard_4->err_exit_4 YES (TRUE) act_5 LLR_05: Action Step read the RVDT CBIT Status Register (CBIT_STATUS) at physical offset `0x0288 + (MMAP_RVDT_DEV_OFFSET * i)` (`MMAP_RVDT_CBIT_STATUS`) using `readRvdtReg()` guard_4->act_5 NO (FALSE) act_6 LLR_06: Action Step invoke bitwise routine `READ_BIT()` to extract target channel status bit from register payload act_5->act_6 success_exit LLR_07: Final Exit return `DRV_SUCCESS` act_6->success_exit
Control Flow Diagram

Data Flow Diagram (DFD)

dfd_rvdt_getCbit in_store Input Data Sources & Parameters • rvdtDevHdl (const RvdtDevHandler) proc_1 LLR_01: Data Validation Check • Evaluate Parameter / State: cbitStatus in_store->proc_1 Validated Input Data proc_2 LLR_02: Data Validation Check • Evaluate Parameter / State: retStatus proc_1->proc_2 Validated Input Data proc_3 LLR_03: Data Validation Check • Evaluate Parameter / State: i proc_2->proc_3 Validated Input Data proc_4 LLR_04: Data Validation Check • Evaluate Parameter / State: configStatus proc_3->proc_4 Validated Input Data proc_5 LLR_05: Data Payload Transformation • Process payload via readRvdtReg() proc_4->proc_5 Data Payload (readRvdtReg) proc_6 LLR_06: Data Payload Transformation • Process payload via READ_BIT() proc_5->proc_6 Data Payload (READ_BIT) proc_7 LLR_07: Status Output Packaging • Format Return Payload: DriverStatus proc_6->proc_7 Final Output Data out_sink Output Data Sinks & Status Return • cbitStatus (RvdtCbitStatus) proc_7->out_sink Output Data & Status Code
Data Flow Diagram
Here is the call graph for this function:
rvdt_getCbit Node1 rvdt_getCbit Node1->Node1 Node2 readRvdtReg Node1->Node2 Node2->Node2 Node3 interDrv_Read32 Node2->Node3 Node3->Node3 Node4 interDrv_isAddressValid Node3->Node4 Node5 memoryMap_Read32 Node3->Node5 Node4->Node4 Node5->Node5
Here is the caller graph for this function:
rvdt_getCbit Node1 rvdt_getCbit Node1->Node1 Node2 modHsb_getRvdtCbit Node1->Node2 Node2->Node2

◆ rvdt_getPbit()

DriverStatus rvdt_getPbit ( const RvdtDevHandler rvdtDevHdl,
RvdtPbitStatus * pbitStatus )

rvdt_getPbit.

Get RVDT PBIT status.

Parameters
[in]rvdtDevHdlThe RVDT device handler.
[out]pbitStatusThe pointer of PBIT status value.
Returns
DriverStatus - Driver status return code, If no error occurs during the operation of the function, it returns DRV_SUCCESS. Otherwise related error message is returned.
Return values
DRV_SUCCESS: Success.
DRV_READ_FAILED: Failed to read from the device or module.
DRV_INVALID_PARAM: The provided address pointer is invalid.

Low-Level Software Requirements (LLR)

Low-Level Requirement Specification: rvdt_getPbit

Requirement ID Parent HLR ID Detailed Low-Level Requirement Statement (EARS Format) Software Unit Reference Verification Method Status
LLR_RVDT_RVDT_GETPBIT_01 HLR_RVDT_323 WHEN the pointer pbitStatus is NULL (invalid), the rvdt_getPbit() function SHALL abort processing and return DRV_INVALID_PARAM. rvdt.c:rvdt_getPbit() Test Closed
LLR_RVDT_RVDT_GETPBIT_02 HLR_RVDT_323 WHEN a driver operation reports a failure status other than DRV_SUCCESS, the rvdt_getPbit() function SHALL abort processing and return that driver failure status. rvdt.c:rvdt_getPbit() Test Closed
LLR_RVDT_RVDT_GETPBIT_03 HLR_RVDT_323 WHEN querying RVDT Channel Bank 1, the rvdt_getPbit() function SHALL read the global PBIT execution completion status (MMAP_RVDT_POS_PBIT_BIT_DONE) from the PBIT status register. rvdt.c:rvdt_getPbit() Test Closed
LLR_RVDT_RVDT_GETPBIT_04 HLR_RVDT_323 FOR each configured RVDT device bank (0 through RVDT_DEV_CH_MAX - 1), the rvdt_getPbit() function SHALL calculate the register offset using MMAP_RVDT_DEV_OFFSET and read the bank PBIT Status Register (MMAP_RVDT_PBIT_STATUS) via readRvdtReg(). rvdt.c:rvdt_getPbit() Test Closed
LLR_RVDT_RVDT_GETPBIT_05 HLR_RVDT_323 WHEN preconditions are satisfied, the rvdt_getPbit() function SHALL invoke bitwise routine READ_BIT() to extract target channel status bit from register payload. rvdt.c:rvdt_getPbit() Test Closed
LLR_RVDT_RVDT_GETPBIT_06 HLR_RVDT_323 WHEN all operational processing completes successfully, the rvdt_getPbit() function SHALL return DRV_SUCCESS. rvdt.c:rvdt_getPbit() Test Closed

Control Coupling Diagram (CCD)

ControlCouplingStructureChart Caller rvdt_getPbit() [Low-Level Device Drivers] Target readRvdtReg() [Low-Level Driver Helper] Caller:s->Target:n l_t0->l_b0   rvdtDevHdl (Flag) r_b0->r_t0   statusCode (DriverStatus)
Control Coupling Structure Chart

Data Coupling Diagram (DCD)

DataCouplingStructureChart Caller rvdt_getPbit() [Low-Level Device Drivers] Target readRvdtReg() [Low-Level Driver Helper] Caller:s->Target:n l_t0->l_b0   rvdtDevHdl (Payload) r_b0->r_t0   *pbitStatus (Output Data)
Data Coupling Structure Chart

Control Flow Diagram (CFD)

cfd_rvdt_getPbit start Entry: rvdt_getPbit() guard_1 LLR_01: Guard Check Is the pointer `pbitStatus` is NULL (invalid)? start->guard_1 err_exit_1 LLR_01 Error Exit abort processing and return `DRV_INVALID_PARAM` guard_1->err_exit_1 YES (TRUE) guard_2 LLR_02: Guard Check Is a driver operation reports a failure status other than DRV_SUCCESS? guard_1->guard_2 err_exit_2 LLR_02 Error Exit abort processing and return `retStatus` guard_2->err_exit_2 YES (TRUE) guard_3 LLR_03: Guard Check Is `i` is equal to `0U`? guard_2->guard_3 err_exit_3 LLR_03 Error Exit execute conditional operational branch guard_3->err_exit_3 YES (TRUE) act_4 LLR_04: Action Step read the RVDT PBIT Status Register (PBIT_STATUS) at physical offset `0x0284 + (MMAP_RVDT_DEV_OFFSET * i)` (`MMAP_RVDT_PBIT_STATUS`) using `readRvdtReg()` guard_3->act_4 NO (FALSE) act_5 LLR_05: Action Step invoke bitwise routine `READ_BIT()` to extract target channel status bit from register payload act_4->act_5 success_exit LLR_06: Final Exit return `DRV_SUCCESS` act_5->success_exit
Control Flow Diagram

Data Flow Diagram (DFD)

dfd_rvdt_getPbit in_store Input Data Sources & Parameters • rvdtDevHdl (const RvdtDevHandler) proc_1 LLR_01: Data Validation Check • Evaluate Parameter / State: pbitStatus in_store->proc_1 Validated Input Data proc_2 LLR_02: Data Validation Check • Evaluate Parameter / State: retStatus proc_1->proc_2 Validated Input Data proc_3 LLR_03: Data Validation Check • Evaluate Parameter / State: i proc_2->proc_3 Validated Input Data proc_4 LLR_04: Data Payload Transformation • Process payload via readRvdtReg() proc_3->proc_4 Data Payload (readRvdtReg) proc_5 LLR_05: Data Payload Transformation • Process payload via READ_BIT() proc_4->proc_5 Data Payload (READ_BIT) proc_6 LLR_06: Status Output Packaging • Format Return Payload: DriverStatus proc_5->proc_6 Final Output Data out_sink Output Data Sinks & Status Return • pbitStatus (RvdtPbitStatus) proc_6->out_sink Output Data & Status Code
Data Flow Diagram
Here is the call graph for this function:
rvdt_getPbit Node1 rvdt_getPbit Node1->Node1 Node2 readRvdtReg Node1->Node2 Node2->Node2 Node3 interDrv_Read32 Node2->Node3 Node3->Node3 Node4 interDrv_isAddressValid Node3->Node4 Node5 memoryMap_Read32 Node3->Node5 Node4->Node4 Node5->Node5
Here is the caller graph for this function:
rvdt_getPbit Node1 rvdt_getPbit Node1->Node1 Node2 modHsb_getRvdtPbit Node1->Node2 Node2->Node2

◆ rvdt_getRefStatus()

DriverStatus rvdt_getRefStatus ( const RvdtDevHandler rvdtDevHdl,
Bool * opStatus )

rvdt_getRefStatus.

Get reference status in control command.

Parameters
[in]rvdtDevHdlThe RVDT device handler.
[out]opStatusThe operational status for reference.
Returns
DriverStatus - Driver status return code, If no error occurs during the operation of the function, it returns DRV_SUCCESS. Otherwise related error message is returned.
Return values
DRV_SUCCESS: Success.
DRV_READ_FAILED: Failed to read from the device or module.
DRV_INVALID_PARAM: The provided address pointer is invalid.

Low-Level Software Requirements (LLR)

Low-Level Requirement Specification: rvdt_getRefStatus

Requirement ID Parent HLR ID Detailed Low-Level Requirement Statement (EARS Format) Software Unit Reference Verification Method Status
LLR_RVDT_RVDT_GETREFSTATUS_01 HLR_RVDT_16937 WHEN the pointer opStatus is NULL (invalid), the rvdt_getRefStatus() function SHALL abort processing and return DRV_INVALID_PARAM. rvdt.c:rvdt_getRefStatus() Test Closed
LLR_RVDT_RVDT_GETREFSTATUS_02 HLR_RVDT_16937 WHEN a driver operation reports a failure status other than DRV_SUCCESS, the rvdt_getRefStatus() function SHALL abort processing and return that driver failure status. rvdt.c:rvdt_getRefStatus() Test Closed
LLR_RVDT_RVDT_GETREFSTATUS_03 HLR_RVDT_16937 WHEN preconditions are satisfied, the rvdt_getRefStatus() function SHALL read the RVDT module device block members memory offset (RVDT_CONTROL_CMD) at physical offset 0x0258 (MMAP_RVDT_CONTROL_CMD) using readRvdtReg(). rvdt.c:rvdt_getRefStatus() Test Closed
LLR_RVDT_RVDT_GETREFSTATUS_04 HLR_RVDT_16937 WHEN preconditions are satisfied, the rvdt_getRefStatus() function SHALL invoke bitwise routine READ_BIT() to extract target channel status bit from register payload. rvdt.c:rvdt_getRefStatus() Test Closed
LLR_RVDT_RVDT_GETREFSTATUS_05 HLR_RVDT_16937 WHEN all operational processing completes successfully, the rvdt_getRefStatus() function SHALL return DRV_SUCCESS. rvdt.c:rvdt_getRefStatus() Test Closed

Control Coupling Diagram (CCD)

ControlCouplingStructureChart Caller rvdt_getRefStatus() [Low-Level Device Drivers] Target readRvdtReg() [Low-Level Driver Helper] Caller:s->Target:n l_t0->l_b0   rvdtDevHdl (Flag) r_b0->r_t0   statusCode (DriverStatus)
Control Coupling Structure Chart

Data Coupling Diagram (DCD)

DataCouplingStructureChart Caller rvdt_getRefStatus() [Low-Level Device Drivers] Target readRvdtReg() [Low-Level Driver Helper] Caller:s->Target:n l_t0->l_b0   rvdtDevHdl (Payload) r_b0->r_t0   *opStatus (Output Data)
Data Coupling Structure Chart

Control Flow Diagram (CFD)

cfd_rvdt_getRefStatus start Entry: rvdt_getRefStatus() guard_1 LLR_01: Guard Check Is the pointer `opStatus` is NULL (invalid)? start->guard_1 err_exit_1 LLR_01 Error Exit abort processing and return `DRV_INVALID_PARAM` guard_1->err_exit_1 YES (TRUE) guard_2 LLR_02: Guard Check Is a driver operation reports a failure status other than DRV_SUCCESS? guard_1->guard_2 err_exit_2 LLR_02 Error Exit abort processing and return `retStatus` guard_2->err_exit_2 YES (TRUE) act_3 LLR_03: Action Step read the RVDT module device block members memory offset (RVDT_CONTROL_CMD) at physical offset `0x0258` (`MMAP_RVDT_CONTROL_CMD`) using `readRvdtReg()` guard_2->act_3 NO (FALSE) act_4 LLR_04: Action Step invoke bitwise routine `READ_BIT()` to extract target channel status bit from register payload act_3->act_4 success_exit LLR_05: Final Exit return `DRV_SUCCESS` act_4->success_exit
Control Flow Diagram

Data Flow Diagram (DFD)

dfd_rvdt_getRefStatus in_store Input Data Sources & Parameters • rvdtDevHdl (const RvdtDevHandler) proc_1 LLR_01: Data Validation Check • Evaluate Parameter / State: opStatus in_store->proc_1 Validated Input Data proc_2 LLR_02: Data Validation Check • Evaluate Parameter / State: retStatus proc_1->proc_2 Validated Input Data proc_3 LLR_03: Data Payload Transformation • Process payload via readRvdtReg() proc_2->proc_3 Data Payload (readRvdtReg) proc_4 LLR_04: Data Payload Transformation • Process payload via READ_BIT() proc_3->proc_4 Data Payload (READ_BIT) proc_5 LLR_05: Status Output Packaging • Format Return Payload: DriverStatus proc_4->proc_5 Final Output Data out_sink Output Data Sinks & Status Return • opStatus (Bool) proc_5->out_sink Output Data & Status Code
Data Flow Diagram
Here is the call graph for this function:
rvdt_getRefStatus Node1 rvdt_getRefStatus Node1->Node1 Node2 readRvdtReg Node1->Node2 Node2->Node2 Node3 interDrv_Read32 Node2->Node3 Node3->Node3 Node4 interDrv_isAddressValid Node3->Node4 Node5 memoryMap_Read32 Node3->Node5 Node4->Node4 Node5->Node5
Here is the caller graph for this function:
rvdt_getRefStatus Node1 rvdt_getRefStatus Node1->Node1 Node2 modRvdt_RefDisable Node1->Node2 Node7 modRvdt_RefEnable Node1->Node7 Node2->Node2 Node3 modRvdt_initReset Node2->Node3 Node3->Node3 Node4 modConfig_init Node3->Node4 Node5 modConfig_reset Node3->Node5 Node4->Node4 Node5->Node5 Node6 modConfig_close Node5->Node6 Node6->Node6 Node7->Node7

◆ rvdt_getSensePosition()

DriverStatus rvdt_getSensePosition ( const RvdtDevHandler rvdtDevHdl,
Float32 * demod1Ptr,
Float32 * demod2Ptr,
Float32 * deltaVal,
UInt32 * adcVal1,
UInt32 * adcVal2 )

rvdt_getSensePosition.

Get sense position data.

Parameters
[in]rvdtDevHdlThe RVDT device handler.
[out]demod1PtrThe demod 1 value.
[out]demod2PtrThe demod 2 value.
[out]deltaValThe demod delta value.
[out]adcVal1The adc 1 value.
[out]adcVal2The adc 2 value.
Returns
DriverStatus - Driver status return code, If no error occurs during the operation of the function, it returns DRV_SUCCESS. Otherwise related error message is returned.
Return values
DRV_SUCCESS: Success.
DRV_READ_FAILED: Failed to read from the device or module.
DRV_INVALID_PARAM: The provided address pointer is invalid.

Low-Level Software Requirements (LLR)

Low-Level Requirement Specification: rvdt_getSensePosition

Requirement ID Parent HLR ID Detailed Low-Level Requirement Statement (EARS Format) Software Unit Reference Verification Method Status
LLR_RVDT_RVDT_GETSENSEPOSITION_01 HLR_RVDT_18870 WHEN the pointer demod1Ptr is NULL (invalid) or the pointer demod2Ptr is NULL (invalid) or the pointer deltaVal is NULL (invalid) or the pointer adcVal1 is NULL (invalid) or the pointer adcVal2 is NULL (invalid), the rvdt_getSensePosition() function SHALL abort processing and return DRV_INVALID_PARAM. rvdt.c:rvdt_getSensePosition() Test Closed
LLR_RVDT_RVDT_GETSENSEPOSITION_02 HLR_RVDT_18870 WHEN a driver operation reports a failure status other than DRV_SUCCESS, the rvdt_getSensePosition() function SHALL abort processing and return that driver failure status. rvdt.c:rvdt_getSensePosition() Test Closed
LLR_RVDT_RVDT_GETSENSEPOSITION_03 HLR_RVDT_18870 WHEN preconditions are satisfied, the rvdt_getSensePosition() function SHALL invoke routine getSenseDemod1Demod2Data() to execute target subsystem hardware operation. rvdt.c:rvdt_getSensePosition() Test Closed
LLR_RVDT_RVDT_GETSENSEPOSITION_04 HLR_RVDT_18870 WHEN all operational processing completes successfully, the rvdt_getSensePosition() function SHALL return DRV_SUCCESS. rvdt.c:rvdt_getSensePosition() Test Closed

Control Coupling Diagram (CCD)

ControlCouplingStructureChart Caller rvdt_getSensePosition() [Low-Level Device Drivers] Target getSenseDemod1Demod2Data() [Low-Level Driver Helper] Caller:s->Target:n l_t0->l_b0   rvdtDevHdl (Flag) r_b0->r_t0   statusCode (DriverStatus)
Control Coupling Structure Chart

Data Coupling Diagram (DCD)

DataCouplingStructureChart Caller rvdt_getSensePosition() [Low-Level Device Drivers] Target getSenseDemod1Demod2Data() [Low-Level Driver Helper] Caller:s->Target:n l_t0->l_b0   rvdtDevHdl (Payload) r_b0->r_t0   *demod1Ptr (Output Data) r_b1->r_t1   *demod2Ptr (Output Data) r_b2->r_t2   *deltaVal (Output Data) r_b3->r_t3   *adcVal1 (Output Data) r_b4->r_t4   *adcVal2 (Output Data)
Data Coupling Structure Chart

Control Flow Diagram (CFD)

cfd_rvdt_getSensePosition start Entry: rvdt_getSensePosition() guard_1 LLR_01: Guard Check Is the pointer `demod1Ptr` is NULL (invalid) or the pointer `demod2Ptr` is NULL (invalid) or the pointer `deltaVal` is NULL (invalid) or the pointer `adcVal1` is NULL (invalid) or the pointer `adcVal2` is NULL (invalid)? start->guard_1 err_exit_1 LLR_01 Error Exit abort processing and return `DRV_INVALID_PARAM` guard_1->err_exit_1 YES (TRUE) guard_2 LLR_02: Guard Check Is a driver operation reports a failure status other than DRV_SUCCESS? guard_1->guard_2 err_exit_2 LLR_02 Error Exit abort processing and return `retStatus` guard_2->err_exit_2 YES (TRUE) act_3 LLR_03: Action Step invoke routine `getSenseDemod1Demod2Data()` to execute target subsystem hardware operation guard_2->act_3 NO (FALSE) success_exit LLR_04: Final Exit return `DRV_SUCCESS` act_3->success_exit
Control Flow Diagram

Data Flow Diagram (DFD)

dfd_rvdt_getSensePosition in_store Input Data Sources & Parameters • rvdtDevHdl (const RvdtDevHandler) proc_1 LLR_01: Data Validation Check • Evaluate Parameter / State: demod1Ptr in_store->proc_1 Validated Input Data proc_2 LLR_02: Data Validation Check • Evaluate Parameter / State: retStatus proc_1->proc_2 Validated Input Data proc_3 LLR_03: Data Payload Transformation • Process payload via getSenseDemod1Demod2Data() proc_2->proc_3 Data Payload (getSenseDemod1Demod2Data) proc_4 LLR_04: Status Output Packaging • Format Return Payload: DriverStatus proc_3->proc_4 Final Output Data out_sink Output Data Sinks & Status Return • demod1Ptr (Float32) • demod2Ptr (Float32) • deltaVal (Float32) • adcVal1 (UInt32) proc_4->out_sink Output Data & Status Code
Data Flow Diagram
Here is the call graph for this function:
rvdt_getSensePosition Node1 rvdt_getSensePosition Node1->Node1 Node2 getSenseDemod1Demod2Data Node1->Node2 Node2->Node2 Node3 readRvdtReg Node2->Node3 Node3->Node3 Node4 interDrv_Read32 Node3->Node4 Node4->Node4 Node5 interDrv_isAddressValid Node4->Node5 Node6 memoryMap_Read32 Node4->Node6 Node5->Node5 Node6->Node6
Here is the caller graph for this function:
rvdt_getSensePosition Node1 rvdt_getSensePosition Node1->Node1 Node2 modRvdt_SenseRead Node1->Node2 Node2->Node2

◆ rvdt_getSenseStatus()

DriverStatus rvdt_getSenseStatus ( const RvdtDevHandler rvdtDevHdl,
Bool * opStatus )

rvdt_getSenseStatus.

Get RVDT sense status in control command.

Parameters
[in]rvdtDevHdlThe RVDT device handler.
[out]opStatusThe operational status for sense.
Returns
DriverStatus - Driver status return code, If no error occurs during the operation of the function, it returns DRV_SUCCESS. Otherwise related error message is returned.
Return values
DRV_SUCCESS: Success.
DRV_READ_FAILED: Failed to read from the device or module.
DRV_INVALID_PARAM: The provided address pointer is invalid.

Low-Level Software Requirements (LLR)

Low-Level Requirement Specification: rvdt_getSenseStatus

Requirement ID Parent HLR ID Detailed Low-Level Requirement Statement (EARS Format) Software Unit Reference Verification Method Status
LLR_RVDT_RVDT_GETSENSESTATUS_01 HLR_RVDT_18870 WHEN the pointer opStatus is NULL (invalid), the rvdt_getSenseStatus() function SHALL abort processing and return DRV_INVALID_PARAM. rvdt.c:rvdt_getSenseStatus() Test Closed
LLR_RVDT_RVDT_GETSENSESTATUS_02 HLR_RVDT_18870 WHEN a driver operation reports a failure status other than DRV_SUCCESS, the rvdt_getSenseStatus() function SHALL abort processing and return that driver failure status. rvdt.c:rvdt_getSenseStatus() Test Closed
LLR_RVDT_RVDT_GETSENSESTATUS_03 HLR_RVDT_18870 WHEN preconditions are satisfied, the rvdt_getSenseStatus() function SHALL read the RVDT module device block members memory offset (RVDT_CONTROL_CMD) at physical offset 0x0258 (MMAP_RVDT_CONTROL_CMD) using readRvdtReg(). rvdt.c:rvdt_getSenseStatus() Test Closed
LLR_RVDT_RVDT_GETSENSESTATUS_04 HLR_RVDT_18870 WHEN preconditions are satisfied, the rvdt_getSenseStatus() function SHALL invoke bitwise routine READ_BIT() to extract target channel status bit from register payload. rvdt.c:rvdt_getSenseStatus() Test Closed
LLR_RVDT_RVDT_GETSENSESTATUS_05 HLR_RVDT_18870 WHEN all operational processing completes successfully, the rvdt_getSenseStatus() function SHALL return DRV_SUCCESS. rvdt.c:rvdt_getSenseStatus() Test Closed

Control Coupling Diagram (CCD)

ControlCouplingStructureChart Caller rvdt_getSenseStatus() [Low-Level Device Drivers] Target readRvdtReg() [Low-Level Driver Helper] Caller:s->Target:n l_t0->l_b0   rvdtDevHdl (Flag) r_b0->r_t0   statusCode (DriverStatus)
Control Coupling Structure Chart

Data Coupling Diagram (DCD)

DataCouplingStructureChart Caller rvdt_getSenseStatus() [Low-Level Device Drivers] Target readRvdtReg() [Low-Level Driver Helper] Caller:s->Target:n l_t0->l_b0   rvdtDevHdl (Payload) r_b0->r_t0   *opStatus (Output Data)
Data Coupling Structure Chart

Control Flow Diagram (CFD)

cfd_rvdt_getSenseStatus start Entry: rvdt_getSenseStatus() guard_1 LLR_01: Guard Check Is the pointer `opStatus` is NULL (invalid)? start->guard_1 err_exit_1 LLR_01 Error Exit abort processing and return `DRV_INVALID_PARAM` guard_1->err_exit_1 YES (TRUE) guard_2 LLR_02: Guard Check Is a driver operation reports a failure status other than DRV_SUCCESS? guard_1->guard_2 err_exit_2 LLR_02 Error Exit abort processing and return `retStatus` guard_2->err_exit_2 YES (TRUE) act_3 LLR_03: Action Step read the RVDT module device block members memory offset (RVDT_CONTROL_CMD) at physical offset `0x0258` (`MMAP_RVDT_CONTROL_CMD`) using `readRvdtReg()` guard_2->act_3 NO (FALSE) act_4 LLR_04: Action Step invoke bitwise routine `READ_BIT()` to extract target channel status bit from register payload act_3->act_4 success_exit LLR_05: Final Exit return `DRV_SUCCESS` act_4->success_exit
Control Flow Diagram

Data Flow Diagram (DFD)

dfd_rvdt_getSenseStatus in_store Input Data Sources & Parameters • rvdtDevHdl (const RvdtDevHandler) proc_1 LLR_01: Data Validation Check • Evaluate Parameter / State: opStatus in_store->proc_1 Validated Input Data proc_2 LLR_02: Data Validation Check • Evaluate Parameter / State: retStatus proc_1->proc_2 Validated Input Data proc_3 LLR_03: Data Payload Transformation • Process payload via readRvdtReg() proc_2->proc_3 Data Payload (readRvdtReg) proc_4 LLR_04: Data Payload Transformation • Process payload via READ_BIT() proc_3->proc_4 Data Payload (READ_BIT) proc_5 LLR_05: Status Output Packaging • Format Return Payload: DriverStatus proc_4->proc_5 Final Output Data out_sink Output Data Sinks & Status Return • opStatus (Bool) proc_5->out_sink Output Data & Status Code
Data Flow Diagram
Here is the call graph for this function:
rvdt_getSenseStatus Node1 rvdt_getSenseStatus Node1->Node1 Node2 readRvdtReg Node1->Node2 Node2->Node2 Node3 interDrv_Read32 Node2->Node3 Node3->Node3 Node4 interDrv_isAddressValid Node3->Node4 Node5 memoryMap_Read32 Node3->Node5 Node4->Node4 Node5->Node5
Here is the caller graph for this function:
rvdt_getSenseStatus Node1 rvdt_getSenseStatus Node1->Node1 Node2 modRvdt_SenseDisable Node1->Node2 Node7 modRvdt_SenseEnable Node1->Node7 Node2->Node2 Node3 modRvdt_initReset Node2->Node3 Node3->Node3 Node4 modConfig_init Node3->Node4 Node5 modConfig_reset Node3->Node5 Node4->Node4 Node5->Node5 Node6 modConfig_close Node5->Node6 Node6->Node6 Node7->Node7

◆ rvdt_getTemp()

DriverStatus rvdt_getTemp ( const RvdtDevHandler rvdtDevHdl,
Float32 * temp )

rvdt_getTemp.

Get RVDT temperature value in degree celsius (C).

Parameters
[in]rvdtDevHdlThe RVDT device handler.
[out]tempThe pointer of temperature value in degree celsius (C).
Returns
DriverStatus - Driver status return code, If no error occurs during the operation of the function, it returns DRV_SUCCESS. Otherwise related error message is returned.
Return values
DRV_SUCCESS: Success.
DRV_READ_FAILED: Failed to read from the device or module.
DRV_INVALID_PARAM: The provided address pointer is invalid.

Low-Level Software Requirements (LLR)

Low-Level Requirement Specification: rvdt_getTemp

Requirement ID Parent HLR ID Detailed Low-Level Requirement Statement (EARS Format) Software Unit Reference Verification Method Status
LLR_RVDT_RVDT_GETTEMP_01 HLR_RVDT_29269 WHEN the pointer temp is NULL (invalid), the rvdt_getTemp() function SHALL abort processing and return DRV_INVALID_PARAM. rvdt.c:rvdt_getTemp() Test Closed
LLR_RVDT_RVDT_GETTEMP_02 HLR_RVDT_29269 WHEN a driver operation reports a failure status other than DRV_SUCCESS, the rvdt_getTemp() function SHALL abort processing and return that driver failure status. rvdt.c:rvdt_getTemp() Test Closed
LLR_RVDT_RVDT_GETTEMP_03 HLR_RVDT_29269 WHEN preconditions are satisfied, the rvdt_getTemp() function SHALL read the RVDT module device block members memory offset (RVDT_TEMP_RAW) at physical offset 0x028C (MMAP_RVDT_TEMP_RAW) using readRvdtReg(). rvdt.c:rvdt_getTemp() Test Closed
LLR_RVDT_RVDT_GETTEMP_04 HLR_RVDT_29269 WHEN all operational processing completes successfully, the rvdt_getTemp() function SHALL return DRV_SUCCESS. rvdt.c:rvdt_getTemp() Test Closed

Control Coupling Diagram (CCD)

ControlCouplingStructureChart Caller rvdt_getTemp() [Low-Level Device Drivers] Target readRvdtReg() [Low-Level Driver Helper] Caller:s->Target:n l_t0->l_b0   rvdtDevHdl (Flag) r_b0->r_t0   statusCode (DriverStatus)
Control Coupling Structure Chart

Data Coupling Diagram (DCD)

DataCouplingStructureChart Caller rvdt_getTemp() [Low-Level Device Drivers] Target readRvdtReg() [Low-Level Driver Helper] Caller:s->Target:n l_t0->l_b0   rvdtDevHdl (Payload) r_b0->r_t0   *temp (Output Data)
Data Coupling Structure Chart

Control Flow Diagram (CFD)

cfd_rvdt_getTemp start Entry: rvdt_getTemp() guard_1 LLR_01: Guard Check Is the pointer `temp` is NULL (invalid)? start->guard_1 err_exit_1 LLR_01 Error Exit abort processing and return `DRV_INVALID_PARAM` guard_1->err_exit_1 YES (TRUE) guard_2 LLR_02: Guard Check Is a driver operation reports a failure status other than DRV_SUCCESS? guard_1->guard_2 err_exit_2 LLR_02 Error Exit abort processing and return `retStatus` guard_2->err_exit_2 YES (TRUE) act_3 LLR_03: Action Step read the RVDT module device block members memory offset (RVDT_TEMP_RAW) at physical offset `0x028C` (`MMAP_RVDT_TEMP_RAW`) using `readRvdtReg()` guard_2->act_3 NO (FALSE) success_exit LLR_04: Final Exit return `DRV_SUCCESS` act_3->success_exit
Control Flow Diagram

Data Flow Diagram (DFD)

dfd_rvdt_getTemp in_store Input Data Sources & Parameters • rvdtDevHdl (const RvdtDevHandler) proc_1 LLR_01: Data Validation Check • Evaluate Parameter / State: temp in_store->proc_1 Validated Input Data proc_2 LLR_02: Data Validation Check • Evaluate Parameter / State: retStatus proc_1->proc_2 Validated Input Data proc_3 LLR_03: Data Payload Transformation • Process payload via readRvdtReg() proc_2->proc_3 Data Payload (readRvdtReg) proc_4 LLR_04: Status Output Packaging • Format Return Payload: DriverStatus proc_3->proc_4 Final Output Data out_sink Output Data Sinks & Status Return • temp (Float32) proc_4->out_sink Output Data & Status Code
Data Flow Diagram
Here is the call graph for this function:
rvdt_getTemp Node1 rvdt_getTemp Node1->Node1 Node2 readRvdtReg Node1->Node2 Node2->Node2 Node3 interDrv_Read32 Node2->Node3 Node3->Node3 Node4 interDrv_isAddressValid Node3->Node4 Node5 memoryMap_Read32 Node3->Node5 Node4->Node4 Node5->Node5
Here is the caller graph for this function:
rvdt_getTemp Node1 rvdt_getTemp Node1->Node1 Node2 modHsb_getRvdtCbit Node1->Node2 Node2->Node2

◆ rvdt_initDev()

DriverStatus rvdt_initDev ( const RvdtDevHandler rvdtDevHdl)

rvdt_initDev.

Initialize RVDT device.

Parameters
[in]rvdtDevHdlThe RVDT device handler.
Returns
DriverStatus - Driver status return code, If no error occurs during the operation of the function, it returns DRV_SUCCESS. Otherwise related error message is returned.
Return values
DRV_SUCCESS: Success.
DRV_WRITE_FAILED: Failed to write to the device or module.
DRV_READ_FAILED: Failed to read from the device or module.
DRV_INVALID_PARAM: The provided address pointer is invalid.

Low-Level Software Requirements (LLR)

Low-Level Requirement Specification: rvdt_initDev

Requirement ID Parent HLR ID Detailed Low-Level Requirement Statement (EARS Format) Software Unit Reference Verification Method Status
LLR_RVDT_RVDT_INITDEV_01 HLR_RVDT_31389 WHEN a driver operation reports a failure status other than DRV_SUCCESS, the rvdt_initDev() function SHALL abort processing and return that driver failure status. rvdt.c:rvdt_initDev() Test Closed
LLR_RVDT_RVDT_INITDEV_02 HLR_RVDT_31389 WHEN preconditions are satisfied, the rvdt_initDev() function SHALL read the RVDT module device block members memory offset (RVDT_CONTROL_CMD) at physical offset 0x0258 (MMAP_RVDT_CONTROL_CMD) using readRvdtReg(). rvdt.c:rvdt_initDev() Test Closed
LLR_RVDT_RVDT_INITDEV_03 HLR_RVDT_31389 WHEN preconditions are satisfied, the rvdt_initDev() function SHALL invoke bitwise routine TOGGLE_BIT() to update hardware control bit in register payload. rvdt.c:rvdt_initDev() Test Closed
LLR_RVDT_RVDT_INITDEV_04 HLR_RVDT_31389 WHEN preconditions are satisfied, the rvdt_initDev() function SHALL write the RVDT module device block members memory offset (RVDT_CONTROL_CMD) at physical offset 0x0258 (MMAP_RVDT_CONTROL_CMD) using writeRvdtReg(). rvdt.c:rvdt_initDev() Test Closed
LLR_RVDT_RVDT_INITDEV_05 HLR_RVDT_31389 WHEN all operational processing completes successfully, the rvdt_initDev() function SHALL return DRV_SUCCESS. rvdt.c:rvdt_initDev() Test Closed

Control Coupling Diagram (CCD)

ControlCouplingStructureChart Caller rvdt_initDev() [Low-Level Device Drivers] Target readRvdtReg() [Low-Level Driver Helper] Caller:s->Target:n l_t0->l_b0   rvdtDevHdl (Flag) r_b0->r_t0   statusCode (DriverStatus)
Control Coupling Structure Chart

Data Coupling Diagram (DCD)

DataCouplingStructureChart Caller rvdt_initDev() [Low-Level Device Drivers] Target readRvdtReg() [Low-Level Driver Helper] Caller:s->Target:n l_t0->l_b0   rvdtDevHdl (Payload) r_b0->r_t0   stateTelemetry (Internal State)
Data Coupling Structure Chart

Control Flow Diagram (CFD)

cfd_rvdt_initDev start Entry: rvdt_initDev() guard_1 LLR_01: Guard Check Is a driver operation reports a failure status other than DRV_SUCCESS? start->guard_1 err_exit_1 LLR_01 Error Exit abort processing and return `retStatus` guard_1->err_exit_1 YES (TRUE) act_2 LLR_02: Action Step read the RVDT module device block members memory offset (RVDT_CONTROL_CMD) at physical offset `0x0258` (`MMAP_RVDT_CONTROL_CMD`) using `readRvdtReg()` guard_1->act_2 NO (FALSE) act_3 LLR_03: Action Step invoke bitwise routine `TOGGLE_BIT()` to update hardware control bit in register payload act_2->act_3 act_4 LLR_04: Action Step write the RVDT module device block members memory offset (RVDT_CONTROL_CMD) at physical offset `0x0258` (`MMAP_RVDT_CONTROL_CMD`) using `writeRvdtReg()` act_3->act_4 success_exit LLR_05: Final Exit return `DRV_SUCCESS` act_4->success_exit
Control Flow Diagram

Data Flow Diagram (DFD)

dfd_rvdt_initDev in_store Input Data Sources & Parameters • rvdtDevHdl (const RvdtDevHandler) proc_1 LLR_01: Data Validation Check • Evaluate Parameter / State: retStatus in_store->proc_1 Validated Input Data proc_2 LLR_02: Data Payload Transformation • Process payload via readRvdtReg() proc_1->proc_2 Data Payload (readRvdtReg) proc_3 LLR_03: Data Payload Transformation • Process payload via TOGGLE_BIT() proc_2->proc_3 Data Payload (TOGGLE_BIT) proc_4 LLR_04: Data Payload Transformation • Process payload via writeRvdtReg() proc_3->proc_4 Data Payload (writeRvdtReg) proc_5 LLR_05: Status Output Packaging • Format Return Payload: DriverStatus proc_4->proc_5 Final Output Data out_sink Output Data Sinks & Status Return • Status Payload (DriverStatus) proc_5->out_sink Output Data & Status Code
Data Flow Diagram
Here is the call graph for this function:
rvdt_initDev Node1 rvdt_initDev Node1->Node1 Node2 readRvdtReg Node1->Node2 Node6 writeRvdtReg Node1->Node6 Node2->Node2 Node3 interDrv_Read32 Node2->Node3 Node3->Node3 Node4 interDrv_isAddressValid Node3->Node4 Node5 memoryMap_Read32 Node3->Node5 Node4->Node4 Node5->Node5 Node6->Node6 Node7 interDrv_Write32 Node6->Node7 Node7->Node4 Node7->Node7 Node8 memoryMap_Write32 Node7->Node8 Node8->Node8
Here is the caller graph for this function:
rvdt_initDev Node1 rvdt_initDev Node1->Node1 Node2 modRvdt_initReset Node1->Node2 Node2->Node2 Node3 modConfig_init Node2->Node3 Node4 modConfig_reset Node2->Node4 Node3->Node3 Node4->Node4 Node5 modConfig_close Node4->Node5 Node5->Node5

◆ rvdt_setPowerEnable()

DriverStatus rvdt_setPowerEnable ( const RvdtDevHandler rvdtDevHdl,
const Bool enable )

rvdt_setPowerEnable.

Set enable or disable power.

Parameters
[in]rvdtDevHdlThe RVDT device handler.
[in]enableThe flag to enable or disable.
Returns
DriverStatus - Driver status return code, If no error occurs during the operation of the function, it returns DRV_SUCCESS. Otherwise related error message is returned.
Return values
DRV_SUCCESS: Success.
DRV_WRITE_FAILED: Failed to write to the device or module.

Low-Level Software Requirements (LLR)

Low-Level Requirement Specification: rvdt_setPowerEnable

Requirement ID Parent HLR ID Detailed Low-Level Requirement Statement (EARS Format) Software Unit Reference Verification Method Status
LLR_RVDT_RVDT_SETPOWERENABLE_01 HLR_RVDT_18870 WHEN enable is FALSE, the rvdt_setPowerEnable() function SHALL configure power shutdown by setting bit 0 (shutdown) and clearing bit 1 (ADC reference disable) in register MMAP_RVDT_EN_PWR. rvdt.c:rvdt_setPowerEnable() Test Closed
LLR_RVDT_RVDT_SETPOWERENABLE_02 HLR_RVDT_18870 WHEN enable is TRUE, the rvdt_setPowerEnable() function SHALL configure active power by clearing bit 0 (power up) and setting bit 1 (ADC reference enable) in register MMAP_RVDT_EN_PWR. rvdt.c:rvdt_setPowerEnable() Test Closed
LLR_RVDT_RVDT_SETPOWERENABLE_03 HLR_RVDT_18870 WHEN power state configuration data is formulated, the rvdt_setPowerEnable() function SHALL write the command register using writeRvdtReg(). rvdt.c:rvdt_setPowerEnable() Test Closed
LLR_RVDT_RVDT_SETPOWERENABLE_04 HLR_RVDT_18870 WHEN the register write operation fails (status not equal to DRV_SUCCESS), the rvdt_setPowerEnable() function SHALL abort processing and return that failure status. rvdt.c:rvdt_setPowerEnable() Test Closed
LLR_RVDT_RVDT_SETPOWERENABLE_05 HLR_RVDT_18870 WHEN all operational processing completes successfully, the rvdt_setPowerEnable() function SHALL return DRV_SUCCESS. rvdt.c:rvdt_setPowerEnable() Test Closed

Control Coupling Diagram (CCD)

ControlCouplingStructureChart Caller rvdt_setPowerEnable() [Low-Level Device Drivers] Target writeRvdtReg() [Low-Level Driver Helper] Caller:s->Target:n l_t0->l_b0   rvdtDevHdl (Flag) l_t1->l_b1   enable (Flag) r_b0->r_t0   statusCode (DriverStatus)
Control Coupling Structure Chart

Data Coupling Diagram (DCD)

DataCouplingStructureChart Caller rvdt_setPowerEnable() [Low-Level Device Drivers] Target writeRvdtReg() [Low-Level Driver Helper] Caller:s->Target:n l_t0->l_b0   rvdtDevHdl (Payload) l_t1->l_b1   enable (Payload) r_b0->r_t0   stateTelemetry (Internal State)
Data Coupling Structure Chart

Control Flow Diagram (CFD)

cfd_rvdt_setPowerEnable start Entry: rvdt_setPowerEnable() guard_1 LLR_01: Guard Check Is `enable` is equal to `FALSE`? start->guard_1 err_exit_1 LLR_01 Error Exit execute conditional operational branch guard_1->err_exit_1 YES (TRUE) guard_2 LLR_02: Guard Check Is a driver operation reports a failure status other than DRV_SUCCESS? guard_1->guard_2 err_exit_2 LLR_02 Error Exit abort processing and return `retStatus` guard_2->err_exit_2 YES (TRUE) act_3 LLR_03: Action Step write the RVDT module device block members memory offset (RVDT_EN_PWR) at physical offset `0x0000` (`MMAP_RVDT_EN_PWR`) using `writeRvdtReg()` guard_2->act_3 NO (FALSE) success_exit LLR_04: Final Exit return `DRV_SUCCESS` act_3->success_exit
Control Flow Diagram

Data Flow Diagram (DFD)

dfd_rvdt_setPowerEnable in_store Input Data Sources & Parameters • rvdtDevHdl (const RvdtDevHandler) • enable (const Bool) proc_1 LLR_01: Data Validation Check • Evaluate Parameter / State: enable in_store->proc_1 Validated Input Data proc_2 LLR_02: Data Validation Check • Evaluate Parameter / State: retStatus proc_1->proc_2 Validated Input Data proc_3 LLR_03: Data Payload Transformation • Process payload via writeRvdtReg() proc_2->proc_3 Data Payload (writeRvdtReg) proc_4 LLR_04: Status Output Packaging • Format Return Payload: DriverStatus proc_3->proc_4 Final Output Data out_sink Output Data Sinks & Status Return • Status Payload (DriverStatus) proc_4->out_sink Output Data & Status Code
Data Flow Diagram
Here is the call graph for this function:
rvdt_setPowerEnable Node1 rvdt_setPowerEnable Node1->Node1 Node2 writeRvdtReg Node1->Node2 Node2->Node2 Node3 interDrv_Write32 Node2->Node3 Node3->Node3 Node4 interDrv_isAddressValid Node3->Node4 Node5 memoryMap_Write32 Node3->Node5 Node4->Node4 Node5->Node5
Here is the caller graph for this function:
rvdt_setPowerEnable Node1 rvdt_setPowerEnable Node1->Node1 Node2 modRvdt_SenseDisable Node1->Node2 Node7 modRvdt_SenseEnable Node1->Node7 Node2->Node2 Node3 modRvdt_initReset Node2->Node3 Node3->Node3 Node4 modConfig_init Node3->Node4 Node5 modConfig_reset Node3->Node5 Node4->Node4 Node5->Node5 Node6 modConfig_close Node5->Node6 Node6->Node6 Node7->Node7

◆ rvdt_setRefConfigCommand()

DriverStatus rvdt_setRefConfigCommand ( const RvdtDevHandler rvdtDevHdl)

rvdt_setRefConfigCommand.

Set reference configure command.

Parameters
[in]rvdtDevHdlThe RVDT device handler.
Returns
DriverStatus - Driver status return code, If no error occurs during the operation of the function, it returns DRV_SUCCESS. Otherwise related error message is returned.
Return values
DRV_SUCCESS: Success.
DRV_WRITE_FAILED: Failed to write to the device or module.
DRV_READ_FAILED: Failed to read from the device or module.
DRV_INVALID_PARAM: The provided address pointer is invalid.

Low-Level Software Requirements (LLR)

Low-Level Requirement Specification: rvdt_setRefConfigCommand

Requirement ID Parent HLR ID Detailed Low-Level Requirement Statement (EARS Format) Software Unit Reference Verification Method Status
LLR_RVDT_RVDT_SETREFCONFIGCOMMAND_01 HLR_RVDT_16937 WHEN a driver operation reports a failure status other than DRV_SUCCESS, the rvdt_setRefConfigCommand() function SHALL abort processing and return that driver failure status. rvdt.c:rvdt_setRefConfigCommand() Test Closed
LLR_RVDT_RVDT_SETREFCONFIGCOMMAND_02 HLR_RVDT_16937 WHEN preconditions are satisfied, the rvdt_setRefConfigCommand() function SHALL read the RVDT module device block members memory offset (RVDT_CONTROL_CMD) at physical offset 0x0258 (MMAP_RVDT_CONTROL_CMD) using readRvdtReg(). rvdt.c:rvdt_setRefConfigCommand() Test Closed
LLR_RVDT_RVDT_SETREFCONFIGCOMMAND_03 HLR_RVDT_16937 WHEN preconditions are satisfied, the rvdt_setRefConfigCommand() function SHALL invoke bitwise routine TOGGLE_BIT() to update hardware control bit in register payload. rvdt.c:rvdt_setRefConfigCommand() Test Closed
LLR_RVDT_RVDT_SETREFCONFIGCOMMAND_04 HLR_RVDT_16937 WHEN preconditions are satisfied, the rvdt_setRefConfigCommand() function SHALL write the RVDT module device block members memory offset (RVDT_CONTROL_CMD) at physical offset 0x0258 (MMAP_RVDT_CONTROL_CMD) using writeRvdtReg(). rvdt.c:rvdt_setRefConfigCommand() Test Closed
LLR_RVDT_RVDT_SETREFCONFIGCOMMAND_05 HLR_RVDT_16937 WHEN all operational processing completes successfully, the rvdt_setRefConfigCommand() function SHALL return DRV_SUCCESS. rvdt.c:rvdt_setRefConfigCommand() Test Closed

Control Coupling Diagram (CCD)

ControlCouplingStructureChart Caller rvdt_setRefConfigCommand() [Low-Level Device Drivers] Target readRvdtReg() [Low-Level Driver Helper] Caller:s->Target:n l_t0->l_b0   rvdtDevHdl (Flag) r_b0->r_t0   statusCode (DriverStatus)
Control Coupling Structure Chart

Data Coupling Diagram (DCD)

DataCouplingStructureChart Caller rvdt_setRefConfigCommand() [Low-Level Device Drivers] Target readRvdtReg() [Low-Level Driver Helper] Caller:s->Target:n l_t0->l_b0   rvdtDevHdl (Payload) r_b0->r_t0   stateTelemetry (Internal State)
Data Coupling Structure Chart

Control Flow Diagram (CFD)

cfd_rvdt_setRefConfigCommand start Entry: rvdt_setRefConfigCommand() guard_1 LLR_01: Guard Check Is a driver operation reports a failure status other than DRV_SUCCESS? start->guard_1 err_exit_1 LLR_01 Error Exit abort processing and return `retStatus` guard_1->err_exit_1 YES (TRUE) act_2 LLR_02: Action Step read the RVDT module device block members memory offset (RVDT_CONTROL_CMD) at physical offset `0x0258` (`MMAP_RVDT_CONTROL_CMD`) using `readRvdtReg()` guard_1->act_2 NO (FALSE) act_3 LLR_03: Action Step invoke bitwise routine `TOGGLE_BIT()` to update hardware control bit in register payload act_2->act_3 act_4 LLR_04: Action Step write the RVDT module device block members memory offset (RVDT_CONTROL_CMD) at physical offset `0x0258` (`MMAP_RVDT_CONTROL_CMD`) using `writeRvdtReg()` act_3->act_4 success_exit LLR_05: Final Exit return `DRV_SUCCESS` act_4->success_exit
Control Flow Diagram

Data Flow Diagram (DFD)

dfd_rvdt_setRefConfigCommand in_store Input Data Sources & Parameters • rvdtDevHdl (const RvdtDevHandler) proc_1 LLR_01: Data Validation Check • Evaluate Parameter / State: retStatus in_store->proc_1 Validated Input Data proc_2 LLR_02: Data Payload Transformation • Process payload via readRvdtReg() proc_1->proc_2 Data Payload (readRvdtReg) proc_3 LLR_03: Data Payload Transformation • Process payload via TOGGLE_BIT() proc_2->proc_3 Data Payload (TOGGLE_BIT) proc_4 LLR_04: Data Payload Transformation • Process payload via writeRvdtReg() proc_3->proc_4 Data Payload (writeRvdtReg) proc_5 LLR_05: Status Output Packaging • Format Return Payload: DriverStatus proc_4->proc_5 Final Output Data out_sink Output Data Sinks & Status Return • Status Payload (DriverStatus) proc_5->out_sink Output Data & Status Code
Data Flow Diagram
Here is the call graph for this function:
rvdt_setRefConfigCommand Node1 rvdt_setRefConfigCommand Node1->Node1 Node2 readRvdtReg Node1->Node2 Node6 writeRvdtReg Node1->Node6 Node2->Node2 Node3 interDrv_Read32 Node2->Node3 Node3->Node3 Node4 interDrv_isAddressValid Node3->Node4 Node5 memoryMap_Read32 Node3->Node5 Node4->Node4 Node5->Node5 Node6->Node6 Node7 interDrv_Write32 Node6->Node7 Node7->Node4 Node7->Node7 Node8 memoryMap_Write32 Node7->Node8 Node8->Node8
Here is the caller graph for this function:
rvdt_setRefConfigCommand Node1 rvdt_setRefConfigCommand Node1->Node1 Node2 modRvdt_SetRefConfig Node1->Node2 Node2->Node2

◆ rvdt_setRefWaveEnable()

DriverStatus rvdt_setRefWaveEnable ( const RvdtDevHandler rvdtDevHdl,
const Bool enable )

rvdt_setRefWaveEnable.

Set RVDT reference waveform enable.

Parameters
[in]rvdtDevHdlThe RVDT device handler.
[in]enableThe flag to enable or disable.
Returns
DriverStatus - Driver status return code, If no error occurs during the operation of the function, it returns DRV_SUCCESS. Otherwise related error message is returned.
Return values
DRV_SUCCESS: Success.
DRV_WRITE_FAILED: Failed to write to the device or module.
DRV_READ_FAILED: Failed to read from the device or module.
DRV_INVALID_PARAM: The provided address pointer is invalid.

Low-Level Software Requirements (LLR)

Low-Level Requirement Specification: rvdt_setRefWaveEnable

Requirement ID Parent HLR ID Detailed Low-Level Requirement Statement (EARS Format) Software Unit Reference Verification Method Status
LLR_RVDT_RVDT_SETREFWAVEENABLE_01 HLR_RVDT_16938 WHEN invoked, the rvdt_setRefWaveEnable() function SHALL read the current reference enable register MMAP_RVDT_EN_REF using readRvdtReg(). rvdt.c:rvdt_setRefWaveEnable() Test Closed
LLR_RVDT_RVDT_SETREFWAVEENABLE_02 HLR_RVDT_16938 WHEN the register read operation fails (status not equal to DRV_SUCCESS), the rvdt_setRefWaveEnable() function SHALL abort processing and return that failure status. rvdt.c:rvdt_setRefWaveEnable() Test Closed
LLR_RVDT_RVDT_SETREFWAVEENABLE_03 HLR_RVDT_16938 WHEN enable is FALSE, the rvdt_setRefWaveEnable() function SHALL disable reference waveform generation by clearing bit 0 in register MMAP_RVDT_EN_REF. rvdt.c:rvdt_setRefWaveEnable() Test Closed
LLR_RVDT_RVDT_SETREFWAVEENABLE_04 HLR_RVDT_16938 WHEN enable is TRUE, the rvdt_setRefWaveEnable() function SHALL enable reference waveform generation by setting bit 0 in register MMAP_RVDT_EN_REF. rvdt.c:rvdt_setRefWaveEnable() Test Closed
LLR_RVDT_RVDT_SETREFWAVEENABLE_05 HLR_RVDT_16938 WHEN reference waveform control bit is updated, the rvdt_setRefWaveEnable() function SHALL write back the modified register value using writeRvdtReg(). rvdt.c:rvdt_setRefWaveEnable() Test Closed
LLR_RVDT_RVDT_SETREFWAVEENABLE_06 HLR_RVDT_16938 WHEN all operational processing completes successfully, the rvdt_setRefWaveEnable() function SHALL return DRV_SUCCESS. rvdt.c:rvdt_setRefWaveEnable() Test Closed

Control Coupling Diagram (CCD)

ControlCouplingStructureChart Caller rvdt_setRefWaveEnable() [Low-Level Device Drivers] Target readRvdtReg() [Low-Level Driver Helper] Caller:s->Target:n l_t0->l_b0   rvdtDevHdl (Flag) l_t1->l_b1   enable (Flag) r_b0->r_t0   statusCode (DriverStatus)
Control Coupling Structure Chart

Data Coupling Diagram (DCD)

DataCouplingStructureChart Caller rvdt_setRefWaveEnable() [Low-Level Device Drivers] Target readRvdtReg() [Low-Level Driver Helper] Caller:s->Target:n l_t0->l_b0   rvdtDevHdl (Payload) l_t1->l_b1   enable (Payload) r_b0->r_t0   stateTelemetry (Internal State)
Data Coupling Structure Chart

Control Flow Diagram (CFD)

cfd_rvdt_setRefWaveEnable start Entry: rvdt_setRefWaveEnable() guard_1 LLR_01: Guard Check Is a driver operation reports a failure status other than DRV_SUCCESS? start->guard_1 err_exit_1 LLR_01 Error Exit abort processing and return `retStatus` guard_1->err_exit_1 YES (TRUE) guard_2 LLR_02: Guard Check Is `enable` is equal to `FALSE`? guard_1->guard_2 err_exit_2 LLR_02 Error Exit execute conditional operational branch guard_2->err_exit_2 YES (TRUE) act_3 LLR_03: Action Step read the RVDT module device block members memory offset (RVDT_EN_REF) at physical offset `0x0004` (`MMAP_RVDT_EN_REF`) using `readRvdtReg()` guard_2->act_3 NO (FALSE) act_4 LLR_04: Action Step write the RVDT module device block members memory offset (RVDT_EN_REF) at physical offset `0x0004` (`MMAP_RVDT_EN_REF`) using `writeRvdtReg()` act_3->act_4 success_exit LLR_05: Final Exit return `DRV_SUCCESS` act_4->success_exit
Control Flow Diagram

Data Flow Diagram (DFD)

dfd_rvdt_setRefWaveEnable in_store Input Data Sources & Parameters • rvdtDevHdl (const RvdtDevHandler) • enable (const Bool) proc_1 LLR_01: Data Validation Check • Evaluate Parameter / State: retStatus in_store->proc_1 Validated Input Data proc_2 LLR_02: Data Validation Check • Evaluate Parameter / State: enable proc_1->proc_2 Validated Input Data proc_3 LLR_03: Data Payload Transformation • Process payload via readRvdtReg() proc_2->proc_3 Data Payload (readRvdtReg) proc_4 LLR_04: Data Payload Transformation • Process payload via writeRvdtReg() proc_3->proc_4 Data Payload (writeRvdtReg) proc_5 LLR_05: Status Output Packaging • Format Return Payload: DriverStatus proc_4->proc_5 Final Output Data out_sink Output Data Sinks & Status Return • Status Payload (DriverStatus) proc_5->out_sink Output Data & Status Code
Data Flow Diagram
Here is the call graph for this function:
rvdt_setRefWaveEnable Node1 rvdt_setRefWaveEnable Node1->Node1 Node2 readRvdtReg Node1->Node2 Node6 writeRvdtReg Node1->Node6 Node2->Node2 Node3 interDrv_Read32 Node2->Node3 Node3->Node3 Node4 interDrv_isAddressValid Node3->Node4 Node5 memoryMap_Read32 Node3->Node5 Node4->Node4 Node5->Node5 Node6->Node6 Node7 interDrv_Write32 Node6->Node7 Node7->Node4 Node7->Node7 Node8 memoryMap_Write32 Node7->Node8 Node8->Node8
Here is the caller graph for this function:
rvdt_setRefWaveEnable Node1 rvdt_setRefWaveEnable Node1->Node1 Node2 modRvdt_RefDisable Node1->Node2 Node7 modRvdt_RefEnable Node1->Node7 Node2->Node2 Node3 modRvdt_initReset Node2->Node3 Node3->Node3 Node4 modConfig_init Node3->Node4 Node5 modConfig_reset Node3->Node5 Node4->Node4 Node5->Node5 Node6 modConfig_close Node5->Node6 Node6->Node6 Node7->Node7

◆ rvdt_setS1s2Config()

DriverStatus rvdt_setS1s2Config ( const RvdtDevHandler rvdtDevHdl,
const UInt8 vcmBias )

rvdt_setS1s2Config.

Set RVDT s1 and s2 configuration.

Parameters
[in]rvdtDevHdlThe RVDT device handler.
[in]vcmBiasThe vcm bias value (0 - 3).
Returns
DriverStatus - Driver status return code, If no error occurs during the operation of the function, it returns DRV_SUCCESS. Otherwise related error message is returned.
Return values
DRV_SUCCESS: Success.
DRV_WRITE_FAILED: Failed to write to the device or module.
DRV_READ_FAILED: Failed to read from the device or module.
DRV_INVALID_VALUE: The vcmBias value exceed limit.
DRV_INVALID_PARAM: The provided address pointer is invalid.

Low-Level Software Requirements (LLR)

Low-Level Requirement Specification: rvdt_setS1s2Config

Requirement ID Parent HLR ID Detailed Low-Level Requirement Statement (EARS Format) Software Unit Reference Verification Method Status
LLR_RVDT_RVDT_SETS1S2CONFIG_01 HLR_RVDT_18870 WHEN vcmBias is greater than RVDT_MAX_VCM_BIAS, the rvdt_setS1s2Config() function SHALL abort processing and return DRV_INVALID_VALUE. rvdt.c:rvdt_setS1s2Config() Test Closed
LLR_RVDT_RVDT_SETS1S2CONFIG_02 HLR_RVDT_18870 WHEN a driver operation reports a failure status other than DRV_SUCCESS, the rvdt_setS1s2Config() function SHALL abort processing and return that driver failure status. rvdt.c:rvdt_setS1s2Config() Test Closed
LLR_RVDT_RVDT_SETS1S2CONFIG_03 HLR_RVDT_18870 WHEN preconditions are satisfied, the rvdt_setS1s2Config() function SHALL read the RVDT module device block members memory offset (RVDT_EN_SENSE) at physical offset 0x000C (MMAP_RVDT_EN_SENSE) using readRvdtReg(). rvdt.c:rvdt_setS1s2Config() Test Closed
LLR_RVDT_RVDT_SETS1S2CONFIG_04 HLR_RVDT_18870 WHEN preconditions are satisfied, the rvdt_setS1s2Config() function SHALL write the RVDT module device block members memory offset (RVDT_EN_SENSE) at physical offset 0x000C (MMAP_RVDT_EN_SENSE) using writeRvdtReg(). rvdt.c:rvdt_setS1s2Config() Test Closed
LLR_RVDT_RVDT_SETS1S2CONFIG_05 HLR_RVDT_18870 WHEN all operational processing completes successfully, the rvdt_setS1s2Config() function SHALL return DRV_SUCCESS. rvdt.c:rvdt_setS1s2Config() Test Closed

Control Coupling Diagram (CCD)

ControlCouplingStructureChart Caller rvdt_setS1s2Config() [Low-Level Device Drivers] Target readRvdtReg() [Low-Level Driver Helper] Caller:s->Target:n l_t0->l_b0   rvdtDevHdl (Flag) l_t1->l_b1   vcmBias (Flag) r_b0->r_t0   statusCode (DriverStatus)
Control Coupling Structure Chart

Data Coupling Diagram (DCD)

DataCouplingStructureChart Caller rvdt_setS1s2Config() [Low-Level Device Drivers] Target readRvdtReg() [Low-Level Driver Helper] Caller:s->Target:n l_t0->l_b0   rvdtDevHdl (Payload) l_t1->l_b1   vcmBias (Payload) r_b0->r_t0   stateTelemetry (Internal State)
Data Coupling Structure Chart

Control Flow Diagram (CFD)

cfd_rvdt_setS1s2Config start Entry: rvdt_setS1s2Config() guard_1 LLR_01: Guard Check Is `vcmBias` is greater than `RVDT_MAX_VCM_BIAS`? start->guard_1 err_exit_1 LLR_01 Error Exit abort processing and return `DRV_INVALID_VALUE` guard_1->err_exit_1 YES (TRUE) guard_2 LLR_02: Guard Check Is a driver operation reports a failure status other than DRV_SUCCESS? guard_1->guard_2 err_exit_2 LLR_02 Error Exit abort processing and return `retStatus` guard_2->err_exit_2 YES (TRUE) act_3 LLR_03: Action Step read the RVDT module device block members memory offset (RVDT_EN_SENSE) at physical offset `0x000C` (`MMAP_RVDT_EN_SENSE`) using `readRvdtReg()` guard_2->act_3 NO (FALSE) act_4 LLR_04: Action Step write the RVDT module device block members memory offset (RVDT_EN_SENSE) at physical offset `0x000C` (`MMAP_RVDT_EN_SENSE`) using `writeRvdtReg()` act_3->act_4 success_exit LLR_05: Final Exit return `DRV_SUCCESS` act_4->success_exit
Control Flow Diagram

Data Flow Diagram (DFD)

dfd_rvdt_setS1s2Config in_store Input Data Sources & Parameters • rvdtDevHdl (const RvdtDevHandler) • vcmBias (const UInt8) proc_1 LLR_01: Data Validation Check • Evaluate Parameter / State: vcmBias in_store->proc_1 Validated Input Data proc_2 LLR_02: Data Validation Check • Evaluate Parameter / State: retStatus proc_1->proc_2 Validated Input Data proc_3 LLR_03: Data Payload Transformation • Process payload via readRvdtReg() proc_2->proc_3 Data Payload (readRvdtReg) proc_4 LLR_04: Data Payload Transformation • Process payload via writeRvdtReg() proc_3->proc_4 Data Payload (writeRvdtReg) proc_5 LLR_05: Status Output Packaging • Format Return Payload: DriverStatus proc_4->proc_5 Final Output Data out_sink Output Data Sinks & Status Return • Status Payload (DriverStatus) proc_5->out_sink Output Data & Status Code
Data Flow Diagram
Here is the call graph for this function:
rvdt_setS1s2Config Node1 rvdt_setS1s2Config Node1->Node1 Node2 readRvdtReg Node1->Node2 Node6 writeRvdtReg Node1->Node6 Node2->Node2 Node3 interDrv_Read32 Node2->Node3 Node3->Node3 Node4 interDrv_isAddressValid Node3->Node4 Node5 memoryMap_Read32 Node3->Node5 Node4->Node4 Node5->Node5 Node6->Node6 Node7 interDrv_Write32 Node6->Node7 Node7->Node4 Node7->Node7 Node8 memoryMap_Write32 Node7->Node8 Node8->Node8
Here is the caller graph for this function:
rvdt_setS1s2Config Node1 rvdt_setS1s2Config Node1->Node1 Node2 modRvdt_SetSenseConfig Node1->Node2 Node2->Node2

◆ rvdt_setSenseConfigCommand()

DriverStatus rvdt_setSenseConfigCommand ( const RvdtDevHandler rvdtDevHdl)

rvdt_setSenseConfigCommand.

Set sense configure command.

Parameters
[in]rvdtDevHdlThe RVDT device handler.
Returns
DriverStatus - Driver status return code, If no error occurs during the operation of the function, it returns DRV_SUCCESS. Otherwise related error message is returned.
Return values
DRV_SUCCESS: Success.
DRV_WRITE_FAILED: Failed to write to the device or module.
DRV_READ_FAILED: Failed to read from the device or module.
DRV_INVALID_PARAM: The provided address pointer is invalid.

Low-Level Software Requirements (LLR)

Low-Level Requirement Specification: rvdt_setSenseConfigCommand

Requirement ID Parent HLR ID Detailed Low-Level Requirement Statement (EARS Format) Software Unit Reference Verification Method Status
LLR_RVDT_RVDT_SETSENSECONFIGCOMMAND_01 HLR_RVDT_16940 WHEN a driver operation reports a failure status other than DRV_SUCCESS, the rvdt_setSenseConfigCommand() function SHALL abort processing and return that driver failure status. rvdt.c:rvdt_setSenseConfigCommand() Test Closed
LLR_RVDT_RVDT_SETSENSECONFIGCOMMAND_02 HLR_RVDT_16940 WHEN preconditions are satisfied, the rvdt_setSenseConfigCommand() function SHALL read the RVDT module device block members memory offset (RVDT_CONTROL_CMD) at physical offset 0x0258 (MMAP_RVDT_CONTROL_CMD) using readRvdtReg(). rvdt.c:rvdt_setSenseConfigCommand() Test Closed
LLR_RVDT_RVDT_SETSENSECONFIGCOMMAND_03 HLR_RVDT_16940 WHEN preconditions are satisfied, the rvdt_setSenseConfigCommand() function SHALL invoke bitwise routine TOGGLE_BIT() to update hardware control bit in register payload. rvdt.c:rvdt_setSenseConfigCommand() Test Closed
LLR_RVDT_RVDT_SETSENSECONFIGCOMMAND_04 HLR_RVDT_16940 WHEN preconditions are satisfied, the rvdt_setSenseConfigCommand() function SHALL write the RVDT module device block members memory offset (RVDT_CONTROL_CMD) at physical offset 0x0258 (MMAP_RVDT_CONTROL_CMD) using writeRvdtReg(). rvdt.c:rvdt_setSenseConfigCommand() Test Closed
LLR_RVDT_RVDT_SETSENSECONFIGCOMMAND_05 HLR_RVDT_16940 WHEN all operational processing completes successfully, the rvdt_setSenseConfigCommand() function SHALL return DRV_SUCCESS. rvdt.c:rvdt_setSenseConfigCommand() Test Closed

Control Coupling Diagram (CCD)

ControlCouplingStructureChart Caller rvdt_setSenseConfigCommand() [Low-Level Device Drivers] Target readRvdtReg() [Low-Level Driver Helper] Caller:s->Target:n l_t0->l_b0   rvdtDevHdl (Flag) r_b0->r_t0   statusCode (DriverStatus)
Control Coupling Structure Chart

Data Coupling Diagram (DCD)

DataCouplingStructureChart Caller rvdt_setSenseConfigCommand() [Low-Level Device Drivers] Target readRvdtReg() [Low-Level Driver Helper] Caller:s->Target:n l_t0->l_b0   rvdtDevHdl (Payload) r_b0->r_t0   stateTelemetry (Internal State)
Data Coupling Structure Chart

Control Flow Diagram (CFD)

cfd_rvdt_setSenseConfigCommand start Entry: rvdt_setSenseConfigCommand() guard_1 LLR_01: Guard Check Is a driver operation reports a failure status other than DRV_SUCCESS? start->guard_1 err_exit_1 LLR_01 Error Exit abort processing and return `retStatus` guard_1->err_exit_1 YES (TRUE) act_2 LLR_02: Action Step read the RVDT module device block members memory offset (RVDT_CONTROL_CMD) at physical offset `0x0258` (`MMAP_RVDT_CONTROL_CMD`) using `readRvdtReg()` guard_1->act_2 NO (FALSE) act_3 LLR_03: Action Step invoke bitwise routine `TOGGLE_BIT()` to update hardware control bit in register payload act_2->act_3 act_4 LLR_04: Action Step write the RVDT module device block members memory offset (RVDT_CONTROL_CMD) at physical offset `0x0258` (`MMAP_RVDT_CONTROL_CMD`) using `writeRvdtReg()` act_3->act_4 success_exit LLR_05: Final Exit return `DRV_SUCCESS` act_4->success_exit
Control Flow Diagram

Data Flow Diagram (DFD)

dfd_rvdt_setSenseConfigCommand in_store Input Data Sources & Parameters • rvdtDevHdl (const RvdtDevHandler) proc_1 LLR_01: Data Validation Check • Evaluate Parameter / State: retStatus in_store->proc_1 Validated Input Data proc_2 LLR_02: Data Payload Transformation • Process payload via readRvdtReg() proc_1->proc_2 Data Payload (readRvdtReg) proc_3 LLR_03: Data Payload Transformation • Process payload via TOGGLE_BIT() proc_2->proc_3 Data Payload (TOGGLE_BIT) proc_4 LLR_04: Data Payload Transformation • Process payload via writeRvdtReg() proc_3->proc_4 Data Payload (writeRvdtReg) proc_5 LLR_05: Status Output Packaging • Format Return Payload: DriverStatus proc_4->proc_5 Final Output Data out_sink Output Data Sinks & Status Return • Status Payload (DriverStatus) proc_5->out_sink Output Data & Status Code
Data Flow Diagram
Here is the call graph for this function:
rvdt_setSenseConfigCommand Node1 rvdt_setSenseConfigCommand Node1->Node1 Node2 readRvdtReg Node1->Node2 Node6 writeRvdtReg Node1->Node6 Node2->Node2 Node3 interDrv_Read32 Node2->Node3 Node3->Node3 Node4 interDrv_isAddressValid Node3->Node4 Node5 memoryMap_Read32 Node3->Node5 Node4->Node4 Node5->Node5 Node6->Node6 Node7 interDrv_Write32 Node6->Node7 Node7->Node4 Node7->Node7 Node8 memoryMap_Write32 Node7->Node8 Node8->Node8
Here is the caller graph for this function:
rvdt_setSenseConfigCommand Node1 rvdt_setSenseConfigCommand Node1->Node1 Node2 modRvdt_SetSenseConfig Node1->Node2 Node2->Node2

◆ rvdt_setSenseEnable()

DriverStatus rvdt_setSenseEnable ( const RvdtDevHandler rvdtDevHdl,
const Bool enable )

rvdt_setSenseEnable.

Set RVDT sense enable or disable.

Parameters
[in]rvdtDevHdlThe RVDT device handler.
[in]enableThe flag to enable or disable.
Returns
DriverStatus - Driver status return code, If no error occurs during the operation of the function, it returns DRV_SUCCESS. Otherwise related error message is returned.
Return values
DRV_SUCCESS: Success.
DRV_WRITE_FAILED: Failed to write to the device or module.
DRV_READ_FAILED: Failed to read from the device or module.
DRV_INVALID_PARAM: The provided address pointer is invalid.

Low-Level Software Requirements (LLR)

Low-Level Requirement Specification: rvdt_setSenseEnable

Requirement ID Parent HLR ID Detailed Low-Level Requirement Statement (EARS Format) Software Unit Reference Verification Method Status
LLR_RVDT_RVDT_SETSENSEENABLE_01 HLR_RVDT_16942 WHEN invoked, the rvdt_setSenseEnable() function SHALL read the current demodulator control register MMAP_RVDT_CONTROL_CMD using readRvdtReg(). rvdt.c:rvdt_setSenseEnable() Test Closed
LLR_RVDT_RVDT_SETSENSEENABLE_02 HLR_RVDT_16942 WHEN the register read operation fails (status not equal to DRV_SUCCESS), the rvdt_setSenseEnable() function SHALL abort processing and return that failure status. rvdt.c:rvdt_setSenseEnable() Test Closed
LLR_RVDT_RVDT_SETSENSEENABLE_03 HLR_RVDT_16942 WHEN enable is FALSE, the rvdt_setSenseEnable() function SHALL disable demodulator sense by clearing bit 1 in register MMAP_RVDT_CONTROL_CMD. rvdt.c:rvdt_setSenseEnable() Test Closed
LLR_RVDT_RVDT_SETSENSEENABLE_04 HLR_RVDT_16942 WHEN enable is TRUE, the rvdt_setSenseEnable() function SHALL enable demodulator sense by setting bit 1 in register MMAP_RVDT_CONTROL_CMD. rvdt.c:rvdt_setSenseEnable() Test Closed
LLR_RVDT_RVDT_SETSENSEENABLE_05 HLR_RVDT_16942 WHEN demodulator sense bit is updated, the rvdt_setSenseEnable() function SHALL write back the modified register value using writeRvdtReg(). rvdt.c:rvdt_setSenseEnable() Test Closed
LLR_RVDT_RVDT_SETSENSEENABLE_06 HLR_RVDT_16942 WHEN all operational processing completes successfully, the rvdt_setSenseEnable() function SHALL return DRV_SUCCESS. rvdt.c:rvdt_setSenseEnable() Test Closed

Control Coupling Diagram (CCD)

ControlCouplingStructureChart Caller rvdt_setSenseEnable() [Low-Level Device Drivers] Target readRvdtReg() [Low-Level Driver Helper] Caller:s->Target:n l_t0->l_b0   rvdtDevHdl (Flag) l_t1->l_b1   enable (Flag) r_b0->r_t0   statusCode (DriverStatus)
Control Coupling Structure Chart

Data Coupling Diagram (DCD)

DataCouplingStructureChart Caller rvdt_setSenseEnable() [Low-Level Device Drivers] Target readRvdtReg() [Low-Level Driver Helper] Caller:s->Target:n l_t0->l_b0   rvdtDevHdl (Payload) l_t1->l_b1   enable (Payload) r_b0->r_t0   stateTelemetry (Internal State)
Data Coupling Structure Chart

Control Flow Diagram (CFD)

cfd_rvdt_setSenseEnable start Entry: rvdt_setSenseEnable() guard_1 LLR_01: Guard Check Is a driver operation reports a failure status other than DRV_SUCCESS? start->guard_1 err_exit_1 LLR_01 Error Exit abort processing and return `retStatus` guard_1->err_exit_1 YES (TRUE) guard_2 LLR_02: Guard Check Is `enable` is equal to `FALSE`? guard_1->guard_2 err_exit_2 LLR_02 Error Exit execute conditional operational branch guard_2->err_exit_2 YES (TRUE) act_3 LLR_03: Action Step read the RVDT module device block members memory offset (RVDT_CONTROL_CMD) at physical offset `0x0258` (`MMAP_RVDT_CONTROL_CMD`) using `readRvdtReg()` guard_2->act_3 NO (FALSE) act_4 LLR_04: Action Step write the RVDT module device block members memory offset (RVDT_CONTROL_CMD) at physical offset `0x0258` (`MMAP_RVDT_CONTROL_CMD`) using `writeRvdtReg()` act_3->act_4 success_exit LLR_05: Final Exit return `DRV_SUCCESS` act_4->success_exit
Control Flow Diagram

Data Flow Diagram (DFD)

dfd_rvdt_setSenseEnable in_store Input Data Sources & Parameters • rvdtDevHdl (const RvdtDevHandler) • enable (const Bool) proc_1 LLR_01: Data Validation Check • Evaluate Parameter / State: retStatus in_store->proc_1 Validated Input Data proc_2 LLR_02: Data Validation Check • Evaluate Parameter / State: enable proc_1->proc_2 Validated Input Data proc_3 LLR_03: Data Payload Transformation • Process payload via readRvdtReg() proc_2->proc_3 Data Payload (readRvdtReg) proc_4 LLR_04: Data Payload Transformation • Process payload via writeRvdtReg() proc_3->proc_4 Data Payload (writeRvdtReg) proc_5 LLR_05: Status Output Packaging • Format Return Payload: DriverStatus proc_4->proc_5 Final Output Data out_sink Output Data Sinks & Status Return • Status Payload (DriverStatus) proc_5->out_sink Output Data & Status Code
Data Flow Diagram
Here is the call graph for this function:
rvdt_setSenseEnable Node1 rvdt_setSenseEnable Node1->Node1 Node2 readRvdtReg Node1->Node2 Node6 writeRvdtReg Node1->Node6 Node2->Node2 Node3 interDrv_Read32 Node2->Node3 Node3->Node3 Node4 interDrv_isAddressValid Node3->Node4 Node5 memoryMap_Read32 Node3->Node5 Node4->Node4 Node5->Node5 Node6->Node6 Node7 interDrv_Write32 Node6->Node7 Node7->Node4 Node7->Node7 Node8 memoryMap_Write32 Node7->Node8 Node8->Node8
Here is the caller graph for this function:
rvdt_setSenseEnable Node1 rvdt_setSenseEnable Node1->Node1 Node2 modRvdt_SenseDisable Node1->Node2 Node7 modRvdt_SenseEnable Node1->Node7 Node2->Node2 Node3 modRvdt_initReset Node2->Node3 Node3->Node3 Node4 modConfig_init Node3->Node4 Node5 modConfig_reset Node3->Node5 Node4->Node4 Node5->Node5 Node6 modConfig_close Node5->Node6 Node6->Node6 Node7->Node7

◆ rvdt_setSenseFilterCommand()

DriverStatus rvdt_setSenseFilterCommand ( const RvdtDevHandler rvdtDevHdl)

rvdt_setSenseFilterCommand

Set sense filter command.

Parameters
[in]rvdtDevHdlThe RVDT device handler.
Returns
DriverStatus - Driver status return code, If no error occurs during the operation of the function, it returns DRV_SUCCESS. Otherwise related error message is returned.
Return values
DRV_SUCCESS: Success.
DRV_WRITE_FAILED: Failed to write to the device or module.
DRV_READ_FAILED: Failed to read from the device or module.
DRV_INVALID_PARAM: The provided address pointer is invalid.

Low-Level Software Requirements (LLR)

Low-Level Requirement Specification: rvdt_setSenseFilterCommand

Requirement ID Parent HLR ID Detailed Low-Level Requirement Statement (EARS Format) Software Unit Reference Verification Method Status
LLR_RVDT_RVDT_SETSENSEFILTERCOMMAND_01 HLR_RVDT_18873 WHEN a driver operation reports a failure status other than DRV_SUCCESS, the rvdt_setSenseFilterCommand() function SHALL abort processing and return that driver failure status. rvdt.c:rvdt_setSenseFilterCommand() Test Closed
LLR_RVDT_RVDT_SETSENSEFILTERCOMMAND_02 HLR_RVDT_18873 WHEN preconditions are satisfied, the rvdt_setSenseFilterCommand() function SHALL read the RVDT module device block members memory offset (RVDT_CONTROL_CMD) at physical offset 0x0258 (MMAP_RVDT_CONTROL_CMD) using readRvdtReg(). rvdt.c:rvdt_setSenseFilterCommand() Test Closed
LLR_RVDT_RVDT_SETSENSEFILTERCOMMAND_03 HLR_RVDT_18873 WHEN preconditions are satisfied, the rvdt_setSenseFilterCommand() function SHALL invoke bitwise routine TOGGLE_BIT() to update hardware control bit in register payload. rvdt.c:rvdt_setSenseFilterCommand() Test Closed
LLR_RVDT_RVDT_SETSENSEFILTERCOMMAND_04 HLR_RVDT_18873 WHEN preconditions are satisfied, the rvdt_setSenseFilterCommand() function SHALL write the RVDT module device block members memory offset (RVDT_CONTROL_CMD) at physical offset 0x0258 (MMAP_RVDT_CONTROL_CMD) using writeRvdtReg(). rvdt.c:rvdt_setSenseFilterCommand() Test Closed
LLR_RVDT_RVDT_SETSENSEFILTERCOMMAND_05 HLR_RVDT_18873 WHEN all operational processing completes successfully, the rvdt_setSenseFilterCommand() function SHALL return DRV_SUCCESS. rvdt.c:rvdt_setSenseFilterCommand() Test Closed

Control Coupling Diagram (CCD)

ControlCouplingStructureChart Caller rvdt_setSenseFilterCommand() [Low-Level Device Drivers] Target readRvdtReg() [Low-Level Driver Helper] Caller:s->Target:n l_t0->l_b0   rvdtDevHdl (Flag) r_b0->r_t0   statusCode (DriverStatus)
Control Coupling Structure Chart

Data Coupling Diagram (DCD)

DataCouplingStructureChart Caller rvdt_setSenseFilterCommand() [Low-Level Device Drivers] Target readRvdtReg() [Low-Level Driver Helper] Caller:s->Target:n l_t0->l_b0   rvdtDevHdl (Payload) r_b0->r_t0   stateTelemetry (Internal State)
Data Coupling Structure Chart

Control Flow Diagram (CFD)

cfd_rvdt_setSenseFilterCommand start Entry: rvdt_setSenseFilterCommand() guard_1 LLR_01: Guard Check Is a driver operation reports a failure status other than DRV_SUCCESS? start->guard_1 err_exit_1 LLR_01 Error Exit abort processing and return `retStatus` guard_1->err_exit_1 YES (TRUE) act_2 LLR_02: Action Step read the RVDT module device block members memory offset (RVDT_CONTROL_CMD) at physical offset `0x0258` (`MMAP_RVDT_CONTROL_CMD`) using `readRvdtReg()` guard_1->act_2 NO (FALSE) act_3 LLR_03: Action Step invoke bitwise routine `TOGGLE_BIT()` to update hardware control bit in register payload act_2->act_3 act_4 LLR_04: Action Step write the RVDT module device block members memory offset (RVDT_CONTROL_CMD) at physical offset `0x0258` (`MMAP_RVDT_CONTROL_CMD`) using `writeRvdtReg()` act_3->act_4 success_exit LLR_05: Final Exit return `DRV_SUCCESS` act_4->success_exit
Control Flow Diagram

Data Flow Diagram (DFD)

dfd_rvdt_setSenseFilterCommand in_store Input Data Sources & Parameters • rvdtDevHdl (const RvdtDevHandler) proc_1 LLR_01: Data Validation Check • Evaluate Parameter / State: retStatus in_store->proc_1 Validated Input Data proc_2 LLR_02: Data Payload Transformation • Process payload via readRvdtReg() proc_1->proc_2 Data Payload (readRvdtReg) proc_3 LLR_03: Data Payload Transformation • Process payload via TOGGLE_BIT() proc_2->proc_3 Data Payload (TOGGLE_BIT) proc_4 LLR_04: Data Payload Transformation • Process payload via writeRvdtReg() proc_3->proc_4 Data Payload (writeRvdtReg) proc_5 LLR_05: Status Output Packaging • Format Return Payload: DriverStatus proc_4->proc_5 Final Output Data out_sink Output Data Sinks & Status Return • Status Payload (DriverStatus) proc_5->out_sink Output Data & Status Code
Data Flow Diagram
Here is the call graph for this function:
rvdt_setSenseFilterCommand Node1 rvdt_setSenseFilterCommand Node1->Node1 Node2 readRvdtReg Node1->Node2 Node6 writeRvdtReg Node1->Node6 Node2->Node2 Node3 interDrv_Read32 Node2->Node3 Node3->Node3 Node4 interDrv_isAddressValid Node3->Node4 Node5 memoryMap_Read32 Node3->Node5 Node4->Node4 Node5->Node5 Node6->Node6 Node7 interDrv_Write32 Node6->Node7 Node7->Node4 Node7->Node7 Node8 memoryMap_Write32 Node7->Node8 Node8->Node8
Here is the caller graph for this function:
rvdt_setSenseFilterCommand Node1 rvdt_setSenseFilterCommand Node1->Node1 Node2 modRvdt_SetSenseFilter Node1->Node2 Node2->Node2

◆ rvdt_setTestMux()

DriverStatus rvdt_setTestMux ( const RvdtDevHandler rvdtDevHdl,
const Bool enable )

rvdt_setTestMux

Set to test mux.

Parameters
[in]rvdtDevHdlThe RVDT device handler.
[in]enableThe flag to enable or disable.
Returns
DriverStatus - Driver status return code, If no error occurs during the operation of the function, it returns DRV_SUCCESS. Otherwise related error message is returned.
Return values
DRV_SUCCESS: Success.
DRV_WRITE_FAILED: Failed to write to the device or module.
DRV_READ_FAILED: Failed to read from the device or module.
DRV_INVALID_PARAM: The provided address pointer is invalid.

Low-Level Software Requirements (LLR)

Low-Level Requirement Specification: rvdt_setTestMux

Requirement ID Parent HLR ID Detailed Low-Level Requirement Statement (EARS Format) Software Unit Reference Verification Method Status
LLR_RVDT_RVDT_SETTESTMUX_01 HLR_RVDT_18870 WHEN invoked, the rvdt_setTestMux() function SHALL read the current multiplexer enable register MMAP_RVDT_EN_SENSE using readRvdtReg(). rvdt.c:rvdt_setTestMux() Test Closed
LLR_RVDT_RVDT_SETTESTMUX_02 HLR_RVDT_18870 WHEN the register read operation fails (status not equal to DRV_SUCCESS), the rvdt_setTestMux() function SHALL abort processing and return that failure status. rvdt.c:rvdt_setTestMux() Test Closed
LLR_RVDT_RVDT_SETTESTMUX_03 HLR_RVDT_18870 WHEN enable is FALSE, the rvdt_setTestMux() function SHALL disable the test multiplexer channels by clearing bit 1 and bit 2 in register MMAP_RVDT_EN_SENSE. rvdt.c:rvdt_setTestMux() Test Closed
LLR_RVDT_RVDT_SETTESTMUX_04 HLR_RVDT_18870 WHEN enable is TRUE, the rvdt_setTestMux() function SHALL enable the test multiplexer channels by setting bit 1 and bit 2 in register MMAP_RVDT_EN_SENSE. rvdt.c:rvdt_setTestMux() Test Closed
LLR_RVDT_RVDT_SETTESTMUX_05 HLR_RVDT_18870 WHEN test multiplexer control bits are updated, the rvdt_setTestMux() function SHALL write back the modified register value using writeRvdtReg(). rvdt.c:rvdt_setTestMux() Test Closed
LLR_RVDT_RVDT_SETTESTMUX_06 HLR_RVDT_18870 WHEN all operational processing completes successfully, the rvdt_setTestMux() function SHALL return DRV_SUCCESS. rvdt.c:rvdt_setTestMux() Test Closed

Control Coupling Diagram (CCD)

ControlCouplingStructureChart Caller rvdt_setTestMux() [Low-Level Device Drivers] Target readRvdtReg() [Low-Level Driver Helper] Caller:s->Target:n l_t0->l_b0   rvdtDevHdl (Flag) l_t1->l_b1   enable (Flag) r_b0->r_t0   statusCode (DriverStatus)
Control Coupling Structure Chart

Data Coupling Diagram (DCD)

DataCouplingStructureChart Caller rvdt_setTestMux() [Low-Level Device Drivers] Target readRvdtReg() [Low-Level Driver Helper] Caller:s->Target:n l_t0->l_b0   rvdtDevHdl (Payload) l_t1->l_b1   enable (Payload) r_b0->r_t0   stateTelemetry (Internal State)
Data Coupling Structure Chart

Control Flow Diagram (CFD)

cfd_rvdt_setTestMux start Entry: rvdt_setTestMux() guard_1 LLR_01: Guard Check Is a driver operation reports a failure status other than DRV_SUCCESS? start->guard_1 err_exit_1 LLR_01 Error Exit abort processing and return `retStatus` guard_1->err_exit_1 YES (TRUE) guard_2 LLR_02: Guard Check Is `enable` is equal to `FALSE`? guard_1->guard_2 err_exit_2 LLR_02 Error Exit execute conditional operational branch guard_2->err_exit_2 YES (TRUE) act_3 LLR_03: Action Step read the RVDT module device block members memory offset (RVDT_EN_SENSE) at physical offset `0x000C` (`MMAP_RVDT_EN_SENSE`) using `readRvdtReg()` guard_2->act_3 NO (FALSE) act_4 LLR_04: Action Step write the RVDT module device block members memory offset (RVDT_EN_SENSE) at physical offset `0x000C` (`MMAP_RVDT_EN_SENSE`) using `writeRvdtReg()` act_3->act_4 success_exit LLR_05: Final Exit return `DRV_SUCCESS` act_4->success_exit
Control Flow Diagram

Data Flow Diagram (DFD)

dfd_rvdt_setTestMux in_store Input Data Sources & Parameters • rvdtDevHdl (const RvdtDevHandler) • enable (const Bool) proc_1 LLR_01: Data Validation Check • Evaluate Parameter / State: retStatus in_store->proc_1 Validated Input Data proc_2 LLR_02: Data Validation Check • Evaluate Parameter / State: enable proc_1->proc_2 Validated Input Data proc_3 LLR_03: Data Payload Transformation • Process payload via readRvdtReg() proc_2->proc_3 Data Payload (readRvdtReg) proc_4 LLR_04: Data Payload Transformation • Process payload via writeRvdtReg() proc_3->proc_4 Data Payload (writeRvdtReg) proc_5 LLR_05: Status Output Packaging • Format Return Payload: DriverStatus proc_4->proc_5 Final Output Data out_sink Output Data Sinks & Status Return • Status Payload (DriverStatus) proc_5->out_sink Output Data & Status Code
Data Flow Diagram
Here is the call graph for this function:
rvdt_setTestMux Node1 rvdt_setTestMux Node1->Node1 Node2 readRvdtReg Node1->Node2 Node6 writeRvdtReg Node1->Node6 Node2->Node2 Node3 interDrv_Read32 Node2->Node3 Node3->Node3 Node4 interDrv_isAddressValid Node3->Node4 Node5 memoryMap_Read32 Node3->Node5 Node4->Node4 Node5->Node5 Node6->Node6 Node7 interDrv_Write32 Node6->Node7 Node7->Node4 Node7->Node7 Node8 memoryMap_Write32 Node7->Node8 Node8->Node8
Here is the caller graph for this function:
rvdt_setTestMux Node1 rvdt_setTestMux Node1->Node1 Node2 modRvdt_SetSenseConfig Node1->Node2 Node2->Node2