@@ -54,29 +54,40 @@ void assign(SilKit::Services::Flexray::FlexrayClusterParameters& cppClusterParam
5454void assign (SilKit::Services::Flexray::FlexrayNodeParameters& cppNodeParameters,
5555 const SilKit_FlexrayNodeParameters* nodeParameters)
5656{
57- cppNodeParameters.pAllowHaltDueToClock = nodeParameters->pAllowHaltDueToClock ;
58- cppNodeParameters.pAllowPassiveToActive = nodeParameters->pAllowPassiveToActive ;
59- cppNodeParameters.pChannels = (SilKit::Services::Flexray::FlexrayChannel)nodeParameters->pChannels ;
60- cppNodeParameters.pClusterDriftDamping = nodeParameters->pClusterDriftDamping ;
61- cppNodeParameters.pdAcceptedStartupRange = nodeParameters->pdAcceptedStartupRange ;
62- cppNodeParameters.pdListenTimeout = nodeParameters->pdListenTimeout ;
63- cppNodeParameters.pKeySlotId = nodeParameters->pKeySlotId ;
64- cppNodeParameters.pKeySlotOnlyEnabled = nodeParameters->pKeySlotOnlyEnabled ;
65- cppNodeParameters.pKeySlotUsedForStartup = nodeParameters->pKeySlotUsedForStartup ;
66- cppNodeParameters.pKeySlotUsedForSync = nodeParameters->pKeySlotUsedForSync ;
67- cppNodeParameters.pLatestTx = nodeParameters->pLatestTx ;
68- cppNodeParameters.pMacroInitialOffsetA = nodeParameters->pMacroInitialOffsetA ;
69- cppNodeParameters.pMacroInitialOffsetB = nodeParameters->pMacroInitialOffsetB ;
70- cppNodeParameters.pMicroInitialOffsetA = nodeParameters->pMicroInitialOffsetA ;
71- cppNodeParameters.pMicroInitialOffsetB = nodeParameters->pMicroInitialOffsetB ;
72- cppNodeParameters.pMicroPerCycle = nodeParameters->pMicroPerCycle ;
73- cppNodeParameters.pOffsetCorrectionOut = nodeParameters->pOffsetCorrectionOut ;
74- cppNodeParameters.pOffsetCorrectionStart = nodeParameters->pOffsetCorrectionStart ;
75- cppNodeParameters.pRateCorrectionOut = nodeParameters->pRateCorrectionOut ;
76- cppNodeParameters.pWakeupChannel = (SilKit::Services::Flexray::FlexrayChannel)nodeParameters->pWakeupChannel ;
77- cppNodeParameters.pWakeupPattern = nodeParameters->pWakeupPattern ;
78- cppNodeParameters.pdMicrotick = (SilKit::Services::Flexray::FlexrayClockPeriod)nodeParameters->pdMicrotick ;
79- cppNodeParameters.pSamplesPerMicrotick = nodeParameters->pSamplesPerMicrotick ;
57+ const auto inputVersion = SK_ID_GET_VERSION (SilKit_Struct_GetId (*nodeParameters));
58+
59+ if (inputVersion == 1 || inputVersion == 2 )
60+ {
61+ cppNodeParameters.pAllowHaltDueToClock = nodeParameters->pAllowHaltDueToClock ;
62+ cppNodeParameters.pAllowPassiveToActive = nodeParameters->pAllowPassiveToActive ;
63+ cppNodeParameters.pChannels = (SilKit::Services::Flexray::FlexrayChannel)nodeParameters->pChannels ;
64+ cppNodeParameters.pClusterDriftDamping = nodeParameters->pClusterDriftDamping ;
65+ cppNodeParameters.pdAcceptedStartupRange = nodeParameters->pdAcceptedStartupRange ;
66+ cppNodeParameters.pdListenTimeout = nodeParameters->pdListenTimeout ;
67+ cppNodeParameters.pKeySlotId = nodeParameters->pKeySlotId ;
68+ cppNodeParameters.pKeySlotOnlyEnabled = nodeParameters->pKeySlotOnlyEnabled ;
69+ cppNodeParameters.pKeySlotUsedForStartup = nodeParameters->pKeySlotUsedForStartup ;
70+ cppNodeParameters.pKeySlotUsedForSync = nodeParameters->pKeySlotUsedForSync ;
71+ cppNodeParameters.pLatestTx = nodeParameters->pLatestTx ;
72+ cppNodeParameters.pMacroInitialOffsetA = nodeParameters->pMacroInitialOffsetA ;
73+ cppNodeParameters.pMacroInitialOffsetB = nodeParameters->pMacroInitialOffsetB ;
74+ cppNodeParameters.pMicroInitialOffsetA = nodeParameters->pMicroInitialOffsetA ;
75+ cppNodeParameters.pMicroInitialOffsetB = nodeParameters->pMicroInitialOffsetB ;
76+ cppNodeParameters.pMicroPerCycle = nodeParameters->pMicroPerCycle ;
77+ cppNodeParameters.pOffsetCorrectionOut = nodeParameters->pOffsetCorrectionOut ;
78+ cppNodeParameters.pOffsetCorrectionStart = nodeParameters->pOffsetCorrectionStart ;
79+ cppNodeParameters.pRateCorrectionOut = nodeParameters->pRateCorrectionOut ;
80+ cppNodeParameters.pWakeupChannel = (SilKit::Services::Flexray::FlexrayChannel)nodeParameters->pWakeupChannel ;
81+ cppNodeParameters.pWakeupPattern = nodeParameters->pWakeupPattern ;
82+ cppNodeParameters.pdMicrotick = (SilKit::Services::Flexray::FlexrayClockPeriod)nodeParameters->pdMicrotick ;
83+ cppNodeParameters.pSamplesPerMicrotick = nodeParameters->pSamplesPerMicrotick ;
84+ }
85+
86+ if (inputVersion == 2 )
87+ {
88+ cppNodeParameters.pTwoKeySlotMode = nodeParameters->pTwoKeySlotMode ;
89+ cppNodeParameters.pSecondKeySlotId = nodeParameters->pSecondKeySlotId ;
90+ }
8091}
8192
8293void assign (SilKit::Services::Flexray::FlexrayControllerConfig& cppConfig, const SilKit_FlexrayControllerConfig* config)
0 commit comments