1 %% Copyright (C) 2013 Czech Technical University in Prague
4 %% - Michal Horn <hornmich@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.tlc
13 %% TLC file for inlining RPP FlexRay node configuration.
16 %% BlockTypeSetup() : refs/rtw_tlc.pdf p. 277
17 %% Outputs() : refs/rtw_tlc.pdf p. 281
20 %implements sfunction_fraysbc "C"
25 %% Function: BlockTypeSetup ====================================================
26 %function BlockTypeSetup(block, system) void
28 %% Ensure required header files are included
29 %<RppCommonBlockTypeSetup(block, system)>
30 %<LibAddToCommonIncludes("rpp/rpp.h")>
35 %% Function: Start =============================================================
36 %function Start(block, system) Output
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)
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;
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>;
67 rpp_sci_printf("Buffer %d added.\n", static_buffers_cnt);