]> rtime.felk.cvut.cz Git - pes-rpp/rpp-simulink.git/blob - rpp/blocks/tlc_c/sfunction_fraysbc.tlc
Merge branches 'master' and 'rm48/master'
[pes-rpp/rpp-simulink.git] / rpp / blocks / tlc_c / sfunction_fraysbc.tlc
1 %% Copyright (C) 2013 Czech Technical University in Prague
2 %%
3 %% Authors:
4 %%     - Michal Horn <hornmich@fel.cvut.cz>
5 %%
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.
10 %%
11 %% File : sfunction_fraysbc.tlc
12 %% Abstract:
13 %%     TLC file for inlining RPP FlexRay node configuration.
14 %%
15 %% References:
16 %%     BlockTypeSetup() : refs/rtw_tlc.pdf p. 277
17 %%     Outputs()        : refs/rtw_tlc.pdf p. 281
18
19
20 %implements sfunction_fraysbc "C"
21
22 %include "common.tlc"
23
24
25 %% Function: BlockTypeSetup ====================================================
26 %function BlockTypeSetup(block, system) void
27
28     %% Ensure required header files are included
29     %<RppCommonBlockTypeSetup(block, system)>
30     %<LibAddToCommonIncludes("rpp/rpp.h")>
31
32 %endfunction
33
34
35 %% Function: Start =============================================================
36 %function Start(block, system) Output
37
38     %if !SLibCodeGenForSim()
39         %assign channel_val = LibBlockParameterValue(channel, 0)
40         %assign cycleCounterFiltering_val = LibBlockParameterValue(cycleCounterFiltering, 0)
41         %assign isTx_val = LibBlockParameterValue(isTx, 0)
42         %assign maxPayload_val = LibBlockParameterValue(maxPayload, 0)
43         %assign msgBufferInterrupt_val = LibBlockParameterValue(msgBufferInterrupt, 0)
44         %assign payloadPreambleIndicatorTr_val = LibBlockParameterValue(payloadPreambleIndicatorTr, 0)
45         %assign singleTransmit_val = LibBlockParameterValue(singleTransmit, 0)
46         %assign slotId_val = LibBlockParameterValue(slotId, 0)
47
48         %% Declare temporal variables
49         %if EXISTS("_RPP_FRAYCONFIG_TMP_VARS_") == 0
50             %assign ::_RPP_FRAYCONFIG_TMP_VARS_ = 1
51                         #define MAX_ST_BUF_CFG 62
52                         Fr_TMS570LS_ClusterConfigType cluster_cfg;
53                         Fr_TMS570LS_NodeConfigType node_cfg;
54                         Fr_TMS570LS_BufferConfigType static_buffers_cfg[MAX_ST_BUF_CFG];
55                         Fr_TMS570LS_MsgRAMConfig msg_ram_cfg;
56                         uint8_t static_buffers_cnt = 0;
57         %endif
58             static_buffers_cfg[static_buffers_cnt].channel = %<channel_val>;
59             static_buffers_cfg[static_buffers_cnt].cycleCounterFiltering = %<cycleCounterFiltering_val>;
60             static_buffers_cfg[static_buffers_cnt].isTx = %<isTx_val>;
61             static_buffers_cfg[static_buffers_cnt].maxPayload = %<maxPayload_val>;
62             static_buffers_cfg[static_buffers_cnt].msgBufferInterrupt = %<msgBufferInterrupt_val>;
63             static_buffers_cfg[static_buffers_cnt].payloadPreambleIndicatorTr = %<payloadPreambleIndicatorTr_val>;
64             static_buffers_cfg[static_buffers_cnt].singleTransmit = %<singleTransmit_val>;
65             static_buffers_cfg[static_buffers_cnt].slotId = %<slotId_val>;
66                 static_buffers_cnt++;
67                 rpp_sci_printf("Buffer %d added.\n", static_buffers_cnt);
68     %endif
69
70 %endfunction
71
72
73 %% [EOF]