📄 gen_cpp_req_defines_h.tlc
字号:
%% $RCSfile: gen_cpp_req_defines_h.tlc,v $
%% $Revision: 1.1 $
%% $Date: 2002/12/10 18:38:33 $
%%
%% Copyright 2002 The MathWorks, Inc.
%%
%% Abstract:
%% Generate "cpp_req_defines.h"
%% The generated header file "cpp_req_defines.h"
%% allows a CodeWarrior project to access preprocessor
%% flags (defines) by including the generated
%% header file in the generated code.
%% Original form used in makefiles:
%%
%% CPP_REQ_DEFINES =
%% -DMODEL=$(MODEL)
%% -DERT
%% -DNUMST=$(NUMST)
%% -DTID01EQ=$(TID01EQ)
%% -DMT=$(MULTITASKING)
%% -DMAT_FILE=0
%% -DINTEGER_CODE=$(INTEGER_CODE)
%% -DONESTEPFCN=$(ONESTEPFCN)
%% -DTERMFCN=0
%% -DHAVESTDIO
%%
%openfile CPP_REQ_DEFINES = "cpp_req_defines.h"
#ifndef _CPP_REQ_DEFINES_
#define _CPP_REQ_DEFINES_
#define MODEL %<CompiledModel.Name>
#define ERT 1
#define NUMST %<CompiledModel.NumSampleTimes>
%% manually added -- not necessary (defined in <model>.h) -- fw-03-05
%%#define NCSTATES %<CompiledModel.NumContStates>
#define TID01EQ %<CompiledModel.FixedStepOpts.TID01EQ>
%%
%if CompiledModel.FixedStepOpts.SolverMode == "MultiTasking"
#define MT 1
#define MULTITASKING 1
%else
#define MT 0
#define MULTITASKING 0
%endif
%%
%% #define MAT_FILE %<MatFileLogging>
#define MAT_FILE 0
#define INTEGER_CODE %<PurelyIntegerCode>
%%#define ONESTEPFCN %<CombineOutputUpdateFcns>
%%#define TERMFCN %<IncludeMdlTerminateFcn>
%%
#define MULTI_INSTANCE_CODE 0
#define HAVESTDIO 0
%%
%% R13 and later: USE_RTMODEL needs to be defined to replace
%% simstruct macros with RT enabled versions thereof... -- fw-02-05
#define USE_RTMODEL 1
#define RT 1
%%
%%
%% check if External mode is used -- fw-02-05
%if ExtMode == 1
#define EXT_MODE 1
%endif
%%
%%
%if ((ExtMode == 1) | (Debug2SCI0 > 0))
%%
#define BAUDRATE BAUD_%<baudrate>
%%
%endif
%%
%% define communication ports SCI0 and SCI1 ('External Mode' and/or 'Freeport')
%% 0 : "idle", 1 : "MCOM" (MATLAB), 2: "frPT" (Freeport)
%%
%if SCI0 == "frPT"
#define SCI0_COMMS 2
%elseif SCI0 == "MCOM"
#define SCI0_COMMS 1
%else
#define SCI0_COMMS 0
%endif
%%
%if SCI1 == "frPT"
#define SCI1_COMMS 2
%elseif SCI1 == "MCOM"
#define SCI1_COMMS 1
%else
#define SCI1_COMMS 0
%endif
%%
%% define number of free port channels used by the comms modules
#define SCI0_FREEPORT_CHANNELS %<NumFreePortSCI0>
#define SCI1_FREEPORT_CHANNELS %<NumFreePortSCI1>
%%
%% check if Timing signals have been requested -- fw-02-05
%if Timing_signals == 1
#define TIMING 1
#define setCycTiPin %<timeport> |= (0x01<<%<CycTI_pin>)
#define clrCycTiPin %<timeport> &= ~(0x01<<%<CycTI_pin>)
#define setSerTiPin %<timeport> |= (0x01<<%<SerTI_pin>)
#define clrSerTiPin %<timeport> &= ~(0x01<<%<SerTI_pin>)
%switch(timeport)
%case "PORTA"
%assign ddrtimeport = "DDRA"
%break
%case "PORTB"
%assign ddrtimeport = "DDRB"
%break
%case "PTH"
%assign ddrtimeport = "DDRH"
%break
%case "PTJ"
%assign ddrtimeport = "DDRJ"
%break
%case "PTM"
%assign ddrtimeport = "DDRM"
%break
%case "PTP"
%assign ddrtimeport = "DDRP"
%break
%case "PTS"
%assign ddrtimeport = "DDRS"
%break
%case "PTT"
%assign ddrtimeport = "DDRT"
%break
%endswitch
#define setCycTiPinOutput %<ddrtimeport> |= ((0x01<<%<CycTI_pin>) | (0x01<<%<SerTI_pin>))
%endif
%%
%if LCDdispErrors == 1
#define LCDUSE4ERRORS 1
%endif
%%
%% define level of target debugging info to be displayed through SCI0
#define DEBUG2SCI0 %<Debug2SCI0>
%%
%% define model name as string (LCD display)
#define MODELSTR "%<CompiledModel.Name>"
%%
%% define Taget board (1 : Dragon-12, 2 : MiniDragon+)
%switch(Target_board)
%case "Dragon-12"
%assign myTarget = 1
%break
%case "MiniDragon+"
%assign myTarget = 2
%break
%case "UofA-Mobile-Robot"
%assign myTarget = 3
%break
%endswitch
#define TARGET_BOARD %<myTarget>
%%
%% define Core Timer (1 : RTI, 2 : T7ISR)
%switch(Core_time)
%case "RTI"
#define CORE_TIMER CORE_RTI
%break
%case "T7I"
#define CORE_TIMER CORE_T7ISR
%break
%endswitch
%%
%%
%% define timer base period and prescale value -- fw-08-06
#define TIMER_BASEPERIOD %<TimerBasePeriod>
#define TIMER_PRESCALER %<TimerPrescaler>
#define TIMER_PRESCALER_MASK %<TimerPrescalerMask>
%%
%%
%% define macro HAS_TIMERBLOCKS -- fw-08-06
%% the mode variable 'HasTimers' can assume values '0' (off), '1' (OC) or '2' (IC) for each channel
#define HAS_TIMERBLOCKS %<HasTimers>
#define T0_MODE (HAS_TIMERBLOCKS&0x0000000F)/0x00000001
#define T1_MODE (HAS_TIMERBLOCKS&0x000000F0)/0x00000010
#define T2_MODE (HAS_TIMERBLOCKS&0x00000F00)/0x00000100
#define T3_MODE (HAS_TIMERBLOCKS&0x0000F000)/0x00001000
#define T4_MODE (HAS_TIMERBLOCKS&0x000F0000)/0x00010000
#define T5_MODE (HAS_TIMERBLOCKS&0x00F00000)/0x00100000
#define T6_MODE (HAS_TIMERBLOCKS&0x0F000000)/0x01000000
#define T7_MODE (HAS_TIMERBLOCKS&0xF0000000)/0x10000000
%%
%%
%% define macro HAS_RFCOMMS -- fw-09-06
#define HAS_RFCOMMS %<HasRFComms>
%%
%%
%% define macro CLIENT_COUNT -- fw-09-06
#define CLIENT_COUNT %<RFCommsServerChannels>
%%
%%
%% define macro HAS_SPI -- fw-09-06
%if %<HasRFComms> > 0
#define HAS_SPI 1
%else
#define HAS_SPI 0
%endif
%%
%%
%% check if code is to be run immediately upon reset -- fw-10-05
%if Run_Immediately == 1
%%
#define RUN_IMMEDIATELY 1
%%
%endif
/* Eliminate preprocessor warnings */
#define __BORLANDC__ 0
#define __WATCOMC__ 0
%%
#endif
%closefile CPP_REQ_DEFINES
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -