1 /* Copyright (C) 2013 Czech Technical University in Prague
4 * - Michal Horn <hornimch@fel.cvut.cz>
6 * This document contains proprietary information belonging to Czech
7 * Technical University in Prague. Passing on and copying of this
8 * document, and communication of its contents is not permitted
9 * without prior written authorization.
11 * File : sfunction_fraysbc.c
13 * C-MEX S-function block for RPP FlexRay static buffer configuration.
20 * <matlabroot>/bin/mex sfunction_fraysbc.c
24 #define S_FUNCTION_NAME sfunction_fraysbc
29 #define cycleCounterFiltering_IDX 1
31 #define maxPayload_IDX 3
32 #define msgBufferInterrupt_IDX 4
33 #define payloadPreambleIndicatorTr_IDX 5
34 #define singleTransmit_IDX 6
38 static void mdlInitializeSizes(SimStruct *S)
41 * Configure parameters: 25
42 * channel (0 - A, 1 - B, 2 - AB)
43 * cycleCounterFiltering
47 * payloadPreambleIndicatorTr
51 if (!rppSetNumParams(S, 8)) {
56 * Configure input ports: 0
58 if (!ssSetNumInputPorts(S, 0)) {
63 * Configure output ports: 0
65 if (!ssSetNumOutputPorts(S, 0)) {
69 /* Set standard options for this block */
70 rppSetStandardOptions(S);
74 #ifdef MATLAB_MEX_FILE
75 #define MDL_CHECK_PARAMETERS
76 static void mdlCheckParameters(SimStruct *S)
83 #ifdef MATLAB_MEX_FILE
84 #define MDL_SET_WORK_WIDTHS
85 static void mdlSetWorkWidths(SimStruct *S)
87 /* Set number of run-time parameters */
88 if (!ssSetNumRunTimeParams(S, 8)) {
92 /* Register the run-time parameter 1 */
93 ssRegDlgParamAsRunTimeParam(S, channel_IDX, channel_IDX, "channel", SS_UINT8);
94 ssRegDlgParamAsRunTimeParam(S, cycleCounterFiltering_IDX, cycleCounterFiltering_IDX, "cycleCounterFiltering", SS_UINT8);
95 ssRegDlgParamAsRunTimeParam(S, isTx_IDX, isTx_IDX, "isTx", SS_BOOLEAN);
96 ssRegDlgParamAsRunTimeParam(S, maxPayload_IDX, maxPayload_IDX, "maxPayload", SS_UINT8);
97 ssRegDlgParamAsRunTimeParam(S, msgBufferInterrupt_IDX, msgBufferInterrupt_IDX, "msgBufferInterrupt", SS_BOOLEAN);
98 ssRegDlgParamAsRunTimeParam(S, payloadPreambleIndicatorTr_IDX, payloadPreambleIndicatorTr_IDX, "payloadPreambleIndicatorTr", SS_BOOLEAN);
99 ssRegDlgParamAsRunTimeParam(S, singleTransmit_IDX, singleTransmit_IDX, "singleTransmit", SS_BOOLEAN);
100 ssRegDlgParamAsRunTimeParam(S, slotId_IDX, slotId_IDX, "slotId", SS_UINT32);
105 #define COMMON_MDLINITIALIZESAMPLETIMES_INHERIT
106 #define UNUSED_MDLOUTPUTS
107 #define UNUSED_MDLTERMINATE