Documentation Index
Fetch the complete documentation index at: https://notevil.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
frGetConfiguration
Valid for: CANoe DE • CANoe4SW DEFunction Syntax
frGetConfiguration( int channel, frConfiguration<configuration var> );
Description
This function copies the FlexRay protocol parameters to<configuration var>.
Parameters
- channel: FlexRay channel (cluster number).
<configuration var>: Name of the variable referenced by the configuration object. The variable name was defined when the object was created using frConfiguration.
Return Values
—Example
The following CAPL function outputs all FlexRay protocol parameters in the Write Window.variables
{
frConfiguration gFRParams;
}
void printFRConf ()
{
frGetConfiguration(%CHANNEL%, gFRParams);
Write("%33s = %6d %s", "pCCVersion", gFRParams.pCCVersion, "");
Write("%33s = %6ld %s","FRBaudrate", gFRParams.FRBaudrate, "kBit/s");
Write("%33s = %6f %s", "gdMacrotick", gFRParams.gdMacrotick, "us");
Write("%33s = %6d %s", "gMacroPerCycle", gFRParams.gMacroPerCycle, "MT");
Write("%33s = %6d %s", "gdNIT", gFRParams.gdNIT, "MT");
Write("%33s = %6f %s", "gdSampleClockPeriod", gFRParams.gdSampleClockPeriod, "us");
Write("%33s = %6d %s", "gdTSSTransmitter", gFRParams.gdTSSTransmitter, "Bit");
Write("%33s = %6d %s", "gPayloadLengthStatic", gFRParams.gPayloadLengthStatic, "Words");
Write("%33s = %6d %s", "gdActionPointOffset", gFRParams.gdActionPointOffset, "MT");
Write("%33s = %6d %s", "gdStaticSlot", gFRParams.gdStaticSlot, "MT");
Write("%33s = %6d %s", "gNumberOfStaticSlots", gFRParams.gNumberOfStaticSlots, "#");
Write("%33s = %6d %s", "gdMinislotActionPointOffset", gFRParams.gdMinislotActionPointOffset, "MT");
Write("%33s = %6d %s", "gdMinislot", gFRParams.gdMinislot, "MT");
Write("%33s = %6d %s", "gNumberOfMinislots", gFRParams.gNumberOfMinislots, "#");
Write("%33s = %6d %s", "gClusterDriftDamping", gFRParams.gClusterDriftDamping, "");
Write("%33s = %6d %s", "gListenNoise", gFRParams.gListenNoise, "");
Write("%33s = %6d %s", "gColdStartAttempts", gFRParams.gColdStartAttempts, "#");
Write("%33s = %6d %s", "gSyncNodeMax", gFRParams.gSyncNodeMax, "#");
Write("%33s = %6d %s", "gOffsetCorrectionStart", gFRParams.gOffsetCorrectionStart, "MT");
Write("%33s = %6d %s", "gdDynamicSlotIdlePhase", gFRParams.gdDynamicSlotIdlePhase, "MS");
Write("%33s = %6d %s", "gdSymbolWindow", gFRParams.gdSymbolWindow, "MT");
Write("%33s = %6d %s", "gdCASRxLowMax", gFRParams.gdCASRxLowMax, "Bit");
Write("%33s = %6d %s", "gdCASRxLowMin", gFRParams.gdCASRxLowMin, "Bit");
Write("%33s = %6d %s", "gdWakeupSymbolRxIdle", gFRParams.gdWakeupSymbolRxIdle, "Bit");
Write("%33s = %6d %s", "gdWakeupSymbolRxLow", gFRParams.gdWakeupSymbolRxLow, "Bit");
Write("%33s = %6d %s", "gdWakeupSymbolRxWindow", gFRParams.gdWakeupSymbolRxWindow, "Bit");
Write("%33s = %6d %s", "gdWakeupSymbolTxIdle", gFRParams.gdWakeupSymbolTxIdle, "Bit");
Write("%33s = %6d %s", "gdWakeupSymbolTxLow", gFRParams.gdWakeupSymbolTxLow, "Bit");
Write("%33s = %6d %s", "gMaxWithoutClockCorrectionFatal", gFRParams.gMaxWithoutClockCorrectionFatal, "double cycles");
Write("%33s = %6d %s", "gMaxWithoutClockCorrectionPassive", gFRParams.gMaxWithoutClockCorrectionPassive, "double cycles");
Write("%33s = %6d %s", "gNetworkManagementVectorLength", gFRParams.gNetworkManagementVectorLength, "Bytes");
Write("%33s = %6d %s", "pChannels", gFRParams.pChannels, "");
Write("%33s = %6d %s", "pMicroPerCycle", gFRParams.pMicroPerCycle, "uT");
Write("%33s = %6d %s", "pSamplesPerMicrotick", gFRParams.pSamplesPerMicrotick, "#");
Write("%33s = %6d %s", "pPayloadLengthDynMax", gFRParams.pPayloadLengthDynMax, "Words");
Write("%33s = %6d %s", "pPayloadLengthFIFO", gFRParams.pPayloadLengthFIFO, "Words");
Write("%33s = %6d %s", "pLatestTx", gFRParams.pLatestTx, "MS");
Write("%33s = %6d %s", "pdMaxDrift", gFRParams.pdMaxDrift, "uT");
Write("%33s = %6d %s", "pdAcceptedStartupRange", gFRParams.pdAcceptedStartupRange, "uT");
Write("%33s = %6d %s", "pdListenTimeout", gFRParams.pdListenTimeout, "uT");
Write("%33s = %6d %s", "pClusterDriftDamping", gFRParams.pClusterDriftDamping, "uT");
Write("%33s = %6d %s", "pDecodingCorrection", gFRParams.pDecodingCorrection, "uT");
Write("%33s = %6d %s", "pDelayCompensation_A", gFRParams.pDelayCompensation_A, "uT");
Write("%33s = %6d %s", "pDelayCompensation_B", gFRParams.pDelayCompensation_B, "uT");
Write("%33s = %6d %s", "pOffsetCorrectionOut", gFRParams.pOffsetCorrectionOut, "uT");
Write("%33s = %6d %s", "pRateCorrectionOut", gFRParams.pRateCorrectionOut, "uT");
Write("%33s = %6d %s", "pExternOffsetCorrection", gFRParams.pExternOffsetCorrection, "uT");
Write("%33s = %6d %s", "pExternRateCorrection", gFRParams.pExternRateCorrection, "uT");
Write("%33s = %6d %s", "pExternCorrectionMode", gFRParams.pExternCorrectionMode, "");
Write("%33s = %6d %s", "pMacroInitialOffset_A", gFRParams.pMacroInitialOffset_A, "MT");
Write("%33s = %6d %s", "pMacroInitialOffset_B", gFRParams.pMacroInitialOffset_B, "MT");
Write("%33s = %6d %s", "pMicroInitialOffset_A", gFRParams.pMicroInitialOffset_A, "uT");
Write("%33s = %6d %s", "pMicroInitialOffset_B", gFRParams.pMicroInitialOffset_B, "uT");
Write("%33s = %6d %s", "pWakeupChannel", gFRParams.pWakeupChannel, "");
Write("%33s = %6d %s", "pWakeupPattern", gFRParams.pWakeupPattern, "#");
Write("%33s = %6d %s", "pAllowHaltDueToClock", gFRParams.pAllowHaltDueToClock, "Boolean");
Write("%33s = %6d %s", "pAllowPassiveToActive", gFRParams.pAllowPassiveToActive, "cycles");
Write("%33s = %6d %s", "pBGTick", gFRParams.pBGTick, "Boolean");
Write("%33s = %6d %s", "pPhysicalLayer", gFRParams.pPhysicalLayer, "");
Write("%33s = %6d %s", "pSingleSlotEnabled", gFRParams.pSingleSlotEnabled, "Boolean");
Write("%33s = %6d %s", "pBGEnable", gFRParams.pBGEnable, "Boolean");
Write("%33s = %6d %s", "pDynamicSegmentEnable", gFRParams.pDynamicSegmentEnable, "Boolean");
Write("%33s = %6d %s", "pStrobePointPosition", gFRParams.pStrobePointPosition, "");
Write("%33s = %6f %s", "pdMicrotick", gFRParams.pdMicrotick, "us");
}