1 /* Copyright (C) 2013, 2014 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
26 Name: FlexRay static buffer configuration
37 # Description and Help is in Markdown mark-up
51 RPP API functions used:
57 #define S_FUNCTION_NAME sfunction_fraysbc
62 #define cycleCounterFiltering_IDX 1
64 #define maxPayload_IDX 3
65 #define msgBufferInterrupt_IDX 4
66 #define payloadPreambleIndicatorTr_IDX 5
67 #define singleTransmit_IDX 6
71 static void mdlInitializeSizes(SimStruct *S)
74 * Configure parameters: 25
75 * channel (0 - A, 1 - B, 2 - AB)
76 * cycleCounterFiltering
80 * payloadPreambleIndicatorTr
84 if (!rppSetNumParams(S, 8)) {
89 * Configure input ports: 0
91 if (!ssSetNumInputPorts(S, 0)) {
96 * Configure output ports: 0
98 if (!ssSetNumOutputPorts(S, 0)) {
102 /* Set standard options for this block */
103 rppSetStandardOptions(S);
107 #ifdef MATLAB_MEX_FILE
108 #define MDL_CHECK_PARAMETERS
109 static void mdlCheckParameters(SimStruct *S)
116 #ifdef MATLAB_MEX_FILE
117 #define MDL_SET_WORK_WIDTHS
118 static void mdlSetWorkWidths(SimStruct *S)
120 /* Set number of run-time parameters */
121 if (!ssSetNumRunTimeParams(S, 8)) {
125 /* Register the run-time parameter 1 */
126 ssRegDlgParamAsRunTimeParam(S, channel_IDX, channel_IDX, "channel", SS_UINT8);
127 ssRegDlgParamAsRunTimeParam(S, cycleCounterFiltering_IDX, cycleCounterFiltering_IDX, "cycleCounterFiltering", SS_UINT8);
128 ssRegDlgParamAsRunTimeParam(S, isTx_IDX, isTx_IDX, "isTx", SS_BOOLEAN);
129 ssRegDlgParamAsRunTimeParam(S, maxPayload_IDX, maxPayload_IDX, "maxPayload", SS_UINT8);
130 ssRegDlgParamAsRunTimeParam(S, msgBufferInterrupt_IDX, msgBufferInterrupt_IDX, "msgBufferInterrupt", SS_BOOLEAN);
131 ssRegDlgParamAsRunTimeParam(S, payloadPreambleIndicatorTr_IDX, payloadPreambleIndicatorTr_IDX, "payloadPreambleIndicatorTr", SS_BOOLEAN);
132 ssRegDlgParamAsRunTimeParam(S, singleTransmit_IDX, singleTransmit_IDX, "singleTransmit", SS_BOOLEAN);
133 ssRegDlgParamAsRunTimeParam(S, slotId_IDX, slotId_IDX, "slotId", SS_UINT32);
138 #define COMMON_MDLINITIALIZESAMPLETIMES_INHERIT
139 #define UNUSED_MDLOUTPUTS
140 #define UNUSED_MDLTERMINATE