%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_%<bufferId_val>_flg) == 1
+ %<LibBlockReportError(block, "Buffer ID is already used by another FlexRay block.")>
+ %endif
+ %assign ::rpp_fr_bufferId_%<bufferId_val>_flg = 1
%openfile buffer
+ // Buffer %<bufferId_val>
{
%if %<channel_val>==1
.channel = FR_CHANNEL_A,
%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)
Fr_RxLPduStatusType rec_status;
%endif
- retVal = rpp_fr_receive_lpdu(0, %<slotId_val>, rec_msg, &rec_status, &rec_length);
+
+ retVal = rpp_fr_receive_lpdu(0, %<bufferId_val>, rec_msg, &rec_status, &rec_length);
if (retVal == FAILURE) {
- rpp_sci_printf("Receiving a message from slot %#x failed.\n", %<slotId_val>);
+ rpp_sci_printf("Receiving a message from buffer %#x failed.\n", %<bufferId_val>);
%<err_flag> = TRUE;
%<message> = 0;
%<length> = 0;
%<length> = 0;
}
else {
- rpp_sci_printf("Message from slot %#x received:%#x\n", %<slotId_val>, rec_msg[0]);
+ rpp_sci_printf("Message from buffer %#x received:%#x\n", %<bufferId_val>, rec_msg[0]);
%<trigger> = 1;
for (i = 0; i < %<maxPayload_val>*2; i++) {
*(&%<message>+i) = rec_msg[i];