HFCC-01 Low-Level Software (LLSW) Rel_6802_HFCC-01-RP-CSAR-CB
Loading...
Searching...
No Matches
modA429.c File Reference
#include "modA429.h"
#include "a429.h"
#include "mmapA429.h"
#include "modInfo.h"
Include dependency graph for modA429.c:
modA429.c Node1 modA429.c Node2 modA429.h Node1->Node2 Node7 modInfo.h Node1->Node7 Node8 a429.h Node1->Node8 Node10 mmapA429.h Node1->Node10 Node3 commonDataTypes.h Node2->Node3 Node4 modStatus.h Node2->Node4 Node5 modConfig.h Node2->Node5 Node5->Node4 Node6 INTEGRITY.h Node5->Node6 Node5->Node7 Node7->Node3 Node7->Node4 Node8->Node3 Node9 driverStatus.h Node8->Node9

Data Structures

struct  ModA429Handler
 ARINC 429 Module Internal State and Memory Base Address Handler Structure. More...

Macros

#define MOD_A429_MAX_SDI_VALUE   (3U)
#define MOD_A429_MESSAGE_BUFFER   (300U)
#define MOD_A429_FIFO_COUNT   (64U)

Functions

ModStatus errCheck (const DriverStatus status)
 errCheck.
static Bool validateTxChannel (const A429ChannelNum txChannelNum)
 validateTxChannel.
static Bool validateRxChannel (const A429ChannelNum rxChannelNum)
 validateRxChannel.
static void encodeMessage (A429Message dataEncode, UInt32 *arincMsgPtr)
 encodeMessage.
static void decodeMessage (A429Message *dataDecodePtr, const UInt32 arincMsg)
 decodeMessage.
ModStatus modA429_initReset (const ModeState state, const UInt32 baseMemAddr)
 modA429_initReset.
ModStatus modA429_getDevHandle (A429DevHandler *a429DevHdl)
 modA429_getDevHandle.
ModStatus modA429_sendConfig (const A429ChannelNum txChannelNum, const A429SpeedRate a429DataRate, const Bool parityEnable, const A429ParityMode parityMode)
 modA429_sendConfig.
ModStatus modA429_sendChEnable (const A429ChannelNum txChannelNum)
 modA429_sendChEnable.
ModStatus modA429_sendChDisable (const A429ChannelNum txChannelNum)
 modA429_sendChDisable.
ModStatus modA429_send (const A429ChannelNum txChannelNum, const A429Message *msgBufPtr, const UInt32 msgCount)
 modA429_send.
ModStatus modA429_recvConfig (const A429ChannelNum rxChannelNum, const A429SpeedRate a429DataRate, const Bool parityEnable, const A429ParityMode parityMode)
 modA429_recvConfig.
ModStatus modA429_recvChEnable (const A429ChannelNum rxChannelNum)
 modA429_recvChEnable.
ModStatus modA429_recvChDisable (const A429ChannelNum rxChannelNum)
 modA429_recvChDisable.
ModStatus modA429_recvSetLabelFilter (const A429ChannelNum rxChannelNum, const UInt8 *filterLabelsPtr, const UInt8 filterLabelCount)
 modA429_recvSetLabelFilter.
ModStatus modA429_recvSetSDIFilter (const A429ChannelNum rxChannelNum, const UInt8 sdiValue)
 modA429_recvSetSDIFilter.
ModStatus modA429_recvFIFO (const A429ChannelNum rxChannelNum, A429Message *recvMsgsPtr, UInt32 *recvMsgCountPtr)
 modA429_recvFIFO.

Variables

static ModA429Handler a429ModHdl = { 0 }
static A429DevHandler a429DevHdl = { 0 }

Detailed Description

Author
Shasha Batrisyia Mohamad Adzri shash.nosp@m.a.ad.nosp@m.zri@t.nosp@m.usas.nosp@m..my, Sri Selva Prakash selva.nosp@m..nad.nosp@m.eraja.nosp@m.@tus.nosp@m.as.my

ARINC 429 Module

Macro Definition Documentation

◆ MOD_A429_FIFO_COUNT

#define MOD_A429_FIFO_COUNT   (64U)

◆ MOD_A429_MAX_SDI_VALUE

#define MOD_A429_MAX_SDI_VALUE   (3U)

◆ MOD_A429_MESSAGE_BUFFER

#define MOD_A429_MESSAGE_BUFFER   (300U)

Function Documentation

◆ decodeMessage()

void decodeMessage ( A429Message * dataDecodePtr,
const UInt32 arincMsg )
static

decodeMessage.

Decodes the given ARINC message into its constituent data fields.

Parameters
[out]dataDecodePtrPointer to the structure where the decoded data will be stored.
[in]arincMsgThe ARINC message to be decoded.
Returns
void.

Low-Level Software Requirements (LLR)

Low-Level Requirement Specification: decodeMessage

Requirement ID Parent HLR ID Detailed Low-Level Requirement Statement (EARS Format) Software Unit Reference Verification Method Status
LLR_A429_DECODEMESSAGE_01 HLR_A429_290 WHEN invoked, the decodeMessage() function SHALL unpack the 32-bit ARINC 429 word arincMsg into label identifier octal digits (uLabelID1, uLabelID2, uLabelID3), source/destination identifier (uSDI), payload data field (uData), sign/status matrix (uSSM), and parity bit (uParity) into destination struct dataDecodePtr. modA429.c:decodeMessage() Test Closed

Control Coupling Diagram (CCD)

ControlCouplingStructureChart Caller decodeMessage() [Low-Level Device Drivers] Target interDrv_Write32() / MMIO [Hardware Abstraction Layer] Caller:s->Target:n l_t0->l_b0   arincMsg (Flag) r_b0->r_t0   statusCode (void)
Control Coupling Structure Chart

Data Coupling Diagram (DCD)

DataCouplingStructureChart Caller decodeMessage() [Low-Level Device Drivers] Target interDrv_Write32() / MMIO [Hardware Abstraction Layer] Caller:s->Target:n l_t0->l_b0   arincMsg (Payload) r_b0->r_t0   *dataDecodePtr (Output Data)
Data Coupling Structure Chart

Control Flow Diagram (CFD)

cfd_decodeMessage start Entry: decodeMessage() act_1 LLR_01: Action Step execute operational data processing and state transformations start->act_1 success_exit LLR_02: Final Exit return `the computed result` act_1->success_exit
Control Flow Diagram

Data Flow Diagram (DFD)

dfd_decodeMessage in_store Input Data Sources & Parameters • arincMsg (const UInt32) proc_1 LLR_01: Data Mutation & Processing • Transformed Entity: decodeMessage in_store->proc_1 Transformed Data (decodeMessage) proc_2 LLR_02: Status Output Packaging • Format Return Payload: void proc_1->proc_2 Final Output Data out_sink Output Data Sinks & Status Return • dataDecodePtr (A429Message) proc_2->out_sink Output Data & Status Code
Data Flow Diagram
Here is the call graph for this function:
decodeMessage Node1 decodeMessage Node1->Node1
Here is the caller graph for this function:
decodeMessage Node1 decodeMessage Node1->Node1 Node2 modA429_recvFIFO Node1->Node2 Node2->Node2

◆ encodeMessage()

void encodeMessage ( A429Message dataEncode,
UInt32 * arincMsgPtr )
static

encodeMessage.

Encodes the provided data into an ARINC message format.

Parameters
[in]dataEncodeThe data to be encoded into the ARINC message.
[out]arincMsgPtrPointer to the variable where the resulting ARINC message will be stored after encoding.
Returns
void.

Low-Level Software Requirements (LLR)

Low-Level Requirement Specification: encodeMessage

Requirement ID Parent HLR ID Detailed Low-Level Requirement Statement (EARS Format) Software Unit Reference Verification Method Status
LLR_A429_ENCODEMESSAGE_01 HLR_A429_288 WHEN invoked, the encodeMessage() function SHALL pack the fields of dataEncode (label digits, SDI, data payload, SSM, and parity) into a 32-bit ARINC 429 word frame, perform byte endian reversal, and store the resulting word in *arincMsgPtr. modA429.c:encodeMessage() Test Closed

Control Coupling Diagram (CCD)

ControlCouplingStructureChart Caller encodeMessage() [Low-Level Device Drivers] Target interDrv_Write32() / MMIO [Hardware Abstraction Layer] Caller:s->Target:n l_t0->l_b0   dataEncode (Flag) r_b0->r_t0   statusCode (void)
Control Coupling Structure Chart

Data Coupling Diagram (DCD)

DataCouplingStructureChart Caller encodeMessage() [Low-Level Device Drivers] Target interDrv_Write32() / MMIO [Hardware Abstraction Layer] Caller:s->Target:n l_t0->l_b0   dataEncode (Payload) r_b0->r_t0   *arincMsgPtr (Output Data)
Data Coupling Structure Chart

Control Flow Diagram (CFD)

cfd_encodeMessage start Entry: encodeMessage() act_1 LLR_01: Action Step execute operational data processing and state transformations start->act_1 success_exit LLR_02: Final Exit return `the computed result` act_1->success_exit
Control Flow Diagram

Data Flow Diagram (DFD)

dfd_encodeMessage in_store Input Data Sources & Parameters • dataEncode (A429Message) proc_1 LLR_01: Data Mutation & Processing • Transformed Entity: encodeMessage in_store->proc_1 Transformed Data (encodeMessage) proc_2 LLR_02: Status Output Packaging • Format Return Payload: void proc_1->proc_2 Final Output Data out_sink Output Data Sinks & Status Return • arincMsgPtr (UInt32) proc_2->out_sink Output Data & Status Code
Data Flow Diagram
Here is the call graph for this function:
encodeMessage Node1 encodeMessage Node1->Node1
Here is the caller graph for this function:
encodeMessage Node1 encodeMessage Node1->Node1 Node2 modA429_send Node1->Node2 Node2->Node2

◆ errCheck()

ModStatus errCheck ( const DriverStatus status)
extern

errCheck.

Check the driver status and convert it to the module status.

Parameters
[in]statusStatus from driver.
Returns
ModStatus - Module status return code. If no error occurs during the operation of the function, it returns MD_SUCCESS. Otherwise, a related error message is returned.
Return values
MD_SUCCESS: The module operation is successful.
MD_INVALID_ADDRESS: The module base memory address is not valid.
MD_INVALID_CHANNEL: The passing argument for channel number is not valid.
MD_READ_ERR: The module is unable to read from a certain register.
MD_WRITE_ERR: The module is unable to write to a certain register.
MD_FIFO_EMPTY: The module FIFO is empty.
MD_FIFO_FULL: The module FIFO is full.
MD_INVALID_PARAM: The provided address pointer is invalid.
MD_INVALID_VALUE: The passing argument is invalid or not within range.
MD_INVALID_CONFIG: The module is not yet configured.
MD_INVALID_INIT: The module is not initialized.
MD_OP_ALREADY_PERFORMED: The module operation has already been performed.
MD_OPEN_FAILED: The module is unable to open.
MD_FAILED: The module operation has failed.

Low-Level Software Requirements (LLR)

Low-Level Requirement Specification: errCheck

Requirement ID Parent HLR ID Detailed Low-Level Requirement Statement (EARS Format) Software Unit Reference Verification Method Status
LLR_STATUS_ERRCHECK_01 HLR_HM_79450 WHEN the driver status parameter is equal to DRV_SUCCESS, the errCheck() function SHALL return MD_SUCCESS. modStatus.c:errCheck() Test Closed
LLR_STATUS_ERRCHECK_02 HLR_HM_79450 WHEN the driver status parameter is equal to DRV_INVALID_ADDRESS, the errCheck() function SHALL return MD_INVALID_ADDRESS. modStatus.c:errCheck() Test Closed
LLR_STATUS_ERRCHECK_03 HLR_HM_79450 WHEN the driver status parameter is equal to DRV_INVALID_CHANNEL, the errCheck() function SHALL return MD_INVALID_CHANNEL. modStatus.c:errCheck() Test Closed
LLR_STATUS_ERRCHECK_04 HLR_HM_79450 WHEN the driver status parameter is equal to DRV_INVALID_DEVICE, the errCheck() function SHALL return MD_INVALID_DEVICE. modStatus.c:errCheck() Test Closed
LLR_STATUS_ERRCHECK_05 HLR_HM_79450 WHEN the driver status parameter is equal to DRV_READ_FAILED, the errCheck() function SHALL return MD_READ_ERR. modStatus.c:errCheck() Test Closed
LLR_STATUS_ERRCHECK_06 HLR_HM_79450 WHEN the driver status parameter is equal to DRV_WRITE_FAILED, the errCheck() function SHALL return MD_WRITE_ERR. modStatus.c:errCheck() Test Closed
LLR_STATUS_ERRCHECK_07 HLR_HM_79450 WHEN the driver status parameter is equal to DRV_FIFO_EMPTY, the errCheck() function SHALL return MD_FIFO_EMPTY. modStatus.c:errCheck() Test Closed
LLR_STATUS_ERRCHECK_08 HLR_HM_79450 WHEN the driver status parameter is equal to DRV_FIFO_FULL, the errCheck() function SHALL return MD_FIFO_FULL. modStatus.c:errCheck() Test Closed
LLR_STATUS_ERRCHECK_09 HLR_HM_79450 WHEN the driver status parameter is equal to DRV_INVALID_PARAM, the errCheck() function SHALL return MD_INVALID_PARAM. modStatus.c:errCheck() Test Closed
LLR_STATUS_ERRCHECK_10 HLR_HM_79450 WHEN the driver status parameter is equal to DRV_INVALID_VALUE, the errCheck() function SHALL return MD_INVALID_VALUE. modStatus.c:errCheck() Test Closed
LLR_STATUS_ERRCHECK_11 HLR_HM_79450 WHEN the driver status parameter is equal to DRV_INVALID_CONFIG, the errCheck() function SHALL return MD_INVALID_CONFIG. modStatus.c:errCheck() Test Closed
LLR_STATUS_ERRCHECK_12 HLR_HM_79450 WHEN the driver status parameter is equal to DRV_NOT_INITIALIZED, the errCheck() function SHALL return MD_INVALID_INIT. modStatus.c:errCheck() Test Closed
LLR_STATUS_ERRCHECK_13 HLR_HM_79450 WHEN the driver status parameter is equal to DRV_OP_ALREADY_PERFORMED, the errCheck() function SHALL return MD_OP_ALREADY_PERFORMED. modStatus.c:errCheck() Test Closed
LLR_STATUS_ERRCHECK_14 HLR_HM_79450 WHEN the driver status parameter is equal to DRV_OPEN_FAILED, the errCheck() function SHALL return MD_OPEN_FAILED. modStatus.c:errCheck() Test Closed
LLR_STATUS_ERRCHECK_15 HLR_HM_79450 WHEN the driver status parameter does not match any recognized driver error condition, the errCheck() function SHALL return MD_FAILED. modStatus.c:errCheck() Test Closed

Control Coupling Diagram (CCD)

ControlCouplingStructureChart Caller errCheck() [Low-Level Device Drivers] Target interDrv_Write32() / MMIO [Hardware Abstraction Layer] Caller:s->Target:n l_t0->l_b0   status (Flag) r_b0->r_t0   statusCode (ModStatus)
Control Coupling Structure Chart

Data Coupling Diagram (DCD)

DataCouplingStructureChart Caller errCheck() [Low-Level Device Drivers] Target interDrv_Write32() / MMIO [Hardware Abstraction Layer] Caller:s->Target:n l_t0->l_b0   status (Payload) r_b0->r_t0   stateTelemetry (Internal State)
Data Coupling Structure Chart

Control Flow Diagram (CFD)

cfd_errCheck start Entry: errCheck() guard_1 LLR_01: Guard Check Is `status` is not equal to `DRV_SUCCESS`? start->guard_1 err_exit_1 LLR_01 Error Exit execute conditional operational branch guard_1->err_exit_1 YES (TRUE) act_2 LLR_02: Action Step execute operational data processing and state transformations guard_1->act_2 NO (FALSE) success_exit LLR_03: Final Exit return `MD_SUCCESS` act_2->success_exit
Control Flow Diagram

Data Flow Diagram (DFD)

dfd_errCheck in_store Input Data Sources & Parameters • status (const DriverStatus) proc_1 LLR_01: Data Validation Check • Evaluate Parameter / State: status in_store->proc_1 Validated Input Data proc_2 LLR_02: Data Mutation & Processing • Transformed Entity: errCheck proc_1->proc_2 Transformed Data (errCheck) proc_3 LLR_03: Status Output Packaging • Format Return Payload: ModStatus proc_2->proc_3 Final Output Data out_sink Output Data Sinks & Status Return • Status Payload (ModStatus) proc_3->out_sink Output Data & Status Code
Data Flow Diagram

◆ modA429_getDevHandle()

ModStatus modA429_getDevHandle ( A429DevHandler * a429DevHdl)

modA429_getDevHandle.

Get the ARINC429 device handler.

Parameters
[out]a429DevHdlThe ARINC429 device handler.
Returns
ModStatus - Module status return code, If no error occurs during the operation of the function, it returns MD_SUCCESS. Otherwise related error message is returned.
Return values
MD_SUCCESS: Success.
MD_INVALID_PARAM: The provided address pointer is invalid.
MD_INVALID_INIT: The module has not been initialized.

Low-Level Software Requirements (LLR)

Low-Level Requirement Specification: modA429_getDevHandle

Requirement ID Parent HLR ID Detailed Low-Level Requirement Statement (EARS Format) Software Unit Reference Verification Method Status
LLR_A429_MODA429_GETDEVHANDLE_01 HLR_A429_30857 WHEN the output handle pointer a429DevHdl is NULL (invalid), the modA429_getDevHandle() function SHALL abort processing and return MD_INVALID_PARAM. modA429.c:modA429_getDevHandle() Test Closed
LLR_A429_MODA429_GETDEVHANDLE_02 HLR_A429_30857 WHEN the ARINC 429 module initialization state is not INIT, the modA429_getDevHandle() function SHALL abort processing and return MD_INVALID_INIT. modA429.c:modA429_getDevHandle() Test Closed
LLR_A429_MODA429_GETDEVHANDLE_03 HLR_A429_30857 WHEN the module is initialized and output pointer a429DevHdl is valid, the modA429_getDevHandle() function SHALL copy the active ARINC 429 device handle into the caller-provided destination memory at *a429DevHdl. modA429.c:modA429_getDevHandle() Test Closed
LLR_A429_MODA429_GETDEVHANDLE_04 HLR_A429_30857 WHEN all operational processing completes successfully, the modA429_getDevHandle() function SHALL return MD_SUCCESS. modA429.c:modA429_getDevHandle() Test Closed

Control Coupling Diagram (CCD)

ControlCouplingStructureChart Caller modA429_getDevHandle() [Device Library Modules] Target LLDD Hardware Interface [Hardware Abstraction Layer] Caller:s->Target:n l_t0->l_b0   channelNum (Flag) l_t1->l_b1   opMode (Flag) r_b0->r_t0   statusCode (ModStatus)
Control Coupling Structure Chart

Data Coupling Diagram (DCD)

DataCouplingStructureChart Caller modA429_getDevHandle() [Device Library Modules] Target LLDD Hardware Interface [Hardware Abstraction Layer] Caller:s->Target:n l_t0->l_b0   dataBufferPtr (Payload) r_b0->r_t0   *a429DevHdl (Output Data)
Data Coupling Structure Chart

Control Flow Diagram (CFD)

cfd_modA429_getDevHandle start Entry: modA429_getDevHandle() guard_1 LLR_01: Guard Check Is the pointer `a429DevHdl` is NULL (invalid)? start->guard_1 err_exit_1 LLR_01 Error Exit abort processing and return `MD_INVALID_PARAM` guard_1->err_exit_1 YES (TRUE) guard_2 LLR_02: Guard Check Is the module initialization state is not initialized (INIT)? guard_1->guard_2 err_exit_2 LLR_02 Error Exit abort processing and return `MD_INVALID_INIT` guard_2->err_exit_2 YES (TRUE) act_3 LLR_03: Action Step execute operational data processing and state transformations guard_2->act_3 NO (FALSE) success_exit LLR_04: Final Exit return `MD_SUCCESS` act_3->success_exit
Control Flow Diagram

Data Flow Diagram (DFD)

dfd_modA429_getDevHandle in_store Input Data Sources & Parameters • Function Inputs & Subsystem State proc_1 LLR_01: Data Validation Check • Evaluate Parameter / State: a429DevHdl in_store->proc_1 Validated Input Data proc_2 LLR_02: Data Validation Check • Evaluate Parameter / State: a429ModHdl proc_1->proc_2 Validated Input Data proc_3 LLR_03: Data Mutation & Processing • Transformed Entity: modA429_getDevHandle proc_2->proc_3 Transformed Data (modA429_getDevHandle) proc_4 LLR_04: Status Output Packaging • Format Return Payload: ModStatus proc_3->proc_4 Final Output Data out_sink Output Data Sinks & Status Return • a429DevHdl (A429DevHandler) proc_4->out_sink Output Data & Status Code
Data Flow Diagram
Here is the call graph for this function:
modA429_getDevHandle Node1 modA429_getDevHandle Node1->Node1
Here is the caller graph for this function:
modA429_getDevHandle Node1 modA429_getDevHandle Node1->Node1 Node2 modHsb_getA429Cbit Node1->Node2 Node3 modHsb_getA429Pbit Node1->Node3 Node2->Node2 Node3->Node3

◆ modA429_initReset()

ModStatus modA429_initReset ( const ModeState state,
const UInt32 baseMemAddr )

modA429_initReset.

Initialize or reset the ARINC429 module.

Parameters
[in]stateThe module state.
[in]baseMemAddrThe reference base memory address.
Returns
ModStatus - Module status return code, If no error occurs during the operation of the function, it returns MD_SUCCESS. Otherwise related error message is returned.
Return values
MD_SUCCESS: Success.
MD_INVALID_VALUE: The state value is invalid.

Low-Level Software Requirements (LLR)

Low-Level Requirement Specification: modA429_initReset

Requirement ID Parent HLR ID Detailed Low-Level Requirement Statement (EARS Format) Software Unit Reference Verification Method Status
LLR_A429_MODA429_INITRESET_01 HLR_A429_30857 WHEN state is equal to INIT, the modA429_initReset() function SHALL map base memory address with MMAP_A429_OFFSET, reset the controller via a429_reset(), configure master control register via a429_configMCR(), and transition module state to INIT. modA429.c:modA429_initReset() Test Closed
LLR_A429_MODA429_INITRESET_02 HLR_A429_30857 WHEN state is INIT and hardware reset or MCR configuration fails (status not equal to DRV_SUCCESS), the modA429_initReset() function SHALL abort processing and return the module error code produced by errCheck(). modA429.c:modA429_initReset() Test Closed
LLR_A429_MODA429_INITRESET_03 HLR_A429_30857 WHEN state is equal to RESET and the module was in INIT state, the modA429_initReset() function SHALL disable all 4 transmit channels and all 4 receive channels via modA429_sendChDisable() and modA429_recvChDisable(). modA429.c:modA429_initReset() Test Closed
LLR_A429_MODA429_INITRESET_04 HLR_A429_30857 WHEN state is equal to RESET, the modA429_initReset() function SHALL execute hardware controller reset via a429_reset() and transition module state to RESET. modA429.c:modA429_initReset() Test Closed
LLR_A429_MODA429_INITRESET_05 HLR_A429_30857 WHEN state is neither INIT nor RESET, the modA429_initReset() function SHALL abort processing and return MD_INVALID_VALUE. modA429.c:modA429_initReset() Test Closed
LLR_A429_MODA429_INITRESET_06 HLR_A429_30857 WHEN all operational processing completes successfully, the modA429_initReset() function SHALL return MD_SUCCESS. modA429.c:modA429_initReset() Test Closed

Control Coupling Diagram (CCD)

ControlCouplingStructureChart Caller modA429_initReset() [Device Library Modules] Target a429_reset() [Subordinate Routine] Caller:s->Target:n l_t0->l_b0   state (Flag) l_t1->l_b1   baseMemAddr (Flag) r_b0->r_t0   statusCode (ModStatus)
Control Coupling Structure Chart

Data Coupling Diagram (DCD)

DataCouplingStructureChart Caller modA429_initReset() [Device Library Modules] Target a429_reset() [Subordinate Routine] Caller:s->Target:n l_t0->l_b0   state (Payload) l_t1->l_b1   baseMemAddr (Payload) r_b0->r_t0   stateTelemetry (Internal State)
Data Coupling Structure Chart

Control Flow Diagram (CFD)

cfd_modA429_initReset start Entry: modA429_initReset() guard_1 LLR_01: Guard Check Is `drvStatus` is not equal to `DRV_SUCCESS`? start->guard_1 err_exit_1 LLR_01 Error Exit abort processing and return `errCheck(drvStatus)` guard_1->err_exit_1 YES (TRUE) guard_2 LLR_02: Guard Check Is the module initialization state is not initialized (INIT)? guard_1->guard_2 err_exit_2 LLR_02 Error Exit abort processing and return `errCheck(drvStatus)` guard_2->err_exit_2 YES (TRUE) guard_3 LLR_03: Guard Check Is `state` is not one of `INIT through RESET`? guard_2->guard_3 err_exit_3 LLR_03 Error Exit abort processing and return `error status` guard_3->err_exit_3 YES (TRUE) act_4 LLR_04: Action Step invoke routine `a429_reset()` to execute target subsystem hardware operation guard_3->act_4 NO (FALSE) act_5 LLR_05: Action Step evaluate the driver return status using `errCheck()` act_4->act_5 act_6 LLR_06: Action Step invoke routine `a429_configMCR()` to execute target subsystem hardware operation act_5->act_6 act_7 LLR_07: Action Step invoke routine `modA429_sendChDisable()` to execute target subsystem hardware operation act_6->act_7 act_8 LLR_08: Action Step invoke routine `modA429_recvChDisable()` to execute target subsystem hardware operation act_7->act_8 success_exit LLR_09: Final Exit return `MD_SUCCESS` act_8->success_exit
Control Flow Diagram

Data Flow Diagram (DFD)

dfd_modA429_initReset in_store Input Data Sources & Parameters • state (const ModeState) • baseMemAddr (const UInt32) proc_1 LLR_01: Data Validation Check • Evaluate Parameter / State: drvStatus in_store->proc_1 Validated Input Data proc_2 LLR_02: Data Validation Check • Evaluate Parameter / State: a429ModHdl proc_1->proc_2 Validated Input Data proc_3 LLR_03: Data Validation Check • Evaluate Parameter / State: state proc_2->proc_3 Validated Input Data proc_4 LLR_04: Data Payload Transformation • Process payload via a429_reset() proc_3->proc_4 Data Payload (a429_reset) proc_5 LLR_05: Data Payload Transformation • Process payload via errCheck() proc_4->proc_5 Data Payload (errCheck) proc_6 LLR_06: Data Payload Transformation • Process payload via a429_configMCR() proc_5->proc_6 Data Payload (a429_configMCR) proc_7 LLR_07: Data Payload Transformation • Process payload via modA429_sendChDisable() proc_6->proc_7 Data Payload (modA429_sendChDisable) proc_8 LLR_08: Data Payload Transformation • Process payload via modA429_recvChDisable() proc_7->proc_8 Data Payload (modA429_recvChDisable) proc_9 LLR_09: Status Output Packaging • Format Return Payload: ModStatus proc_8->proc_9 Final Output Data out_sink Output Data Sinks & Status Return • Status Payload (ModStatus) proc_9->out_sink Output Data & Status Code
Data Flow Diagram
Here is the call graph for this function:
modA429_initReset Node1 modA429_initReset Node1->Node1 Node2 a429_configMCR Node1->Node2 Node7 a429_reset Node1->Node7 Node8 errCheck Node1->Node8 Node9 modA429_recvChDisable Node1->Node9 Node19 modA429_sendChDisable Node1->Node19 Node2->Node2 Node3 writeA429Reg 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->Node8 Node9->Node8 Node9->Node9 Node10 a429_rxClearLabelFilter Node9->Node10 Node12 a429_rxDisableChannel Node9->Node12 Node16 a429_rxDisableParity Node9->Node16 Node17 a429_rxDisableSDIFilter Node9->Node17 Node18 validateRxChannel Node9->Node18 Node10->Node10 Node11 configLabelFilter Node10->Node11 Node11->Node3 Node11->Node11 Node12->Node3 Node12->Node12 Node13 readA429Reg Node12->Node13 Node13->Node13 Node14 interDrv_Read32 Node13->Node14 Node14->Node5 Node14->Node14 Node15 memoryMap_Read32 Node14->Node15 Node15->Node15 Node16->Node3 Node16->Node13 Node16->Node16 Node17->Node3 Node17->Node13 Node17->Node17 Node18->Node18 Node19->Node8 Node19->Node19 Node20 a429_txDisableChannel Node19->Node20 Node21 a429_txDisableParity Node19->Node21 Node22 validateTxChannel Node19->Node22 Node20->Node3 Node20->Node13 Node20->Node20 Node21->Node3 Node21->Node13 Node21->Node21 Node22->Node22
Here is the caller graph for this function:
modA429_initReset Node1 modA429_initReset Node1->Node1 Node2 modConfig_init Node1->Node2 Node3 modConfig_reset Node1->Node3 Node2->Node2 Node3->Node3 Node4 modConfig_close Node3->Node4 Node4->Node4

◆ modA429_recvChDisable()

ModStatus modA429_recvChDisable ( const A429ChannelNum rxChannelNum)

modA429_recvChDisable.

Disable the specified receiver channel.

Parameters
[in]rxChannelNumReceive channel number to access.
Returns
ModStatus - Module status return code, If no error occurs during the operation of the function, it returns MD_SUCCESS. Otherwise related error message is returned.
Return values
MD_SUCCESS: Success.
MD_INVALID_INIT: The module has not been initialized.
MD_INVALID_CHANNEL: The channel number is invalid.

Low-Level Software Requirements (LLR)

Low-Level Requirement Specification: modA429_recvChDisable

Requirement ID Parent HLR ID Detailed Low-Level Requirement Statement (EARS Format) Software Unit Reference Verification Method Status
LLR_A429_MODA429_RECVCHDISABLE_01 HLR_A429_289 WHEN the module initialization state is not initialized (INIT), the modA429_recvChDisable() function SHALL abort processing and return MD_INVALID_INIT. modA429.c:modA429_recvChDisable() Test Closed
LLR_A429_MODA429_RECVCHDISABLE_02 HLR_A429_289 WHEN rxChannelNum is not one of the defined ARINC 429 receive channel identifiers (A429_RX_CH1 through A429_RX_CH7), the modA429_recvChDisable() function SHALL abort processing and return MD_INVALID_CHANNEL. modA429.c:modA429_recvChDisable() Test Closed
LLR_A429_MODA429_RECVCHDISABLE_03 HLR_A429_289 WHEN a driver operation reports a failure status other than DRV_SUCCESS, the modA429_recvChDisable() function SHALL abort processing and return the module error code produced by errCheck() for the reported driver status. modA429.c:modA429_recvChDisable() Test Closed
LLR_A429_MODA429_RECVCHDISABLE_04 HLR_A429_289 WHEN preconditions are satisfied, the modA429_recvChDisable() function SHALL invoke receiver driver routine a429_rxClearLabelFilter() to perform channel configuration. modA429.c:modA429_recvChDisable() Test Closed
LLR_A429_MODA429_RECVCHDISABLE_05 HLR_A429_289 WHEN preconditions are satisfied, the modA429_recvChDisable() function SHALL evaluate the driver return status using errCheck(). modA429.c:modA429_recvChDisable() Test Closed
LLR_A429_MODA429_RECVCHDISABLE_06 HLR_A429_289 WHEN preconditions are satisfied, the modA429_recvChDisable() function SHALL invoke receiver driver routine a429_rxDisableSDIFilter() to perform channel configuration. modA429.c:modA429_recvChDisable() Test Closed
LLR_A429_MODA429_RECVCHDISABLE_07 HLR_A429_289 WHEN preconditions are satisfied, the modA429_recvChDisable() function SHALL invoke receiver driver routine a429_rxDisableParity() to perform channel configuration. modA429.c:modA429_recvChDisable() Test Closed
LLR_A429_MODA429_RECVCHDISABLE_08 HLR_A429_289 WHEN preconditions are satisfied, the modA429_recvChDisable() function SHALL invoke receiver driver routine a429_rxDisableChannel() to perform channel configuration. modA429.c:modA429_recvChDisable() Test Closed
LLR_A429_MODA429_RECVCHDISABLE_09 HLR_A429_289 WHEN all operational processing completes successfully, the modA429_recvChDisable() function SHALL return MD_SUCCESS. modA429.c:modA429_recvChDisable() Test Closed

Control Coupling Diagram (CCD)

ControlCouplingStructureChart Caller modA429_recvChDisable() [Device Library Modules] Target a429_rxClearLabelFilter() [Subordinate Routine] Caller:s->Target:n l_t0->l_b0   rxChannelNum (Flag) r_b0->r_t0   statusCode (ModStatus)
Control Coupling Structure Chart

Data Coupling Diagram (DCD)

DataCouplingStructureChart Caller modA429_recvChDisable() [Device Library Modules] Target a429_rxClearLabelFilter() [Subordinate Routine] Caller:s->Target:n l_t0->l_b0   rxChannelNum (Payload) r_b0->r_t0   stateTelemetry (Internal State)
Data Coupling Structure Chart

Control Flow Diagram (CFD)

cfd_modA429_recvChDisable start Entry: modA429_recvChDisable() guard_1 LLR_01: Guard Check Is the module initialization state is not initialized (INIT)? start->guard_1 err_exit_1 LLR_01 Error Exit abort processing and return `MD_INVALID_INIT` guard_1->err_exit_1 YES (TRUE) guard_2 LLR_02: Guard Check Is the receive channel validation check returns FALSE (invalid channel)? guard_1->guard_2 err_exit_2 LLR_02 Error Exit abort processing and return `MD_INVALID_CHANNEL` 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 the module error code produced by errCheck(retStatus) guard_3->err_exit_3 YES (TRUE) act_4 LLR_04: Action Step invoke receiver driver routine `a429_rxClearLabelFilter()` to perform channel configuration guard_3->act_4 NO (FALSE) act_5 LLR_05: Action Step evaluate the driver return status using `errCheck()` act_4->act_5 act_6 LLR_06: Action Step invoke receiver driver routine `a429_rxDisableSDIFilter()` to perform channel configuration act_5->act_6 act_7 LLR_07: Action Step invoke receiver driver routine `a429_rxDisableParity()` to perform channel configuration act_6->act_7 act_8 LLR_08: Action Step invoke receiver driver routine `a429_rxDisableChannel()` to perform channel configuration act_7->act_8 success_exit LLR_09: Final Exit return `MD_SUCCESS` act_8->success_exit
Control Flow Diagram

Data Flow Diagram (DFD)

dfd_modA429_recvChDisable in_store Input Data Sources & Parameters • rxChannelNum (const A429ChannelNum) proc_1 LLR_01: Data Validation Check • Evaluate Parameter / State: a429ModHdl in_store->proc_1 Validated Input Data proc_2 LLR_02: Data Validation Check • Evaluate Parameter / State: validateRxChannel 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 Payload Transformation • Process payload via a429_rxClearLabelFilter() proc_3->proc_4 Data Payload (a429_rxClearLabelFilter) proc_5 LLR_05: Data Payload Transformation • Process payload via errCheck() proc_4->proc_5 Data Payload (errCheck) proc_6 LLR_06: Data Payload Transformation • Process payload via a429_rxDisableSDIFilter() proc_5->proc_6 Data Payload (a429_rxDisableSDIFilter) proc_7 LLR_07: Data Payload Transformation • Process payload via a429_rxDisableParity() proc_6->proc_7 Data Payload (a429_rxDisableParity) proc_8 LLR_08: Data Payload Transformation • Process payload via a429_rxDisableChannel() proc_7->proc_8 Data Payload (a429_rxDisableChannel) proc_9 LLR_09: Status Output Packaging • Format Return Payload: ModStatus proc_8->proc_9 Final Output Data out_sink Output Data Sinks & Status Return • Status Payload (ModStatus) proc_9->out_sink Output Data & Status Code
Data Flow Diagram
Here is the call graph for this function:
modA429_recvChDisable Node1 modA429_recvChDisable Node1->Node1 Node2 a429_rxClearLabelFilter Node1->Node2 Node8 a429_rxDisableChannel Node1->Node8 Node12 a429_rxDisableParity Node1->Node12 Node13 a429_rxDisableSDIFilter Node1->Node13 Node14 errCheck Node1->Node14 Node15 validateRxChannel Node1->Node15 Node2->Node2 Node3 configLabelFilter Node2->Node3 Node3->Node3 Node4 writeA429Reg 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 readA429Reg Node8->Node9 Node9->Node9 Node10 interDrv_Read32 Node9->Node10 Node10->Node6 Node10->Node10 Node11 memoryMap_Read32 Node10->Node11 Node11->Node11 Node12->Node4 Node12->Node9 Node12->Node12 Node13->Node4 Node13->Node9 Node13->Node13 Node14->Node14 Node15->Node15
Here is the caller graph for this function:
modA429_recvChDisable Node1 modA429_recvChDisable Node1->Node1 Node2 modA429_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

◆ modA429_recvChEnable()

ModStatus modA429_recvChEnable ( const A429ChannelNum rxChannelNum)

modA429_recvChEnable.

Enable the specified receiver channel.

Parameters
[in]rxChannelNumReceive channel number to access.
Returns
ModStatus - Module status return code, If no error occurs during the operation of the function, it returns MD_SUCCESS. Otherwise related error message is returned.
Return values
MD_SUCCESS: Success.
MD_INVALID_INIT: The module has not been initialized.
MD_INVALID_CHANNEL: The channel number is invalid.

Low-Level Software Requirements (LLR)

Low-Level Requirement Specification: modA429_recvChEnable

Requirement ID Parent HLR ID Detailed Low-Level Requirement Statement (EARS Format) Software Unit Reference Verification Method Status
LLR_A429_MODA429_RECVCHENABLE_01 HLR_A429_289 WHEN the module initialization state is not initialized (INIT), the modA429_recvChEnable() function SHALL abort processing and return MD_INVALID_INIT. modA429.c:modA429_recvChEnable() Test Closed
LLR_A429_MODA429_RECVCHENABLE_02 HLR_A429_289 WHEN rxChannelNum is not one of the defined ARINC 429 receive channel identifiers (A429_RX_CH1 through A429_RX_CH7), the modA429_recvChEnable() function SHALL abort processing and return MD_INVALID_CHANNEL. modA429.c:modA429_recvChEnable() Test Closed
LLR_A429_MODA429_RECVCHENABLE_03 HLR_A429_289 WHEN a driver operation reports a failure status other than DRV_SUCCESS, the modA429_recvChEnable() function SHALL abort processing and return the module error code produced by errCheck() for the reported driver status. modA429.c:modA429_recvChEnable() Test Closed
LLR_A429_MODA429_RECVCHENABLE_04 HLR_A429_289 WHEN preconditions are satisfied, the modA429_recvChEnable() function SHALL invoke receiver driver routine a429_rxEnableChannel() to perform channel configuration. modA429.c:modA429_recvChEnable() Test Closed
LLR_A429_MODA429_RECVCHENABLE_05 HLR_A429_289 WHEN preconditions are satisfied, the modA429_recvChEnable() function SHALL evaluate the driver return status using errCheck(). modA429.c:modA429_recvChEnable() Test Closed
LLR_A429_MODA429_RECVCHENABLE_06 HLR_A429_289 WHEN all operational processing completes successfully, the modA429_recvChEnable() function SHALL return MD_SUCCESS. modA429.c:modA429_recvChEnable() Test Closed

Control Coupling Diagram (CCD)

ControlCouplingStructureChart Caller modA429_recvChEnable() [Device Library Modules] Target a429_rxEnableChannel() [Subordinate Routine] Caller:s->Target:n l_t0->l_b0   rxChannelNum (Flag) r_b0->r_t0   statusCode (ModStatus)
Control Coupling Structure Chart

Data Coupling Diagram (DCD)

DataCouplingStructureChart Caller modA429_recvChEnable() [Device Library Modules] Target a429_rxEnableChannel() [Subordinate Routine] Caller:s->Target:n l_t0->l_b0   rxChannelNum (Payload) r_b0->r_t0   stateTelemetry (Internal State)
Data Coupling Structure Chart

Control Flow Diagram (CFD)

cfd_modA429_recvChEnable start Entry: modA429_recvChEnable() guard_1 LLR_01: Guard Check Is the module initialization state is not initialized (INIT)? start->guard_1 err_exit_1 LLR_01 Error Exit abort processing and return `MD_INVALID_INIT` guard_1->err_exit_1 YES (TRUE) guard_2 LLR_02: Guard Check Is the receive channel validation check returns FALSE (invalid channel)? guard_1->guard_2 err_exit_2 LLR_02 Error Exit abort processing and return `MD_INVALID_CHANNEL` 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 the module error code produced by errCheck(retStatus) guard_3->err_exit_3 YES (TRUE) act_4 LLR_04: Action Step invoke receiver driver routine `a429_rxEnableChannel()` to perform channel configuration guard_3->act_4 NO (FALSE) act_5 LLR_05: Action Step evaluate the driver return status using `errCheck()` act_4->act_5 success_exit LLR_06: Final Exit return `MD_SUCCESS` act_5->success_exit
Control Flow Diagram

Data Flow Diagram (DFD)

dfd_modA429_recvChEnable in_store Input Data Sources & Parameters • rxChannelNum (const A429ChannelNum) proc_1 LLR_01: Data Validation Check • Evaluate Parameter / State: a429ModHdl in_store->proc_1 Validated Input Data proc_2 LLR_02: Data Validation Check • Evaluate Parameter / State: validateRxChannel 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 Payload Transformation • Process payload via a429_rxEnableChannel() proc_3->proc_4 Data Payload (a429_rxEnableChannel) proc_5 LLR_05: Data Payload Transformation • Process payload via errCheck() proc_4->proc_5 Data Payload (errCheck) proc_6 LLR_06: Status Output Packaging • Format Return Payload: ModStatus proc_5->proc_6 Final Output Data out_sink Output Data Sinks & Status Return • Status Payload (ModStatus) proc_6->out_sink Output Data & Status Code
Data Flow Diagram
Here is the call graph for this function:
modA429_recvChEnable Node1 modA429_recvChEnable Node1->Node1 Node2 a429_rxEnableChannel Node1->Node2 Node10 errCheck Node1->Node10 Node11 validateRxChannel Node1->Node11 Node2->Node2 Node3 readA429Reg Node2->Node3 Node7 writeA429Reg Node2->Node7 Node3->Node3 Node4 interDrv_Read32 Node3->Node4 Node4->Node4 Node5 interDrv_isAddressValid Node4->Node5 Node6 memoryMap_Read32 Node4->Node6 Node5->Node5 Node6->Node6 Node7->Node7 Node8 interDrv_Write32 Node7->Node8 Node8->Node5 Node8->Node8 Node9 memoryMap_Write32 Node8->Node9 Node9->Node9 Node10->Node10 Node11->Node11
Here is the caller graph for this function:
modA429_recvChEnable Node1 modA429_recvChEnable Node1->Node1

◆ modA429_recvConfig()

ModStatus modA429_recvConfig ( const A429ChannelNum rxChannelNum,
const A429SpeedRate a429DataRate,
const Bool parityEnable,
const A429ParityMode parityMode )

modA429_recvConfig.

Set the configuration for data rate, parity and parity type of specified receiver channel.

Parameters
[in]rxChannelNumReceive channel number to access.
[in]a429DataRateARIN429 RX Data Rate (kb/s).
[in]parityEnableTRUE is 32 bits ARINC message will be checked with Odd parity method, the parity flag will be overwritten in bit 32. FALSE is all 32 bits are received without parity checking.
[in]parityModeParity Type (EVEN, ODD) for receiver channel.
Returns
ModStatus - Module status return code, If no error occurs during the operation of the function, it returns MD_SUCCESS. Otherwise related error message is returned.
Return values
MD_SUCCESS: Success.
MD_INVALID_INIT: The module has not been initialized.
MD_INVALID_CONFIG: The configuration parameter is invalid.
MD_INVALID_CHANNEL: The channel number is invalid.

Low-Level Software Requirements (LLR)

Low-Level Requirement Specification: modA429_recvConfig

Requirement ID Parent HLR ID Detailed Low-Level Requirement Statement (EARS Format) Software Unit Reference Verification Method Status
LLR_A429_MODA429_RECVCONFIG_01 HLR_A429_290 WHEN the module initialization state is not initialized (INIT), the modA429_recvConfig() function SHALL abort processing and return MD_INVALID_INIT. modA429.c:modA429_recvConfig() Test Closed
LLR_A429_MODA429_RECVCONFIG_02 HLR_A429_290 WHEN rxChannelNum is not one of the defined ARINC 429 receive channel identifiers (A429_RX_CH1 through A429_RX_CH7), the modA429_recvConfig() function SHALL abort processing and return MD_INVALID_CHANNEL. modA429.c:modA429_recvConfig() Test Closed
LLR_A429_MODA429_RECVCONFIG_03 HLR_A429_290 WHEN high-speed ARINC 429 transmission rate (100 kbps) is equal to the ARINC 429 transmission speed, the modA429_recvConfig() function SHALL abort processing and return the module error code produced by errCheck() for the reported driver status. modA429.c:modA429_recvConfig() Test Closed
LLR_A429_MODA429_RECVCONFIG_04 HLR_A429_290 WHEN low-speed ARINC 429 transmission rate (12.5 kbps) is equal to the ARINC 429 transmission speed, the modA429_recvConfig() function SHALL abort processing and return the module error code produced by errCheck() for the reported driver status. modA429.c:modA429_recvConfig() Test Closed
LLR_A429_MODA429_RECVCONFIG_05 HLR_A429_290 WHEN TRUE is equal to the parity enablement flag, the modA429_recvConfig() function SHALL abort processing and return the module error code produced by errCheck() for the reported driver status. modA429.c:modA429_recvConfig() Test Closed
LLR_A429_MODA429_RECVCONFIG_06 HLR_A429_290 WHEN FALSE is equal to the parity enablement flag, the modA429_recvConfig() function SHALL abort processing and return the module error code produced by errCheck() for the reported driver status. modA429.c:modA429_recvConfig() Test Closed
LLR_A429_MODA429_RECVCONFIG_07 HLR_A429_290 WHEN preconditions are satisfied, the modA429_recvConfig() function SHALL invoke receiver driver routine a429_rxSetSpeed() to perform channel configuration. modA429.c:modA429_recvConfig() Test Closed
LLR_A429_MODA429_RECVCONFIG_08 HLR_A429_290 WHEN preconditions are satisfied, the modA429_recvConfig() function SHALL evaluate the driver return status using errCheck(). modA429.c:modA429_recvConfig() Test Closed
LLR_A429_MODA429_RECVCONFIG_09 HLR_A429_290 WHEN preconditions are satisfied, the modA429_recvConfig() function SHALL invoke receiver driver routine a429_rxEnableParity() to perform channel configuration. modA429.c:modA429_recvConfig() Test Closed
LLR_A429_MODA429_RECVCONFIG_10 HLR_A429_290 WHEN preconditions are satisfied, the modA429_recvConfig() function SHALL invoke receiver driver routine a429_rxDisableParity() to perform channel configuration. modA429.c:modA429_recvConfig() Test Closed
LLR_A429_MODA429_RECVCONFIG_11 HLR_A429_290 WHEN all operational processing completes successfully, the modA429_recvConfig() function SHALL return MD_SUCCESS. modA429.c:modA429_recvConfig() Test Closed

Control Coupling Diagram (CCD)

ControlCouplingStructureChart Caller modA429_recvConfig() [Device Library Modules] Target a429_rxSetSpeed() [Subordinate Routine] Caller:s->Target:n l_t0->l_b0   rxChannelNum (Flag) l_t1->l_b1   a429DataRate (Flag) l_t2->l_b2   parityEnable (Flag) l_t3->l_b3   parityMode (Flag) r_b0->r_t0   statusCode (ModStatus)
Control Coupling Structure Chart

Data Coupling Diagram (DCD)

DataCouplingStructureChart Caller modA429_recvConfig() [Device Library Modules] Target a429_rxSetSpeed() [Subordinate Routine] Caller:s->Target:n l_t0->l_b0   rxChannelNum (Payload) l_t1->l_b1   a429DataRate (Payload) l_t2->l_b2   parityEnable (Payload) l_t3->l_b3   parityMode (Payload) r_b0->r_t0   stateTelemetry (Internal State)
Data Coupling Structure Chart

Control Flow Diagram (CFD)

cfd_modA429_recvConfig start Entry: modA429_recvConfig() guard_1 LLR_01: Guard Check Is the module initialization state is not initialized (INIT)? start->guard_1 err_exit_1 LLR_01 Error Exit abort processing and return `MD_INVALID_INIT` guard_1->err_exit_1 YES (TRUE) guard_2 LLR_02: Guard Check Is the receive channel validation check returns FALSE (invalid channel)? guard_1->guard_2 err_exit_2 LLR_02 Error Exit abort processing and return `MD_INVALID_CHANNEL` guard_2->err_exit_2 YES (TRUE) guard_3 LLR_03: Guard Check Is high-speed ARINC 429 transmission rate (100 kbps) is equal to the ARINC 429 transmission speed? guard_2->guard_3 err_exit_3 LLR_03 Error Exit abort processing and return the module error code produced by errCheck(retStatus) guard_3->err_exit_3 YES (TRUE) guard_4 LLR_04: Guard Check Is low-speed ARINC 429 transmission rate (12.5 kbps) is equal to the ARINC 429 transmission speed? guard_3->guard_4 err_exit_4 LLR_04 Error Exit abort processing and return the module error code produced by errCheck(retStatus) guard_4->err_exit_4 YES (TRUE) guard_5 LLR_05: Guard Check Is `TRUE` is equal to the parity enablement flag? guard_4->guard_5 err_exit_5 LLR_05 Error Exit abort processing and return the module error code produced by errCheck(retStatus) guard_5->err_exit_5 YES (TRUE) guard_6 LLR_06: Guard Check Is `FALSE` is equal to the parity enablement flag? guard_5->guard_6 err_exit_6 LLR_06 Error Exit abort processing and return the module error code produced by errCheck(retStatus) guard_6->err_exit_6 YES (TRUE) act_7 LLR_07: Action Step invoke receiver driver routine `a429_rxSetSpeed()` to perform channel configuration guard_6->act_7 NO (FALSE) act_8 LLR_08: Action Step evaluate the driver return status using `errCheck()` act_7->act_8 act_9 LLR_09: Action Step invoke receiver driver routine `a429_rxEnableParity()` to perform channel configuration act_8->act_9 act_10 LLR_10: Action Step invoke receiver driver routine `a429_rxDisableParity()` to perform channel configuration act_9->act_10 success_exit LLR_11: Final Exit return `MD_SUCCESS` act_10->success_exit
Control Flow Diagram

Data Flow Diagram (DFD)

dfd_modA429_recvConfig in_store Input Data Sources & Parameters • rxChannelNum (const A429ChannelNum) • a429DataRate (const A429SpeedRate) • parityEnable (const Bool) • parityMode (const A429ParityMode) proc_1 LLR_01: Data Validation Check • Evaluate Parameter / State: a429ModHdl in_store->proc_1 Validated Input Data proc_2 LLR_02: Data Validation Check • Evaluate Parameter / State: validateRxChannel proc_1->proc_2 Validated Input Data proc_3 LLR_03: Data Validation Check • Evaluate Parameter / State: A429RATE_HI proc_2->proc_3 Validated Input Data proc_4 LLR_04: Data Validation Check • Evaluate Parameter / State: A429RATE_LO proc_3->proc_4 Validated Input Data proc_5 LLR_05: Data Validation Check • Evaluate Parameter / State: parityEnable proc_4->proc_5 Validated Input Data proc_6 LLR_06: Data Validation Check • Evaluate Parameter / State: parityEnable proc_5->proc_6 Validated Input Data proc_7 LLR_07: Data Payload Transformation • Process payload via a429_rxSetSpeed() proc_6->proc_7 Data Payload (a429_rxSetSpeed) proc_8 LLR_08: Data Payload Transformation • Process payload via errCheck() proc_7->proc_8 Data Payload (errCheck) proc_9 LLR_09: Data Payload Transformation • Process payload via a429_rxEnableParity() proc_8->proc_9 Data Payload (a429_rxEnableParity) proc_10 LLR_10: Data Payload Transformation • Process payload via a429_rxDisableParity() proc_9->proc_10 Data Payload (a429_rxDisableParity) proc_11 LLR_11: Status Output Packaging • Format Return Payload: ModStatus proc_10->proc_11 Final Output Data out_sink Output Data Sinks & Status Return • Status Payload (ModStatus) proc_11->out_sink Output Data & Status Code
Data Flow Diagram
Here is the call graph for this function:
modA429_recvConfig Node1 modA429_recvConfig Node1->Node1 Node2 a429_rxDisableParity Node1->Node2 Node10 a429_rxEnableParity Node1->Node10 Node11 a429_rxSetSpeed Node1->Node11 Node12 errCheck Node1->Node12 Node13 validateRxChannel Node1->Node13 Node2->Node2 Node3 readA429Reg Node2->Node3 Node7 writeA429Reg Node2->Node7 Node3->Node3 Node4 interDrv_Read32 Node3->Node4 Node4->Node4 Node5 interDrv_isAddressValid Node4->Node5 Node6 memoryMap_Read32 Node4->Node6 Node5->Node5 Node6->Node6 Node7->Node7 Node8 interDrv_Write32 Node7->Node8 Node8->Node5 Node8->Node8 Node9 memoryMap_Write32 Node8->Node9 Node9->Node9 Node10->Node2 Node10->Node3 Node10->Node7 Node10->Node10 Node11->Node3 Node11->Node7 Node11->Node11 Node12->Node12 Node13->Node13
Here is the caller graph for this function:
modA429_recvConfig Node1 modA429_recvConfig Node1->Node1

◆ modA429_recvFIFO()

ModStatus modA429_recvFIFO ( const A429ChannelNum rxChannelNum,
A429Message * recvMsgsPtr,
UInt32 * recvMsgCountPtr )

modA429_recvFIFO.

Read the ARINC429 message from the receiver FIFO of specified receiver channel.

Parameters
[in]rxChannelNumReceive channel number to access.
[out]recvMsgsPtrReceive Arinc message.
[out]recvMsgCountPtrNumber of ARINC message read from FIFO.
Returns
ModStatus - Module status return code, If no error occurs during the operation of the function, it returns MD_SUCCESS. Otherwise related error message is returned.
Return values
MD_SUCCESS: Success.
MD_INVALID_PARAM: The provided address pointer is invalid.
MD_INVALID_INIT: The module has not been initialized.
MD_INVALID_CHANNEL: The channel number is invalid.
MD_CHANNEL_DISABLED: Channel is disabled.

Low-Level Software Requirements (LLR)

Low-Level Requirement Specification: modA429_recvFIFO

Requirement ID Parent HLR ID Detailed Low-Level Requirement Statement (EARS Format) Software Unit Reference Verification Method Status
LLR_A429_MODA429_RECVFIFO_01 HLR_A429_290 WHEN the module initialization state is not initialized (INIT), the modA429_recvFIFO() function SHALL abort processing and return MD_INVALID_INIT. modA429.c:modA429_recvFIFO() Test Closed
LLR_A429_MODA429_RECVFIFO_02 HLR_A429_290 WHEN rxChannelNum is not one of the defined ARINC 429 receive channel identifiers (A429_RX_CH1 through A429_RX_CH7), the modA429_recvFIFO() function SHALL abort processing and return MD_INVALID_CHANNEL. modA429.c:modA429_recvFIFO() Test Closed
LLR_A429_MODA429_RECVFIFO_03 HLR_A429_290 WHEN a driver operation reports a failure status other than DRV_SUCCESS, the modA429_recvFIFO() function SHALL abort processing and return the module error code produced by errCheck() for the reported driver status. modA429.c:modA429_recvFIFO() Test Closed
LLR_A429_MODA429_RECVFIFO_04 HLR_A429_290 WHEN the target ARINC 429 receive channel is disabled (operating status is CH_DISABLE), the modA429_recvFIFO() function SHALL abort processing and return MD_CHANNEL_DISABLED. modA429.c:modA429_recvFIFO() Test Closed
LLR_A429_MODA429_RECVFIFO_05 HLR_A429_290 WHEN the pointer recvMsgsPtr is NULL (invalid), the modA429_recvFIFO() function SHALL abort processing and return MD_INVALID_PARAM. modA429.c:modA429_recvFIFO() Test Closed
LLR_A429_MODA429_RECVFIFO_06 HLR_A429_290 WHEN the pointer recvMsgCountPtr is NULL (invalid), the modA429_recvFIFO() function SHALL abort processing and return MD_INVALID_PARAM. modA429.c:modA429_recvFIFO() Test Closed
LLR_A429_MODA429_RECVFIFO_07 HLR_A429_290 WHEN preconditions are satisfied, the modA429_recvFIFO() function SHALL invoke receiver driver routine a429_rxGetState() to perform channel configuration. modA429.c:modA429_recvFIFO() Test Closed
LLR_A429_MODA429_RECVFIFO_08 HLR_A429_290 WHEN preconditions are satisfied, the modA429_recvFIFO() function SHALL evaluate the driver return status using errCheck(). modA429.c:modA429_recvFIFO() Test Closed
LLR_A429_MODA429_RECVFIFO_09 HLR_A429_290 WHEN preconditions are satisfied, the modA429_recvFIFO() function SHALL invoke receiver driver routine a429_rxGetFIFOMsgs() to perform channel configuration. modA429.c:modA429_recvFIFO() Test Closed
LLR_A429_MODA429_RECVFIFO_10 HLR_A429_290 WHEN preconditions are satisfied, the modA429_recvFIFO() function SHALL invoke routine decodeMessage() to decode ARINC 429 message words. modA429.c:modA429_recvFIFO() Test Closed
LLR_A429_MODA429_RECVFIFO_11 HLR_A429_290 WHEN all operational processing completes successfully, the modA429_recvFIFO() function SHALL return MD_SUCCESS. modA429.c:modA429_recvFIFO() Test Closed

Control Coupling Diagram (CCD)

ControlCouplingStructureChart Caller modA429_recvFIFO() [Device Library Modules] Target a429_rxGetState() [Subordinate Routine] Caller:s->Target:n l_t0->l_b0   rxChannelNum (Flag) r_b0->r_t0   statusCode (ModStatus)
Control Coupling Structure Chart

Data Coupling Diagram (DCD)

DataCouplingStructureChart Caller modA429_recvFIFO() [Device Library Modules] Target a429_rxGetState() [Subordinate Routine] Caller:s->Target:n l_t0->l_b0   rxChannelNum (Payload) r_b0->r_t0   *recvMsgsPtr (Output Data) r_b1->r_t1   *recvMsgCountPtr (Output Data)
Data Coupling Structure Chart

Control Flow Diagram (CFD)

cfd_modA429_recvFIFO start Entry: modA429_recvFIFO() guard_1 LLR_01: Guard Check Is the module initialization state is not initialized (INIT)? start->guard_1 err_exit_1 LLR_01 Error Exit abort processing and return `MD_INVALID_INIT` guard_1->err_exit_1 YES (TRUE) guard_2 LLR_02: Guard Check Is the receive channel validation check returns FALSE (invalid channel)? guard_1->guard_2 err_exit_2 LLR_02 Error Exit abort processing and return `MD_INVALID_CHANNEL` 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 the module error code produced by errCheck(retStatus) guard_3->err_exit_3 YES (TRUE) guard_4 LLR_04: Guard Check Is `channelStatus` is equal to `CH_DISABLE`? guard_3->guard_4 err_exit_4 LLR_04 Error Exit abort processing and return `MD_CHANNEL_DISABLED` guard_4->err_exit_4 YES (TRUE) guard_5 LLR_05: Guard Check Is the pointer `recvMsgsPtr` is NULL (invalid)? guard_4->guard_5 err_exit_5 LLR_05 Error Exit abort processing and return `MD_INVALID_PARAM` guard_5->err_exit_5 YES (TRUE) guard_6 LLR_06: Guard Check Is the pointer `recvMsgCountPtr` is NULL (invalid)? guard_5->guard_6 err_exit_6 LLR_06 Error Exit abort processing and return `MD_INVALID_PARAM` guard_6->err_exit_6 YES (TRUE) act_7 LLR_07: Action Step invoke receiver driver routine `a429_rxGetState()` to perform channel configuration guard_6->act_7 NO (FALSE) act_8 LLR_08: Action Step evaluate the driver return status using `errCheck()` act_7->act_8 act_9 LLR_09: Action Step invoke receiver driver routine `a429_rxGetFIFOMsgs()` to perform channel configuration act_8->act_9 act_10 LLR_10: Action Step invoke routine `decodeMessage()` to decode ARINC 429 message words act_9->act_10 success_exit LLR_11: Final Exit return `MD_SUCCESS` act_10->success_exit
Control Flow Diagram

Data Flow Diagram (DFD)

dfd_modA429_recvFIFO in_store Input Data Sources & Parameters • rxChannelNum (const A429ChannelNum) proc_1 LLR_01: Data Validation Check • Evaluate Parameter / State: a429ModHdl in_store->proc_1 Validated Input Data proc_2 LLR_02: Data Validation Check • Evaluate Parameter / State: validateRxChannel 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: channelStatus proc_3->proc_4 Validated Input Data proc_5 LLR_05: Data Validation Check • Evaluate Parameter / State: recvMsgsPtr proc_4->proc_5 Validated Input Data proc_6 LLR_06: Data Validation Check • Evaluate Parameter / State: recvMsgCountPtr proc_5->proc_6 Validated Input Data proc_7 LLR_07: Data Payload Transformation • Process payload via a429_rxGetState() proc_6->proc_7 Data Payload (a429_rxGetState) proc_8 LLR_08: Data Payload Transformation • Process payload via errCheck() proc_7->proc_8 Data Payload (errCheck) proc_9 LLR_09: Data Payload Transformation • Process payload via a429_rxGetFIFOMsgs() proc_8->proc_9 Data Payload (a429_rxGetFIFOMsgs) proc_10 LLR_10: Data Payload Transformation • Process payload via decodeMessage() proc_9->proc_10 Data Payload (decodeMessage) proc_11 LLR_11: Status Output Packaging • Format Return Payload: ModStatus proc_10->proc_11 Final Output Data out_sink Output Data Sinks & Status Return • recvMsgsPtr (A429Message) • recvMsgCountPtr (UInt32) proc_11->out_sink Output Data & Status Code
Data Flow Diagram
Here is the call graph for this function:
modA429_recvFIFO Node1 modA429_recvFIFO Node1->Node1 Node2 a429_rxGetFIFOMsgs Node1->Node2 Node12 a429_rxGetState Node1->Node12 Node13 decodeMessage Node1->Node13 Node14 errCheck Node1->Node14 Node15 validateRxChannel Node1->Node15 Node2->Node2 Node3 parityCheck Node2->Node3 Node4 readFIFOMsgs Node2->Node4 Node3->Node3 Node4->Node4 Node5 readA429Reg Node4->Node5 Node9 writeA429Reg Node4->Node9 Node5->Node5 Node6 interDrv_Read32 Node5->Node6 Node6->Node6 Node7 interDrv_isAddressValid Node6->Node7 Node8 memoryMap_Read32 Node6->Node8 Node7->Node7 Node8->Node8 Node9->Node9 Node10 interDrv_Write32 Node9->Node10 Node10->Node7 Node10->Node10 Node11 memoryMap_Write32 Node10->Node11 Node11->Node11 Node12->Node5 Node12->Node12 Node13->Node13 Node14->Node14 Node15->Node15
Here is the caller graph for this function:
modA429_recvFIFO Node1 modA429_recvFIFO Node1->Node1

◆ modA429_recvSetLabelFilter()

ModStatus modA429_recvSetLabelFilter ( const A429ChannelNum rxChannelNum,
const UInt8 * filterLabelsPtr,
const UInt8 filterLabelCount )

modA429_recvSetLabelFilter.

Set the message filter by label of specified receiver channel.

Parameters
[in]rxChannelNumReceive channel number to access.
[in]filterLabelsPtrList of labels for message Arinc data.
[in]filterLabelCountNumber of filter labels of ARINC message (0 - 255).
Returns
ModStatus - Module status return code, If no error occurs during the operation of the function, it returns MD_SUCCESS. Otherwise related error message is returned.
Return values
MD_SUCCESS: Success.
MD_INVALID_PARAM: The provided address pointer is invalid.
MD_INVALID_INIT: The module has not been initialized.
MD_INVALID_CHANNEL: The channel number is invalid.

Low-Level Software Requirements (LLR)

Low-Level Requirement Specification: modA429_recvSetLabelFilter

Requirement ID Parent HLR ID Detailed Low-Level Requirement Statement (EARS Format) Software Unit Reference Verification Method Status
LLR_A429_MODA429_RECVSETLABELFILTER_01 HLR_A429_300 WHEN the module initialization state is not initialized (INIT), the modA429_recvSetLabelFilter() function SHALL abort processing and return MD_INVALID_INIT. modA429.c:modA429_recvSetLabelFilter() Test Closed
LLR_A429_MODA429_RECVSETLABELFILTER_02 HLR_A429_300 WHEN rxChannelNum is not one of the defined ARINC 429 receive channel identifiers (A429_RX_CH1 through A429_RX_CH7), the modA429_recvSetLabelFilter() function SHALL abort processing and return MD_INVALID_CHANNEL. modA429.c:modA429_recvSetLabelFilter() Test Closed
LLR_A429_MODA429_RECVSETLABELFILTER_03 HLR_A429_300 WHEN the pointer filterLabelsPtr is NULL (invalid), the modA429_recvSetLabelFilter() function SHALL abort processing and return MD_INVALID_PARAM. modA429.c:modA429_recvSetLabelFilter() Test Closed
LLR_A429_MODA429_RECVSETLABELFILTER_04 HLR_A429_300 WHEN a driver operation reports a failure status other than DRV_SUCCESS, the modA429_recvSetLabelFilter() function SHALL abort processing and return the module error code produced by errCheck() for the reported driver status. modA429.c:modA429_recvSetLabelFilter() Test Closed
LLR_A429_MODA429_RECVSETLABELFILTER_05 HLR_A429_300 WHEN preconditions are satisfied, the modA429_recvSetLabelFilter() function SHALL invoke receiver driver routine a429_rxSetLabelFilter() to perform channel configuration. modA429.c:modA429_recvSetLabelFilter() Test Closed
LLR_A429_MODA429_RECVSETLABELFILTER_06 HLR_A429_300 WHEN preconditions are satisfied, the modA429_recvSetLabelFilter() function SHALL evaluate the driver return status using errCheck(). modA429.c:modA429_recvSetLabelFilter() Test Closed
LLR_A429_MODA429_RECVSETLABELFILTER_07 HLR_A429_300 WHEN all operational processing completes successfully, the modA429_recvSetLabelFilter() function SHALL return MD_SUCCESS. modA429.c:modA429_recvSetLabelFilter() Test Closed

Control Coupling Diagram (CCD)

ControlCouplingStructureChart Caller modA429_recvSetLabelFilter() [Device Library Modules] Target a429_rxSetLabelFilter() [Subordinate Routine] Caller:s->Target:n l_t0->l_b0   rxChannelNum (Flag) l_t1->l_b1   filterLabelsPtr (Flag) l_t2->l_b2   filterLabelCount (Flag) r_b0->r_t0   statusCode (ModStatus)
Control Coupling Structure Chart

Data Coupling Diagram (DCD)

DataCouplingStructureChart Caller modA429_recvSetLabelFilter() [Device Library Modules] Target a429_rxSetLabelFilter() [Subordinate Routine] Caller:s->Target:n l_t0->l_b0   rxChannelNum (Payload) l_t1->l_b1   filterLabelsPtr (Payload) l_t2->l_b2   filterLabelCount (Payload) r_b0->r_t0   stateTelemetry (Internal State)
Data Coupling Structure Chart

Control Flow Diagram (CFD)

cfd_modA429_recvSetLabelFilter start Entry: modA429_recvSetLabelFilter() guard_1 LLR_01: Guard Check Is the module initialization state is not initialized (INIT)? start->guard_1 err_exit_1 LLR_01 Error Exit abort processing and return `MD_INVALID_INIT` guard_1->err_exit_1 YES (TRUE) guard_2 LLR_02: Guard Check Is the receive channel validation check returns FALSE (invalid channel)? guard_1->guard_2 err_exit_2 LLR_02 Error Exit abort processing and return `MD_INVALID_CHANNEL` guard_2->err_exit_2 YES (TRUE) guard_3 LLR_03: Guard Check Is the pointer `filterLabelsPtr` is NULL (invalid)? guard_2->guard_3 err_exit_3 LLR_03 Error Exit abort processing and return `MD_INVALID_PARAM` guard_3->err_exit_3 YES (TRUE) guard_4 LLR_04: Guard Check Is a driver operation reports a failure status other than DRV_SUCCESS? guard_3->guard_4 err_exit_4 LLR_04 Error Exit abort processing and return the module error code produced by errCheck(retStatus) guard_4->err_exit_4 YES (TRUE) act_5 LLR_05: Action Step invoke receiver driver routine `a429_rxSetLabelFilter()` to perform channel configuration guard_4->act_5 NO (FALSE) act_6 LLR_06: Action Step evaluate the driver return status using `errCheck()` act_5->act_6 success_exit LLR_07: Final Exit return `MD_SUCCESS` act_6->success_exit
Control Flow Diagram

Data Flow Diagram (DFD)

dfd_modA429_recvSetLabelFilter in_store Input Data Sources & Parameters • rxChannelNum (const A429ChannelNum) • filterLabelsPtr (const UInt8) • filterLabelCount (const UInt8) proc_1 LLR_01: Data Validation Check • Evaluate Parameter / State: a429ModHdl in_store->proc_1 Validated Input Data proc_2 LLR_02: Data Validation Check • Evaluate Parameter / State: validateRxChannel proc_1->proc_2 Validated Input Data proc_3 LLR_03: Data Validation Check • Evaluate Parameter / State: filterLabelsPtr proc_2->proc_3 Validated Input Data proc_4 LLR_04: Data Validation Check • Evaluate Parameter / State: retStatus proc_3->proc_4 Validated Input Data proc_5 LLR_05: Data Payload Transformation • Process payload via a429_rxSetLabelFilter() proc_4->proc_5 Data Payload (a429_rxSetLabelFilter) proc_6 LLR_06: Data Payload Transformation • Process payload via errCheck() proc_5->proc_6 Data Payload (errCheck) proc_7 LLR_07: Status Output Packaging • Format Return Payload: ModStatus proc_6->proc_7 Final Output Data out_sink Output Data Sinks & Status Return • Status Payload (ModStatus) proc_7->out_sink Output Data & Status Code
Data Flow Diagram
Here is the call graph for this function:
modA429_recvSetLabelFilter Node1 modA429_recvSetLabelFilter Node1->Node1 Node2 a429_rxSetLabelFilter Node1->Node2 Node8 errCheck Node1->Node8 Node9 validateRxChannel Node1->Node9 Node2->Node2 Node3 configLabelFilter Node2->Node3 Node3->Node3 Node4 writeA429Reg 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->Node8 Node9->Node9
Here is the caller graph for this function:
modA429_recvSetLabelFilter Node1 modA429_recvSetLabelFilter Node1->Node1

◆ modA429_recvSetSDIFilter()

ModStatus modA429_recvSetSDIFilter ( const A429ChannelNum rxChannelNum,
const UInt8 sdiValue )

modA429_recvSetSDIFilter.

@detailsSet the message filter by SDI value of specified receiver channel.

Parameters
[in]rxChannelNumReceive channel number to access.
[in]sdiValueSDI Value to filter.
Returns
ModStatus - Module status return code, If no error occurs during the operation of the function, it returns MD_SUCCESS. Otherwise related error message is returned.
Return values
MD_SUCCESS: Success.
MD_INVALID_INIT: The module has not been initialized.
MD_INVALID_CONFIG: The configuration parameter is invalid.
MD_INVALID_CHANNEL: The channel number is invalid.

Low-Level Software Requirements (LLR)

Low-Level Requirement Specification: modA429_recvSetSDIFilter

Requirement ID Parent HLR ID Detailed Low-Level Requirement Statement (EARS Format) Software Unit Reference Verification Method Status
LLR_A429_MODA429_RECVSETSDIFILTER_01 HLR_A429_21622 WHEN the module initialization state is not initialized (INIT), the modA429_recvSetSDIFilter() function SHALL abort processing and return MD_INVALID_INIT. modA429.c:modA429_recvSetSDIFilter() Test Closed
LLR_A429_MODA429_RECVSETSDIFILTER_02 HLR_A429_21622 WHEN rxChannelNum is not one of the defined ARINC 429 receive channel identifiers (A429_RX_CH1 through A429_RX_CH7), the modA429_recvSetSDIFilter() function SHALL abort processing and return MD_INVALID_CHANNEL. modA429.c:modA429_recvSetSDIFilter() Test Closed
LLR_A429_MODA429_RECVSETSDIFILTER_03 HLR_A429_21622 WHEN sdiValue is less than or equal to MOD_A429_MAX_SDI_VALUE, the modA429_recvSetSDIFilter() function SHALL abort processing and return the module error code produced by errCheck() for the reported driver status. modA429.c:modA429_recvSetSDIFilter() Test Closed
LLR_A429_MODA429_RECVSETSDIFILTER_04 HLR_A429_21622 WHEN preconditions are satisfied, the modA429_recvSetSDIFilter() function SHALL invoke receiver driver routine a429_rxSetSDIFilter() to perform channel configuration. modA429.c:modA429_recvSetSDIFilter() Test Closed
LLR_A429_MODA429_RECVSETSDIFILTER_05 HLR_A429_21622 WHEN preconditions are satisfied, the modA429_recvSetSDIFilter() function SHALL evaluate the driver return status using errCheck(). modA429.c:modA429_recvSetSDIFilter() Test Closed
LLR_A429_MODA429_RECVSETSDIFILTER_06 HLR_A429_21622 WHEN all operational processing completes successfully, the modA429_recvSetSDIFilter() function SHALL return MD_SUCCESS. modA429.c:modA429_recvSetSDIFilter() Test Closed

Control Coupling Diagram (CCD)

ControlCouplingStructureChart Caller modA429_recvSetSDIFilter() [Device Library Modules] Target a429_rxSetSDIFilter() [Subordinate Routine] Caller:s->Target:n l_t0->l_b0   rxChannelNum (Flag) l_t1->l_b1   sdiValue (Flag) r_b0->r_t0   statusCode (ModStatus)
Control Coupling Structure Chart

Data Coupling Diagram (DCD)

DataCouplingStructureChart Caller modA429_recvSetSDIFilter() [Device Library Modules] Target a429_rxSetSDIFilter() [Subordinate Routine] Caller:s->Target:n l_t0->l_b0   rxChannelNum (Payload) l_t1->l_b1   sdiValue (Payload) r_b0->r_t0   stateTelemetry (Internal State)
Data Coupling Structure Chart

Control Flow Diagram (CFD)

cfd_modA429_recvSetSDIFilter start Entry: modA429_recvSetSDIFilter() guard_1 LLR_01: Guard Check Is the module initialization state is not initialized (INIT)? start->guard_1 err_exit_1 LLR_01 Error Exit abort processing and return `MD_INVALID_INIT` guard_1->err_exit_1 YES (TRUE) guard_2 LLR_02: Guard Check Is the receive channel validation check returns FALSE (invalid channel)? guard_1->guard_2 err_exit_2 LLR_02 Error Exit abort processing and return `MD_INVALID_CHANNEL` guard_2->err_exit_2 YES (TRUE) guard_3 LLR_03: Guard Check Is `sdiValue` is less than or equal to `MOD_A429_MAX_SDI_VALUE`? guard_2->guard_3 err_exit_3 LLR_03 Error Exit abort processing and return the module error code produced by errCheck(retStatus) guard_3->err_exit_3 YES (TRUE) act_4 LLR_04: Action Step invoke receiver driver routine `a429_rxSetSDIFilter()` to perform channel configuration guard_3->act_4 NO (FALSE) act_5 LLR_05: Action Step evaluate the driver return status using `errCheck()` act_4->act_5 success_exit LLR_06: Final Exit return `MD_SUCCESS` act_5->success_exit
Control Flow Diagram

Data Flow Diagram (DFD)

dfd_modA429_recvSetSDIFilter in_store Input Data Sources & Parameters • rxChannelNum (const A429ChannelNum) • sdiValue (const UInt8) proc_1 LLR_01: Data Validation Check • Evaluate Parameter / State: a429ModHdl in_store->proc_1 Validated Input Data proc_2 LLR_02: Data Validation Check • Evaluate Parameter / State: validateRxChannel proc_1->proc_2 Validated Input Data proc_3 LLR_03: Data Validation Check • Evaluate Parameter / State: sdiValue proc_2->proc_3 Validated Input Data proc_4 LLR_04: Data Payload Transformation • Process payload via a429_rxSetSDIFilter() proc_3->proc_4 Data Payload (a429_rxSetSDIFilter) proc_5 LLR_05: Data Payload Transformation • Process payload via errCheck() proc_4->proc_5 Data Payload (errCheck) proc_6 LLR_06: Status Output Packaging • Format Return Payload: ModStatus proc_5->proc_6 Final Output Data out_sink Output Data Sinks & Status Return • Status Payload (ModStatus) proc_6->out_sink Output Data & Status Code
Data Flow Diagram
Here is the call graph for this function:
modA429_recvSetSDIFilter Node1 modA429_recvSetSDIFilter Node1->Node1 Node2 a429_rxSetSDIFilter Node1->Node2 Node10 errCheck Node1->Node10 Node11 validateRxChannel Node1->Node11 Node2->Node2 Node3 readA429Reg Node2->Node3 Node7 writeA429Reg Node2->Node7 Node3->Node3 Node4 interDrv_Read32 Node3->Node4 Node4->Node4 Node5 interDrv_isAddressValid Node4->Node5 Node6 memoryMap_Read32 Node4->Node6 Node5->Node5 Node6->Node6 Node7->Node7 Node8 interDrv_Write32 Node7->Node8 Node8->Node5 Node8->Node8 Node9 memoryMap_Write32 Node8->Node9 Node9->Node9 Node10->Node10 Node11->Node11
Here is the caller graph for this function:
modA429_recvSetSDIFilter Node1 modA429_recvSetSDIFilter Node1->Node1

◆ modA429_send()

ModStatus modA429_send ( const A429ChannelNum txChannelNum,
const A429Message * msgBufPtr,
const UInt32 msgCount )

modA429_send.

Send the input ARINC429 messages to the specified enabled transmitter channel. The function validates module state, channel identity, message-buffer address, and FIFO capacity, encodes each message, and submits the encoded sequence to the transmit FIFO.

Parameters
[in]txChannelNumARINC429 transmit channel identifier. Accepted values are A429_TX_CH1 through A429_TX_CH4.
[in]msgBufPtrPointer to the input ARINC429 message array. A NULL pointer is invalid.
[in]msgCountNumber of messages in msgBufPtr. The maximum accepted count is the A429 transmit FIFO capacity (32).
Returns
ModStatus - Module status return code, If no error occurs during the operation of the function, it returns MD_SUCCESS. Otherwise related error message is returned.
Return values
MD_SUCCESS: Success.
MD_INVALID_PARAM: The provided address pointer is invalid.
MD_INVALID_INIT: The module has not been initialized.
MD_INVALID_CHANNEL: The channel number is invalid.
MD_CHANNEL_DISABLED: Channel is disabled.
MD_INVALID_VALUE: The message count is out of range.

Low-Level Software Requirements (LLR)

Low-Level Requirement Specification: modA429_send

Requirement ID Parent HLR ID Detailed Low-Level Requirement Statement (EARS Format) Software Unit Reference Verification Method Status
LLR_A429_MODA429_SEND_01 HLR_A429_288 WHEN the A429 module is not initialized, the modA429_send() function SHALL return MD_INVALID_INIT without accessing the transmit channel or message buffer. modA429.c:modA429_send() Test Closed — Recovered
LLR_A429_MODA429_SEND_02 HLR_A429_288 WHEN txChannelNum is not one of A429_TX_CH1 through A429_TX_CH4, the modA429_send() function SHALL return MD_INVALID_CHANNEL. modA429.c:modA429_send() Test Closed — Recovered
LLR_A429_MODA429_SEND_03 HLR_A429_288 WHEN the transmit-channel state read reports a driver failure, the modA429_send() function SHALL return the module status produced by errCheck() for that driver failure. modA429.c:modA429_send() Test Closed — Recovered
LLR_A429_MODA429_SEND_04 HLR_A429_288 WHEN the selected transmit channel is disabled (CH_DISABLE), the modA429_send() function SHALL return MD_CHANNEL_DISABLED without submitting messages to the transmit FIFO. modA429.c:modA429_send() Test Closed — Recovered
LLR_A429_MODA429_SEND_05 HLR_A429_288 WHEN msgBufPtr is NULL, the modA429_send() function SHALL return MD_INVALID_PARAM. modA429.c:modA429_send() Test Closed — Recovered
LLR_A429_MODA429_SEND_06 HLR_A429_288 WHEN msgCount is greater than the maximum A429 transmit FIFO capacity (32), the modA429_send() function SHALL return MD_INVALID_VALUE. modA429.c:modA429_send() Test Closed — Recovered
LLR_A429_MODA429_SEND_07 HLR_A429_288 WHEN all input and channel-state preconditions are satisfied, the modA429_send() function SHALL encode each input message in msgBufPtr for indices 0 through msgCount - 1. modA429.c:modA429_send() Test Closed — Recovered
LLR_A429_MODA429_SEND_08 HLR_A429_288 WHEN message encoding completes successfully, the modA429_send() function SHALL submit the encoded message sequence to the selected A429 transmit FIFO. modA429.c:modA429_send() Test Closed — Recovered
LLR_A429_MODA429_SEND_09 HLR_A429_288 WHEN transmit FIFO submission reports a driver failure, the modA429_send() function SHALL return the module status produced by errCheck() for that driver failure. modA429.c:modA429_send() Test Closed — Recovered
LLR_A429_MODA429_SEND_10 HLR_A429_288 WHEN encoding and transmit FIFO submission complete successfully, the modA429_send() function SHALL return MD_SUCCESS. modA429.c:modA429_send() Test Closed — Recovered

Control Coupling Diagram (CCD)

ControlCouplingStructureChart Caller modA429_send() [Device Library Modules] Target a429_txGetState() [Subordinate Routine] Caller:s->Target:n l_t0->l_b0   txChannelNum (Flag) l_t1->l_b1   msgBufPtr (Flag) l_t2->l_b2   msgCount (Flag) r_b0->r_t0   statusCode (ModStatus)
Control Coupling Structure Chart

Data Coupling Diagram (DCD)

DataCouplingStructureChart Caller modA429_send() [Device Library Modules] Target a429_txGetState() [Subordinate Routine] Caller:s->Target:n l_t0->l_b0   txChannelNum (Payload) l_t1->l_b1   msgBufPtr (Payload) l_t2->l_b2   msgCount (Payload) r_b0->r_t0   stateTelemetry (Internal State)
Data Coupling Structure Chart

Control Flow Diagram (CFD)

cfd_modA429_send start Entry: modA429_send() guard_1 LLR_01: Guard Check Is the module initialization state is not initialized (INIT)? start->guard_1 err_exit_1 LLR_01 Error Exit abort processing and return `MD_INVALID_INIT` guard_1->err_exit_1 YES (TRUE) guard_2 LLR_02: Guard Check Is the transmit channel validation check returns FALSE (invalid channel)? guard_1->guard_2 err_exit_2 LLR_02 Error Exit abort processing and return `MD_INVALID_CHANNEL` 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 the module error code produced by errCheck(retStatus) guard_3->err_exit_3 YES (TRUE) guard_4 LLR_04: Guard Check Is `channelStatus` is equal to `CH_DISABLE`? guard_3->guard_4 err_exit_4 LLR_04 Error Exit abort processing and return `MD_CHANNEL_DISABLED` guard_4->err_exit_4 YES (TRUE) guard_5 LLR_05: Guard Check Is the pointer `msgBufPtr` is NULL (invalid)? guard_4->guard_5 err_exit_5 LLR_05 Error Exit abort processing and return `MD_INVALID_PARAM` guard_5->err_exit_5 YES (TRUE) guard_6 LLR_06: Guard Check Is `msgCount` is greater than the maximum ARINC 429 TX FIFO capacity (32)? guard_5->guard_6 err_exit_6 LLR_06 Error Exit abort processing and return `MD_INVALID_VALUE` guard_6->err_exit_6 YES (TRUE) act_7 LLR_07: Action Step invoke transmitter driver routine `a429_txGetState()` to perform message transmission guard_6->act_7 NO (FALSE) act_8 LLR_08: Action Step evaluate the driver return status using `errCheck()` act_7->act_8 act_9 LLR_09: Action Step invoke routine `encodeMessage()` to encode ARINC 429 message words act_8->act_9 act_10 LLR_10: Action Step invoke transmitter driver routine `a429_txFIFOMsg()` to perform message transmission act_9->act_10 success_exit LLR_11: Final Exit return `MD_SUCCESS` act_10->success_exit
Control Flow Diagram

Data Flow Diagram (DFD)

dfd_modA429_send in_store Input Data Sources & Parameters • txChannelNum (const A429ChannelNum) • msgBufPtr (const A429Message) • msgCount (const UInt32) proc_1 LLR_01: Data Validation Check • Evaluate Parameter / State: a429ModHdl in_store->proc_1 Validated Input Data proc_2 LLR_02: Data Validation Check • Evaluate Parameter / State: validateTxChannel 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: channelStatus proc_3->proc_4 Validated Input Data proc_5 LLR_05: Data Validation Check • Evaluate Parameter / State: msgBufPtr proc_4->proc_5 Validated Input Data proc_6 LLR_06: Data Validation Check • Evaluate Parameter / State: msgCount proc_5->proc_6 Validated Input Data proc_7 LLR_07: Data Payload Transformation • Process payload via a429_txGetState() proc_6->proc_7 Data Payload (a429_txGetState) proc_8 LLR_08: Data Payload Transformation • Process payload via errCheck() proc_7->proc_8 Data Payload (errCheck) proc_9 LLR_09: Data Payload Transformation • Process payload via encodeMessage() proc_8->proc_9 Data Payload (encodeMessage) proc_10 LLR_10: Data Payload Transformation • Process payload via a429_txFIFOMsg() proc_9->proc_10 Data Payload (a429_txFIFOMsg) proc_11 LLR_11: Status Output Packaging • Format Return Payload: ModStatus proc_10->proc_11 Final Output Data out_sink Output Data Sinks & Status Return • Status Payload (ModStatus) proc_11->out_sink Output Data & Status Code
Data Flow Diagram
Here is the call graph for this function:
modA429_send Node1 modA429_send Node1->Node1 Node2 a429_txFIFOMsg Node1->Node2 Node11 a429_txGetState Node1->Node11 Node12 encodeMessage Node1->Node12 Node13 errCheck Node1->Node13 Node14 validateTxChannel Node1->Node14 Node2->Node2 Node3 txBus Node2->Node3 Node3->Node3 Node4 readA429Reg Node3->Node4 Node8 writeA429Reg Node3->Node8 Node4->Node4 Node5 interDrv_Read32 Node4->Node5 Node5->Node5 Node6 interDrv_isAddressValid Node5->Node6 Node7 memoryMap_Read32 Node5->Node7 Node6->Node6 Node7->Node7 Node8->Node8 Node9 interDrv_Write32 Node8->Node9 Node9->Node6 Node9->Node9 Node10 memoryMap_Write32 Node9->Node10 Node10->Node10 Node11->Node4 Node11->Node11 Node12->Node12 Node13->Node13 Node14->Node14
Here is the caller graph for this function:
modA429_send Node1 modA429_send Node1->Node1

◆ modA429_sendChDisable()

ModStatus modA429_sendChDisable ( const A429ChannelNum txChannelNum)

modA429_sendChDisable.

Disable the specified transmitter channel.

Parameters
[in]txChannelNumTransmit channel number to access.
Returns
ModStatus - Module status return code, If no error occurs during the operation of the function, it returns MD_SUCCESS. Otherwise related error message is returned.
Return values
MD_SUCCESS: Success.
MD_INVALID_INIT: The module has not been initialized.
MD_INVALID_CHANNEL: The channel number is invalid.

Low-Level Software Requirements (LLR)

Low-Level Requirement Specification: modA429_sendChDisable

Requirement ID Parent HLR ID Detailed Low-Level Requirement Statement (EARS Format) Software Unit Reference Verification Method Status
LLR_A429_MODA429_SENDCHDISABLE_01 HLR_A429_287 WHEN the module initialization state is not initialized (INIT), the modA429_sendChDisable() function SHALL abort processing and return MD_INVALID_INIT. modA429.c:modA429_sendChDisable() Test Closed
LLR_A429_MODA429_SENDCHDISABLE_02 HLR_A429_287 WHEN txChannelNum is not one of the defined ARINC 429 transmit channel identifiers (A429_TX_CH1, A429_TX_CH2, A429_TX_CH3, A429_TX_CH4), the modA429_sendChDisable() function SHALL abort processing and return MD_INVALID_CHANNEL. modA429.c:modA429_sendChDisable() Test Closed
LLR_A429_MODA429_SENDCHDISABLE_03 HLR_A429_287 WHEN a driver operation reports a failure status other than DRV_SUCCESS, the modA429_sendChDisable() function SHALL abort processing and return the module error code produced by errCheck() for the reported driver status. modA429.c:modA429_sendChDisable() Test Closed
LLR_A429_MODA429_SENDCHDISABLE_04 HLR_A429_287 WHEN preconditions are satisfied, the modA429_sendChDisable() function SHALL invoke transmitter driver routine a429_txDisableChannel() to perform message transmission. modA429.c:modA429_sendChDisable() Test Closed
LLR_A429_MODA429_SENDCHDISABLE_05 HLR_A429_287 WHEN preconditions are satisfied, the modA429_sendChDisable() function SHALL evaluate the driver return status using errCheck(). modA429.c:modA429_sendChDisable() Test Closed
LLR_A429_MODA429_SENDCHDISABLE_06 HLR_A429_287 WHEN preconditions are satisfied, the modA429_sendChDisable() function SHALL invoke transmitter driver routine a429_txDisableParity() to perform message transmission. modA429.c:modA429_sendChDisable() Test Closed
LLR_A429_MODA429_SENDCHDISABLE_07 HLR_A429_287 WHEN all operational processing completes successfully, the modA429_sendChDisable() function SHALL return MD_SUCCESS. modA429.c:modA429_sendChDisable() Test Closed

Control Coupling Diagram (CCD)

ControlCouplingStructureChart Caller modA429_sendChDisable() [Device Library Modules] Target a429_txDisableChannel() [Subordinate Routine] Caller:s->Target:n l_t0->l_b0   txChannelNum (Flag) r_b0->r_t0   statusCode (ModStatus)
Control Coupling Structure Chart

Data Coupling Diagram (DCD)

DataCouplingStructureChart Caller modA429_sendChDisable() [Device Library Modules] Target a429_txDisableChannel() [Subordinate Routine] Caller:s->Target:n l_t0->l_b0   txChannelNum (Payload) r_b0->r_t0   stateTelemetry (Internal State)
Data Coupling Structure Chart

Control Flow Diagram (CFD)

cfd_modA429_sendChDisable start Entry: modA429_sendChDisable() guard_1 LLR_01: Guard Check Is the module initialization state is not initialized (INIT)? start->guard_1 err_exit_1 LLR_01 Error Exit abort processing and return `MD_INVALID_INIT` guard_1->err_exit_1 YES (TRUE) guard_2 LLR_02: Guard Check Is the transmit channel validation check returns FALSE (invalid channel)? guard_1->guard_2 err_exit_2 LLR_02 Error Exit abort processing and return `MD_INVALID_CHANNEL` 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 the module error code produced by errCheck(retStatus) guard_3->err_exit_3 YES (TRUE) act_4 LLR_04: Action Step invoke transmitter driver routine `a429_txDisableChannel()` to perform message transmission guard_3->act_4 NO (FALSE) act_5 LLR_05: Action Step evaluate the driver return status using `errCheck()` act_4->act_5 act_6 LLR_06: Action Step invoke transmitter driver routine `a429_txDisableParity()` to perform message transmission act_5->act_6 success_exit LLR_07: Final Exit return `MD_SUCCESS` act_6->success_exit
Control Flow Diagram

Data Flow Diagram (DFD)

dfd_modA429_sendChDisable in_store Input Data Sources & Parameters • txChannelNum (const A429ChannelNum) proc_1 LLR_01: Data Validation Check • Evaluate Parameter / State: a429ModHdl in_store->proc_1 Validated Input Data proc_2 LLR_02: Data Validation Check • Evaluate Parameter / State: validateTxChannel 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 Payload Transformation • Process payload via a429_txDisableChannel() proc_3->proc_4 Data Payload (a429_txDisableChannel) proc_5 LLR_05: Data Payload Transformation • Process payload via errCheck() proc_4->proc_5 Data Payload (errCheck) proc_6 LLR_06: Data Payload Transformation • Process payload via a429_txDisableParity() proc_5->proc_6 Data Payload (a429_txDisableParity) proc_7 LLR_07: Status Output Packaging • Format Return Payload: ModStatus proc_6->proc_7 Final Output Data out_sink Output Data Sinks & Status Return • Status Payload (ModStatus) proc_7->out_sink Output Data & Status Code
Data Flow Diagram
Here is the call graph for this function:
modA429_sendChDisable Node1 modA429_sendChDisable Node1->Node1 Node2 a429_txDisableChannel Node1->Node2 Node10 a429_txDisableParity Node1->Node10 Node11 errCheck Node1->Node11 Node12 validateTxChannel Node1->Node12 Node2->Node2 Node3 readA429Reg Node2->Node3 Node7 writeA429Reg Node2->Node7 Node3->Node3 Node4 interDrv_Read32 Node3->Node4 Node4->Node4 Node5 interDrv_isAddressValid Node4->Node5 Node6 memoryMap_Read32 Node4->Node6 Node5->Node5 Node6->Node6 Node7->Node7 Node8 interDrv_Write32 Node7->Node8 Node8->Node5 Node8->Node8 Node9 memoryMap_Write32 Node8->Node9 Node9->Node9 Node10->Node3 Node10->Node7 Node10->Node10 Node11->Node11 Node12->Node12
Here is the caller graph for this function:
modA429_sendChDisable Node1 modA429_sendChDisable Node1->Node1 Node2 modA429_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

◆ modA429_sendChEnable()

ModStatus modA429_sendChEnable ( const A429ChannelNum txChannelNum)

modA429_sendChEnable.

Enable the specified transmitter channel.

Parameters
[in]txChannelNumTransmit channel number to access.
Returns
ModStatus - Module status return code, If no error occurs during the operation of the function, it returns MD_SUCCESS. Otherwise related error message is returned.
Return values
MD_SUCCESS: Success.
MD_INVALID_INIT: The module has not been initialized.
MD_INVALID_CHANNEL: The channel number is invalid.

Low-Level Software Requirements (LLR)

Low-Level Requirement Specification: modA429_sendChEnable

Requirement ID Parent HLR ID Detailed Low-Level Requirement Statement (EARS Format) Software Unit Reference Verification Method Status
LLR_A429_MODA429_SENDCHENABLE_01 HLR_A429_287 WHEN the module initialization state is not initialized (INIT), the modA429_sendChEnable() function SHALL abort processing and return MD_INVALID_INIT. modA429.c:modA429_sendChEnable() Test Closed
LLR_A429_MODA429_SENDCHENABLE_02 HLR_A429_287 WHEN txChannelNum is not one of the defined ARINC 429 transmit channel identifiers (A429_TX_CH1, A429_TX_CH2, A429_TX_CH3, A429_TX_CH4), the modA429_sendChEnable() function SHALL abort processing and return MD_INVALID_CHANNEL. modA429.c:modA429_sendChEnable() Test Closed
LLR_A429_MODA429_SENDCHENABLE_03 HLR_A429_287 WHEN a driver operation reports a failure status other than DRV_SUCCESS, the modA429_sendChEnable() function SHALL abort processing and return the module error code produced by errCheck() for the reported driver status. modA429.c:modA429_sendChEnable() Test Closed
LLR_A429_MODA429_SENDCHENABLE_04 HLR_A429_287 WHEN preconditions are satisfied, the modA429_sendChEnable() function SHALL invoke transmitter driver routine a429_txEnableChannel() to perform message transmission. modA429.c:modA429_sendChEnable() Test Closed
LLR_A429_MODA429_SENDCHENABLE_05 HLR_A429_287 WHEN preconditions are satisfied, the modA429_sendChEnable() function SHALL evaluate the driver return status using errCheck(). modA429.c:modA429_sendChEnable() Test Closed
LLR_A429_MODA429_SENDCHENABLE_06 HLR_A429_287 WHEN all operational processing completes successfully, the modA429_sendChEnable() function SHALL return MD_SUCCESS. modA429.c:modA429_sendChEnable() Test Closed

Control Coupling Diagram (CCD)

ControlCouplingStructureChart Caller modA429_sendChEnable() [Device Library Modules] Target a429_txEnableChannel() [Subordinate Routine] Caller:s->Target:n l_t0->l_b0   txChannelNum (Flag) r_b0->r_t0   statusCode (ModStatus)
Control Coupling Structure Chart

Data Coupling Diagram (DCD)

DataCouplingStructureChart Caller modA429_sendChEnable() [Device Library Modules] Target a429_txEnableChannel() [Subordinate Routine] Caller:s->Target:n l_t0->l_b0   txChannelNum (Payload) r_b0->r_t0   stateTelemetry (Internal State)
Data Coupling Structure Chart

Control Flow Diagram (CFD)

cfd_modA429_sendChEnable start Entry: modA429_sendChEnable() guard_1 LLR_01: Guard Check Is the module initialization state is not initialized (INIT)? start->guard_1 err_exit_1 LLR_01 Error Exit abort processing and return `MD_INVALID_INIT` guard_1->err_exit_1 YES (TRUE) guard_2 LLR_02: Guard Check Is the transmit channel validation check returns FALSE (invalid channel)? guard_1->guard_2 err_exit_2 LLR_02 Error Exit abort processing and return `MD_INVALID_CHANNEL` 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 the module error code produced by errCheck(retStatus) guard_3->err_exit_3 YES (TRUE) act_4 LLR_04: Action Step invoke transmitter driver routine `a429_txEnableChannel()` to perform message transmission guard_3->act_4 NO (FALSE) act_5 LLR_05: Action Step evaluate the driver return status using `errCheck()` act_4->act_5 success_exit LLR_06: Final Exit return `MD_SUCCESS` act_5->success_exit
Control Flow Diagram

Data Flow Diagram (DFD)

dfd_modA429_sendChEnable in_store Input Data Sources & Parameters • txChannelNum (const A429ChannelNum) proc_1 LLR_01: Data Validation Check • Evaluate Parameter / State: a429ModHdl in_store->proc_1 Validated Input Data proc_2 LLR_02: Data Validation Check • Evaluate Parameter / State: validateTxChannel 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 Payload Transformation • Process payload via a429_txEnableChannel() proc_3->proc_4 Data Payload (a429_txEnableChannel) proc_5 LLR_05: Data Payload Transformation • Process payload via errCheck() proc_4->proc_5 Data Payload (errCheck) proc_6 LLR_06: Status Output Packaging • Format Return Payload: ModStatus proc_5->proc_6 Final Output Data out_sink Output Data Sinks & Status Return • Status Payload (ModStatus) proc_6->out_sink Output Data & Status Code
Data Flow Diagram
Here is the call graph for this function:
modA429_sendChEnable Node1 modA429_sendChEnable Node1->Node1 Node2 a429_txEnableChannel Node1->Node2 Node10 errCheck Node1->Node10 Node11 validateTxChannel Node1->Node11 Node2->Node2 Node3 readA429Reg Node2->Node3 Node7 writeA429Reg Node2->Node7 Node3->Node3 Node4 interDrv_Read32 Node3->Node4 Node4->Node4 Node5 interDrv_isAddressValid Node4->Node5 Node6 memoryMap_Read32 Node4->Node6 Node5->Node5 Node6->Node6 Node7->Node7 Node8 interDrv_Write32 Node7->Node8 Node8->Node5 Node8->Node8 Node9 memoryMap_Write32 Node8->Node9 Node9->Node9 Node10->Node10 Node11->Node11
Here is the caller graph for this function:
modA429_sendChEnable Node1 modA429_sendChEnable Node1->Node1

◆ modA429_sendConfig()

ModStatus modA429_sendConfig ( const A429ChannelNum txChannelNum,
const A429SpeedRate a429DataRate,
const Bool parityEnable,
const A429ParityMode parityMode )

modA429_sendConfig.

Set the configuration for data rate, parity and parity type of specified transmitter channel.

Parameters
[in]txChannelNumTransmit channel number to access.
[in]a429DataRateARINC429 TX Data Rate (kb/s).
[in]parityEnableWhen set to TRUE, ARINC429 bit 32 ARINC bit overwritten with parity flag. When set to FALSE, parity will be disabled and the transmitter will treat ARINC429 bit 32 as data and send data word with no parity.
[in]parityModeSet even parity bit or odd parity bit.
Returns
ModStatus - Module status return code, If no error occurs during the operation of the function, it returns MD_SUCCESS. Otherwise related error message is returned.
Return values
MD_SUCCESS: Success.
MD_INVALID_INIT: The module has not been initialized.
MD_INVALID_CONFIG: The configuration parameter is invalid.
MD_INVALID_CHANNEL: The channel number is invalid.

Low-Level Software Requirements (LLR)

Low-Level Requirement Specification: modA429_sendConfig

Requirement ID Parent HLR ID Detailed Low-Level Requirement Statement (EARS Format) Software Unit Reference Verification Method Status
LLR_A429_MODA429_SENDCONFIG_01 HLR_A429_288 WHEN the module initialization state is not initialized (INIT), the modA429_sendConfig() function SHALL abort processing and return MD_INVALID_INIT. modA429.c:modA429_sendConfig() Test Closed
LLR_A429_MODA429_SENDCONFIG_02 HLR_A429_288 WHEN txChannelNum is not one of the defined ARINC 429 transmit channel identifiers (A429_TX_CH1, A429_TX_CH2, A429_TX_CH3, A429_TX_CH4), the modA429_sendConfig() function SHALL abort processing and return MD_INVALID_CHANNEL. modA429.c:modA429_sendConfig() Test Closed
LLR_A429_MODA429_SENDCONFIG_03 HLR_A429_288 WHEN high-speed ARINC 429 transmission rate (100 kbps) is equal to the ARINC 429 transmission speed, the modA429_sendConfig() function SHALL abort processing and return the module error code produced by errCheck() for the reported driver status. modA429.c:modA429_sendConfig() Test Closed
LLR_A429_MODA429_SENDCONFIG_04 HLR_A429_288 WHEN low-speed ARINC 429 transmission rate (12.5 kbps) is equal to the ARINC 429 transmission speed, the modA429_sendConfig() function SHALL abort processing and return the module error code produced by errCheck() for the reported driver status. modA429.c:modA429_sendConfig() Test Closed
LLR_A429_MODA429_SENDCONFIG_05 HLR_A429_288 WHEN TRUE is equal to the parity enablement flag, the modA429_sendConfig() function SHALL abort processing and return the module error code produced by errCheck() for the reported driver status. modA429.c:modA429_sendConfig() Test Closed
LLR_A429_MODA429_SENDCONFIG_06 HLR_A429_288 WHEN FALSE is equal to the parity enablement flag, the modA429_sendConfig() function SHALL abort processing and return the module error code produced by errCheck() for the reported driver status. modA429.c:modA429_sendConfig() Test Closed
LLR_A429_MODA429_SENDCONFIG_07 HLR_A429_288 WHEN preconditions are satisfied, the modA429_sendConfig() function SHALL invoke transmitter driver routine a429_txSetSpeed() to perform message transmission. modA429.c:modA429_sendConfig() Test Closed
LLR_A429_MODA429_SENDCONFIG_08 HLR_A429_288 WHEN preconditions are satisfied, the modA429_sendConfig() function SHALL evaluate the driver return status using errCheck(). modA429.c:modA429_sendConfig() Test Closed
LLR_A429_MODA429_SENDCONFIG_09 HLR_A429_288 WHEN preconditions are satisfied, the modA429_sendConfig() function SHALL invoke transmitter driver routine a429_txEnableParity() to perform message transmission. modA429.c:modA429_sendConfig() Test Closed
LLR_A429_MODA429_SENDCONFIG_10 HLR_A429_288 WHEN preconditions are satisfied, the modA429_sendConfig() function SHALL invoke transmitter driver routine a429_txDisableParity() to perform message transmission. modA429.c:modA429_sendConfig() Test Closed
LLR_A429_MODA429_SENDCONFIG_11 HLR_A429_288 WHEN all operational processing completes successfully, the modA429_sendConfig() function SHALL return MD_SUCCESS. modA429.c:modA429_sendConfig() Test Closed

Control Coupling Diagram (CCD)

ControlCouplingStructureChart Caller modA429_sendConfig() [Device Library Modules] Target a429_txSetSpeed() [Subordinate Routine] Caller:s->Target:n l_t0->l_b0   txChannelNum (Flag) l_t1->l_b1   a429DataRate (Flag) l_t2->l_b2   parityEnable (Flag) l_t3->l_b3   parityMode (Flag) r_b0->r_t0   statusCode (ModStatus)
Control Coupling Structure Chart

Data Coupling Diagram (DCD)

DataCouplingStructureChart Caller modA429_sendConfig() [Device Library Modules] Target a429_txSetSpeed() [Subordinate Routine] Caller:s->Target:n l_t0->l_b0   txChannelNum (Payload) l_t1->l_b1   a429DataRate (Payload) l_t2->l_b2   parityEnable (Payload) l_t3->l_b3   parityMode (Payload) r_b0->r_t0   stateTelemetry (Internal State)
Data Coupling Structure Chart

Control Flow Diagram (CFD)

cfd_modA429_sendConfig start Entry: modA429_sendConfig() guard_1 LLR_01: Guard Check Is the module initialization state is not initialized (INIT)? start->guard_1 err_exit_1 LLR_01 Error Exit abort processing and return `MD_INVALID_INIT` guard_1->err_exit_1 YES (TRUE) guard_2 LLR_02: Guard Check Is the transmit channel validation check returns FALSE (invalid channel)? guard_1->guard_2 err_exit_2 LLR_02 Error Exit abort processing and return `MD_INVALID_CHANNEL` guard_2->err_exit_2 YES (TRUE) guard_3 LLR_03: Guard Check Is high-speed ARINC 429 transmission rate (100 kbps) is equal to the ARINC 429 transmission speed? guard_2->guard_3 err_exit_3 LLR_03 Error Exit abort processing and return the module error code produced by errCheck(retStatus) guard_3->err_exit_3 YES (TRUE) guard_4 LLR_04: Guard Check Is low-speed ARINC 429 transmission rate (12.5 kbps) is equal to the ARINC 429 transmission speed? guard_3->guard_4 err_exit_4 LLR_04 Error Exit abort processing and return the module error code produced by errCheck(retStatus) guard_4->err_exit_4 YES (TRUE) guard_5 LLR_05: Guard Check Is `TRUE` is equal to the parity enablement flag? guard_4->guard_5 err_exit_5 LLR_05 Error Exit abort processing and return the module error code produced by errCheck(retStatus) guard_5->err_exit_5 YES (TRUE) guard_6 LLR_06: Guard Check Is `FALSE` is equal to the parity enablement flag? guard_5->guard_6 err_exit_6 LLR_06 Error Exit abort processing and return the module error code produced by errCheck(retStatus) guard_6->err_exit_6 YES (TRUE) act_7 LLR_07: Action Step invoke transmitter driver routine `a429_txSetSpeed()` to perform message transmission guard_6->act_7 NO (FALSE) act_8 LLR_08: Action Step evaluate the driver return status using `errCheck()` act_7->act_8 act_9 LLR_09: Action Step invoke transmitter driver routine `a429_txEnableParity()` to perform message transmission act_8->act_9 act_10 LLR_10: Action Step invoke transmitter driver routine `a429_txDisableParity()` to perform message transmission act_9->act_10 success_exit LLR_11: Final Exit return `MD_SUCCESS` act_10->success_exit
Control Flow Diagram

Data Flow Diagram (DFD)

dfd_modA429_sendConfig in_store Input Data Sources & Parameters • txChannelNum (const A429ChannelNum) • a429DataRate (const A429SpeedRate) • parityEnable (const Bool) • parityMode (const A429ParityMode) proc_1 LLR_01: Data Validation Check • Evaluate Parameter / State: a429ModHdl in_store->proc_1 Validated Input Data proc_2 LLR_02: Data Validation Check • Evaluate Parameter / State: validateTxChannel proc_1->proc_2 Validated Input Data proc_3 LLR_03: Data Validation Check • Evaluate Parameter / State: A429RATE_HI proc_2->proc_3 Validated Input Data proc_4 LLR_04: Data Validation Check • Evaluate Parameter / State: A429RATE_LO proc_3->proc_4 Validated Input Data proc_5 LLR_05: Data Validation Check • Evaluate Parameter / State: parityEnable proc_4->proc_5 Validated Input Data proc_6 LLR_06: Data Validation Check • Evaluate Parameter / State: parityEnable proc_5->proc_6 Validated Input Data proc_7 LLR_07: Data Payload Transformation • Process payload via a429_txSetSpeed() proc_6->proc_7 Data Payload (a429_txSetSpeed) proc_8 LLR_08: Data Payload Transformation • Process payload via errCheck() proc_7->proc_8 Data Payload (errCheck) proc_9 LLR_09: Data Payload Transformation • Process payload via a429_txEnableParity() proc_8->proc_9 Data Payload (a429_txEnableParity) proc_10 LLR_10: Data Payload Transformation • Process payload via a429_txDisableParity() proc_9->proc_10 Data Payload (a429_txDisableParity) proc_11 LLR_11: Status Output Packaging • Format Return Payload: ModStatus proc_10->proc_11 Final Output Data out_sink Output Data Sinks & Status Return • Status Payload (ModStatus) proc_11->out_sink Output Data & Status Code
Data Flow Diagram
Here is the call graph for this function:
modA429_sendConfig Node1 modA429_sendConfig Node1->Node1 Node2 a429_txDisableParity Node1->Node2 Node10 a429_txEnableParity Node1->Node10 Node11 a429_txSetSpeed Node1->Node11 Node12 errCheck Node1->Node12 Node13 validateTxChannel Node1->Node13 Node2->Node2 Node3 readA429Reg Node2->Node3 Node7 writeA429Reg Node2->Node7 Node3->Node3 Node4 interDrv_Read32 Node3->Node4 Node4->Node4 Node5 interDrv_isAddressValid Node4->Node5 Node6 memoryMap_Read32 Node4->Node6 Node5->Node5 Node6->Node6 Node7->Node7 Node8 interDrv_Write32 Node7->Node8 Node8->Node5 Node8->Node8 Node9 memoryMap_Write32 Node8->Node9 Node9->Node9 Node10->Node3 Node10->Node7 Node10->Node10 Node11->Node3 Node11->Node7 Node11->Node11 Node12->Node12 Node13->Node13
Here is the caller graph for this function:
modA429_sendConfig Node1 modA429_sendConfig Node1->Node1

◆ validateRxChannel()

Bool validateRxChannel ( const A429ChannelNum rxChannelNum)
static

validateRxChannel.

Validate the receiver channel number.

Parameters
[in]rxChannelNumReceive channel number to access.
Returns
Bool - Return the status of the channel validation.
Return values
TRUE: If channel is valid.
FALSE: If channel is invalid.

Low-Level Software Requirements (LLR)

Low-Level Requirement Specification: validateRxChannel

Requirement ID Parent HLR ID Detailed Low-Level Requirement Statement (EARS Format) Software Unit Reference Verification Method Status
LLR_A429_VALIDATERXCHANNEL_01 HLR_A429_20363 WHEN the receive channel number is greater than or equal to the maximum ARINC 429 RX channel capacity (7), the validateRxChannel() function SHALL return FALSE. modA429.c:validateRxChannel() Test Closed
LLR_A429_VALIDATERXCHANNEL_02 HLR_A429_20363 WHEN the receive channel identifier is not one of the defined ARINC 429 receive channel identifiers (A429_RX_CH1, A429_RX_CH2, A429_RX_CH3, A429_RX_CH4, A429_RX_CH5, A429_RX_CH6, A429_RX_CH7), the validateRxChannel() function SHALL return FALSE. modA429.c:validateRxChannel() Test Closed
LLR_A429_VALIDATERXCHANNEL_03 HLR_A429_20363 WHEN the receive channel number and identifier are both valid, the validateRxChannel() function SHALL return TRUE. modA429.c:validateRxChannel() Test Closed

Control Coupling Diagram (CCD)

ControlCouplingStructureChart Caller validateRxChannel() [Low-Level Device Drivers] Target interDrv_Write32() / MMIO [Hardware Abstraction Layer] Caller:s->Target:n l_t0->l_b0   rxChannelNum (Flag) r_b0->r_t0   statusCode (Bool)
Control Coupling Structure Chart

Data Coupling Diagram (DCD)

DataCouplingStructureChart Caller validateRxChannel() [Low-Level Device Drivers] Target interDrv_Write32() / MMIO [Hardware Abstraction Layer] Caller:s->Target:n l_t0->l_b0   rxChannelNum (Payload) r_b0->r_t0   stateTelemetry (Internal State)
Data Coupling Structure Chart

Control Flow Diagram (CFD)

cfd_validateRxChannel start Entry: validateRxChannel() guard_1 LLR_01: Guard Check Is the channel number is greater than or equal to the maximum A429 RX channel (7)? start->guard_1 err_exit_1 LLR_01 Error Exit abort processing and return `FALSE` guard_1->err_exit_1 YES (TRUE) guard_2 LLR_02: Guard Check Is the receive channel identifier is not one of `A429_RX_CH1 through A429_RX_CH7`? guard_1->guard_2 err_exit_2 LLR_02 Error Exit abort processing and return `FALSE` guard_2->err_exit_2 YES (TRUE) success_exit LLR_03: Final Exit return `TRUE` guard_2->success_exit NO (FALSE)
Control Flow Diagram

Data Flow Diagram (DFD)

dfd_validateRxChannel in_store Input Data Sources & Parameters • rxChannelNum (const A429ChannelNum) proc_1 LLR_01: Data Validation Check • Evaluate Parameter / State: channelNum in_store->proc_1 Validated Input Data proc_2 LLR_02: Data Validation Check • Evaluate Parameter / State: rxChannelNum proc_1->proc_2 Validated Input Data proc_3 LLR_03: Status Output Packaging • Format Return Payload: Bool proc_2->proc_3 Final Output Data out_sink Output Data Sinks & Status Return • Status Payload (Bool) proc_3->out_sink Output Data & Status Code
Data Flow Diagram
Here is the call graph for this function:
validateRxChannel Node1 validateRxChannel Node1->Node1
Here is the caller graph for this function:
validateRxChannel Node1 validateRxChannel Node1->Node1 Node2 modA429_recvChDisable Node1->Node2 Node7 modA429_recvChEnable Node1->Node7 Node8 modA429_recvConfig Node1->Node8 Node9 modA429_recvFIFO Node1->Node9 Node10 modA429_recvSetLabelFilter Node1->Node10 Node11 modA429_recvSetSDIFilter Node1->Node11 Node2->Node2 Node3 modA429_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 Node8->Node8 Node9->Node9 Node10->Node10 Node11->Node11

◆ validateTxChannel()

Bool validateTxChannel ( const A429ChannelNum txChannelNum)
static

validateTxChannel.

Validate the transmitter channel number.

Parameters
[in]txChannelNumTransmit channel number to access.
Returns
Bool - Return the status of the channel validation.
Return values
TRUE: If channel is valid.
FALSE: If channel is invalid.

Low-Level Software Requirements (LLR)

Low-Level Requirement Specification: validateTxChannel

Requirement ID Parent HLR ID Detailed Low-Level Requirement Statement (EARS Format) Software Unit Reference Verification Method Status
LLR_A429_VALIDATETXCHANNEL_01 HLR_A429_20362 WHEN the transmit channel number is greater than or equal to the maximum ARINC 429 TX channel capacity (4), the validateTxChannel() function SHALL return FALSE. modA429.c:validateTxChannel() Test Closed
LLR_A429_VALIDATETXCHANNEL_02 HLR_A429_20362 WHEN the transmit channel identifier is not one of the defined ARINC 429 transmit channel identifiers (A429_TX_CH1, A429_TX_CH2, A429_TX_CH3, A429_TX_CH4), the validateTxChannel() function SHALL return FALSE. modA429.c:validateTxChannel() Test Closed
LLR_A429_VALIDATETXCHANNEL_03 HLR_A429_20362 WHEN the transmit channel number and identifier are both valid, the validateTxChannel() function SHALL return TRUE. modA429.c:validateTxChannel() Test Closed

Control Coupling Diagram (CCD)

ControlCouplingStructureChart Caller validateTxChannel() [Low-Level Device Drivers] Target interDrv_Write32() / MMIO [Hardware Abstraction Layer] Caller:s->Target:n l_t0->l_b0   txChannelNum (Flag) r_b0->r_t0   statusCode (Bool)
Control Coupling Structure Chart

Data Coupling Diagram (DCD)

DataCouplingStructureChart Caller validateTxChannel() [Low-Level Device Drivers] Target interDrv_Write32() / MMIO [Hardware Abstraction Layer] Caller:s->Target:n l_t0->l_b0   txChannelNum (Payload) r_b0->r_t0   stateTelemetry (Internal State)
Data Coupling Structure Chart

Control Flow Diagram (CFD)

cfd_validateTxChannel start Entry: validateTxChannel() guard_1 LLR_01: Guard Check Is the channel number is greater than or equal to the maximum A429 TX channel (4)? start->guard_1 err_exit_1 LLR_01 Error Exit abort processing and return `FALSE` guard_1->err_exit_1 YES (TRUE) guard_2 LLR_02: Guard Check Is the transmit channel identifier is not one of `A429_TX_CH1 through A429_TX_CH4`? guard_1->guard_2 err_exit_2 LLR_02 Error Exit abort processing and return `FALSE` guard_2->err_exit_2 YES (TRUE) success_exit LLR_03: Final Exit return `TRUE` guard_2->success_exit NO (FALSE)
Control Flow Diagram

Data Flow Diagram (DFD)

dfd_validateTxChannel in_store Input Data Sources & Parameters • txChannelNum (const A429ChannelNum) proc_1 LLR_01: Data Validation Check • Evaluate Parameter / State: channelNum in_store->proc_1 Validated Input Data proc_2 LLR_02: Data Validation Check • Evaluate Parameter / State: txChannelNum proc_1->proc_2 Validated Input Data proc_3 LLR_03: Status Output Packaging • Format Return Payload: Bool proc_2->proc_3 Final Output Data out_sink Output Data Sinks & Status Return • Status Payload (Bool) proc_3->out_sink Output Data & Status Code
Data Flow Diagram
Here is the call graph for this function:
validateTxChannel Node1 validateTxChannel Node1->Node1
Here is the caller graph for this function:
validateTxChannel Node1 validateTxChannel Node1->Node1 Node2 modA429_send Node1->Node2 Node3 modA429_sendChDisable Node1->Node3 Node8 modA429_sendChEnable Node1->Node8 Node9 modA429_sendConfig Node1->Node9 Node2->Node2 Node3->Node3 Node4 modA429_initReset Node3->Node4 Node4->Node4 Node5 modConfig_init Node4->Node5 Node6 modConfig_reset Node4->Node6 Node5->Node5 Node6->Node6 Node7 modConfig_close Node6->Node7 Node7->Node7 Node8->Node8 Node9->Node9

Variable Documentation

◆ a429DevHdl

A429DevHandler a429DevHdl = { 0 }
static

◆ a429ModHdl

ModA429Handler a429ModHdl = { 0 }
static