From 9adca33849a0157072846394720718bc86660a25 Mon Sep 17 00:00:00 2001 From: Michal Horn Date: Thu, 9 Jul 2015 13:47:17 +0200 Subject: [PATCH] Update FlexRay blocks to correct version from master --- rpp/blocks/sfunction_frayreceive.c | 3 +++ rpp/blocks/sfunction_fraytransmit.c | 3 +++ rpp/blocks/tlc_c/sfunction_frayreceive.tlc | 16 ++++++++++++---- rpp/blocks/tlc_c/sfunction_fraytransmit.tlc | 14 +++++++++++--- 4 files changed, 29 insertions(+), 7 deletions(-) diff --git a/rpp/blocks/sfunction_frayreceive.c b/rpp/blocks/sfunction_frayreceive.c index 81d7f4b..f8decdb 100644 --- a/rpp/blocks/sfunction_frayreceive.c +++ b/rpp/blocks/sfunction_frayreceive.c @@ -44,6 +44,7 @@ Parameters: - { name: "payloadPreambleIndicatorTr", type: "bool" } - { name: "singleTransmit", type: "bool" } - { name: "slotId", type: "uint32" } + - { name: "bufferId", type: "uint32" } # Description and Help is in Markdown mark-up Description: &desc | @@ -72,6 +73,7 @@ enum params { payloadPreambleIndicatorTr_IDX = 4, singleTransmit_IDX = 5, slotId_IDX = 6, + bufferId_IDX = 7, PARAM_COUNT }; @@ -144,6 +146,7 @@ static void mdlSetWorkWidths(SimStruct *S) ssRegDlgParamAsRunTimeParam(S, payloadPreambleIndicatorTr_IDX, payloadPreambleIndicatorTr_IDX, "payloadPreambleIndicatorTr", SS_BOOLEAN); ssRegDlgParamAsRunTimeParam(S, singleTransmit_IDX, singleTransmit_IDX, "singleTransmit", SS_BOOLEAN); ssRegDlgParamAsRunTimeParam(S, slotId_IDX, slotId_IDX, "slotId", SS_UINT32); + ssRegDlgParamAsRunTimeParam(S, bufferId_IDX, bufferId_IDX, "bufferId", SS_UINT32); } #endif diff --git a/rpp/blocks/sfunction_fraytransmit.c b/rpp/blocks/sfunction_fraytransmit.c index b752533..db9e4f8 100644 --- a/rpp/blocks/sfunction_fraytransmit.c +++ b/rpp/blocks/sfunction_fraytransmit.c @@ -42,6 +42,7 @@ Parameters: - { name: "payloadPreambleIndicatorTr", type: "bool" } - { name: "singleTransmit", type: "bool" } - { name: "slotId", type: "uint32" } + - { name: "bufferId", type: "uint32" } # Description and Help is in Markdown mark-up Description: &desc | @@ -70,6 +71,7 @@ enum params { payloadPreambleIndicatorTr_IDX = 4, singleTransmit_IDX = 5, slotId_IDX = 6, + bufferId_IDX = 7, PARAM_COUNT }; @@ -127,6 +129,7 @@ static void mdlSetWorkWidths(SimStruct *S) ssRegDlgParamAsRunTimeParam(S, payloadPreambleIndicatorTr_IDX, payloadPreambleIndicatorTr_IDX, "payloadPreambleIndicatorTr", SS_BOOLEAN); ssRegDlgParamAsRunTimeParam(S, singleTransmit_IDX, singleTransmit_IDX, "singleTransmit", SS_BOOLEAN); ssRegDlgParamAsRunTimeParam(S, slotId_IDX, slotId_IDX, "slotId", SS_UINT32); + ssRegDlgParamAsRunTimeParam(S, bufferId_IDX, bufferId_IDX, "bufferId", SS_UINT32); } #endif diff --git a/rpp/blocks/tlc_c/sfunction_frayreceive.tlc b/rpp/blocks/tlc_c/sfunction_frayreceive.tlc index 9524b52..7734e95 100644 --- a/rpp/blocks/tlc_c/sfunction_frayreceive.tlc +++ b/rpp/blocks/tlc_c/sfunction_frayreceive.tlc @@ -38,8 +38,15 @@ %assign payloadPreambleIndicatorTr_val = LibBlockParameterValue(payloadPreambleIndicatorTr, 0) %assign singleTransmit_val = LibBlockParameterValue(singleTransmit, 0) %assign slotId_val = LibBlockParameterValue(slotId, 0) + %assign bufferId_val = LibBlockParameterValue(bufferId, 0) + + %if EXISTS(::rpp_fr_bufferId_%_flg) == 1 + % + %endif + %assign ::rpp_fr_bufferId_%_flg = 1 %openfile buffer + // Buffer % { %if %==1 .channel = FR_CHANNEL_A, @@ -78,8 +85,8 @@ %if !SLibCodeGenForSim() %% Get parameters - %assign slotId_val = LibBlockParameterValue(slotId, 0) %assign maxPayload_val = LibBlockParameterValue(maxPayload, 0) + %assign bufferId_val = LibBlockParameterValue(bufferId, 0) %% Get IO signals %assign err_flag = LibBlockOutputSignal(0, "", "", 0) @@ -94,9 +101,10 @@ Fr_RxLPduStatusType rec_status; %endif - retVal = rpp_fr_receive_lpdu(0, %, rec_msg, &rec_status, &rec_length); + + retVal = rpp_fr_receive_lpdu(0, %, rec_msg, &rec_status, &rec_length); if (retVal == FAILURE) { - rpp_sci_printf("Receiving a message from slot %#x failed.\n", %); + rpp_sci_printf("Receiving a message from buffer %#x failed.\n", %); % = TRUE; % = 0; % = 0; @@ -109,7 +117,7 @@ % = 0; } else { - rpp_sci_printf("Message from slot %#x received:%#x\n", %, rec_msg[0]); + rpp_sci_printf("Message from buffer %#x received:%#x\n", %, rec_msg[0]); % = 1; for (i = 0; i < %*2; i++) { *(&%+i) = rec_msg[i]; diff --git a/rpp/blocks/tlc_c/sfunction_fraytransmit.tlc b/rpp/blocks/tlc_c/sfunction_fraytransmit.tlc index e245e48..3be2f75 100644 --- a/rpp/blocks/tlc_c/sfunction_fraytransmit.tlc +++ b/rpp/blocks/tlc_c/sfunction_fraytransmit.tlc @@ -38,9 +38,16 @@ %assign payloadPreambleIndicatorTr_val = LibBlockParameterValue(payloadPreambleIndicatorTr, 0) %assign singleTransmit_val = LibBlockParameterValue(singleTransmit, 0) %assign slotId_val = LibBlockParameterValue(slotId, 0) + %assign bufferId_val = LibBlockParameterValue(bufferId, 0) + + %if EXISTS(::rpp_fr_bufferId_%_flg) == 1 + % + %endif + %assign ::rpp_fr_bufferId_%_flg = 1 %openfile buffer { + // Buffer % %if channel_val == 1U .channel = FR_CHANNEL_A, %elseif channel_val == 2U @@ -95,16 +102,17 @@ %% Get parameters %assign slotId_val = LibBlockParameterValue(slotId, 0) %assign maxPayload_val = LibBlockParameterValue(maxPayload, 0) + %assign bufferId_val = LibBlockParameterValue(bufferId, 0) %% Get IO signals %assign message = LibBlockInputSignal(0, "", "", 0) %assign err_flag = LibBlockOutputSignal(0, "", "", 0) - rpp_sci_printf("sending message %#x on slot %d.\n", %, %); + rpp_sci_printf("sending message %#x on slot %d from buffer %d.\n", %, %, %); - retVal = rpp_fr_transmit_lpdu(0, %, &%, %*2); + retVal = rpp_fr_transmit_lpdu(0, %, &%, %*2); if (retVal == FAILURE) { - rpp_sci_printf("Sending a message to slot %#x failed.\n", %); + rpp_sci_printf("Sending a message from buffer %#x failed.\n", %); % = TRUE; } %endif -- 2.39.2