]> rtime.felk.cvut.cz Git - jenkicar/rpp-simulink.git/blobdiff - rpp/blocks/tlc_c/sfunction_frayreceive.tlc
Update FlexRay blocks to correct version from master
[jenkicar/rpp-simulink.git] / rpp / blocks / tlc_c / sfunction_frayreceive.tlc
index 9524b5283b0f3411c9119224b912e691f1436b38..7734e95b033634ab1581ee5a2ef3f9813acd4fbe 100644 (file)
   %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,
@@ -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)
                  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];