return;
}
rppAddOutputPort(S, OUTPUT_ERROR_FLAG, SS_BOOLEAN);
- rppAddOutputPort(S, OUTPUT_MESSAGE, SS_UINT8);
- rppAddOutputPort(S, OUTPUT_LENGTH, SS_UINT8);
- rppAddOutputPort(S, OUTPUT_TRIGGER, SS_BOOLEAN);
+ rppAddOutputVectorPort(S, OUTPUT_MESSAGE, SS_UINT8, 2*(int_T)mxGetPr(ssGetSFcnParam(S, 2))[0]);
+ rppAddOutputPort(S, OUTPUT_LENGTH, SS_UINT8);
+ rppAddOutputPort(S, OUTPUT_TRIGGER, SS_BOOLEAN);
/* Set standard options for this block */
rppSetStandardOptions(S);
if(!ssSetNumInputPorts(S, 1)) {
return;
}
- rppAddInputPort(S, 0, SS_UINT8);
+ rppAddInputVectorPort(S, 0, SS_UINT8, 2*(int_T)mxGetPr(ssGetSFcnParam(S, 2))[0]);
/*
* Configure output ports: 1
%assign ::_RPP_FRAYSTEP_TMP_VARS_ = 1
int8_t retVal;
%endif
+ %if EXISTS("_RPP_FRAYREC_TMP_VARS_") == 0
+ %assign ::_RPP_FRAYREC_TMP_VARS_ = 1
+ int8_t i;
+ %endif
%if !SLibCodeGenForSim()
%% Get parameters
%assign slotId_val = LibBlockParameterValue(slotId, 0)
+ %assign maxPayload_val = LibBlockParameterValue(maxPayload, 0)
%% Get IO signals
%assign err_flag = LibBlockOutputSignal(0, "", "", 0)
%if EXISTS("_RPP_FRAYSTEP_RX_VARS_") == 0
%assign ::_RPP_FRAYSTEP_RX_VARS_ = 1
- uint8_t rec_msg[16];
+ uint8_t rec_msg[%<maxPayload_val>*2];
uint8_t rec_length;
Fr_RxLPduStatusType rec_status;
%endif
else {
rpp_sci_printf("Message from slot %#x received:%#x\n", %<slotId_val>, rec_msg[0]);
%<trigger> = 1;
- %<message> = rec_msg[0];
+ for (i = 0; i < %<maxPayload_val>*2; i++) {
+ *(&%<message>+i) = rec_msg[i];
+ }
%<length> = rec_length;
}
}
%if !SLibCodeGenForSim()
%% Get parameters
%assign slotId_val = LibBlockParameterValue(slotId, 0)
+ %assign maxPayload_val = LibBlockParameterValue(maxPayload, 0)
%% Get IO signals
%assign message = LibBlockInputSignal(0, "", "", 0)
rpp_sci_printf("sending message %#x on slot %d.\n", %<message>, %<slotId_val>);
- retVal = rpp_fr_transmit_lpdu(0, %<slotId_val>, &%<message>, 1);
+ retVal = rpp_fr_transmit_lpdu(0, %<slotId_val>, &%<message>, %<maxPayload_val>*2);
if (retVal == FAILURE) {
rpp_sci_printf("Sending a message to slot %#x failed.\n", %<slotId_val>);
%<err_flag> = TRUE;