mirror of
https://github.com/Dev-KATECH/ADM.git
synced 2026-05-17 01:43:59 +09:00
commit
600d5ccf70
5
ADM_Cruise_Control/Analysis.m
Normal file
5
ADM_Cruise_Control/Analysis.m
Normal file
@ -0,0 +1,5 @@
|
||||
t=data{8}.Values.Time;
|
||||
RPM=data{8}.Values.Data;
|
||||
TarRPM=data{16}.Values.Data;
|
||||
|
||||
figure(1); plot(t, TarRPM, t, RPM); grid on;
|
||||
BIN
ADM_Cruise_Control/CANTest.mldatx
Normal file
BIN
ADM_Cruise_Control/CANTest.mldatx
Normal file
Binary file not shown.
BIN
ADM_Cruise_Control/CANTest.slx
Normal file
BIN
ADM_Cruise_Control/CANTest.slx
Normal file
Binary file not shown.
BIN
ADM_Cruise_Control/CANTest.slxc
Normal file
BIN
ADM_Cruise_Control/CANTest.slxc
Normal file
Binary file not shown.
653
ADM_Cruise_Control/CANTest.xml
Normal file
653
ADM_Cruise_Control/CANTest.xml
Normal file
@ -0,0 +1,653 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?><Root>
|
||||
<SubSystem>
|
||||
<Name>DAQ_In</Name>
|
||||
<xPCName>CANTest/DAQ_In</xPCName>
|
||||
|
||||
|
||||
<block>
|
||||
<blkName>CAN Read1</blkName>
|
||||
<xpcblkName>DAQ_In/CAN Read1</xpcblkName>
|
||||
<SLblockPath>CANTest/DAQ_In/CAN Read1</SLblockPath>
|
||||
<isSrc>[1 0 2]</isSrc>
|
||||
<parameter>
|
||||
<paramName>P1</paramName>
|
||||
<dim>[1, 1]</dim>
|
||||
<SubSystemName>CANTest/DAQ_In</SubSystemName>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<paramName>P2</paramName>
|
||||
<dim>[1, 1]</dim>
|
||||
<SubSystemName>CANTest/DAQ_In</SubSystemName>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<paramName>P3</paramName>
|
||||
<dim>[1, 1]</dim>
|
||||
<SubSystemName>CANTest/DAQ_In</SubSystemName>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<paramName>P4</paramName>
|
||||
<dim>[1, 5]</dim>
|
||||
<SubSystemName>CANTest/DAQ_In</SubSystemName>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<paramName>P5</paramName>
|
||||
<dim>[1, 1]</dim>
|
||||
<SubSystemName>CANTest/DAQ_In</SubSystemName>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<paramName>P6</paramName>
|
||||
<dim>[1, 1]</dim>
|
||||
<SubSystemName>CANTest/DAQ_In</SubSystemName>
|
||||
</parameter>
|
||||
</block>
|
||||
<block>
|
||||
<blkName>CAN Setup</blkName>
|
||||
<xpcblkName>DAQ_In/CAN Setup</xpcblkName>
|
||||
<SLblockPath>CANTest/DAQ_In/CAN Setup</SLblockPath>
|
||||
<isSrc>[0 0 0]</isSrc>
|
||||
<parameter>
|
||||
<paramName>P1</paramName>
|
||||
<dim>[1, 1]</dim>
|
||||
<SubSystemName>CANTest/DAQ_In</SubSystemName>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<paramName>P2</paramName>
|
||||
<dim>[1, 2]</dim>
|
||||
<SubSystemName>CANTest/DAQ_In</SubSystemName>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<paramName>P3</paramName>
|
||||
<dim>[1, 1]</dim>
|
||||
<SubSystemName>CANTest/DAQ_In</SubSystemName>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<paramName>P4</paramName>
|
||||
<dim>[1, 1]</dim>
|
||||
<SubSystemName>CANTest/DAQ_In</SubSystemName>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<paramName>P5</paramName>
|
||||
<dim>[1, 1]</dim>
|
||||
<SubSystemName>CANTest/DAQ_In</SubSystemName>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<paramName>P6</paramName>
|
||||
<dim>[1, 1]</dim>
|
||||
<SubSystemName>CANTest/DAQ_In</SubSystemName>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<paramName>P7</paramName>
|
||||
<dim>[1, 4]</dim>
|
||||
<SubSystemName>CANTest/DAQ_In</SubSystemName>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<paramName>P8</paramName>
|
||||
<dim>[1, 6]</dim>
|
||||
<SubSystemName>CANTest/DAQ_In</SubSystemName>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<paramName>P9</paramName>
|
||||
<dim>[1, 2]</dim>
|
||||
<SubSystemName>CANTest/DAQ_In</SubSystemName>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<paramName>P10</paramName>
|
||||
<dim>[1, 2]</dim>
|
||||
<SubSystemName>CANTest/DAQ_In</SubSystemName>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<paramName>P11</paramName>
|
||||
<dim>[1, 1]</dim>
|
||||
<SubSystemName>CANTest/DAQ_In</SubSystemName>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<paramName>P12</paramName>
|
||||
<dim>[1, 4]</dim>
|
||||
<SubSystemName>CANTest/DAQ_In</SubSystemName>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<paramName>P13</paramName>
|
||||
<dim>[1, 6]</dim>
|
||||
<SubSystemName>CANTest/DAQ_In</SubSystemName>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<paramName>P14</paramName>
|
||||
<dim>[1, 2]</dim>
|
||||
<SubSystemName>CANTest/DAQ_In</SubSystemName>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<paramName>P15</paramName>
|
||||
<dim>[1, 2]</dim>
|
||||
<SubSystemName>CANTest/DAQ_In</SubSystemName>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<paramName>P16</paramName>
|
||||
<dim>[1, 1]</dim>
|
||||
<SubSystemName>CANTest/DAQ_In</SubSystemName>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<paramName>P17</paramName>
|
||||
<dim>[1, 1]</dim>
|
||||
<SubSystemName>CANTest/DAQ_In</SubSystemName>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<paramName>P18</paramName>
|
||||
<dim>[1, 5]</dim>
|
||||
<SubSystemName>CANTest/DAQ_In</SubSystemName>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<paramName>P19</paramName>
|
||||
<dim>[1, 1]</dim>
|
||||
<SubSystemName>CANTest/DAQ_In</SubSystemName>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<paramName>P20</paramName>
|
||||
<dim>[1, 2]</dim>
|
||||
<SubSystemName>CANTest/DAQ_In</SubSystemName>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<paramName>P21</paramName>
|
||||
<dim>[1, 2]</dim>
|
||||
<SubSystemName>CANTest/DAQ_In</SubSystemName>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<paramName>P22</paramName>
|
||||
<dim>[1, 2]</dim>
|
||||
<SubSystemName>CANTest/DAQ_In</SubSystemName>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<paramName>P23</paramName>
|
||||
<dim>[1, 2]</dim>
|
||||
<SubSystemName>CANTest/DAQ_In</SubSystemName>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<paramName>P24</paramName>
|
||||
<dim>[1, 1]</dim>
|
||||
<SubSystemName>CANTest/DAQ_In</SubSystemName>
|
||||
</parameter>
|
||||
</block>
|
||||
|
||||
|
||||
<signal>
|
||||
<sigName>CAN Read1/p1</sigName>
|
||||
<xpcsigName>DAQ_In/CAN Read1/p1</xpcsigName>
|
||||
<sigWidth>1</sigWidth>
|
||||
<sigDim>[1, 1]</sigDim>
|
||||
<SubSystemName>CANTest/DAQ_In</SubSystemName>
|
||||
<sigTestPoint>false</sigTestPoint>
|
||||
</signal>
|
||||
|
||||
|
||||
<signal>
|
||||
<sigName>CAN Read1/p2</sigName>
|
||||
<xpcsigName>DAQ_In/CAN Read1/p2</xpcsigName>
|
||||
<sigWidth>1</sigWidth>
|
||||
<sigDim>[1, 1]</sigDim>
|
||||
<SubSystemName>CANTest/DAQ_In</SubSystemName>
|
||||
<sigTestPoint>false</sigTestPoint>
|
||||
</signal>
|
||||
|
||||
|
||||
<signal>
|
||||
<sigName>CAN Unpack2/p1</sigName>
|
||||
<xpcsigName>DAQ_In/CAN Unpack2/p1</xpcsigName>
|
||||
<sigWidth>1</sigWidth>
|
||||
<sigDim>[1, 1]</sigDim>
|
||||
<SubSystemName>CANTest/DAQ_In</SubSystemName>
|
||||
<sigLabel>RPM</sigLabel>
|
||||
<sigTestPoint>false</sigTestPoint>
|
||||
</signal>
|
||||
|
||||
|
||||
<signal>
|
||||
<sigName>CAN Unpack2/p2</sigName>
|
||||
<xpcsigName>DAQ_In/CAN Unpack2/p2</xpcsigName>
|
||||
<sigWidth>1</sigWidth>
|
||||
<sigDim>[1, 1]</sigDim>
|
||||
<SubSystemName>CANTest/DAQ_In</SubSystemName>
|
||||
<sigLabel>TQ</sigLabel>
|
||||
<sigTestPoint>false</sigTestPoint>
|
||||
</signal>
|
||||
|
||||
</SubSystem>
|
||||
<SubSystem>
|
||||
<Name>DAQ_Out</Name>
|
||||
<xPCName>CANTest/DAQ_Out</xPCName>
|
||||
<SubSystem>
|
||||
<Name>CANBoard</Name>
|
||||
<xPCName>CANTest/DAQ_Out/CANBoard</xPCName>
|
||||
|
||||
|
||||
<block>
|
||||
<blkName>Constant</blkName>
|
||||
<xpcblkName>DAQ_Out/CANBoard/Constant</xpcblkName>
|
||||
<SLblockPath>CANTest/DAQ_Out/CANBoard/Constant</SLblockPath>
|
||||
<isSrc>[1 0 1]</isSrc>
|
||||
<parameter>
|
||||
<paramName>Value</paramName>
|
||||
<dim>[1, 1]</dim>
|
||||
<SubSystemName>CANTest/DAQ_Out/CANBoard</SubSystemName>
|
||||
</parameter>
|
||||
</block>
|
||||
<block>
|
||||
<blkName>Constant1</blkName>
|
||||
<xpcblkName>DAQ_Out/CANBoard/Constant1</xpcblkName>
|
||||
<SLblockPath>CANTest/DAQ_Out/CANBoard/Constant1</SLblockPath>
|
||||
<isSrc>[1 0 1]</isSrc>
|
||||
<parameter>
|
||||
<paramName>Value</paramName>
|
||||
<dim>[1, 1]</dim>
|
||||
<SubSystemName>CANTest/DAQ_Out/CANBoard</SubSystemName>
|
||||
</parameter>
|
||||
</block>
|
||||
<block>
|
||||
<blkName>Constant2</blkName>
|
||||
<xpcblkName>DAQ_Out/CANBoard/Constant2</xpcblkName>
|
||||
<SLblockPath>CANTest/DAQ_Out/CANBoard/Constant2</SLblockPath>
|
||||
<isSrc>[1 0 1]</isSrc>
|
||||
<parameter>
|
||||
<paramName>Value</paramName>
|
||||
<dim>[1, 1]</dim>
|
||||
<SubSystemName>CANTest/DAQ_Out/CANBoard</SubSystemName>
|
||||
</parameter>
|
||||
</block>
|
||||
<block>
|
||||
<blkName>Constant3</blkName>
|
||||
<xpcblkName>DAQ_Out/CANBoard/Constant3</xpcblkName>
|
||||
<SLblockPath>CANTest/DAQ_Out/CANBoard/Constant3</SLblockPath>
|
||||
<isSrc>[1 0 1]</isSrc>
|
||||
<parameter>
|
||||
<paramName>Value</paramName>
|
||||
<dim>[1, 1]</dim>
|
||||
<SubSystemName>CANTest/DAQ_Out/CANBoard</SubSystemName>
|
||||
</parameter>
|
||||
</block>
|
||||
<block>
|
||||
<blkName>Constant4</blkName>
|
||||
<xpcblkName>DAQ_Out/CANBoard/Constant4</xpcblkName>
|
||||
<SLblockPath>CANTest/DAQ_Out/CANBoard/Constant4</SLblockPath>
|
||||
<isSrc>[1 0 1]</isSrc>
|
||||
<parameter>
|
||||
<paramName>Value</paramName>
|
||||
<dim>[1, 1]</dim>
|
||||
<SubSystemName>CANTest/DAQ_Out/CANBoard</SubSystemName>
|
||||
</parameter>
|
||||
</block>
|
||||
<block>
|
||||
<blkName>CAN Write1</blkName>
|
||||
<xpcblkName>DAQ_Out/CANBoard/CAN Write1</xpcblkName>
|
||||
<SLblockPath>CANTest/DAQ_Out/CANBoard/CAN Write1</SLblockPath>
|
||||
<isSrc>[0 1 0]</isSrc>
|
||||
<parameter>
|
||||
<paramName>P1</paramName>
|
||||
<dim>[1, 1]</dim>
|
||||
<SubSystemName>CANTest/DAQ_Out/CANBoard</SubSystemName>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<paramName>P2</paramName>
|
||||
<dim>[1, 1]</dim>
|
||||
<SubSystemName>CANTest/DAQ_Out/CANBoard</SubSystemName>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<paramName>P3</paramName>
|
||||
<dim>[1, 1]</dim>
|
||||
<SubSystemName>CANTest/DAQ_Out/CANBoard</SubSystemName>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<paramName>P4</paramName>
|
||||
<dim>[1, 1]</dim>
|
||||
<SubSystemName>CANTest/DAQ_Out/CANBoard</SubSystemName>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<paramName>P5</paramName>
|
||||
<dim>[1, 5]</dim>
|
||||
<SubSystemName>CANTest/DAQ_Out/CANBoard</SubSystemName>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<paramName>P6</paramName>
|
||||
<dim>[1, 1]</dim>
|
||||
<SubSystemName>CANTest/DAQ_Out/CANBoard</SubSystemName>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<paramName>P7</paramName>
|
||||
<dim>[1, 1]</dim>
|
||||
<SubSystemName>CANTest/DAQ_Out/CANBoard</SubSystemName>
|
||||
</parameter>
|
||||
</block>
|
||||
|
||||
|
||||
<signal>
|
||||
<sigName>Constant</sigName>
|
||||
<xpcsigName>DAQ_Out/CANBoard/Constant</xpcsigName>
|
||||
<sigWidth>1</sigWidth>
|
||||
<sigDim>[1, 1]</sigDim>
|
||||
<SubSystemName>CANTest/DAQ_Out/CANBoard</SubSystemName>
|
||||
<sigLabel>Ready</sigLabel>
|
||||
<sigTestPoint>false</sigTestPoint>
|
||||
</signal>
|
||||
|
||||
|
||||
<signal>
|
||||
<sigName>Constant1</sigName>
|
||||
<xpcsigName>DAQ_Out/CANBoard/Constant1</xpcsigName>
|
||||
<sigWidth>1</sigWidth>
|
||||
<sigDim>[1, 1]</sigDim>
|
||||
<SubSystemName>CANTest/DAQ_Out/CANBoard</SubSystemName>
|
||||
<sigLabel>Gear</sigLabel>
|
||||
<sigTestPoint>false</sigTestPoint>
|
||||
</signal>
|
||||
|
||||
|
||||
<signal>
|
||||
<sigName>Constant2</sigName>
|
||||
<xpcsigName>DAQ_Out/CANBoard/Constant2</xpcsigName>
|
||||
<sigWidth>1</sigWidth>
|
||||
<sigDim>[1, 1]</sigDim>
|
||||
<SubSystemName>CANTest/DAQ_Out/CANBoard</SubSystemName>
|
||||
<sigLabel>BMS</sigLabel>
|
||||
<sigTestPoint>false</sigTestPoint>
|
||||
</signal>
|
||||
|
||||
|
||||
<signal>
|
||||
<sigName>Constant3</sigName>
|
||||
<xpcsigName>DAQ_Out/CANBoard/Constant3</xpcsigName>
|
||||
<sigWidth>1</sigWidth>
|
||||
<sigDim>[1, 1]</sigDim>
|
||||
<SubSystemName>CANTest/DAQ_Out/CANBoard</SubSystemName>
|
||||
<sigLabel>PosTQLim</sigLabel>
|
||||
<sigTestPoint>false</sigTestPoint>
|
||||
</signal>
|
||||
|
||||
|
||||
<signal>
|
||||
<sigName>Constant4</sigName>
|
||||
<xpcsigName>DAQ_Out/CANBoard/Constant4</xpcsigName>
|
||||
<sigWidth>1</sigWidth>
|
||||
<sigDim>[1, 1]</sigDim>
|
||||
<SubSystemName>CANTest/DAQ_Out/CANBoard</SubSystemName>
|
||||
<sigLabel>NegTQLim</sigLabel>
|
||||
<sigTestPoint>false</sigTestPoint>
|
||||
</signal>
|
||||
|
||||
|
||||
<signal>
|
||||
<sigName>CAN Pack</sigName>
|
||||
<xpcsigName>DAQ_Out/CANBoard/CAN Pack</xpcsigName>
|
||||
<sigWidth>1</sigWidth>
|
||||
<sigDim>[1, 1]</sigDim>
|
||||
<SubSystemName>CANTest/DAQ_Out/CANBoard</SubSystemName>
|
||||
<sigTestPoint>false</sigTestPoint>
|
||||
</signal>
|
||||
|
||||
</SubSystem>
|
||||
|
||||
|
||||
|
||||
</SubSystem>
|
||||
<SubSystem>
|
||||
<Name>Input Signal Conditioning</Name>
|
||||
<xPCName>CANTest/Input Signal Conditioning</xPCName>
|
||||
|
||||
|
||||
|
||||
</SubSystem>
|
||||
<SubSystem>
|
||||
<Name>Mon_Cont</Name>
|
||||
<xPCName>CANTest/Mon_Cont</xPCName>
|
||||
<SubSystem>
|
||||
<Name>LPFM</Name>
|
||||
<xPCName>CANTest/Mon_Cont/LPFM</xPCName>
|
||||
|
||||
|
||||
<block>
|
||||
<blkName>Constant1</blkName>
|
||||
<xpcblkName>Mon_Cont/LPFM/Constant1</xpcblkName>
|
||||
<SLblockPath>CANTest/Mon_Cont/LPFM/Constant1</SLblockPath>
|
||||
<isSrc>[1 0 1]</isSrc>
|
||||
<parameter>
|
||||
<paramName>Value</paramName>
|
||||
<dim>[1, 1]</dim>
|
||||
<SubSystemName>CANTest/Mon_Cont/LPFM</SubSystemName>
|
||||
</parameter>
|
||||
</block>
|
||||
<block>
|
||||
<blkName>gain1</blkName>
|
||||
<xpcblkName>Mon_Cont/LPFM/gain1</xpcblkName>
|
||||
<SLblockPath>CANTest/Mon_Cont/LPFM/gain1</SLblockPath>
|
||||
<isSrc>[0 1 1]</isSrc>
|
||||
<parameter>
|
||||
<paramName>Gain</paramName>
|
||||
<dim>[1, 1]</dim>
|
||||
<SubSystemName>CANTest/Mon_Cont/LPFM</SubSystemName>
|
||||
</parameter>
|
||||
</block>
|
||||
<block>
|
||||
<blkName>gain2</blkName>
|
||||
<xpcblkName>Mon_Cont/LPFM/gain2</xpcblkName>
|
||||
<SLblockPath>CANTest/Mon_Cont/LPFM/gain2</SLblockPath>
|
||||
<isSrc>[0 1 1]</isSrc>
|
||||
<parameter>
|
||||
<paramName>Gain</paramName>
|
||||
<dim>[1, 1]</dim>
|
||||
<SubSystemName>CANTest/Mon_Cont/LPFM</SubSystemName>
|
||||
</parameter>
|
||||
</block>
|
||||
<block>
|
||||
<blkName>d</blkName>
|
||||
<xpcblkName>Mon_Cont/LPFM/d</xpcblkName>
|
||||
<SLblockPath>CANTest/Mon_Cont/LPFM/d</SLblockPath>
|
||||
<isSrc>[0 1 1]</isSrc>
|
||||
<parameter>
|
||||
<paramName>InitialCondition</paramName>
|
||||
<dim>[1, 1]</dim>
|
||||
<SubSystemName>CANTest/Mon_Cont/LPFM</SubSystemName>
|
||||
</parameter>
|
||||
</block>
|
||||
<block>
|
||||
<blkName>d1</blkName>
|
||||
<xpcblkName>Mon_Cont/LPFM/d1</xpcblkName>
|
||||
<SLblockPath>CANTest/Mon_Cont/LPFM/d1</SLblockPath>
|
||||
<isSrc>[0 1 1]</isSrc>
|
||||
<parameter>
|
||||
<paramName>InitialCondition</paramName>
|
||||
<dim>[1, 1]</dim>
|
||||
<SubSystemName>CANTest/Mon_Cont/LPFM</SubSystemName>
|
||||
</parameter>
|
||||
</block>
|
||||
|
||||
|
||||
<signal>
|
||||
<sigName>gain</sigName>
|
||||
<xpcsigName>Mon_Cont/LPFM/gain</xpcsigName>
|
||||
<sigWidth>1</sigWidth>
|
||||
<sigDim>[1, 1]</sigDim>
|
||||
<SubSystemName>CANTest/Mon_Cont/LPFM</SubSystemName>
|
||||
<sigTestPoint>false</sigTestPoint>
|
||||
</signal>
|
||||
|
||||
|
||||
<signal>
|
||||
<sigName>gain1</sigName>
|
||||
<xpcsigName>Mon_Cont/LPFM/gain1</xpcsigName>
|
||||
<sigWidth>1</sigWidth>
|
||||
<sigDim>[1, 1]</sigDim>
|
||||
<SubSystemName>CANTest/Mon_Cont/LPFM</SubSystemName>
|
||||
<sigTestPoint>false</sigTestPoint>
|
||||
</signal>
|
||||
|
||||
|
||||
<signal>
|
||||
<sigName>gain2</sigName>
|
||||
<xpcsigName>Mon_Cont/LPFM/gain2</xpcsigName>
|
||||
<sigWidth>1</sigWidth>
|
||||
<sigDim>[1, 1]</sigDim>
|
||||
<SubSystemName>CANTest/Mon_Cont/LPFM</SubSystemName>
|
||||
<sigTestPoint>false</sigTestPoint>
|
||||
</signal>
|
||||
|
||||
|
||||
<signal>
|
||||
<sigName>Product1</sigName>
|
||||
<xpcsigName>Mon_Cont/LPFM/Product1</xpcsigName>
|
||||
<sigWidth>1</sigWidth>
|
||||
<sigDim>[1, 1]</sigDim>
|
||||
<SubSystemName>CANTest/Mon_Cont/LPFM</SubSystemName>
|
||||
<sigTestPoint>false</sigTestPoint>
|
||||
</signal>
|
||||
|
||||
|
||||
<signal>
|
||||
<sigName>Product11</sigName>
|
||||
<xpcsigName>Mon_Cont/LPFM/Product11</xpcsigName>
|
||||
<sigWidth>1</sigWidth>
|
||||
<sigDim>[1, 1]</sigDim>
|
||||
<SubSystemName>CANTest/Mon_Cont/LPFM</SubSystemName>
|
||||
<sigTestPoint>false</sigTestPoint>
|
||||
</signal>
|
||||
|
||||
|
||||
<signal>
|
||||
<sigName>Product2</sigName>
|
||||
<xpcsigName>Mon_Cont/LPFM/Product2</xpcsigName>
|
||||
<sigWidth>1</sigWidth>
|
||||
<sigDim>[1, 1]</sigDim>
|
||||
<SubSystemName>CANTest/Mon_Cont/LPFM</SubSystemName>
|
||||
<sigTestPoint>false</sigTestPoint>
|
||||
</signal>
|
||||
|
||||
|
||||
<signal>
|
||||
<sigName>Sum1</sigName>
|
||||
<xpcsigName>Mon_Cont/LPFM/Sum1</xpcsigName>
|
||||
<sigWidth>1</sigWidth>
|
||||
<sigDim>[1, 1]</sigDim>
|
||||
<SubSystemName>CANTest/Mon_Cont/LPFM</SubSystemName>
|
||||
<sigTestPoint>false</sigTestPoint>
|
||||
</signal>
|
||||
|
||||
|
||||
<signal>
|
||||
<sigName>Sum2</sigName>
|
||||
<xpcsigName>Mon_Cont/LPFM/Sum2</xpcsigName>
|
||||
<sigWidth>1</sigWidth>
|
||||
<sigDim>[1, 1]</sigDim>
|
||||
<SubSystemName>CANTest/Mon_Cont/LPFM</SubSystemName>
|
||||
<sigTestPoint>false</sigTestPoint>
|
||||
</signal>
|
||||
|
||||
|
||||
<signal>
|
||||
<sigName>Sum3</sigName>
|
||||
<xpcsigName>Mon_Cont/LPFM/Sum3</xpcsigName>
|
||||
<sigWidth>1</sigWidth>
|
||||
<sigDim>[1, 1]</sigDim>
|
||||
<SubSystemName>CANTest/Mon_Cont/LPFM</SubSystemName>
|
||||
<sigTestPoint>false</sigTestPoint>
|
||||
</signal>
|
||||
|
||||
|
||||
<signal>
|
||||
<sigName>Sum4</sigName>
|
||||
<xpcsigName>Mon_Cont/LPFM/Sum4</xpcsigName>
|
||||
<sigWidth>1</sigWidth>
|
||||
<sigDim>[1, 1]</sigDim>
|
||||
<SubSystemName>CANTest/Mon_Cont/LPFM</SubSystemName>
|
||||
<sigTestPoint>false</sigTestPoint>
|
||||
</signal>
|
||||
|
||||
|
||||
<signal>
|
||||
<sigName>d</sigName>
|
||||
<xpcsigName>Mon_Cont/LPFM/d</xpcsigName>
|
||||
<sigWidth>1</sigWidth>
|
||||
<sigDim>[1, 1]</sigDim>
|
||||
<SubSystemName>CANTest/Mon_Cont/LPFM</SubSystemName>
|
||||
<sigTestPoint>false</sigTestPoint>
|
||||
</signal>
|
||||
|
||||
|
||||
<signal>
|
||||
<sigName>d1</sigName>
|
||||
<xpcsigName>Mon_Cont/LPFM/d1</xpcsigName>
|
||||
<sigWidth>1</sigWidth>
|
||||
<sigDim>[1, 1]</sigDim>
|
||||
<SubSystemName>CANTest/Mon_Cont/LPFM</SubSystemName>
|
||||
<sigTestPoint>false</sigTestPoint>
|
||||
</signal>
|
||||
|
||||
</SubSystem>
|
||||
|
||||
|
||||
<block>
|
||||
<blkName>Constant1</blkName>
|
||||
<xpcblkName>Mon_Cont/Constant1</xpcblkName>
|
||||
<SLblockPath>CANTest/Mon_Cont/Constant1</SLblockPath>
|
||||
<isSrc>[1 0 1]</isSrc>
|
||||
<parameter>
|
||||
<paramName>Value</paramName>
|
||||
<dim>[1, 1]</dim>
|
||||
<SubSystemName>CANTest/Mon_Cont</SubSystemName>
|
||||
</parameter>
|
||||
</block>
|
||||
<block>
|
||||
<blkName>ContMode</blkName>
|
||||
<xpcblkName>Mon_Cont/ContMode</xpcblkName>
|
||||
<SLblockPath>CANTest/Mon_Cont/ContMode</SLblockPath>
|
||||
<isSrc>[1 0 1]</isSrc>
|
||||
<parameter>
|
||||
<paramName>Value</paramName>
|
||||
<dim>[1, 1]</dim>
|
||||
<SubSystemName>CANTest/Mon_Cont</SubSystemName>
|
||||
</parameter>
|
||||
</block>
|
||||
<block>
|
||||
<blkName>TQCom</blkName>
|
||||
<xpcblkName>Mon_Cont/TQCom</xpcblkName>
|
||||
<SLblockPath>CANTest/Mon_Cont/TQCom</SLblockPath>
|
||||
<isSrc>[1 0 1]</isSrc>
|
||||
<parameter>
|
||||
<paramName>Value</paramName>
|
||||
<dim>[1, 1]</dim>
|
||||
<SubSystemName>CANTest/Mon_Cont</SubSystemName>
|
||||
</parameter>
|
||||
</block>
|
||||
<block>
|
||||
<blkName>ContM</blkName>
|
||||
<xpcblkName>Mon_Cont/ContM</xpcblkName>
|
||||
<SLblockPath>CANTest/Mon_Cont/ContM</SLblockPath>
|
||||
<isSrc>[0 1 1]</isSrc>
|
||||
<parameter>
|
||||
<paramName>Gain</paramName>
|
||||
<dim>[1, 1]</dim>
|
||||
<SubSystemName>CANTest/Mon_Cont</SubSystemName>
|
||||
</parameter>
|
||||
</block>
|
||||
|
||||
|
||||
<signal>
|
||||
<sigName>ContM</sigName>
|
||||
<xpcsigName>Mon_Cont/ContM</xpcsigName>
|
||||
<sigWidth>1</sigWidth>
|
||||
<sigDim>[1, 1]</sigDim>
|
||||
<SubSystemName>CANTest/Mon_Cont</SubSystemName>
|
||||
<sigLabel>ContMode</sigLabel>
|
||||
<sigTestPoint>false</sigTestPoint>
|
||||
</signal>
|
||||
|
||||
</SubSystem>
|
||||
|
||||
|
||||
|
||||
<block>
|
||||
<blkName>Model Parameters</blkName>
|
||||
<xpcblkName>Model Parameters</xpcblkName>
|
||||
<SLblockPath>. </SLblockPath>
|
||||
<isSrc>[0 1 1]</isSrc>
|
||||
<parameter>
|
||||
<paramName>Ts</paramName>
|
||||
<dim>[1,1]</dim>
|
||||
<SubSystemName>CANTest</SubSystemName>
|
||||
</parameter>
|
||||
</block>
|
||||
</Root>
|
||||
2042
ADM_Cruise_Control/CANTest_slrt_rtw/CANTest.c
Normal file
2042
ADM_Cruise_Control/CANTest_slrt_rtw/CANTest.c
Normal file
File diff suppressed because it is too large
Load Diff
1431
ADM_Cruise_Control/CANTest_slrt_rtw/CANTest.h
Normal file
1431
ADM_Cruise_Control/CANTest_slrt_rtw/CANTest.h
Normal file
File diff suppressed because it is too large
Load Diff
564
ADM_Cruise_Control/CANTest_slrt_rtw/CANTest_capi.c
Normal file
564
ADM_Cruise_Control/CANTest_slrt_rtw/CANTest_capi.c
Normal file
@ -0,0 +1,564 @@
|
||||
/*
|
||||
* CANTest_capi.c
|
||||
*
|
||||
* Academic License - for use in teaching, academic research, and meeting
|
||||
* course requirements at degree granting institutions only. Not for
|
||||
* government, commercial, or other organizational use.
|
||||
*
|
||||
* Code generation for model "CANTest".
|
||||
*
|
||||
* Model version : 1.360
|
||||
* Simulink Coder version : 8.14 (R2018a) 06-Feb-2018
|
||||
* C source code generated on : Tue Jul 11 11:56:08 2023
|
||||
*
|
||||
* Target selection: slrt.tlc
|
||||
* Note: GRT includes extra infrastructure and instrumentation for prototyping
|
||||
* Embedded hardware selection: Generic->32-bit x86 compatible
|
||||
* Code generation objectives: Unspecified
|
||||
* Validation result: Not run
|
||||
*/
|
||||
|
||||
#include "rtw_capi.h"
|
||||
#ifdef HOST_CAPI_BUILD
|
||||
#include "CANTest_capi_host.h"
|
||||
#define sizeof(s) ((size_t)(0xFFFF))
|
||||
#undef rt_offsetof
|
||||
#define rt_offsetof(s,el) ((uint16_T)(0xFFFF))
|
||||
#define TARGET_CONST
|
||||
#define TARGET_STRING(s) (s)
|
||||
#else /* HOST_CAPI_BUILD */
|
||||
#include "builtin_typeid_types.h"
|
||||
#include "CANTest.h"
|
||||
#include "CANTest_capi.h"
|
||||
#include "CANTest_private.h"
|
||||
#ifdef LIGHT_WEIGHT_CAPI
|
||||
#define TARGET_CONST
|
||||
#define TARGET_STRING(s) (NULL)
|
||||
#else
|
||||
#define TARGET_CONST const
|
||||
#define TARGET_STRING(s) (s)
|
||||
#endif
|
||||
#endif /* HOST_CAPI_BUILD */
|
||||
|
||||
/* Block output signal information */
|
||||
static const rtwCAPI_Signals rtBlockSignals[] = {
|
||||
/* addrMapIndex, sysNum, blockPath,
|
||||
* signalName, portNumber, dataTypeIndex, dimIndex, fxpIndex, sTimeIndex
|
||||
*/
|
||||
{ 0, 1, TARGET_STRING("DAQ_In/CAN Read1/p1"),
|
||||
TARGET_STRING(""), 0, 0, 0, 0, 0 },
|
||||
|
||||
{ 1, 1, TARGET_STRING("DAQ_In/CAN Read1/p2"),
|
||||
TARGET_STRING(""), 1, 1, 0, 0, 0 },
|
||||
|
||||
{ 2, 1, TARGET_STRING("DAQ_In/CAN Unpack2/p1"),
|
||||
TARGET_STRING("RPM"), 0, 2, 0, 0, 0 },
|
||||
|
||||
{ 3, 1, TARGET_STRING("DAQ_In/CAN Unpack2/p2"),
|
||||
TARGET_STRING("TQ"), 1, 2, 0, 0, 0 },
|
||||
|
||||
{ 4, 0, TARGET_STRING("Mon_Cont/ContM"),
|
||||
TARGET_STRING("ContMode"), 0, 2, 0, 0, 1 },
|
||||
|
||||
{ 5, 0, TARGET_STRING("DAQ_Out/CANBoard/Constant"),
|
||||
TARGET_STRING("Ready"), 0, 2, 0, 0, 1 },
|
||||
|
||||
{ 6, 0, TARGET_STRING("DAQ_Out/CANBoard/Constant1"),
|
||||
TARGET_STRING("Gear"), 0, 2, 0, 0, 1 },
|
||||
|
||||
{ 7, 0, TARGET_STRING("DAQ_Out/CANBoard/Constant2"),
|
||||
TARGET_STRING("BMS"), 0, 2, 0, 0, 1 },
|
||||
|
||||
{ 8, 0, TARGET_STRING("DAQ_Out/CANBoard/Constant3"),
|
||||
TARGET_STRING("PosTQLim"), 0, 2, 0, 0, 1 },
|
||||
|
||||
{ 9, 0, TARGET_STRING("DAQ_Out/CANBoard/Constant4"),
|
||||
TARGET_STRING("NegTQLim"), 0, 2, 0, 0, 1 },
|
||||
|
||||
{ 10, 0, TARGET_STRING("DAQ_Out/CANBoard/CAN Pack"),
|
||||
TARGET_STRING(""), 0, 1, 0, 0, 1 },
|
||||
|
||||
{ 11, 0, TARGET_STRING("Mon_Cont/LPFM/gain"),
|
||||
TARGET_STRING(""), 0, 2, 0, 0, 1 },
|
||||
|
||||
{ 12, 0, TARGET_STRING("Mon_Cont/LPFM/gain1"),
|
||||
TARGET_STRING(""), 0, 2, 0, 0, 1 },
|
||||
|
||||
{ 13, 0, TARGET_STRING("Mon_Cont/LPFM/gain2"),
|
||||
TARGET_STRING(""), 0, 2, 0, 0, 1 },
|
||||
|
||||
{ 14, 0, TARGET_STRING("Mon_Cont/LPFM/Product1"),
|
||||
TARGET_STRING(""), 0, 2, 0, 0, 1 },
|
||||
|
||||
{ 15, 0, TARGET_STRING("Mon_Cont/LPFM/Product11"),
|
||||
TARGET_STRING(""), 0, 2, 0, 0, 1 },
|
||||
|
||||
{ 16, 0, TARGET_STRING("Mon_Cont/LPFM/Product2"),
|
||||
TARGET_STRING(""), 0, 2, 0, 0, 1 },
|
||||
|
||||
{ 17, 0, TARGET_STRING("Mon_Cont/LPFM/Sum1"),
|
||||
TARGET_STRING(""), 0, 2, 0, 0, 1 },
|
||||
|
||||
{ 18, 0, TARGET_STRING("Mon_Cont/LPFM/Sum2"),
|
||||
TARGET_STRING(""), 0, 2, 0, 0, 1 },
|
||||
|
||||
{ 19, 0, TARGET_STRING("Mon_Cont/LPFM/Sum3"),
|
||||
TARGET_STRING(""), 0, 2, 0, 0, 1 },
|
||||
|
||||
{ 20, 0, TARGET_STRING("Mon_Cont/LPFM/Sum4"),
|
||||
TARGET_STRING(""), 0, 2, 0, 0, 1 },
|
||||
|
||||
{ 21, 0, TARGET_STRING("Mon_Cont/LPFM/d"),
|
||||
TARGET_STRING(""), 0, 2, 0, 0, 1 },
|
||||
|
||||
{ 22, 0, TARGET_STRING("Mon_Cont/LPFM/d1"),
|
||||
TARGET_STRING(""), 0, 2, 0, 0, 1 },
|
||||
|
||||
{
|
||||
0, 0, (NULL), (NULL), 0, 0, 0, 0, 0
|
||||
}
|
||||
};
|
||||
|
||||
static const rtwCAPI_BlockParameters rtBlockParameters[] = {
|
||||
/* addrMapIndex, blockPath,
|
||||
* paramName, dataTypeIndex, dimIndex, fixPtIdx
|
||||
*/
|
||||
{ 23, TARGET_STRING("DAQ_In/CAN Read1"),
|
||||
TARGET_STRING("P1"), 2, 0, 0 },
|
||||
|
||||
{ 24, TARGET_STRING("DAQ_In/CAN Read1"),
|
||||
TARGET_STRING("P2"), 2, 0, 0 },
|
||||
|
||||
{ 25, TARGET_STRING("DAQ_In/CAN Read1"),
|
||||
TARGET_STRING("P3"), 2, 0, 0 },
|
||||
|
||||
{ 26, TARGET_STRING("DAQ_In/CAN Read1"),
|
||||
TARGET_STRING("P4"), 2, 1, 0 },
|
||||
|
||||
{ 27, TARGET_STRING("DAQ_In/CAN Read1"),
|
||||
TARGET_STRING("P5"), 2, 0, 0 },
|
||||
|
||||
{ 28, TARGET_STRING("DAQ_In/CAN Read1"),
|
||||
TARGET_STRING("P6"), 2, 0, 0 },
|
||||
|
||||
{ 29, TARGET_STRING("DAQ_In/CAN Setup"),
|
||||
TARGET_STRING("P1"), 2, 0, 0 },
|
||||
|
||||
{ 30, TARGET_STRING("DAQ_In/CAN Setup"),
|
||||
TARGET_STRING("P2"), 2, 2, 0 },
|
||||
|
||||
{ 31, TARGET_STRING("DAQ_In/CAN Setup"),
|
||||
TARGET_STRING("P3"), 2, 0, 0 },
|
||||
|
||||
{ 32, TARGET_STRING("DAQ_In/CAN Setup"),
|
||||
TARGET_STRING("P4"), 2, 0, 0 },
|
||||
|
||||
{ 33, TARGET_STRING("DAQ_In/CAN Setup"),
|
||||
TARGET_STRING("P5"), 2, 0, 0 },
|
||||
|
||||
{ 34, TARGET_STRING("DAQ_In/CAN Setup"),
|
||||
TARGET_STRING("P6"), 2, 0, 0 },
|
||||
|
||||
{ 35, TARGET_STRING("DAQ_In/CAN Setup"),
|
||||
TARGET_STRING("P7"), 2, 3, 0 },
|
||||
|
||||
{ 36, TARGET_STRING("DAQ_In/CAN Setup"),
|
||||
TARGET_STRING("P8"), 2, 4, 0 },
|
||||
|
||||
{ 37, TARGET_STRING("DAQ_In/CAN Setup"),
|
||||
TARGET_STRING("P9"), 2, 2, 0 },
|
||||
|
||||
{ 38, TARGET_STRING("DAQ_In/CAN Setup"),
|
||||
TARGET_STRING("P10"), 2, 2, 0 },
|
||||
|
||||
{ 39, TARGET_STRING("DAQ_In/CAN Setup"),
|
||||
TARGET_STRING("P11"), 2, 0, 0 },
|
||||
|
||||
{ 40, TARGET_STRING("DAQ_In/CAN Setup"),
|
||||
TARGET_STRING("P12"), 2, 3, 0 },
|
||||
|
||||
{ 41, TARGET_STRING("DAQ_In/CAN Setup"),
|
||||
TARGET_STRING("P13"), 2, 4, 0 },
|
||||
|
||||
{ 42, TARGET_STRING("DAQ_In/CAN Setup"),
|
||||
TARGET_STRING("P14"), 2, 2, 0 },
|
||||
|
||||
{ 43, TARGET_STRING("DAQ_In/CAN Setup"),
|
||||
TARGET_STRING("P15"), 2, 2, 0 },
|
||||
|
||||
{ 44, TARGET_STRING("DAQ_In/CAN Setup"),
|
||||
TARGET_STRING("P16"), 2, 0, 0 },
|
||||
|
||||
{ 45, TARGET_STRING("DAQ_In/CAN Setup"),
|
||||
TARGET_STRING("P17"), 2, 0, 0 },
|
||||
|
||||
{ 46, TARGET_STRING("DAQ_In/CAN Setup"),
|
||||
TARGET_STRING("P18"), 2, 1, 0 },
|
||||
|
||||
{ 47, TARGET_STRING("DAQ_In/CAN Setup"),
|
||||
TARGET_STRING("P19"), 2, 0, 0 },
|
||||
|
||||
{ 48, TARGET_STRING("DAQ_In/CAN Setup"),
|
||||
TARGET_STRING("P20"), 2, 2, 0 },
|
||||
|
||||
{ 49, TARGET_STRING("DAQ_In/CAN Setup"),
|
||||
TARGET_STRING("P21"), 2, 2, 0 },
|
||||
|
||||
{ 50, TARGET_STRING("DAQ_In/CAN Setup"),
|
||||
TARGET_STRING("P22"), 2, 2, 0 },
|
||||
|
||||
{ 51, TARGET_STRING("DAQ_In/CAN Setup"),
|
||||
TARGET_STRING("P23"), 2, 2, 0 },
|
||||
|
||||
{ 52, TARGET_STRING("DAQ_In/CAN Setup"),
|
||||
TARGET_STRING("P24"), 2, 0, 0 },
|
||||
|
||||
{ 53, TARGET_STRING("Mon_Cont/Constant1"),
|
||||
TARGET_STRING("Value"), 2, 0, 0 },
|
||||
|
||||
{ 54, TARGET_STRING("Mon_Cont/ContMode"),
|
||||
TARGET_STRING("Value"), 2, 0, 0 },
|
||||
|
||||
{ 55, TARGET_STRING("Mon_Cont/TQCom"),
|
||||
TARGET_STRING("Value"), 2, 0, 0 },
|
||||
|
||||
{ 56, TARGET_STRING("Mon_Cont/ContM"),
|
||||
TARGET_STRING("Gain"), 2, 0, 0 },
|
||||
|
||||
{ 57, TARGET_STRING("DAQ_Out/CANBoard/Constant"),
|
||||
TARGET_STRING("Value"), 2, 0, 0 },
|
||||
|
||||
{ 58, TARGET_STRING("DAQ_Out/CANBoard/Constant1"),
|
||||
TARGET_STRING("Value"), 2, 0, 0 },
|
||||
|
||||
{ 59, TARGET_STRING("DAQ_Out/CANBoard/Constant2"),
|
||||
TARGET_STRING("Value"), 2, 0, 0 },
|
||||
|
||||
{ 60, TARGET_STRING("DAQ_Out/CANBoard/Constant3"),
|
||||
TARGET_STRING("Value"), 2, 0, 0 },
|
||||
|
||||
{ 61, TARGET_STRING("DAQ_Out/CANBoard/Constant4"),
|
||||
TARGET_STRING("Value"), 2, 0, 0 },
|
||||
|
||||
{ 62, TARGET_STRING("DAQ_Out/CANBoard/CAN Write1"),
|
||||
TARGET_STRING("P1"), 2, 0, 0 },
|
||||
|
||||
{ 63, TARGET_STRING("DAQ_Out/CANBoard/CAN Write1"),
|
||||
TARGET_STRING("P2"), 2, 0, 0 },
|
||||
|
||||
{ 64, TARGET_STRING("DAQ_Out/CANBoard/CAN Write1"),
|
||||
TARGET_STRING("P3"), 2, 0, 0 },
|
||||
|
||||
{ 65, TARGET_STRING("DAQ_Out/CANBoard/CAN Write1"),
|
||||
TARGET_STRING("P4"), 2, 0, 0 },
|
||||
|
||||
{ 66, TARGET_STRING("DAQ_Out/CANBoard/CAN Write1"),
|
||||
TARGET_STRING("P5"), 2, 1, 0 },
|
||||
|
||||
{ 67, TARGET_STRING("DAQ_Out/CANBoard/CAN Write1"),
|
||||
TARGET_STRING("P6"), 2, 0, 0 },
|
||||
|
||||
{ 68, TARGET_STRING("DAQ_Out/CANBoard/CAN Write1"),
|
||||
TARGET_STRING("P7"), 2, 0, 0 },
|
||||
|
||||
{ 69, TARGET_STRING("Mon_Cont/LPFM/Constant1"),
|
||||
TARGET_STRING("Value"), 2, 0, 0 },
|
||||
|
||||
{ 70, TARGET_STRING("Mon_Cont/LPFM/gain1"),
|
||||
TARGET_STRING("Gain"), 2, 0, 0 },
|
||||
|
||||
{ 71, TARGET_STRING("Mon_Cont/LPFM/gain2"),
|
||||
TARGET_STRING("Gain"), 2, 0, 0 },
|
||||
|
||||
{ 72, TARGET_STRING("Mon_Cont/LPFM/d"),
|
||||
TARGET_STRING("InitialCondition"), 2, 0, 0 },
|
||||
|
||||
{ 73, TARGET_STRING("Mon_Cont/LPFM/d1"),
|
||||
TARGET_STRING("InitialCondition"), 2, 0, 0 },
|
||||
|
||||
{
|
||||
0, (NULL), (NULL), 0, 0, 0
|
||||
}
|
||||
};
|
||||
|
||||
/* Tunable variable parameters */
|
||||
static const rtwCAPI_ModelParameters rtModelParameters[] = {
|
||||
/* addrMapIndex, varName, dataTypeIndex, dimIndex, fixPtIndex */
|
||||
{ 74, TARGET_STRING("Ts"), 2, 0, 0 },
|
||||
|
||||
{ 0, (NULL), 0, 0, 0 }
|
||||
};
|
||||
|
||||
#ifndef HOST_CAPI_BUILD
|
||||
|
||||
/* Declare Data Addresses statically */
|
||||
static void* rtDataAddrMap[] = {
|
||||
&CANTest_B.CANRead1_o1, /* 0: Signal */
|
||||
&CANTest_B.CANRead1_o2, /* 1: Signal */
|
||||
&CANTest_B.RPM, /* 2: Signal */
|
||||
&CANTest_B.TQ, /* 3: Signal */
|
||||
&CANTest_B.ContMode, /* 4: Signal */
|
||||
&CANTest_B.Ready, /* 5: Signal */
|
||||
&CANTest_B.Gear, /* 6: Signal */
|
||||
&CANTest_B.BMS, /* 7: Signal */
|
||||
&CANTest_B.PosTQLim, /* 8: Signal */
|
||||
&CANTest_B.NegTQLim, /* 9: Signal */
|
||||
&CANTest_B.CANPack, /* 10: Signal */
|
||||
&CANTest_B.gain, /* 11: Signal */
|
||||
&CANTest_B.gain1, /* 12: Signal */
|
||||
&CANTest_B.gain2, /* 13: Signal */
|
||||
&CANTest_B.Product1, /* 14: Signal */
|
||||
&CANTest_B.Product11, /* 15: Signal */
|
||||
&CANTest_B.Product2, /* 16: Signal */
|
||||
&CANTest_B.Sum1, /* 17: Signal */
|
||||
&CANTest_B.Sum2, /* 18: Signal */
|
||||
&CANTest_B.Sum3, /* 19: Signal */
|
||||
&CANTest_B.Sum4, /* 20: Signal */
|
||||
&CANTest_B.d, /* 21: Signal */
|
||||
&CANTest_B.d1, /* 22: Signal */
|
||||
&CANTest_P.CANRead1_P1, /* 23: Block Parameter */
|
||||
&CANTest_P.CANRead1_P2, /* 24: Block Parameter */
|
||||
&CANTest_P.CANRead1_P3, /* 25: Block Parameter */
|
||||
&CANTest_P.CANRead1_P4[0], /* 26: Block Parameter */
|
||||
&CANTest_P.CANRead1_P5, /* 27: Block Parameter */
|
||||
&CANTest_P.CANRead1_P6, /* 28: Block Parameter */
|
||||
&CANTest_P.CANSetup_P1, /* 29: Block Parameter */
|
||||
&CANTest_P.CANSetup_P2[0], /* 30: Block Parameter */
|
||||
&CANTest_P.CANSetup_P3, /* 31: Block Parameter */
|
||||
&CANTest_P.CANSetup_P4, /* 32: Block Parameter */
|
||||
&CANTest_P.CANSetup_P5, /* 33: Block Parameter */
|
||||
&CANTest_P.CANSetup_P6, /* 34: Block Parameter */
|
||||
&CANTest_P.CANSetup_P7[0], /* 35: Block Parameter */
|
||||
&CANTest_P.CANSetup_P8[0], /* 36: Block Parameter */
|
||||
&CANTest_P.CANSetup_P9[0], /* 37: Block Parameter */
|
||||
&CANTest_P.CANSetup_P10[0], /* 38: Block Parameter */
|
||||
&CANTest_P.CANSetup_P11, /* 39: Block Parameter */
|
||||
&CANTest_P.CANSetup_P12[0], /* 40: Block Parameter */
|
||||
&CANTest_P.CANSetup_P13[0], /* 41: Block Parameter */
|
||||
&CANTest_P.CANSetup_P14[0], /* 42: Block Parameter */
|
||||
&CANTest_P.CANSetup_P15[0], /* 43: Block Parameter */
|
||||
&CANTest_P.CANSetup_P16, /* 44: Block Parameter */
|
||||
&CANTest_P.CANSetup_P17, /* 45: Block Parameter */
|
||||
&CANTest_P.CANSetup_P18[0], /* 46: Block Parameter */
|
||||
&CANTest_P.CANSetup_P19, /* 47: Block Parameter */
|
||||
&CANTest_P.CANSetup_P20[0], /* 48: Block Parameter */
|
||||
&CANTest_P.CANSetup_P21[0], /* 49: Block Parameter */
|
||||
&CANTest_P.CANSetup_P22[0], /* 50: Block Parameter */
|
||||
&CANTest_P.CANSetup_P23[0], /* 51: Block Parameter */
|
||||
&CANTest_P.CANSetup_P24, /* 52: Block Parameter */
|
||||
&CANTest_P.Constant1_Value_j, /* 53: Block Parameter */
|
||||
&CANTest_P.ContMode_Value, /* 54: Block Parameter */
|
||||
&CANTest_P.TQCom_Value, /* 55: Block Parameter */
|
||||
&CANTest_P.ContM_Gain, /* 56: Block Parameter */
|
||||
&CANTest_P.Constant_Value, /* 57: Block Parameter */
|
||||
&CANTest_P.Constant1_Value, /* 58: Block Parameter */
|
||||
&CANTest_P.Constant2_Value, /* 59: Block Parameter */
|
||||
&CANTest_P.Constant3_Value, /* 60: Block Parameter */
|
||||
&CANTest_P.Constant4_Value, /* 61: Block Parameter */
|
||||
&CANTest_P.CANWrite1_P1, /* 62: Block Parameter */
|
||||
&CANTest_P.CANWrite1_P2, /* 63: Block Parameter */
|
||||
&CANTest_P.CANWrite1_P3, /* 64: Block Parameter */
|
||||
&CANTest_P.CANWrite1_P4, /* 65: Block Parameter */
|
||||
&CANTest_P.CANWrite1_P5[0], /* 66: Block Parameter */
|
||||
&CANTest_P.CANWrite1_P6, /* 67: Block Parameter */
|
||||
&CANTest_P.CANWrite1_P7, /* 68: Block Parameter */
|
||||
&CANTest_P.Constant1_Value_a, /* 69: Block Parameter */
|
||||
&CANTest_P.gain1_Gain, /* 70: Block Parameter */
|
||||
&CANTest_P.gain2_Gain, /* 71: Block Parameter */
|
||||
&CANTest_P.d_InitialCondition, /* 72: Block Parameter */
|
||||
&CANTest_P.d1_InitialCondition, /* 73: Block Parameter */
|
||||
&CANTest_P.Ts, /* 74: Model Parameter */
|
||||
};
|
||||
|
||||
/* Declare Data Run-Time Dimension Buffer Addresses statically */
|
||||
static int32_T* rtVarDimsAddrMap[] = {
|
||||
(NULL)
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
/* Data Type Map - use dataTypeMapIndex to access this structure */
|
||||
static TARGET_CONST rtwCAPI_DataTypeMap rtDataTypeMap[] = {
|
||||
/* cName, mwName, numElements, elemMapIndex, dataSize, slDataId, *
|
||||
* isComplex, isPointer */
|
||||
{ "unsigned char", "boolean_T", 0, 0, sizeof(boolean_T), SS_BOOLEAN, 0, 0 },
|
||||
|
||||
{ "numeric", "CAN_DATATYPE", 0, 0, sizeof(CAN_DATATYPE), SS_STRUCT, 0, 0 },
|
||||
|
||||
{ "double", "real_T", 0, 0, sizeof(real_T), SS_DOUBLE, 0, 0 }
|
||||
};
|
||||
|
||||
#ifdef HOST_CAPI_BUILD
|
||||
#undef sizeof
|
||||
#endif
|
||||
|
||||
/* Structure Element Map - use elemMapIndex to access this structure */
|
||||
static TARGET_CONST rtwCAPI_ElementMap rtElementMap[] = {
|
||||
/* elementName, elementOffset, dataTypeIndex, dimIndex, fxpIndex */
|
||||
{ (NULL), 0, 0, 0, 0 },
|
||||
};
|
||||
|
||||
/* Dimension Map - use dimensionMapIndex to access elements of ths structure*/
|
||||
static const rtwCAPI_DimensionMap rtDimensionMap[] = {
|
||||
/* dataOrientation, dimArrayIndex, numDims, vardimsIndex */
|
||||
{ rtwCAPI_SCALAR, 0, 2, 0 },
|
||||
|
||||
{ rtwCAPI_VECTOR, 2, 2, 0 },
|
||||
|
||||
{ rtwCAPI_VECTOR, 4, 2, 0 },
|
||||
|
||||
{ rtwCAPI_VECTOR, 6, 2, 0 },
|
||||
|
||||
{ rtwCAPI_VECTOR, 8, 2, 0 }
|
||||
};
|
||||
|
||||
/* Dimension Array- use dimArrayIndex to access elements of this array */
|
||||
static const uint_T rtDimensionArray[] = {
|
||||
1, /* 0 */
|
||||
1, /* 1 */
|
||||
1, /* 2 */
|
||||
5, /* 3 */
|
||||
1, /* 4 */
|
||||
2, /* 5 */
|
||||
1, /* 6 */
|
||||
4, /* 7 */
|
||||
1, /* 8 */
|
||||
6 /* 9 */
|
||||
};
|
||||
|
||||
/* C-API stores floating point values in an array. The elements of this *
|
||||
* are unique. This ensures that values which are shared across the model*
|
||||
* are stored in the most efficient way. These values are referenced by *
|
||||
* - rtwCAPI_FixPtMap.fracSlopePtr, *
|
||||
* - rtwCAPI_FixPtMap.biasPtr, *
|
||||
* - rtwCAPI_SampleTimeMap.samplePeriodPtr, *
|
||||
* - rtwCAPI_SampleTimeMap.sampleOffsetPtr */
|
||||
static const real_T rtcapiStoredFloats[] = {
|
||||
0.002, 0.0
|
||||
};
|
||||
|
||||
/* Fixed Point Map */
|
||||
static const rtwCAPI_FixPtMap rtFixPtMap[] = {
|
||||
/* fracSlopePtr, biasPtr, scaleType, wordLength, exponent, isSigned */
|
||||
{ (NULL), (NULL), rtwCAPI_FIX_RESERVED, 0, 0, 0 },
|
||||
};
|
||||
|
||||
/* Sample Time Map - use sTimeIndex to access elements of ths structure */
|
||||
static const rtwCAPI_SampleTimeMap rtSampleTimeMap[] = {
|
||||
/* samplePeriodPtr, sampleOffsetPtr, tid, samplingMode */
|
||||
{ (NULL), (NULL), -1, 0 },
|
||||
|
||||
{ (const void *) &rtcapiStoredFloats[0], (const void *) &rtcapiStoredFloats[1],
|
||||
0, 0 }
|
||||
};
|
||||
|
||||
static rtwCAPI_ModelMappingStaticInfo mmiStatic = {
|
||||
/* Signals:{signals, numSignals,
|
||||
* rootInputs, numRootInputs,
|
||||
* rootOutputs, numRootOutputs},
|
||||
* Params: {blockParameters, numBlockParameters,
|
||||
* modelParameters, numModelParameters},
|
||||
* States: {states, numStates},
|
||||
* Maps: {dataTypeMap, dimensionMap, fixPtMap,
|
||||
* elementMap, sampleTimeMap, dimensionArray},
|
||||
* TargetType: targetType
|
||||
*/
|
||||
{ rtBlockSignals, 23,
|
||||
(NULL), 0,
|
||||
(NULL), 0 },
|
||||
|
||||
{ rtBlockParameters, 51,
|
||||
rtModelParameters, 1 },
|
||||
|
||||
{ (NULL), 0 },
|
||||
|
||||
{ rtDataTypeMap, rtDimensionMap, rtFixPtMap,
|
||||
rtElementMap, rtSampleTimeMap, rtDimensionArray },
|
||||
"float",
|
||||
|
||||
{ 1549657953U,
|
||||
1200499624U,
|
||||
3365832572U,
|
||||
428343849U },
|
||||
(NULL), 0,
|
||||
0
|
||||
};
|
||||
|
||||
/* Function to get C API Model Mapping Static Info */
|
||||
const rtwCAPI_ModelMappingStaticInfo*
|
||||
CANTest_GetCAPIStaticMap(void)
|
||||
{
|
||||
return &mmiStatic;
|
||||
}
|
||||
|
||||
/* Cache pointers into DataMapInfo substructure of RTModel */
|
||||
#ifndef HOST_CAPI_BUILD
|
||||
|
||||
void CANTest_InitializeDataMapInfo(void)
|
||||
{
|
||||
/* Set C-API version */
|
||||
rtwCAPI_SetVersion(CANTest_M->DataMapInfo.mmi, 1);
|
||||
|
||||
/* Cache static C-API data into the Real-time Model Data structure */
|
||||
rtwCAPI_SetStaticMap(CANTest_M->DataMapInfo.mmi, &mmiStatic);
|
||||
|
||||
/* Cache static C-API logging data into the Real-time Model Data structure */
|
||||
rtwCAPI_SetLoggingStaticMap(CANTest_M->DataMapInfo.mmi, (NULL));
|
||||
|
||||
/* Cache C-API Data Addresses into the Real-Time Model Data structure */
|
||||
rtwCAPI_SetDataAddressMap(CANTest_M->DataMapInfo.mmi, rtDataAddrMap);
|
||||
|
||||
/* Cache C-API Data Run-Time Dimension Buffer Addresses into the Real-Time Model Data structure */
|
||||
rtwCAPI_SetVarDimsAddressMap(CANTest_M->DataMapInfo.mmi, rtVarDimsAddrMap);
|
||||
|
||||
/* Cache C-API rtp Address and size into the Real-Time Model Data structure */
|
||||
CANTest_M->DataMapInfo.mmi.InstanceMap.rtpAddress = rtmGetDefaultParam
|
||||
(CANTest_M);
|
||||
CANTest_M->DataMapInfo.mmi.staticMap->rtpSize = sizeof(P_CANTest_T);
|
||||
|
||||
/* Cache the instance C-API logging pointer */
|
||||
rtwCAPI_SetInstanceLoggingInfo(CANTest_M->DataMapInfo.mmi, (NULL));
|
||||
|
||||
/* Set reference to submodels */
|
||||
rtwCAPI_SetChildMMIArray(CANTest_M->DataMapInfo.mmi, (NULL));
|
||||
rtwCAPI_SetChildMMIArrayLen(CANTest_M->DataMapInfo.mmi, 0);
|
||||
}
|
||||
|
||||
#else /* HOST_CAPI_BUILD */
|
||||
#ifdef __cplusplus
|
||||
|
||||
extern "C" {
|
||||
|
||||
#endif
|
||||
|
||||
void CANTest_host_InitializeDataMapInfo(CANTest_host_DataMapInfo_T *dataMap,
|
||||
const char *path)
|
||||
{
|
||||
/* Set C-API version */
|
||||
rtwCAPI_SetVersion(dataMap->mmi, 1);
|
||||
|
||||
/* Cache static C-API data into the Real-time Model Data structure */
|
||||
rtwCAPI_SetStaticMap(dataMap->mmi, &mmiStatic);
|
||||
|
||||
/* host data address map is NULL */
|
||||
rtwCAPI_SetDataAddressMap(dataMap->mmi, NULL);
|
||||
|
||||
/* host vardims address map is NULL */
|
||||
rtwCAPI_SetVarDimsAddressMap(dataMap->mmi, NULL);
|
||||
|
||||
/* Set Instance specific path */
|
||||
rtwCAPI_SetPath(dataMap->mmi, path);
|
||||
rtwCAPI_SetFullPath(dataMap->mmi, NULL);
|
||||
|
||||
/* Set reference to submodels */
|
||||
rtwCAPI_SetChildMMIArray(dataMap->mmi, (NULL));
|
||||
rtwCAPI_SetChildMMIArrayLen(dataMap->mmi, 0);
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
}
|
||||
#endif
|
||||
#endif /* HOST_CAPI_BUILD */
|
||||
|
||||
/* EOF: CANTest_capi.c */
|
||||
29
ADM_Cruise_Control/CANTest_slrt_rtw/CANTest_capi.h
Normal file
29
ADM_Cruise_Control/CANTest_slrt_rtw/CANTest_capi.h
Normal file
@ -0,0 +1,29 @@
|
||||
/*
|
||||
* CANTest_capi.h
|
||||
*
|
||||
* Academic License - for use in teaching, academic research, and meeting
|
||||
* course requirements at degree granting institutions only. Not for
|
||||
* government, commercial, or other organizational use.
|
||||
*
|
||||
* Code generation for model "CANTest".
|
||||
*
|
||||
* Model version : 1.360
|
||||
* Simulink Coder version : 8.14 (R2018a) 06-Feb-2018
|
||||
* C source code generated on : Tue Jul 11 11:56:08 2023
|
||||
*
|
||||
* Target selection: slrt.tlc
|
||||
* Note: GRT includes extra infrastructure and instrumentation for prototyping
|
||||
* Embedded hardware selection: Generic->32-bit x86 compatible
|
||||
* Code generation objectives: Unspecified
|
||||
* Validation result: Not run
|
||||
*/
|
||||
|
||||
#ifndef RTW_HEADER_CANTest_capi_h
|
||||
#define RTW_HEADER_CANTest_capi_h
|
||||
#include "CANTest.h"
|
||||
|
||||
extern void CANTest_InitializeDataMapInfo(void);
|
||||
|
||||
#endif /* RTW_HEADER_CANTest_capi_h */
|
||||
|
||||
/* EOF: CANTest_capi.h */
|
||||
27
ADM_Cruise_Control/CANTest_slrt_rtw/CANTest_capi_host.h
Normal file
27
ADM_Cruise_Control/CANTest_slrt_rtw/CANTest_capi_host.h
Normal file
@ -0,0 +1,27 @@
|
||||
#ifndef RTW_HEADER_CANTest_cap_host_h_
|
||||
#define RTW_HEADER_CANTest_cap_host_h_
|
||||
#ifdef HOST_CAPI_BUILD
|
||||
#include "rtw_capi.h"
|
||||
#include "rtw_modelmap.h"
|
||||
|
||||
typedef struct {
|
||||
rtwCAPI_ModelMappingInfo mmi;
|
||||
} CANTest_host_DataMapInfo_T;
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
extern "C" {
|
||||
|
||||
#endif
|
||||
|
||||
void CANTest_host_InitializeDataMapInfo(CANTest_host_DataMapInfo_T *dataMap,
|
||||
const char *path);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
}
|
||||
#endif
|
||||
#endif /* HOST_CAPI_BUILD */
|
||||
#endif /* RTW_HEADER_CANTest_cap_host_h_ */
|
||||
|
||||
/* EOF: CANTest_capi_host.h */
|
||||
472
ADM_Cruise_Control/CANTest_slrt_rtw/CANTest_data.c
Normal file
472
ADM_Cruise_Control/CANTest_slrt_rtw/CANTest_data.c
Normal file
@ -0,0 +1,472 @@
|
||||
/*
|
||||
* CANTest_data.c
|
||||
*
|
||||
* Academic License - for use in teaching, academic research, and meeting
|
||||
* course requirements at degree granting institutions only. Not for
|
||||
* government, commercial, or other organizational use.
|
||||
*
|
||||
* Code generation for model "CANTest".
|
||||
*
|
||||
* Model version : 1.360
|
||||
* Simulink Coder version : 8.14 (R2018a) 06-Feb-2018
|
||||
* C source code generated on : Tue Jul 11 11:56:08 2023
|
||||
*
|
||||
* Target selection: slrt.tlc
|
||||
* Note: GRT includes extra infrastructure and instrumentation for prototyping
|
||||
* Embedded hardware selection: Generic->32-bit x86 compatible
|
||||
* Code generation objectives: Unspecified
|
||||
* Validation result: Not run
|
||||
*/
|
||||
|
||||
#include "CANTest.h"
|
||||
#include "CANTest_private.h"
|
||||
|
||||
/* Block parameters (default storage) */
|
||||
P_CANTest_T CANTest_P = {
|
||||
/* Variable: Ts
|
||||
* Referenced by:
|
||||
* '<S6>/Constant'
|
||||
* '<S6>/gain'
|
||||
*/
|
||||
0.002,
|
||||
|
||||
/* Computed Parameter: CANSetup_P1_Size
|
||||
* Referenced by: '<S1>/CAN Setup'
|
||||
*/
|
||||
{ 1.0, 1.0 },
|
||||
|
||||
/* Expression: id
|
||||
* Referenced by: '<S1>/CAN Setup'
|
||||
*/
|
||||
1.0,
|
||||
|
||||
/* Computed Parameter: CANSetup_P2_Size
|
||||
* Referenced by: '<S1>/CAN Setup'
|
||||
*/
|
||||
{ 1.0, 2.0 },
|
||||
|
||||
/* Computed Parameter: CANSetup_P2
|
||||
* Referenced by: '<S1>/CAN Setup'
|
||||
*/
|
||||
{ 67.0, 58.0 },
|
||||
|
||||
/* Computed Parameter: CANSetup_P3_Size
|
||||
* Referenced by: '<S1>/CAN Setup'
|
||||
*/
|
||||
{ 1.0, 1.0 },
|
||||
|
||||
/* Expression: PCISlot
|
||||
* Referenced by: '<S1>/CAN Setup'
|
||||
*/
|
||||
-1.0,
|
||||
|
||||
/* Computed Parameter: CANSetup_P4_Size
|
||||
* Referenced by: '<S1>/CAN Setup'
|
||||
*/
|
||||
{ 1.0, 1.0 },
|
||||
|
||||
/* Expression: port1
|
||||
* Referenced by: '<S1>/CAN Setup'
|
||||
*/
|
||||
2.0,
|
||||
|
||||
/* Computed Parameter: CANSetup_P5_Size
|
||||
* Referenced by: '<S1>/CAN Setup'
|
||||
*/
|
||||
{ 1.0, 1.0 },
|
||||
|
||||
/* Expression: port2
|
||||
* Referenced by: '<S1>/CAN Setup'
|
||||
*/
|
||||
2.0,
|
||||
|
||||
/* Computed Parameter: CANSetup_P6_Size
|
||||
* Referenced by: '<S1>/CAN Setup'
|
||||
*/
|
||||
{ 1.0, 1.0 },
|
||||
|
||||
/* Expression: opModeCAN1
|
||||
* Referenced by: '<S1>/CAN Setup'
|
||||
*/
|
||||
1.0,
|
||||
|
||||
/* Computed Parameter: CANSetup_P7_Size
|
||||
* Referenced by: '<S1>/CAN Setup'
|
||||
*/
|
||||
{ 1.0, 4.0 },
|
||||
|
||||
/* Expression: usrBdrCAN1
|
||||
* Referenced by: '<S1>/CAN Setup'
|
||||
*/
|
||||
{ 10.0, 1.0, 13.0, 2.0 },
|
||||
|
||||
/* Computed Parameter: CANSetup_P8_Size
|
||||
* Referenced by: '<S1>/CAN Setup'
|
||||
*/
|
||||
{ 1.0, 6.0 },
|
||||
|
||||
/* Expression: usrBdrFD1
|
||||
* Referenced by: '<S1>/CAN Setup'
|
||||
*/
|
||||
{ 2.0, 1.0, 5.0, 2.0, 75.0, 5000.0 },
|
||||
|
||||
/* Computed Parameter: CANSetup_P9_Size
|
||||
* Referenced by: '<S1>/CAN Setup'
|
||||
*/
|
||||
{ 1.0, 2.0 },
|
||||
|
||||
/* Expression: stdAccMaskCAN1
|
||||
* Referenced by: '<S1>/CAN Setup'
|
||||
*/
|
||||
{ 0.0, 0.0 },
|
||||
|
||||
/* Computed Parameter: CANSetup_P10_Size
|
||||
* Referenced by: '<S1>/CAN Setup'
|
||||
*/
|
||||
{ 1.0, 2.0 },
|
||||
|
||||
/* Expression: extAccMaskCAN1
|
||||
* Referenced by: '<S1>/CAN Setup'
|
||||
*/
|
||||
{ 0.0, 0.0 },
|
||||
|
||||
/* Computed Parameter: CANSetup_P11_Size
|
||||
* Referenced by: '<S1>/CAN Setup'
|
||||
*/
|
||||
{ 1.0, 1.0 },
|
||||
|
||||
/* Expression: opModeCAN2
|
||||
* Referenced by: '<S1>/CAN Setup'
|
||||
*/
|
||||
1.0,
|
||||
|
||||
/* Computed Parameter: CANSetup_P12_Size
|
||||
* Referenced by: '<S1>/CAN Setup'
|
||||
*/
|
||||
{ 1.0, 4.0 },
|
||||
|
||||
/* Expression: usrBdrCAN2
|
||||
* Referenced by: '<S1>/CAN Setup'
|
||||
*/
|
||||
{ 10.0, 1.0, 13.0, 2.0 },
|
||||
|
||||
/* Computed Parameter: CANSetup_P13_Size
|
||||
* Referenced by: '<S1>/CAN Setup'
|
||||
*/
|
||||
{ 1.0, 6.0 },
|
||||
|
||||
/* Expression: usrBdrFD2
|
||||
* Referenced by: '<S1>/CAN Setup'
|
||||
*/
|
||||
{ 2.0, 1.0, 5.0, 2.0, 75.0, 5000.0 },
|
||||
|
||||
/* Computed Parameter: CANSetup_P14_Size
|
||||
* Referenced by: '<S1>/CAN Setup'
|
||||
*/
|
||||
{ 1.0, 2.0 },
|
||||
|
||||
/* Expression: stdAccMaskCAN2
|
||||
* Referenced by: '<S1>/CAN Setup'
|
||||
*/
|
||||
{ 0.0, 0.0 },
|
||||
|
||||
/* Computed Parameter: CANSetup_P15_Size
|
||||
* Referenced by: '<S1>/CAN Setup'
|
||||
*/
|
||||
{ 1.0, 2.0 },
|
||||
|
||||
/* Expression: extAccMaskCAN2
|
||||
* Referenced by: '<S1>/CAN Setup'
|
||||
*/
|
||||
{ 0.0, 0.0 },
|
||||
|
||||
/* Computed Parameter: CANSetup_P16_Size
|
||||
* Referenced by: '<S1>/CAN Setup'
|
||||
*/
|
||||
{ 1.0, 1.0 },
|
||||
|
||||
/* Expression: initStruct
|
||||
* Referenced by: '<S1>/CAN Setup'
|
||||
*/
|
||||
0.0,
|
||||
|
||||
/* Computed Parameter: CANSetup_P17_Size
|
||||
* Referenced by: '<S1>/CAN Setup'
|
||||
*/
|
||||
{ 1.0, 1.0 },
|
||||
|
||||
/* Expression: termStruct
|
||||
* Referenced by: '<S1>/CAN Setup'
|
||||
*/
|
||||
0.0,
|
||||
|
||||
/* Computed Parameter: CANSetup_P18_Size
|
||||
* Referenced by: '<S1>/CAN Setup'
|
||||
*/
|
||||
{ 1.0, 5.0 },
|
||||
|
||||
/* Computed Parameter: CANSetup_P18
|
||||
* Referenced by: '<S1>/CAN Setup'
|
||||
*/
|
||||
{ 73.0, 79.0, 54.0, 49.0, 51.0 },
|
||||
|
||||
/* Computed Parameter: CANSetup_P19_Size
|
||||
* Referenced by: '<S1>/CAN Setup'
|
||||
*/
|
||||
{ 1.0, 1.0 },
|
||||
|
||||
/* Expression: qtyMod
|
||||
* Referenced by: '<S1>/CAN Setup'
|
||||
*/
|
||||
1.0,
|
||||
|
||||
/* Computed Parameter: CANSetup_P20_Size
|
||||
* Referenced by: '<S1>/CAN Setup'
|
||||
*/
|
||||
{ 1.0, 2.0 },
|
||||
|
||||
/* Expression: chNo
|
||||
* Referenced by: '<S1>/CAN Setup'
|
||||
*/
|
||||
{ 1.0, 2.0 },
|
||||
|
||||
/* Computed Parameter: CANSetup_P21_Size
|
||||
* Referenced by: '<S1>/CAN Setup'
|
||||
*/
|
||||
{ 1.0, 2.0 },
|
||||
|
||||
/* Expression: ptTypes
|
||||
* Referenced by: '<S1>/CAN Setup'
|
||||
*/
|
||||
{ 1.0, 1.0 },
|
||||
|
||||
/* Computed Parameter: CANSetup_P22_Size
|
||||
* Referenced by: '<S1>/CAN Setup'
|
||||
*/
|
||||
{ 1.0, 2.0 },
|
||||
|
||||
/* Expression: isProtlFD
|
||||
* Referenced by: '<S1>/CAN Setup'
|
||||
*/
|
||||
{ 0.0, 0.0 },
|
||||
|
||||
/* Computed Parameter: CANSetup_P23_Size
|
||||
* Referenced by: '<S1>/CAN Setup'
|
||||
*/
|
||||
{ 1.0, 2.0 },
|
||||
|
||||
/* Expression: protlHelpIdx
|
||||
* Referenced by: '<S1>/CAN Setup'
|
||||
*/
|
||||
{ 0.0, 1.0 },
|
||||
|
||||
/* Computed Parameter: CANSetup_P24_Size
|
||||
* Referenced by: '<S1>/CAN Setup'
|
||||
*/
|
||||
{ 1.0, 1.0 },
|
||||
|
||||
/* Expression: isFDMod
|
||||
* Referenced by: '<S1>/CAN Setup'
|
||||
*/
|
||||
1.0,
|
||||
|
||||
/* Computed Parameter: CANRead1_P1_Size
|
||||
* Referenced by: '<S1>/CAN Read1'
|
||||
*/
|
||||
{ 1.0, 1.0 },
|
||||
|
||||
/* Expression: id
|
||||
* Referenced by: '<S1>/CAN Read1'
|
||||
*/
|
||||
1.0,
|
||||
|
||||
/* Computed Parameter: CANRead1_P2_Size
|
||||
* Referenced by: '<S1>/CAN Read1'
|
||||
*/
|
||||
{ 1.0, 1.0 },
|
||||
|
||||
/* Expression: sampleTime
|
||||
* Referenced by: '<S1>/CAN Read1'
|
||||
*/
|
||||
-1.0,
|
||||
|
||||
/* Computed Parameter: CANRead1_P3_Size
|
||||
* Referenced by: '<S1>/CAN Read1'
|
||||
*/
|
||||
{ 1.0, 1.0 },
|
||||
|
||||
/* Expression: messageType
|
||||
* Referenced by: '<S1>/CAN Read1'
|
||||
*/
|
||||
1.0,
|
||||
|
||||
/* Computed Parameter: CANRead1_P4_Size
|
||||
* Referenced by: '<S1>/CAN Read1'
|
||||
*/
|
||||
{ 1.0, 5.0 },
|
||||
|
||||
/* Computed Parameter: CANRead1_P4
|
||||
* Referenced by: '<S1>/CAN Read1'
|
||||
*/
|
||||
{ 73.0, 79.0, 54.0, 49.0, 51.0 },
|
||||
|
||||
/* Computed Parameter: CANRead1_P5_Size
|
||||
* Referenced by: '<S1>/CAN Read1'
|
||||
*/
|
||||
{ 1.0, 1.0 },
|
||||
|
||||
/* Expression: ptIdx
|
||||
* Referenced by: '<S1>/CAN Read1'
|
||||
*/
|
||||
0.0,
|
||||
|
||||
/* Computed Parameter: CANRead1_P6_Size
|
||||
* Referenced by: '<S1>/CAN Read1'
|
||||
*/
|
||||
{ 1.0, 1.0 },
|
||||
|
||||
/* Expression: isFDMod
|
||||
* Referenced by: '<S1>/CAN Read1'
|
||||
*/
|
||||
1.0,
|
||||
|
||||
/* Expression: 1
|
||||
* Referenced by: '<S4>/ContMode'
|
||||
*/
|
||||
1.0,
|
||||
|
||||
/* Expression: 0
|
||||
* Referenced by: '<S4>/ContM'
|
||||
*/
|
||||
0.0,
|
||||
|
||||
/* Expression: 1
|
||||
* Referenced by: '<S5>/Constant'
|
||||
*/
|
||||
1.0,
|
||||
|
||||
/* Expression: 4
|
||||
* Referenced by: '<S5>/Constant1'
|
||||
*/
|
||||
4.0,
|
||||
|
||||
/* Expression: 0
|
||||
* Referenced by: '<S5>/Constant2'
|
||||
*/
|
||||
0.0,
|
||||
|
||||
/* Expression: 10
|
||||
* Referenced by: '<S5>/Constant3'
|
||||
*/
|
||||
10.0,
|
||||
|
||||
/* Expression: -2
|
||||
* Referenced by: '<S5>/Constant4'
|
||||
*/
|
||||
-2.0,
|
||||
|
||||
/* Expression: 0
|
||||
* Referenced by: '<S4>/TQCom'
|
||||
*/
|
||||
0.0,
|
||||
|
||||
/* Expression: 0
|
||||
* Referenced by: '<S6>/d1'
|
||||
*/
|
||||
0.0,
|
||||
|
||||
/* Expression: 1
|
||||
* Referenced by: '<S6>/Constant1'
|
||||
*/
|
||||
1.0,
|
||||
|
||||
/* Expression: 5
|
||||
* Referenced by: '<S4>/Constant1'
|
||||
*/
|
||||
5.0,
|
||||
|
||||
/* Expression: 2*pi
|
||||
* Referenced by: '<S6>/gain2'
|
||||
*/
|
||||
6.2831853071795862,
|
||||
|
||||
/* Expression: 2
|
||||
* Referenced by: '<S6>/gain1'
|
||||
*/
|
||||
2.0,
|
||||
|
||||
/* Expression: 0
|
||||
* Referenced by: '<S6>/d'
|
||||
*/
|
||||
0.0,
|
||||
|
||||
/* Computed Parameter: CANWrite1_P1_Size
|
||||
* Referenced by: '<S5>/CAN Write1'
|
||||
*/
|
||||
{ 1.0, 1.0 },
|
||||
|
||||
/* Expression: id
|
||||
* Referenced by: '<S5>/CAN Write1'
|
||||
*/
|
||||
1.0,
|
||||
|
||||
/* Computed Parameter: CANWrite1_P2_Size
|
||||
* Referenced by: '<S5>/CAN Write1'
|
||||
*/
|
||||
{ 1.0, 1.0 },
|
||||
|
||||
/* Expression: sampleTime
|
||||
* Referenced by: '<S5>/CAN Write1'
|
||||
*/
|
||||
-1.0,
|
||||
|
||||
/* Computed Parameter: CANWrite1_P3_Size
|
||||
* Referenced by: '<S5>/CAN Write1'
|
||||
*/
|
||||
{ 1.0, 1.0 },
|
||||
|
||||
/* Expression: messageType
|
||||
* Referenced by: '<S5>/CAN Write1'
|
||||
*/
|
||||
1.0,
|
||||
|
||||
/* Computed Parameter: CANWrite1_P4_Size
|
||||
* Referenced by: '<S5>/CAN Write1'
|
||||
*/
|
||||
{ 1.0, 1.0 },
|
||||
|
||||
/* Expression: enaStatusPort
|
||||
* Referenced by: '<S5>/CAN Write1'
|
||||
*/
|
||||
0.0,
|
||||
|
||||
/* Computed Parameter: CANWrite1_P5_Size
|
||||
* Referenced by: '<S5>/CAN Write1'
|
||||
*/
|
||||
{ 1.0, 5.0 },
|
||||
|
||||
/* Computed Parameter: CANWrite1_P5
|
||||
* Referenced by: '<S5>/CAN Write1'
|
||||
*/
|
||||
{ 73.0, 79.0, 54.0, 49.0, 51.0 },
|
||||
|
||||
/* Computed Parameter: CANWrite1_P6_Size
|
||||
* Referenced by: '<S5>/CAN Write1'
|
||||
*/
|
||||
{ 1.0, 1.0 },
|
||||
|
||||
/* Expression: ptIdx
|
||||
* Referenced by: '<S5>/CAN Write1'
|
||||
*/
|
||||
0.0,
|
||||
|
||||
/* Computed Parameter: CANWrite1_P7_Size
|
||||
* Referenced by: '<S5>/CAN Write1'
|
||||
*/
|
||||
{ 1.0, 1.0 },
|
||||
|
||||
/* Expression: isFDMod
|
||||
* Referenced by: '<S5>/CAN Write1'
|
||||
*/
|
||||
1.0
|
||||
};
|
||||
39
ADM_Cruise_Control/CANTest_slrt_rtw/CANTest_private.h
Normal file
39
ADM_Cruise_Control/CANTest_slrt_rtw/CANTest_private.h
Normal file
@ -0,0 +1,39 @@
|
||||
/*
|
||||
* CANTest_private.h
|
||||
*
|
||||
* Academic License - for use in teaching, academic research, and meeting
|
||||
* course requirements at degree granting institutions only. Not for
|
||||
* government, commercial, or other organizational use.
|
||||
*
|
||||
* Code generation for model "CANTest".
|
||||
*
|
||||
* Model version : 1.360
|
||||
* Simulink Coder version : 8.14 (R2018a) 06-Feb-2018
|
||||
* C source code generated on : Tue Jul 11 11:56:08 2023
|
||||
*
|
||||
* Target selection: slrt.tlc
|
||||
* Note: GRT includes extra infrastructure and instrumentation for prototyping
|
||||
* Embedded hardware selection: Generic->32-bit x86 compatible
|
||||
* Code generation objectives: Unspecified
|
||||
* Validation result: Not run
|
||||
*/
|
||||
|
||||
#ifndef RTW_HEADER_CANTest_private_h_
|
||||
#define RTW_HEADER_CANTest_private_h_
|
||||
#include "rtwtypes.h"
|
||||
#include "builtin_typeid_types.h"
|
||||
#include "multiword_types.h"
|
||||
#include "zero_crossing_types.h"
|
||||
|
||||
extern CAN_DATATYPE CAN_DATATYPE_GROUND;
|
||||
extern const serialfifoptr serialfifoground;
|
||||
extern const bcmsglist1553 bcmsg1553ground;
|
||||
extern const bcstatus1553 bcstatground;
|
||||
extern const bmmsglist1553 bmmsg1553ground;
|
||||
extern void* slrtRegisterSignalToLoggingService(rtwCAPI_ModelMappingInfo* mdlMMI,
|
||||
const char* relBlkPath, int portNumber);
|
||||
extern void sg_IO613_setup_s(SimStruct *rts);
|
||||
extern void sg_IO61X_read_s(SimStruct *rts);
|
||||
extern void sg_IO61X_write_s(SimStruct *rts);
|
||||
|
||||
#endif /* RTW_HEADER_CANTest_private_h_ */
|
||||
0
ADM_Cruise_Control/CANTest_slrt_rtw/CANTest_ref.rsp
Normal file
0
ADM_Cruise_Control/CANTest_slrt_rtw/CANTest_ref.rsp
Normal file
34
ADM_Cruise_Control/CANTest_slrt_rtw/CANTest_types.h
Normal file
34
ADM_Cruise_Control/CANTest_slrt_rtw/CANTest_types.h
Normal file
@ -0,0 +1,34 @@
|
||||
/*
|
||||
* CANTest_types.h
|
||||
*
|
||||
* Academic License - for use in teaching, academic research, and meeting
|
||||
* course requirements at degree granting institutions only. Not for
|
||||
* government, commercial, or other organizational use.
|
||||
*
|
||||
* Code generation for model "CANTest".
|
||||
*
|
||||
* Model version : 1.360
|
||||
* Simulink Coder version : 8.14 (R2018a) 06-Feb-2018
|
||||
* C source code generated on : Tue Jul 11 11:56:08 2023
|
||||
*
|
||||
* Target selection: slrt.tlc
|
||||
* Note: GRT includes extra infrastructure and instrumentation for prototyping
|
||||
* Embedded hardware selection: Generic->32-bit x86 compatible
|
||||
* Code generation objectives: Unspecified
|
||||
* Validation result: Not run
|
||||
*/
|
||||
|
||||
#ifndef RTW_HEADER_CANTest_types_h_
|
||||
#define RTW_HEADER_CANTest_types_h_
|
||||
#include "rtwtypes.h"
|
||||
#include "builtin_typeid_types.h"
|
||||
#include "multiword_types.h"
|
||||
#include "zero_crossing_types.h"
|
||||
|
||||
/* Parameters (default storage) */
|
||||
typedef struct P_CANTest_T_ P_CANTest_T;
|
||||
|
||||
/* Forward declaration for rtModel */
|
||||
typedef struct tag_RTM_CANTest_T RT_MODEL_CANTest_T;
|
||||
|
||||
#endif /* RTW_HEADER_CANTest_types_h_ */
|
||||
18
ADM_Cruise_Control/CANTest_slrt_rtw/CANTest_xcp.c
Normal file
18
ADM_Cruise_Control/CANTest_slrt_rtw/CANTest_xcp.c
Normal file
@ -0,0 +1,18 @@
|
||||
/***************************************************************/
|
||||
/* XCP: No ASAP2 objects found for calibration and measurement */
|
||||
/***************************************************************/
|
||||
|
||||
#include "xcpmdlapi.h"
|
||||
|
||||
ModelXcpInfo mxi = {
|
||||
0,
|
||||
|
||||
{ "", 0 },
|
||||
|
||||
{ 0, 0, 0, 0 }
|
||||
};
|
||||
|
||||
ModelXcpInfo* mdlXcp_GetMdlXcpInfo()
|
||||
{
|
||||
return &mxi;
|
||||
}
|
||||
0
ADM_Cruise_Control/CANTest_slrt_rtw/CANTest_xcp.h
Normal file
0
ADM_Cruise_Control/CANTest_slrt_rtw/CANTest_xcp.h
Normal file
40
ADM_Cruise_Control/CANTest_slrt_rtw/CANTest_xcp_TET.c
Normal file
40
ADM_Cruise_Control/CANTest_slrt_rtw/CANTest_xcp_TET.c
Normal file
@ -0,0 +1,40 @@
|
||||
#include <stdio.h>
|
||||
|
||||
/** TET record for one model thread */
|
||||
typedef struct SLRTTET_tag {
|
||||
double minTET; /* Minimal TET since model starts*/
|
||||
double maxTET; /* Maximal TET since model starts*/
|
||||
double TET; /* average TET since model starts*/
|
||||
} SLRTTET_T;
|
||||
|
||||
SLRTTET_T slrtTETViaXCP[1];
|
||||
void SLRT_update_TET(const int tid, const double mdltime, const double currTET)
|
||||
{
|
||||
if (tid >= 1 ) {
|
||||
printf("Error: task ID %d is out of range. This model has %d tasks", tid, 1);
|
||||
return;
|
||||
}
|
||||
|
||||
if (mdltime > 1.0e-9 ) { /* > machine epsilon */
|
||||
if (currTET < slrtTETViaXCP[tid].minTET ) {
|
||||
slrtTETViaXCP[tid].minTET = currTET;
|
||||
}
|
||||
|
||||
if (currTET > slrtTETViaXCP[tid].maxTET ) {
|
||||
slrtTETViaXCP[tid].maxTET = currTET;
|
||||
}
|
||||
|
||||
/* Basic Exponential Smoothing */
|
||||
#define ALPHA_FACTOR (0.01)
|
||||
|
||||
slrtTETViaXCP[tid].TET = slrtTETViaXCP[tid].TET * ( 1.0 - ALPHA_FACTOR )
|
||||
+ currTET * ALPHA_FACTOR;
|
||||
|
||||
#undef ALPHA_FACTOR
|
||||
|
||||
} else { /*first time*/
|
||||
slrtTETViaXCP[tid].minTET = currTET;
|
||||
slrtTETViaXCP[tid].maxTET = currTET;
|
||||
slrtTETViaXCP[tid].TET = currTET;
|
||||
}
|
||||
}
|
||||
BIN
ADM_Cruise_Control/CANTest_slrt_rtw/buildInfo.mat
Normal file
BIN
ADM_Cruise_Control/CANTest_slrt_rtw/buildInfo.mat
Normal file
Binary file not shown.
BIN
ADM_Cruise_Control/CANTest_slrt_rtw/build_exception.mat
Normal file
BIN
ADM_Cruise_Control/CANTest_slrt_rtw/build_exception.mat
Normal file
Binary file not shown.
46
ADM_Cruise_Control/CANTest_slrt_rtw/builtin_typeid_types.h
Normal file
46
ADM_Cruise_Control/CANTest_slrt_rtw/builtin_typeid_types.h
Normal file
@ -0,0 +1,46 @@
|
||||
/*
|
||||
* builtin_typeid_types.h
|
||||
*
|
||||
* Academic License - for use in teaching, academic research, and meeting
|
||||
* course requirements at degree granting institutions only. Not for
|
||||
* government, commercial, or other organizational use.
|
||||
*
|
||||
* Code generation for model "CANTest".
|
||||
*
|
||||
* Model version : 1.360
|
||||
* Simulink Coder version : 8.14 (R2018a) 06-Feb-2018
|
||||
* C source code generated on : Tue Jul 11 11:56:08 2023
|
||||
*
|
||||
* Target selection: slrt.tlc
|
||||
* Note: GRT includes extra infrastructure and instrumentation for prototyping
|
||||
* Embedded hardware selection: Generic->32-bit x86 compatible
|
||||
* Code generation objectives: Unspecified
|
||||
* Validation result: Not run
|
||||
*/
|
||||
|
||||
#ifndef BUILTIN_TYPEID_TYPES_H
|
||||
#define BUILTIN_TYPEID_TYPES_H
|
||||
#include "rtwtypes.h"
|
||||
#ifndef BUILTIN_TYPEID_TYPES
|
||||
#define BUILTIN_TYPEID_TYPES
|
||||
|
||||
/* Enumeration of built-in data types */
|
||||
typedef enum {
|
||||
SS_DOUBLE = 0, /* real_T */
|
||||
SS_SINGLE = 1, /* real32_T */
|
||||
SS_INT8 = 2, /* int8_T */
|
||||
SS_UINT8 = 3, /* uint8_T */
|
||||
SS_INT16 = 4, /* int16_T */
|
||||
SS_UINT16 = 5, /* uint16_T */
|
||||
SS_INT32 = 6, /* int32_T */
|
||||
SS_UINT32 = 7, /* uint32_T */
|
||||
SS_BOOLEAN = 8 /* boolean_T */
|
||||
} BuiltInDTypeId;
|
||||
|
||||
#define SS_NUM_BUILT_IN_DTYPE ((int_T)SS_BOOLEAN+1)
|
||||
|
||||
/* Enumeration for MAT-file logging code */
|
||||
typedef int_T DTypeId;
|
||||
|
||||
#endif /* BUILTIN_TYPEID_TYPES */
|
||||
#endif /* BUILTIN_TYPEID_TYPES_H */
|
||||
@ -0,0 +1,4 @@
|
||||
#include "can_message.h"
|
||||
|
||||
const CAN_DATATYPE CAN_DATATYPE_GROUND = { 0, 0, 0, 0, 0, 0.0, { 0, 0, 0, 0, 0,
|
||||
0, 0, 0 } };
|
||||
BIN
ADM_Cruise_Control/CANTest_slrt_rtw/codedescriptor.dmr
Normal file
BIN
ADM_Cruise_Control/CANTest_slrt_rtw/codedescriptor.dmr
Normal file
Binary file not shown.
13
ADM_Cruise_Control/CANTest_slrt_rtw/defines.txt
Normal file
13
ADM_Cruise_Control/CANTest_slrt_rtw/defines.txt
Normal file
@ -0,0 +1,13 @@
|
||||
MODEL=CANTest
|
||||
NUMST=1
|
||||
NCSTATES=0
|
||||
HAVESTDIO
|
||||
CLASSIC_INTERFACE=1
|
||||
ALLOCATIONFCN=0
|
||||
TID01EQ=0
|
||||
EXT_MODE=1
|
||||
ONESTEPFCN=0
|
||||
TERMFCN=1
|
||||
MULTI_INSTANCE_CODE=0
|
||||
INTEGER_CODE=0
|
||||
MT=0
|
||||
10
ADM_Cruise_Control/CANTest_slrt_rtw/instrumented/CANTest.bat
Normal file
10
ADM_Cruise_Control/CANTest_slrt_rtw/instrumented/CANTest.bat
Normal file
@ -0,0 +1,10 @@
|
||||
call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\VCVARSALL.BAT " x86
|
||||
|
||||
cd .
|
||||
nmake -f CANTest.mk COMBINE_OUTPUT_UPDATE_FCNS=0 INCLUDE_MDL_TERMINATE_FCN=1 MULTI_INSTANCE_CODE=0 ISPROTECTINGMODEL=NOTPROTECTING
|
||||
@if errorlevel 1 goto error_exit
|
||||
exit /B 0
|
||||
|
||||
:error_exit
|
||||
echo The make command returned an error of %errorlevel%
|
||||
An_error_occurred_during_the_call_to_make
|
||||
373
ADM_Cruise_Control/CANTest_slrt_rtw/instrumented/CANTest.mk
Normal file
373
ADM_Cruise_Control/CANTest_slrt_rtw/instrumented/CANTest.mk
Normal file
@ -0,0 +1,373 @@
|
||||
# Copyright 1996-2017 The MathWorks, Inc.
|
||||
#
|
||||
# File : slrt_vc.tmf
|
||||
#
|
||||
#
|
||||
# Abstract:
|
||||
# Makefile for building a Simulink Real-Time application from a Simulink
|
||||
# model using generated C code and a supported Microsoft Visual C/C++
|
||||
# compiler
|
||||
#
|
||||
# The following defines can be used to modify the behavior of the
|
||||
# build:
|
||||
#
|
||||
# OPT_OPTS - Optimization option. Default is -O2. To enable
|
||||
# debugging specify as OPT_OPTS=-Zd.
|
||||
# OPTS - User specific options.
|
||||
# USER_SRCS - Additional user sources, such as files needed by
|
||||
# S-functions.
|
||||
# USER_INCLUDES - Additional include paths
|
||||
# (i.e. USER_INCLUDES="-Iwhere-ever -Iwhere-ever2")
|
||||
|
||||
|
||||
#------------------------ Macros read by make_rtw -----------------------------
|
||||
#
|
||||
# The following macros are read by the code generation build procedure:
|
||||
#
|
||||
# MAKECMD - This is the command used to invoke the make utility
|
||||
# HOST - What platform this template makefile is targeted for
|
||||
# (i.e. PC or UNIX)
|
||||
# BUILD - Invoke make from the code generation build procedure
|
||||
# (yes/no)?
|
||||
# SYS_TARGET_FILE - Name of system target file.
|
||||
HOST = PC
|
||||
BUILD = yes
|
||||
MAKECMD = nmake
|
||||
SYS_TARGET_FILE = slrt.tlc
|
||||
COMPILER_TOOL_CHAIN = vc
|
||||
|
||||
# Opt in to simplified format by specifying compatible Toolchain
|
||||
TOOLCHAIN_NAME = [\
|
||||
"Microsoft Visual C++ 2017 v15.0 | nmake (64-bit Windows)", \
|
||||
"Microsoft Visual C++ 2015 v14.0 | nmake (64-bit Windows)", \
|
||||
"Microsoft Visual C++ 2013 v12.0 | nmake (64-bit Windows)"]
|
||||
|
||||
DEBUG_BUILD = 0
|
||||
|
||||
#---------------------- Tokens expanded by make_rtw ---------------------------
|
||||
#
|
||||
# The following tokens, when wrapped with "|>" and "|<" are expanded by the
|
||||
# build procedure.
|
||||
#
|
||||
# MODEL_NAME - Name of the Simulink block diagram
|
||||
# MODEL_MODULES - Any additional generated source modules
|
||||
# MAKEFILE_NAME - Name of makefile created from template makefile <model>.mk
|
||||
# MATLAB_ROOT - Path to were MATLAB is installed.
|
||||
# MATLAB_BIN - Path to MATLAB executable.
|
||||
# S_FUNCTIONS - List of S-functions.
|
||||
# S_FUNCTIONS_LIB - List of S-functions libraries to link.
|
||||
# NUMST - Number of sample times
|
||||
# TID01EQ - yes (1) or no (0): Are sampling rates of continuous task
|
||||
# (tid=0) and 1st discrete task equal.
|
||||
# NCSTATES - Number of continuous states
|
||||
# BUILDARGS - Options passed in at the command line.
|
||||
# MULTITASKING - yes (1) or no (0): Is solver mode multitasking
|
||||
# MEX_OPT_FILE - Original file name of the mexopt.bat.
|
||||
|
||||
MODEL = CANTest
|
||||
MODULES = rt_matrx.c rt_printf.c rt_logging.c CANTest.c CANTest_capi.c CANTest_data.c CANTest_xcp.c CANTest_xcp_TET.c can_datatype_ground.c rtGetInf.c rtGetNaN.c rt_nonfinite.c xpc_datatype_ground.c rt_logging_mmi.c rtw_modelmap_utils.c host_timer_x86.c xpc_code_profiling_utility_functions.c
|
||||
MAKEFILE = CANTest.mk
|
||||
MATLAB_ROOT = C:\Program Files\MATLAB\R2018a
|
||||
ALT_MATLAB_ROOT = C:\PROGRA~1\MATLAB\R2018a
|
||||
MATLAB_BIN = C:\Program Files\MATLAB\R2018a\bin
|
||||
ALT_MATLAB_BIN = C:\PROGRA~1\MATLAB\R2018a\bin
|
||||
MASTER_ANCHOR_DIR =
|
||||
START_DIR = D:\Project\DelieveryMobility\WheelSpdCont\Day_20240711
|
||||
S_FUNCTIONS = sg_IO613_setup_s.cpp sg_IO61X_read_s.cpp sg_IO61X_write_s.cpp
|
||||
S_FUNCTIONS_LIB = C:\ProgramData\Speedgoat\speedgoatlib\R2018a\9.1.3.1\sg_blocks\common\libsg\libsg_MSVC120_vc.lib C:\ProgramData\Speedgoat\speedgoatlib\R2018a\9.1.3.1\sg_blocks\can\include\IO61X_Library_MSVC120_vc.lib
|
||||
NUMST = 1
|
||||
TID01EQ = 0
|
||||
NCSTATES = 0
|
||||
BUILDARGS = COMBINE_OUTPUT_UPDATE_FCNS=0 INCLUDE_MDL_TERMINATE_FCN=1 MULTI_INSTANCE_CODE=0 ISPROTECTINGMODEL=NOTPROTECTING
|
||||
MULTITASKING = 0
|
||||
MEX_OPT_FILE = -f "C:\Users\okxan\AppData\Roaming\MathWorks\MATLAB\R2018a\mex_C_win64.xml"
|
||||
|
||||
MODELREFS =
|
||||
SHARED_SRC =
|
||||
SHARED_SRC_DIR =
|
||||
SHARED_BIN_DIR =
|
||||
SHARED_LIB =
|
||||
VISUAL_VER = 12.0
|
||||
TGT_FCN_LIB = XPC_BLAS
|
||||
|
||||
OPTIMIZATION_FLAGS = /O2 /Oy-
|
||||
ADDITIONAL_LDFLAGS =
|
||||
DEFINES_CUSTOM =
|
||||
|
||||
#--------------------------- Model and reference models -----------------------
|
||||
MODELLIB = CANTestlib.lib
|
||||
MODELREF_LINK_LIBS =
|
||||
MODELREF_LINK_RSPFILE = CANTest_ref.rsp
|
||||
MODELREF_INC_PATH =
|
||||
RELATIVE_PATH_TO_ANCHOR = ..\..
|
||||
# ..\..\..\..\..\..\.. or .. or even . if you want it
|
||||
MODELREF_TARGET_TYPE = NONE
|
||||
|
||||
!if "$(MATLAB_ROOT)" != "$(ALT_MATLAB_ROOT)"
|
||||
MATLAB_ROOT = $(ALT_MATLAB_ROOT)
|
||||
!endif
|
||||
!if "$(MATLAB_BIN)" != "$(ALT_MATLAB_BIN)"
|
||||
MATLAB_BIN = $(ALT_MATLAB_BIN)
|
||||
!endif
|
||||
MATLAB_ARCH_BIN = $(MATLAB_BIN)\win64
|
||||
|
||||
#--------------------------- Tool Specifications ------------------------------
|
||||
|
||||
CPU=i386
|
||||
!include $(MATLAB_ROOT)\rtw\c\tools\vctools.mak
|
||||
|
||||
CMD_FILE = $(MODEL).rsp
|
||||
|
||||
#------------------------------ Include/Lib Path ------------------------------
|
||||
|
||||
MATLAB_INCLUDES = $(MATLAB_ROOT)\simulink\include
|
||||
MATLAB_INCLUDES = $(MATLAB_INCLUDES);$(MATLAB_ROOT)\extern\include
|
||||
MATLAB_INCLUDES = $(MATLAB_INCLUDES);$(MATLAB_ROOT)\rtw\c\src
|
||||
MATLAB_INCLUDES = $(MATLAB_INCLUDES);$(MATLAB_ROOT)\rtw\c\libsrc
|
||||
MATLAB_INCLUDES = $(MATLAB_INCLUDES);$(MATLAB_ROOT)\rtw\c\src\ext_mode\common
|
||||
|
||||
# Additional file include paths
|
||||
MATLAB_INCLUDES = $(MATLAB_INCLUDES);$(START_DIR)
|
||||
MATLAB_INCLUDES = $(MATLAB_INCLUDES);$(START_DIR)\CANTest_slrt_rtw
|
||||
MATLAB_INCLUDES = $(MATLAB_INCLUDES);C:\ProgramData\Speedgoat\speedgoatlib\R2018a\9.1.3.1
|
||||
MATLAB_INCLUDES = $(MATLAB_INCLUDES);C:\ProgramData\Speedgoat\speedgoatlib\R2018a\9.1.3.1\sg_blocks\can\include
|
||||
MATLAB_INCLUDES = $(MATLAB_INCLUDES);C:\ProgramData\Speedgoat\speedgoatlib\R2018a\9.1.3.1\sg_blocks\common\libsg
|
||||
MATLAB_INCLUDES = $(MATLAB_INCLUDES);$(MATLAB_ROOT)\toolbox\shared\can\src\scanutil
|
||||
MATLAB_INCLUDES = $(MATLAB_INCLUDES);$(MATLAB_ROOT)\toolbox\rtw\targets\xpc\target\build\xpcblocks\include
|
||||
|
||||
|
||||
XPC_BASE = $(MATLAB_ROOT)\toolbox\rtw\targets\xpc\target\build
|
||||
|
||||
XPC_INCLUDES = $(XPC_BASE)\include;$(XPC_BASE)\xpcblocks\include
|
||||
XPC_INCLUDES = $(XPC_INCLUDES);$(XPC_BASE)\xpcblocks\thirdpartydrivers
|
||||
XPC_INCLUDES = $(XPC_INCLUDES);$(MATLAB_ROOT)\toolbox\slrt\target\kernel\include
|
||||
INCLUDE = .;..;$(XPC_INCLUDES);$(MATLAB_INCLUDES);$(INCLUDE);$(MODELREF_INC_PATH)
|
||||
|
||||
!if "$(SHARED_SRC_DIR)" != ""
|
||||
INCLUDE = $(INCLUDE);$(SHARED_SRC_DIR)
|
||||
!endif
|
||||
|
||||
#----------------- Compiler and Linker Options --------------------------------
|
||||
# Optimization Options
|
||||
DEFAULT_OPT_OPTS = /W3 /Z7
|
||||
OPT_OPTS = $(DEFAULT_OPT_OPTS)
|
||||
|
||||
# General User Options
|
||||
OPTS =
|
||||
#/GD
|
||||
|
||||
CC_OPTS = $(OPTS) $(OPT_OPTS) /c /nologo $(OPTIMIZATION_FLAGS)
|
||||
|
||||
CPP_REQ_DEFINES = -DMODEL=$(MODEL) -DRT -DNUMST=$(NUMST) \
|
||||
-DTID01EQ=$(TID01EQ) -DNCSTATES=$(NCSTATES) \
|
||||
-DMT=$(MULTITASKING) -DHAVESTDIO -DXPCMSVISUALC \
|
||||
-DXPCCALLCONV=__cdecl -DUSE_RTMODEL -DERT_CORE \
|
||||
$(DEFINES_CUSTOM)
|
||||
|
||||
# Uncomment this line to move warning level to W4
|
||||
# cflags = $(cflags:W3=W4)
|
||||
CFLAGS = $(cvarsmt) /wd4996 /fp:fast /arch:SSE2 $(CC_OPTS) $(CPP_REQ_DEFINES) $(USER_INCLUDES)
|
||||
CPPFLAGS = $(cflags) $(cvarsmt) /wd4996 /fp:fast /arch:SSE2 /EHsc \
|
||||
$(CPP_OPTS) $(CC_OPTS) $(CPP_REQ_DEFINES) $(USER_INCLUDES)
|
||||
!if "$(SLRTFTZOFF)" != ""
|
||||
CFLAGS = $(cvarsmt) $(CFLAGS_VERSPECIFIC) $(CC_OPTS) $(CPP_REQ_DEFINES) $(USER_INCLUDES)
|
||||
CPPFLAGS = $(cflags) $(cvarsmt) $(CPPFLAGS_VERSPECIFIC) /EHsc \
|
||||
$(CPP_OPTS) $(CC_OPTS) $(CPP_REQ_DEFINES) $(USER_INCLUDES)
|
||||
!endif
|
||||
|
||||
|
||||
LDFLAGS = /NOLOGO /DLL /SUBSYSTEM:CONSOLE /DEF:xpcvcdll.def /Include:_malloc /MAP /DEBUG /IGNORE:4099 $(ADDITIONAL_LDFLAGS)
|
||||
|
||||
#----------------------------- Source Files -----------------------------------
|
||||
#Standalone executable
|
||||
!if "$(MODELREF_TARGET_TYPE)" == "NONE"
|
||||
PRODUCT = $(RELATIVE_PATH_TO_ANCHOR)\$(MODEL).dlm
|
||||
SLRT_SRCS = xpctarget.c appmappingData.c legacy_stdio.c
|
||||
REQ_SRCS = $(MODULES) $(SLRT_SRCS)
|
||||
|
||||
#Model Reference Target
|
||||
!else
|
||||
PRODUCT = $(MODELLIB)
|
||||
REQ_SRCS = $(MODULES)
|
||||
!endif
|
||||
|
||||
|
||||
USER_SRCS =
|
||||
|
||||
SRCS = $(REQ_SRCS) $(USER_SRCS) $(S_FUNCTIONS)
|
||||
OBJS_CPP_UPPER = $(SRCS:.CPP=.obj)
|
||||
OBJS_CPP_LOWER = $(OBJS_CPP_UPPER:.cpp=.obj)
|
||||
OBJS_C_UPPER = $(OBJS_CPP_LOWER:.C=.obj)
|
||||
OBJS = $(OBJS_C_UPPER:.c=.obj)
|
||||
SHARED_OBJS = $(SHARED_BIN_DIR)\*.obj
|
||||
|
||||
# Special handling for object files that are not in the pre-generated linker
|
||||
# response file
|
||||
SLRT_OBJS = $(SLRT_SRCS:.c=.obj)
|
||||
|
||||
# ------------------------- Libraries ------------------------------
|
||||
LIBS =
|
||||
|
||||
|
||||
LIBS = $(LIBS) xpcruntime.lib
|
||||
|
||||
!if "$(TGT_FCN_LIB)" == "XPC_BLAS"
|
||||
BLASLIBS = $(MATLAB_ROOT)\toolbox\rtw\targets\xpc\target\build\lib\libatlas.a $(MATLAB_ROOT)\toolbox\rtw\targets\xpc\target\build\lib\libcblas.a
|
||||
!else
|
||||
BLASLIBS =
|
||||
!endif
|
||||
|
||||
#--------------------------------- Rules --------------------------------------
|
||||
!if "$(MODELREF_TARGET_TYPE)" == "NONE"
|
||||
#--- Stand-alone model ---
|
||||
$(RELATIVE_PATH_TO_ANCHOR)\$(MODEL).dlm : $(MODEL)_slrt.dll
|
||||
$(MATLAB_ROOT)\toolbox\slrt\target\thirdparty\OnTime\bin\mkusrdlm -c+ -q+ $(MODEL)_slrt.dll $(RELATIVE_PATH_TO_ANCHOR)\$(MODEL)
|
||||
@cmd /C "echo ### Created DLM $@"
|
||||
@del $(MODEL)_slrt.lib
|
||||
|
||||
$(MODEL)_slrt.dll : set_environment_variables $(OBJS) $(SHARED_LIB) $(LIBS) $(MODELREF_LINK_LIBS)
|
||||
@cmd /C "echo ### Linking ..."
|
||||
$(LD) $(LDFLAGS) $(BLASLIBS) $(LIBS) $(S_FUNCTIONS_LIB) $(CANLIB) $(SHARED_LIB) $(SLRT_OBJS) @$(CMD_FILE) @$(MODELREF_LINK_RSPFILE) -out:$@
|
||||
@cmd /C "echo ### Created DLL $@"
|
||||
|
||||
!else
|
||||
#--- Model reference Target ---
|
||||
$(PRODUCT) : set_environment_variables $(OBJS) $(SHARED_LIB) $(LIBS)
|
||||
@cmd /C "echo ### Linking ..."
|
||||
$(LD) -lib /OUT:$(MODELLIB) @$(CMD_FILE) $(S_FUNCTIONS_LIB) $(BLASLIBS)
|
||||
@cmd /C "echo ### Created static library $(MODELLIB)"
|
||||
!endif
|
||||
|
||||
{$(MATLAB_ROOT)\rtw\c\src}.c.obj :
|
||||
@cmd /C "echo ### Compiling $<"
|
||||
$(CC) $(CFLAGS) $<
|
||||
|
||||
xpcruntime.lib: xpcimports.obj xpcPCFunctions.obj
|
||||
$(LIBCMD) /nologo /out:$@ $**
|
||||
|
||||
# Additional sources
|
||||
|
||||
{C:\ProgramData\Speedgoat\speedgoatlib\R2018a\9.1.3.1}.c.obj :
|
||||
@cmd /C "echo ### Compiling $<"
|
||||
$(CC) $(CFLAGS) $<
|
||||
{C:\ProgramData\Speedgoat\speedgoatlib\R2018a\9.1.3.1\sg_blocks\can\src}.c.obj :
|
||||
@cmd /C "echo ### Compiling $<"
|
||||
$(CC) $(CFLAGS) $<
|
||||
{C:\ProgramData\Speedgoat\speedgoatlib\R2018a\9.1.3.1\sg_blocks\can}.c.obj :
|
||||
@cmd /C "echo ### Compiling $<"
|
||||
$(CC) $(CFLAGS) $<
|
||||
{$(MATLAB_ROOT)\rtw\c\src}.c.obj :
|
||||
@cmd /C "echo ### Compiling $<"
|
||||
$(CC) $(CFLAGS) $<
|
||||
{$(MATLAB_ROOT)\simulink\src}.c.obj :
|
||||
@cmd /C "echo ### Compiling $<"
|
||||
$(CC) $(CFLAGS) $<
|
||||
{..}.c.obj :
|
||||
@cmd /C "echo ### Compiling $<"
|
||||
$(CC) $(CFLAGS) $<
|
||||
{$(MATLAB_ROOT)\toolbox\coder\profile\src}.c.obj :
|
||||
@cmd /C "echo ### Compiling $<"
|
||||
$(CC) $(CFLAGS) $<
|
||||
|
||||
|
||||
{C:\ProgramData\Speedgoat\speedgoatlib\R2018a\9.1.3.1}.cpp.obj :
|
||||
@cmd /C "echo ### Compiling $<"
|
||||
$(CC) $(CPPFLAGS) $<
|
||||
|
||||
{C:\ProgramData\Speedgoat\speedgoatlib\R2018a\9.1.3.1\sg_blocks\can\src}.cpp.obj :
|
||||
@cmd /C "echo ### Compiling $<"
|
||||
$(CC) $(CPPFLAGS) $<
|
||||
|
||||
{C:\ProgramData\Speedgoat\speedgoatlib\R2018a\9.1.3.1\sg_blocks\can}.cpp.obj :
|
||||
@cmd /C "echo ### Compiling $<"
|
||||
$(CC) $(CPPFLAGS) $<
|
||||
|
||||
{$(MATLAB_ROOT)\rtw\c\src}.cpp.obj :
|
||||
@cmd /C "echo ### Compiling $<"
|
||||
$(CC) $(CPPFLAGS) $<
|
||||
|
||||
{$(MATLAB_ROOT)\simulink\src}.cpp.obj :
|
||||
@cmd /C "echo ### Compiling $<"
|
||||
$(CC) $(CPPFLAGS) $<
|
||||
|
||||
{..}.cpp.obj :
|
||||
@cmd /C "echo ### Compiling $<"
|
||||
$(CC) $(CPPFLAGS) $<
|
||||
|
||||
{$(MATLAB_ROOT)\toolbox\coder\profile\src}.cpp.obj :
|
||||
@cmd /C "echo ### Compiling $<"
|
||||
$(CC) $(CPPFLAGS) $<
|
||||
|
||||
|
||||
|
||||
# Look in simulink/src helper files
|
||||
|
||||
{$(MATLAB_ROOT)\simulink\src}.c.obj :
|
||||
@cmd /C "echo ### Compiling $<"
|
||||
$(CC) $(CFLAGS) $<
|
||||
|
||||
# Libraries:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# Put this rule last, otherwise nmake will check toolboxes first
|
||||
|
||||
{$(MATLAB_ROOT)\toolbox\rtw\targets\xpc\target\build\src}.c.obj :
|
||||
@cmd /C "echo ### Compiling $<"
|
||||
$(CC) $(CFLAGS) $<
|
||||
|
||||
{$(MATLAB_ROOT)\toolbox\rtw\targets\xpc\target\build\xpcblocks\include}.c.obj :
|
||||
@cmd /C "echo ### Compiling $<"
|
||||
$(CC) $(CFLAGS) $<
|
||||
|
||||
xpctarget.obj : $(MATLAB_ROOT)\toolbox\rtw\targets\xpc\target\build\src\xpctarget.c xpcoptions.h
|
||||
@cmd /C "echo ### Compiling xpctarget.c"
|
||||
$(CC) $(CFLAGS) $(MATLAB_ROOT)\toolbox\rtw\targets\xpc\target\build\src\xpctarget.c
|
||||
|
||||
{$(MATLAB_ROOT)\toolbox\rtw\targets\xpc\target\build\xpcblocks}.c.obj :
|
||||
@cmd /C "echo ### Compiling $<"
|
||||
$(CC) $(CFLAGS) $<
|
||||
|
||||
{$(MATLAB_ROOT)\toolbox\rtw\targets\xpc\target\build\xpcblocks\thirdpartydrivers}.c.obj :
|
||||
@cmd /C "echo ### Compiling $<"
|
||||
$(CC) $(CFLAGS) $<
|
||||
|
||||
{..}.c.obj :
|
||||
@cmd /C "echo ### Compiling $<"
|
||||
$(CC) $(CFLAGS) $<
|
||||
|
||||
.c.obj :
|
||||
@cmd /C "echo ### Compiling $<"
|
||||
$(CC) $(CFLAGS) $<
|
||||
|
||||
.cpp.obj :
|
||||
@cmd /C "echo ### Compiling $<"
|
||||
$(CC) $(CPPFLAGS) $<
|
||||
|
||||
{$(RELATIVE_PATH_TO_ANCHOR)}.c.obj :
|
||||
@cmd /C "echo ### Compiling $<"
|
||||
$(CC) $(CFLAGS) $<
|
||||
|
||||
{$(RELATIVE_PATH_TO_ANCHOR)}.cpp.obj :
|
||||
@cmd /C "echo ### Compiling $<"
|
||||
$(CC) $(CPPFLAGS) $<
|
||||
|
||||
!if "$(SHARED_LIB)" != ""
|
||||
$(SHARED_LIB) : $(SHARED_SRC)
|
||||
@cmd /C "echo ### Creating $@"
|
||||
@$(CC) $(CFLAGS) -Fo$(SHARED_BIN_DIR)\ $?
|
||||
@$(LIBCMD) /nologo /out:$@ $(SHARED_OBJS)
|
||||
@cmd /C "echo ### $@ Created"
|
||||
!endif
|
||||
|
||||
set_environment_variables:
|
||||
@set INCLUDE=$(INCLUDE)
|
||||
@set LIB=$(LIB)
|
||||
|
||||
#----------------------------- Dependencies -----------------------------------
|
||||
|
||||
$(OBJS) : $(MAKEFILE) rtw_proj.tmw
|
||||
|
||||
xpcPCFunctions.obj xpcimports.obj: $(MAKEFILE) rtw_proj.tmw
|
||||
BIN
ADM_Cruise_Control/CANTest_slrt_rtw/instrumented/CANTest.obj
Normal file
BIN
ADM_Cruise_Control/CANTest_slrt_rtw/instrumented/CANTest.obj
Normal file
Binary file not shown.
20
ADM_Cruise_Control/CANTest_slrt_rtw/instrumented/CANTest.rsp
Normal file
20
ADM_Cruise_Control/CANTest_slrt_rtw/instrumented/CANTest.rsp
Normal file
@ -0,0 +1,20 @@
|
||||
rt_matrx.obj
|
||||
rt_printf.obj
|
||||
rt_logging.obj
|
||||
CANTest.obj
|
||||
CANTest_capi.obj
|
||||
CANTest_data.obj
|
||||
CANTest_xcp.obj
|
||||
CANTest_xcp_TET.obj
|
||||
can_datatype_ground.obj
|
||||
rtGetInf.obj
|
||||
rtGetNaN.obj
|
||||
rt_nonfinite.obj
|
||||
xpc_datatype_ground.obj
|
||||
rt_logging_mmi.obj
|
||||
rtw_modelmap_utils.obj
|
||||
host_timer_x86.obj
|
||||
xpc_code_profiling_utility_functions.obj
|
||||
sg_IO613_setup_s.obj
|
||||
sg_IO61X_read_s.obj
|
||||
sg_IO61X_write_s.obj
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
7009
ADM_Cruise_Control/CANTest_slrt_rtw/instrumented/CANTest_slrt.map
Normal file
7009
ADM_Cruise_Control/CANTest_slrt_rtw/instrumented/CANTest_slrt.map
Normal file
File diff suppressed because it is too large
Load Diff
Binary file not shown.
BIN
ADM_Cruise_Control/CANTest_slrt_rtw/instrumented/CANTest_xcp.obj
Normal file
BIN
ADM_Cruise_Control/CANTest_slrt_rtw/instrumented/CANTest_xcp.obj
Normal file
Binary file not shown.
Binary file not shown.
@ -0,0 +1,34 @@
|
||||
#include "slrtappmapping.h"
|
||||
#include "./maps/CANTest.map"
|
||||
|
||||
|
||||
|
||||
const AppMapInfo appInfo[] =
|
||||
{
|
||||
{ /* Idx 0, <CANTest> */
|
||||
{ /* SignalMapInfo */
|
||||
CANTest_BIOMAP,
|
||||
CANTest_LBLMAP,
|
||||
CANTest_SIDMAP,
|
||||
CANTest_SBIO,
|
||||
CANTest_SLBL,
|
||||
{0,22},
|
||||
23,
|
||||
},
|
||||
{ /* ParamMapInfo */
|
||||
CANTest_PTIDSMAP,
|
||||
CANTest_PTNAMESMAP,
|
||||
CANTest_SPTMAP,
|
||||
{0,51},
|
||||
52,
|
||||
},
|
||||
"CANTest",
|
||||
"",
|
||||
"CANTest",
|
||||
3,
|
||||
CANTest_dtmap,
|
||||
},
|
||||
};
|
||||
int getNumRef(void){
|
||||
return(sizeof(appInfo) / sizeof(AppMapInfo));
|
||||
}
|
||||
Binary file not shown.
BIN
ADM_Cruise_Control/CANTest_slrt_rtw/instrumented/buildInfo.mat
Normal file
BIN
ADM_Cruise_Control/CANTest_slrt_rtw/instrumented/buildInfo.mat
Normal file
Binary file not shown.
Binary file not shown.
BIN
ADM_Cruise_Control/CANTest_slrt_rtw/instrumented/compileInfo.mat
Normal file
BIN
ADM_Cruise_Control/CANTest_slrt_rtw/instrumented/compileInfo.mat
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,312 @@
|
||||
const signalNameMap CANTest_BIOMAP[] =
|
||||
{
|
||||
{0,0,1},
|
||||
{1,1,1},
|
||||
{2,2,1},
|
||||
{3,3,1},
|
||||
{10,10,1},
|
||||
{5,5,1},
|
||||
{6,6,1},
|
||||
{7,7,1},
|
||||
{8,8,1},
|
||||
{9,9,1},
|
||||
{4,4,1},
|
||||
{14,14,1},
|
||||
{15,15,1},
|
||||
{16,16,1},
|
||||
{17,17,1},
|
||||
{18,18,1},
|
||||
{19,19,1},
|
||||
{20,20,1},
|
||||
{21,21,1},
|
||||
{22,22,1},
|
||||
{11,11,1},
|
||||
{12,12,1},
|
||||
{13,13,1},
|
||||
{-1, -1,23}
|
||||
};
|
||||
const signalLabelMap CANTest_LBLMAP[] =
|
||||
{
|
||||
{0,0,1},
|
||||
{1,1,1},
|
||||
{10,10,1},
|
||||
{11,11,1},
|
||||
{12,12,1},
|
||||
{13,13,1},
|
||||
{14,14,1},
|
||||
{15,15,1},
|
||||
{16,16,1},
|
||||
{17,17,1},
|
||||
{18,18,1},
|
||||
{19,19,1},
|
||||
{20,20,1},
|
||||
{21,21,1},
|
||||
{22,22,1},
|
||||
{7,7,1},
|
||||
{4,4,1},
|
||||
{6,6,1},
|
||||
{9,9,1},
|
||||
{8,8,1},
|
||||
{2,2,1},
|
||||
{5,5,1},
|
||||
{3,3,1},
|
||||
{-1, -1,23}
|
||||
};
|
||||
const signalIdMap CANTest_SIDMAP[] =
|
||||
{
|
||||
{0,0,1},
|
||||
{1,1,1},
|
||||
{2,2,1},
|
||||
{3,3,1},
|
||||
{4,4,1},
|
||||
{5,5,1},
|
||||
{6,6,1},
|
||||
{7,7,1},
|
||||
{8,8,1},
|
||||
{9,9,1},
|
||||
{10,10,1},
|
||||
{11,11,1},
|
||||
{12,12,1},
|
||||
{13,13,1},
|
||||
{14,14,1},
|
||||
{15,15,1},
|
||||
{16,16,1},
|
||||
{17,17,1},
|
||||
{18,18,1},
|
||||
{19,19,1},
|
||||
{20,20,1},
|
||||
{21,21,1},
|
||||
{22,22,1},
|
||||
{-1, -1,23}
|
||||
};
|
||||
const SortedBlockSignals CANTest_SBIO[] ={
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
10,
|
||||
5,
|
||||
6,
|
||||
7,
|
||||
8,
|
||||
9,
|
||||
4,
|
||||
14,
|
||||
15,
|
||||
16,
|
||||
17,
|
||||
18,
|
||||
19,
|
||||
20,
|
||||
21,
|
||||
22,
|
||||
11,
|
||||
12,
|
||||
13,
|
||||
-1
|
||||
};
|
||||
const SortedBlockLabels CANTest_SLBL[] ={
|
||||
0,
|
||||
1,
|
||||
10,
|
||||
11,
|
||||
12,
|
||||
13,
|
||||
14,
|
||||
15,
|
||||
16,
|
||||
17,
|
||||
18,
|
||||
19,
|
||||
20,
|
||||
21,
|
||||
22,
|
||||
7,
|
||||
4,
|
||||
6,
|
||||
9,
|
||||
8,
|
||||
2,
|
||||
5,
|
||||
3,
|
||||
-1
|
||||
};
|
||||
const OldSortedBlockParameters CANTest_PTIDSMAP[] ={
|
||||
{0,0},
|
||||
{1,1},
|
||||
{2,2},
|
||||
{3,3},
|
||||
{4,4},
|
||||
{5,5},
|
||||
{6,6},
|
||||
{7,7},
|
||||
{8,8},
|
||||
{9,9},
|
||||
{10,10},
|
||||
{11,11},
|
||||
{12,12},
|
||||
{13,13},
|
||||
{14,14},
|
||||
{15,15},
|
||||
{16,16},
|
||||
{17,17},
|
||||
{18,18},
|
||||
{19,19},
|
||||
{20,20},
|
||||
{21,21},
|
||||
{22,22},
|
||||
{23,23},
|
||||
{24,24},
|
||||
{25,25},
|
||||
{26,26},
|
||||
{27,27},
|
||||
{28,28},
|
||||
{29,29},
|
||||
{30,30},
|
||||
{31,31},
|
||||
{32,32},
|
||||
{33,33},
|
||||
{34,34},
|
||||
{35,35},
|
||||
{36,36},
|
||||
{37,37},
|
||||
{38,38},
|
||||
{39,39},
|
||||
{40,40},
|
||||
{41,41},
|
||||
{42,42},
|
||||
{43,43},
|
||||
{44,44},
|
||||
{45,45},
|
||||
{46,46},
|
||||
{47,47},
|
||||
{48,48},
|
||||
{49,49},
|
||||
{50,50},
|
||||
{51,51},
|
||||
{-1,-1},
|
||||
};
|
||||
const OldSortedBlockParameters CANTest_PTNAMESMAP[] ={
|
||||
{51,51},
|
||||
{0,0},
|
||||
{1,1},
|
||||
{2,2},
|
||||
{3,3},
|
||||
{4,4},
|
||||
{5,5},
|
||||
{6,6},
|
||||
{15,15},
|
||||
{16,16},
|
||||
{17,17},
|
||||
{18,18},
|
||||
{19,19},
|
||||
{20,20},
|
||||
{21,21},
|
||||
{22,22},
|
||||
{23,23},
|
||||
{24,24},
|
||||
{7,7},
|
||||
{25,25},
|
||||
{26,26},
|
||||
{27,27},
|
||||
{28,28},
|
||||
{29,29},
|
||||
{8,8},
|
||||
{9,9},
|
||||
{10,10},
|
||||
{11,11},
|
||||
{12,12},
|
||||
{13,13},
|
||||
{14,14},
|
||||
{39,39},
|
||||
{40,40},
|
||||
{41,41},
|
||||
{42,42},
|
||||
{43,43},
|
||||
{44,44},
|
||||
{45,45},
|
||||
{34,34},
|
||||
{35,35},
|
||||
{36,36},
|
||||
{37,37},
|
||||
{38,38},
|
||||
{30,30},
|
||||
{33,33},
|
||||
{31,31},
|
||||
{46,46},
|
||||
{49,49},
|
||||
{50,50},
|
||||
{47,47},
|
||||
{48,48},
|
||||
{32,32},
|
||||
{-1,-1},
|
||||
};
|
||||
const SortedBlockParameters CANTest_SPTMAP[] ={
|
||||
51,
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4,
|
||||
5,
|
||||
6,
|
||||
15,
|
||||
16,
|
||||
17,
|
||||
18,
|
||||
19,
|
||||
20,
|
||||
21,
|
||||
22,
|
||||
23,
|
||||
24,
|
||||
7,
|
||||
25,
|
||||
26,
|
||||
27,
|
||||
28,
|
||||
29,
|
||||
8,
|
||||
9,
|
||||
10,
|
||||
11,
|
||||
12,
|
||||
13,
|
||||
14,
|
||||
39,
|
||||
40,
|
||||
41,
|
||||
42,
|
||||
43,
|
||||
44,
|
||||
45,
|
||||
34,
|
||||
35,
|
||||
36,
|
||||
37,
|
||||
38,
|
||||
30,
|
||||
33,
|
||||
31,
|
||||
46,
|
||||
49,
|
||||
50,
|
||||
47,
|
||||
48,
|
||||
32,
|
||||
-1
|
||||
};
|
||||
|
||||
|
||||
const EnumElemMapInfo CANTest_dtmap[] =
|
||||
{
|
||||
{
|
||||
NULL,NULL,0
|
||||
},
|
||||
{
|
||||
NULL,NULL,0
|
||||
},
|
||||
{
|
||||
NULL,NULL,0
|
||||
},
|
||||
};
|
||||
Binary file not shown.
BIN
ADM_Cruise_Control/CANTest_slrt_rtw/instrumented/rtGetInf.obj
Normal file
BIN
ADM_Cruise_Control/CANTest_slrt_rtw/instrumented/rtGetInf.obj
Normal file
Binary file not shown.
BIN
ADM_Cruise_Control/CANTest_slrt_rtw/instrumented/rtGetNaN.obj
Normal file
BIN
ADM_Cruise_Control/CANTest_slrt_rtw/instrumented/rtGetNaN.obj
Normal file
Binary file not shown.
BIN
ADM_Cruise_Control/CANTest_slrt_rtw/instrumented/rt_logging.obj
Normal file
BIN
ADM_Cruise_Control/CANTest_slrt_rtw/instrumented/rt_logging.obj
Normal file
Binary file not shown.
Binary file not shown.
BIN
ADM_Cruise_Control/CANTest_slrt_rtw/instrumented/rt_matrx.obj
Normal file
BIN
ADM_Cruise_Control/CANTest_slrt_rtw/instrumented/rt_matrx.obj
Normal file
Binary file not shown.
Binary file not shown.
BIN
ADM_Cruise_Control/CANTest_slrt_rtw/instrumented/rt_printf.obj
Normal file
BIN
ADM_Cruise_Control/CANTest_slrt_rtw/instrumented/rt_printf.obj
Normal file
Binary file not shown.
Binary file not shown.
@ -0,0 +1,4 @@
|
||||
Simulink Coder project for CANTest using C:\Program Files\MATLAB\R2018a\toolbox\slrt\rtw\slrt_vc.tmf. MATLAB root = C:\Program Files\MATLAB\R2018a. SimStruct date: 06-2-2018 14:40:31
|
||||
This file is generated by Simulink Coder for use by the make utility
|
||||
to determine when to rebuild objects when the name of the current Simulink Coder project changes.
|
||||
The rtwinfomat located at: ..\..\slprj\slrt\CANTest\tmwinternal\binfo.mat
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
ADM_Cruise_Control/CANTest_slrt_rtw/instrumented/slrtappinfo.mat
Normal file
BIN
ADM_Cruise_Control/CANTest_slrt_rtw/instrumented/slrtappinfo.mat
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
ADM_Cruise_Control/CANTest_slrt_rtw/instrumented/xpcimports.obj
Normal file
BIN
ADM_Cruise_Control/CANTest_slrt_rtw/instrumented/xpcimports.obj
Normal file
Binary file not shown.
@ -0,0 +1,54 @@
|
||||
#ifndef __CANTest_XPCOPTIONS_H___
|
||||
#define __CANTest_XPCOPTIONS_H___
|
||||
#include "simstruc_types.h"
|
||||
#ifndef MT
|
||||
#define MT 0 /* MT may be undefined by simstruc_types.h */
|
||||
#endif
|
||||
|
||||
#include "CANTest.h"
|
||||
#define XPCMDSSUPPORT 0
|
||||
#define MDSTASKSNUM 0
|
||||
#define FULLMULTITHREAD 1
|
||||
#define SIZEOF_PARAMS (-1 * (int)sizeof(P_CANTest_T))
|
||||
#define SIMMODE 0
|
||||
#define LOGTET 0
|
||||
#define LOGBUFSIZE 100000
|
||||
#define PROFILINGFLAG 1
|
||||
#define EVENTNUMBER 5000
|
||||
#define IRQ_NO 0
|
||||
#define IO_IRQ 0
|
||||
#define WWW_ACCESS_LEVEL 0
|
||||
#define CPUCLOCK 0
|
||||
#define MAXOVERLOAD 0
|
||||
#define MAXOVERLOADLEN 0
|
||||
#define XPCMODELSTACKSIZEKB 2048
|
||||
#define XPCSTARTUPFLAG 1
|
||||
#define PTLOADPARAMFLAG 0
|
||||
#define DOUBLEBUFFERING 0
|
||||
#define SLRTFTZOFFFLAG 0
|
||||
|
||||
/* Change all stepsize using the newBaseRateStepSize */
|
||||
void CANTest_ChangeStepSize(real_T newBaseRateStepSize, RT_MODEL_CANTest_T *
|
||||
const CANTest_M)
|
||||
{
|
||||
real_T ratio = newBaseRateStepSize / 0.002;
|
||||
|
||||
/* update non-zore stepsize of periodic
|
||||
* sample time. Stepsize of asynchronous
|
||||
* sample time is not changed in this function */
|
||||
CANTest_M->Timing.stepSize0 = CANTest_M->Timing.stepSize0 * ratio;
|
||||
CANTest_M->Timing.stepSize = CANTest_M->Timing.stepSize * ratio;
|
||||
}
|
||||
|
||||
void XPCCALLCONV changeStepSize(real_T stepSize)
|
||||
{
|
||||
/* Change all stepsize using the newBaseRateStepSize */
|
||||
CANTest_ChangeStepSize(stepSize, CANTest_M);
|
||||
}
|
||||
|
||||
void XPCCALLCONV SLRTSetErrorStatus(const char * errMsg)
|
||||
{
|
||||
rtmSetErrorStatus(CANTest_M, errMsg);
|
||||
}
|
||||
|
||||
#endif /* __CANTest_XPCOPTIONS_H___ */
|
||||
@ -0,0 +1 @@
|
||||
const char ptsetfilename[] = "";
|
||||
BIN
ADM_Cruise_Control/CANTest_slrt_rtw/instrumented/xpcruntime.lib
Normal file
BIN
ADM_Cruise_Control/CANTest_slrt_rtw/instrumented/xpcruntime.lib
Normal file
Binary file not shown.
BIN
ADM_Cruise_Control/CANTest_slrt_rtw/instrumented/xpctarget.obj
Normal file
BIN
ADM_Cruise_Control/CANTest_slrt_rtw/instrumented/xpctarget.obj
Normal file
Binary file not shown.
@ -0,0 +1,4 @@
|
||||
const unsigned char xmlfile[] = {
|
||||
"NULL"
|
||||
};
|
||||
const int *xmlsize = (int *)0;
|
||||
@ -0,0 +1,10 @@
|
||||
EXPORTS
|
||||
MdlStart
|
||||
MdlTerminate
|
||||
MdlOutputs
|
||||
MdlUpdate
|
||||
getrlmdlinfo
|
||||
getDLMVersion
|
||||
SLRT_update_TET
|
||||
|
||||
|
||||
1
ADM_Cruise_Control/CANTest_slrt_rtw/loggingdb.json
Normal file
1
ADM_Cruise_Control/CANTest_slrt_rtw/loggingdb.json
Normal file
@ -0,0 +1 @@
|
||||
{"model_checksum":[0,0,0,0],"num_entries":0,"channels":[]}
|
||||
1
ADM_Cruise_Control/CANTest_slrt_rtw/modelsources.txt
Normal file
1
ADM_Cruise_Control/CANTest_slrt_rtw/modelsources.txt
Normal file
@ -0,0 +1 @@
|
||||
CANTest.c can_datatype_ground.c xpc_datatype_ground.c rt_logging_mmi.c rtw_modelmap_utils.c
|
||||
597
ADM_Cruise_Control/CANTest_slrt_rtw/multiword_types.h
Normal file
597
ADM_Cruise_Control/CANTest_slrt_rtw/multiword_types.h
Normal file
@ -0,0 +1,597 @@
|
||||
/*
|
||||
* multiword_types.h
|
||||
*
|
||||
* Academic License - for use in teaching, academic research, and meeting
|
||||
* course requirements at degree granting institutions only. Not for
|
||||
* government, commercial, or other organizational use.
|
||||
*
|
||||
* Code generation for model "CANTest".
|
||||
*
|
||||
* Model version : 1.360
|
||||
* Simulink Coder version : 8.14 (R2018a) 06-Feb-2018
|
||||
* C source code generated on : Tue Jul 11 11:56:08 2023
|
||||
*
|
||||
* Target selection: slrt.tlc
|
||||
* Note: GRT includes extra infrastructure and instrumentation for prototyping
|
||||
* Embedded hardware selection: Generic->32-bit x86 compatible
|
||||
* Code generation objectives: Unspecified
|
||||
* Validation result: Not run
|
||||
*/
|
||||
|
||||
#ifndef MULTIWORD_TYPES_H
|
||||
#define MULTIWORD_TYPES_H
|
||||
#include "rtwtypes.h"
|
||||
|
||||
/*
|
||||
* Definitions supporting external data access
|
||||
*/
|
||||
typedef int64_T chunk_T;
|
||||
typedef uint64_T uchunk_T;
|
||||
|
||||
/*
|
||||
* MultiWord supporting definitions
|
||||
*/
|
||||
typedef long long longlong_T;
|
||||
|
||||
/*
|
||||
* MultiWord types
|
||||
*/
|
||||
typedef struct {
|
||||
uint64_T chunks[2];
|
||||
} int128m_T;
|
||||
|
||||
typedef struct {
|
||||
int128m_T re;
|
||||
int128m_T im;
|
||||
} cint128m_T;
|
||||
|
||||
typedef struct {
|
||||
uint64_T chunks[2];
|
||||
} uint128m_T;
|
||||
|
||||
typedef struct {
|
||||
uint128m_T re;
|
||||
uint128m_T im;
|
||||
} cuint128m_T;
|
||||
|
||||
typedef struct {
|
||||
uint64_T chunks[3];
|
||||
} int192m_T;
|
||||
|
||||
typedef struct {
|
||||
int192m_T re;
|
||||
int192m_T im;
|
||||
} cint192m_T;
|
||||
|
||||
typedef struct {
|
||||
uint64_T chunks[3];
|
||||
} uint192m_T;
|
||||
|
||||
typedef struct {
|
||||
uint192m_T re;
|
||||
uint192m_T im;
|
||||
} cuint192m_T;
|
||||
|
||||
typedef struct {
|
||||
uint64_T chunks[4];
|
||||
} int256m_T;
|
||||
|
||||
typedef struct {
|
||||
int256m_T re;
|
||||
int256m_T im;
|
||||
} cint256m_T;
|
||||
|
||||
typedef struct {
|
||||
uint64_T chunks[4];
|
||||
} uint256m_T;
|
||||
|
||||
typedef struct {
|
||||
uint256m_T re;
|
||||
uint256m_T im;
|
||||
} cuint256m_T;
|
||||
|
||||
typedef struct {
|
||||
uint64_T chunks[5];
|
||||
} int320m_T;
|
||||
|
||||
typedef struct {
|
||||
int320m_T re;
|
||||
int320m_T im;
|
||||
} cint320m_T;
|
||||
|
||||
typedef struct {
|
||||
uint64_T chunks[5];
|
||||
} uint320m_T;
|
||||
|
||||
typedef struct {
|
||||
uint320m_T re;
|
||||
uint320m_T im;
|
||||
} cuint320m_T;
|
||||
|
||||
typedef struct {
|
||||
uint64_T chunks[6];
|
||||
} int384m_T;
|
||||
|
||||
typedef struct {
|
||||
int384m_T re;
|
||||
int384m_T im;
|
||||
} cint384m_T;
|
||||
|
||||
typedef struct {
|
||||
uint64_T chunks[6];
|
||||
} uint384m_T;
|
||||
|
||||
typedef struct {
|
||||
uint384m_T re;
|
||||
uint384m_T im;
|
||||
} cuint384m_T;
|
||||
|
||||
typedef struct {
|
||||
uint64_T chunks[7];
|
||||
} int448m_T;
|
||||
|
||||
typedef struct {
|
||||
int448m_T re;
|
||||
int448m_T im;
|
||||
} cint448m_T;
|
||||
|
||||
typedef struct {
|
||||
uint64_T chunks[7];
|
||||
} uint448m_T;
|
||||
|
||||
typedef struct {
|
||||
uint448m_T re;
|
||||
uint448m_T im;
|
||||
} cuint448m_T;
|
||||
|
||||
typedef struct {
|
||||
uint64_T chunks[8];
|
||||
} int512m_T;
|
||||
|
||||
typedef struct {
|
||||
int512m_T re;
|
||||
int512m_T im;
|
||||
} cint512m_T;
|
||||
|
||||
typedef struct {
|
||||
uint64_T chunks[8];
|
||||
} uint512m_T;
|
||||
|
||||
typedef struct {
|
||||
uint512m_T re;
|
||||
uint512m_T im;
|
||||
} cuint512m_T;
|
||||
|
||||
typedef struct {
|
||||
uint64_T chunks[9];
|
||||
} int576m_T;
|
||||
|
||||
typedef struct {
|
||||
int576m_T re;
|
||||
int576m_T im;
|
||||
} cint576m_T;
|
||||
|
||||
typedef struct {
|
||||
uint64_T chunks[9];
|
||||
} uint576m_T;
|
||||
|
||||
typedef struct {
|
||||
uint576m_T re;
|
||||
uint576m_T im;
|
||||
} cuint576m_T;
|
||||
|
||||
typedef struct {
|
||||
uint64_T chunks[10];
|
||||
} int640m_T;
|
||||
|
||||
typedef struct {
|
||||
int640m_T re;
|
||||
int640m_T im;
|
||||
} cint640m_T;
|
||||
|
||||
typedef struct {
|
||||
uint64_T chunks[10];
|
||||
} uint640m_T;
|
||||
|
||||
typedef struct {
|
||||
uint640m_T re;
|
||||
uint640m_T im;
|
||||
} cuint640m_T;
|
||||
|
||||
typedef struct {
|
||||
uint64_T chunks[11];
|
||||
} int704m_T;
|
||||
|
||||
typedef struct {
|
||||
int704m_T re;
|
||||
int704m_T im;
|
||||
} cint704m_T;
|
||||
|
||||
typedef struct {
|
||||
uint64_T chunks[11];
|
||||
} uint704m_T;
|
||||
|
||||
typedef struct {
|
||||
uint704m_T re;
|
||||
uint704m_T im;
|
||||
} cuint704m_T;
|
||||
|
||||
typedef struct {
|
||||
uint64_T chunks[12];
|
||||
} int768m_T;
|
||||
|
||||
typedef struct {
|
||||
int768m_T re;
|
||||
int768m_T im;
|
||||
} cint768m_T;
|
||||
|
||||
typedef struct {
|
||||
uint64_T chunks[12];
|
||||
} uint768m_T;
|
||||
|
||||
typedef struct {
|
||||
uint768m_T re;
|
||||
uint768m_T im;
|
||||
} cuint768m_T;
|
||||
|
||||
typedef struct {
|
||||
uint64_T chunks[13];
|
||||
} int832m_T;
|
||||
|
||||
typedef struct {
|
||||
int832m_T re;
|
||||
int832m_T im;
|
||||
} cint832m_T;
|
||||
|
||||
typedef struct {
|
||||
uint64_T chunks[13];
|
||||
} uint832m_T;
|
||||
|
||||
typedef struct {
|
||||
uint832m_T re;
|
||||
uint832m_T im;
|
||||
} cuint832m_T;
|
||||
|
||||
typedef struct {
|
||||
uint64_T chunks[14];
|
||||
} int896m_T;
|
||||
|
||||
typedef struct {
|
||||
int896m_T re;
|
||||
int896m_T im;
|
||||
} cint896m_T;
|
||||
|
||||
typedef struct {
|
||||
uint64_T chunks[14];
|
||||
} uint896m_T;
|
||||
|
||||
typedef struct {
|
||||
uint896m_T re;
|
||||
uint896m_T im;
|
||||
} cuint896m_T;
|
||||
|
||||
typedef struct {
|
||||
uint64_T chunks[15];
|
||||
} int960m_T;
|
||||
|
||||
typedef struct {
|
||||
int960m_T re;
|
||||
int960m_T im;
|
||||
} cint960m_T;
|
||||
|
||||
typedef struct {
|
||||
uint64_T chunks[15];
|
||||
} uint960m_T;
|
||||
|
||||
typedef struct {
|
||||
uint960m_T re;
|
||||
uint960m_T im;
|
||||
} cuint960m_T;
|
||||
|
||||
typedef struct {
|
||||
uint64_T chunks[16];
|
||||
} int1024m_T;
|
||||
|
||||
typedef struct {
|
||||
int1024m_T re;
|
||||
int1024m_T im;
|
||||
} cint1024m_T;
|
||||
|
||||
typedef struct {
|
||||
uint64_T chunks[16];
|
||||
} uint1024m_T;
|
||||
|
||||
typedef struct {
|
||||
uint1024m_T re;
|
||||
uint1024m_T im;
|
||||
} cuint1024m_T;
|
||||
|
||||
typedef struct {
|
||||
uint64_T chunks[17];
|
||||
} int1088m_T;
|
||||
|
||||
typedef struct {
|
||||
int1088m_T re;
|
||||
int1088m_T im;
|
||||
} cint1088m_T;
|
||||
|
||||
typedef struct {
|
||||
uint64_T chunks[17];
|
||||
} uint1088m_T;
|
||||
|
||||
typedef struct {
|
||||
uint1088m_T re;
|
||||
uint1088m_T im;
|
||||
} cuint1088m_T;
|
||||
|
||||
typedef struct {
|
||||
uint64_T chunks[18];
|
||||
} int1152m_T;
|
||||
|
||||
typedef struct {
|
||||
int1152m_T re;
|
||||
int1152m_T im;
|
||||
} cint1152m_T;
|
||||
|
||||
typedef struct {
|
||||
uint64_T chunks[18];
|
||||
} uint1152m_T;
|
||||
|
||||
typedef struct {
|
||||
uint1152m_T re;
|
||||
uint1152m_T im;
|
||||
} cuint1152m_T;
|
||||
|
||||
typedef struct {
|
||||
uint64_T chunks[19];
|
||||
} int1216m_T;
|
||||
|
||||
typedef struct {
|
||||
int1216m_T re;
|
||||
int1216m_T im;
|
||||
} cint1216m_T;
|
||||
|
||||
typedef struct {
|
||||
uint64_T chunks[19];
|
||||
} uint1216m_T;
|
||||
|
||||
typedef struct {
|
||||
uint1216m_T re;
|
||||
uint1216m_T im;
|
||||
} cuint1216m_T;
|
||||
|
||||
typedef struct {
|
||||
uint64_T chunks[20];
|
||||
} int1280m_T;
|
||||
|
||||
typedef struct {
|
||||
int1280m_T re;
|
||||
int1280m_T im;
|
||||
} cint1280m_T;
|
||||
|
||||
typedef struct {
|
||||
uint64_T chunks[20];
|
||||
} uint1280m_T;
|
||||
|
||||
typedef struct {
|
||||
uint1280m_T re;
|
||||
uint1280m_T im;
|
||||
} cuint1280m_T;
|
||||
|
||||
typedef struct {
|
||||
uint64_T chunks[21];
|
||||
} int1344m_T;
|
||||
|
||||
typedef struct {
|
||||
int1344m_T re;
|
||||
int1344m_T im;
|
||||
} cint1344m_T;
|
||||
|
||||
typedef struct {
|
||||
uint64_T chunks[21];
|
||||
} uint1344m_T;
|
||||
|
||||
typedef struct {
|
||||
uint1344m_T re;
|
||||
uint1344m_T im;
|
||||
} cuint1344m_T;
|
||||
|
||||
typedef struct {
|
||||
uint64_T chunks[22];
|
||||
} int1408m_T;
|
||||
|
||||
typedef struct {
|
||||
int1408m_T re;
|
||||
int1408m_T im;
|
||||
} cint1408m_T;
|
||||
|
||||
typedef struct {
|
||||
uint64_T chunks[22];
|
||||
} uint1408m_T;
|
||||
|
||||
typedef struct {
|
||||
uint1408m_T re;
|
||||
uint1408m_T im;
|
||||
} cuint1408m_T;
|
||||
|
||||
typedef struct {
|
||||
uint64_T chunks[23];
|
||||
} int1472m_T;
|
||||
|
||||
typedef struct {
|
||||
int1472m_T re;
|
||||
int1472m_T im;
|
||||
} cint1472m_T;
|
||||
|
||||
typedef struct {
|
||||
uint64_T chunks[23];
|
||||
} uint1472m_T;
|
||||
|
||||
typedef struct {
|
||||
uint1472m_T re;
|
||||
uint1472m_T im;
|
||||
} cuint1472m_T;
|
||||
|
||||
typedef struct {
|
||||
uint64_T chunks[24];
|
||||
} int1536m_T;
|
||||
|
||||
typedef struct {
|
||||
int1536m_T re;
|
||||
int1536m_T im;
|
||||
} cint1536m_T;
|
||||
|
||||
typedef struct {
|
||||
uint64_T chunks[24];
|
||||
} uint1536m_T;
|
||||
|
||||
typedef struct {
|
||||
uint1536m_T re;
|
||||
uint1536m_T im;
|
||||
} cuint1536m_T;
|
||||
|
||||
typedef struct {
|
||||
uint64_T chunks[25];
|
||||
} int1600m_T;
|
||||
|
||||
typedef struct {
|
||||
int1600m_T re;
|
||||
int1600m_T im;
|
||||
} cint1600m_T;
|
||||
|
||||
typedef struct {
|
||||
uint64_T chunks[25];
|
||||
} uint1600m_T;
|
||||
|
||||
typedef struct {
|
||||
uint1600m_T re;
|
||||
uint1600m_T im;
|
||||
} cuint1600m_T;
|
||||
|
||||
typedef struct {
|
||||
uint64_T chunks[26];
|
||||
} int1664m_T;
|
||||
|
||||
typedef struct {
|
||||
int1664m_T re;
|
||||
int1664m_T im;
|
||||
} cint1664m_T;
|
||||
|
||||
typedef struct {
|
||||
uint64_T chunks[26];
|
||||
} uint1664m_T;
|
||||
|
||||
typedef struct {
|
||||
uint1664m_T re;
|
||||
uint1664m_T im;
|
||||
} cuint1664m_T;
|
||||
|
||||
typedef struct {
|
||||
uint64_T chunks[27];
|
||||
} int1728m_T;
|
||||
|
||||
typedef struct {
|
||||
int1728m_T re;
|
||||
int1728m_T im;
|
||||
} cint1728m_T;
|
||||
|
||||
typedef struct {
|
||||
uint64_T chunks[27];
|
||||
} uint1728m_T;
|
||||
|
||||
typedef struct {
|
||||
uint1728m_T re;
|
||||
uint1728m_T im;
|
||||
} cuint1728m_T;
|
||||
|
||||
typedef struct {
|
||||
uint64_T chunks[28];
|
||||
} int1792m_T;
|
||||
|
||||
typedef struct {
|
||||
int1792m_T re;
|
||||
int1792m_T im;
|
||||
} cint1792m_T;
|
||||
|
||||
typedef struct {
|
||||
uint64_T chunks[28];
|
||||
} uint1792m_T;
|
||||
|
||||
typedef struct {
|
||||
uint1792m_T re;
|
||||
uint1792m_T im;
|
||||
} cuint1792m_T;
|
||||
|
||||
typedef struct {
|
||||
uint64_T chunks[29];
|
||||
} int1856m_T;
|
||||
|
||||
typedef struct {
|
||||
int1856m_T re;
|
||||
int1856m_T im;
|
||||
} cint1856m_T;
|
||||
|
||||
typedef struct {
|
||||
uint64_T chunks[29];
|
||||
} uint1856m_T;
|
||||
|
||||
typedef struct {
|
||||
uint1856m_T re;
|
||||
uint1856m_T im;
|
||||
} cuint1856m_T;
|
||||
|
||||
typedef struct {
|
||||
uint64_T chunks[30];
|
||||
} int1920m_T;
|
||||
|
||||
typedef struct {
|
||||
int1920m_T re;
|
||||
int1920m_T im;
|
||||
} cint1920m_T;
|
||||
|
||||
typedef struct {
|
||||
uint64_T chunks[30];
|
||||
} uint1920m_T;
|
||||
|
||||
typedef struct {
|
||||
uint1920m_T re;
|
||||
uint1920m_T im;
|
||||
} cuint1920m_T;
|
||||
|
||||
typedef struct {
|
||||
uint64_T chunks[31];
|
||||
} int1984m_T;
|
||||
|
||||
typedef struct {
|
||||
int1984m_T re;
|
||||
int1984m_T im;
|
||||
} cint1984m_T;
|
||||
|
||||
typedef struct {
|
||||
uint64_T chunks[31];
|
||||
} uint1984m_T;
|
||||
|
||||
typedef struct {
|
||||
uint1984m_T re;
|
||||
uint1984m_T im;
|
||||
} cuint1984m_T;
|
||||
|
||||
typedef struct {
|
||||
uint64_T chunks[32];
|
||||
} int2048m_T;
|
||||
|
||||
typedef struct {
|
||||
int2048m_T re;
|
||||
int2048m_T im;
|
||||
} cint2048m_T;
|
||||
|
||||
typedef struct {
|
||||
uint64_T chunks[32];
|
||||
} uint2048m_T;
|
||||
|
||||
typedef struct {
|
||||
uint2048m_T re;
|
||||
uint2048m_T im;
|
||||
} cuint2048m_T;
|
||||
|
||||
#endif /* MULTIWORD_TYPES_H */
|
||||
144
ADM_Cruise_Control/CANTest_slrt_rtw/rtGetInf.c
Normal file
144
ADM_Cruise_Control/CANTest_slrt_rtw/rtGetInf.c
Normal file
@ -0,0 +1,144 @@
|
||||
/*
|
||||
* rtGetInf.c
|
||||
*
|
||||
* Academic License - for use in teaching, academic research, and meeting
|
||||
* course requirements at degree granting institutions only. Not for
|
||||
* government, commercial, or other organizational use.
|
||||
*
|
||||
* Code generation for model "CANTest".
|
||||
*
|
||||
* Model version : 1.360
|
||||
* Simulink Coder version : 8.14 (R2018a) 06-Feb-2018
|
||||
* C source code generated on : Tue Jul 11 11:56:08 2023
|
||||
*
|
||||
* Target selection: slrt.tlc
|
||||
* Note: GRT includes extra infrastructure and instrumentation for prototyping
|
||||
* Embedded hardware selection: Generic->32-bit x86 compatible
|
||||
* Code generation objectives: Unspecified
|
||||
* Validation result: Not run
|
||||
*/
|
||||
|
||||
/*
|
||||
* Abstract:
|
||||
* Function to initialize non-finite, Inf
|
||||
*/
|
||||
#include "rtGetInf.h"
|
||||
#define NumBitsPerChar 8U
|
||||
|
||||
/*
|
||||
* Initialize rtInf needed by the generated code.
|
||||
* Inf is initialized as non-signaling. Assumes IEEE.
|
||||
*/
|
||||
real_T rtGetInf(void)
|
||||
{
|
||||
size_t bitsPerReal = sizeof(real_T) * (NumBitsPerChar);
|
||||
real_T inf = 0.0;
|
||||
if (bitsPerReal == 32U) {
|
||||
inf = rtGetInfF();
|
||||
} else {
|
||||
uint16_T one = 1U;
|
||||
enum {
|
||||
LittleEndian,
|
||||
BigEndian
|
||||
} machByteOrder = (*((uint8_T *) &one) == 1U) ? LittleEndian : BigEndian;
|
||||
switch (machByteOrder) {
|
||||
case LittleEndian:
|
||||
{
|
||||
union {
|
||||
LittleEndianIEEEDouble bitVal;
|
||||
real_T fltVal;
|
||||
} tmpVal;
|
||||
|
||||
tmpVal.bitVal.words.wordH = 0x7FF00000U;
|
||||
tmpVal.bitVal.words.wordL = 0x00000000U;
|
||||
inf = tmpVal.fltVal;
|
||||
break;
|
||||
}
|
||||
|
||||
case BigEndian:
|
||||
{
|
||||
union {
|
||||
BigEndianIEEEDouble bitVal;
|
||||
real_T fltVal;
|
||||
} tmpVal;
|
||||
|
||||
tmpVal.bitVal.words.wordH = 0x7FF00000U;
|
||||
tmpVal.bitVal.words.wordL = 0x00000000U;
|
||||
inf = tmpVal.fltVal;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return inf;
|
||||
}
|
||||
|
||||
/*
|
||||
* Initialize rtInfF needed by the generated code.
|
||||
* Inf is initialized as non-signaling. Assumes IEEE.
|
||||
*/
|
||||
real32_T rtGetInfF(void)
|
||||
{
|
||||
IEEESingle infF;
|
||||
infF.wordL.wordLuint = 0x7F800000U;
|
||||
return infF.wordL.wordLreal;
|
||||
}
|
||||
|
||||
/*
|
||||
* Initialize rtMinusInf needed by the generated code.
|
||||
* Inf is initialized as non-signaling. Assumes IEEE.
|
||||
*/
|
||||
real_T rtGetMinusInf(void)
|
||||
{
|
||||
size_t bitsPerReal = sizeof(real_T) * (NumBitsPerChar);
|
||||
real_T minf = 0.0;
|
||||
if (bitsPerReal == 32U) {
|
||||
minf = rtGetMinusInfF();
|
||||
} else {
|
||||
uint16_T one = 1U;
|
||||
enum {
|
||||
LittleEndian,
|
||||
BigEndian
|
||||
} machByteOrder = (*((uint8_T *) &one) == 1U) ? LittleEndian : BigEndian;
|
||||
switch (machByteOrder) {
|
||||
case LittleEndian:
|
||||
{
|
||||
union {
|
||||
LittleEndianIEEEDouble bitVal;
|
||||
real_T fltVal;
|
||||
} tmpVal;
|
||||
|
||||
tmpVal.bitVal.words.wordH = 0xFFF00000U;
|
||||
tmpVal.bitVal.words.wordL = 0x00000000U;
|
||||
minf = tmpVal.fltVal;
|
||||
break;
|
||||
}
|
||||
|
||||
case BigEndian:
|
||||
{
|
||||
union {
|
||||
BigEndianIEEEDouble bitVal;
|
||||
real_T fltVal;
|
||||
} tmpVal;
|
||||
|
||||
tmpVal.bitVal.words.wordH = 0xFFF00000U;
|
||||
tmpVal.bitVal.words.wordL = 0x00000000U;
|
||||
minf = tmpVal.fltVal;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return minf;
|
||||
}
|
||||
|
||||
/*
|
||||
* Initialize rtMinusInfF needed by the generated code.
|
||||
* Inf is initialized as non-signaling. Assumes IEEE.
|
||||
*/
|
||||
real32_T rtGetMinusInfF(void)
|
||||
{
|
||||
IEEESingle minfF;
|
||||
minfF.wordL.wordLuint = 0xFF800000U;
|
||||
return minfF.wordL.wordLreal;
|
||||
}
|
||||
32
ADM_Cruise_Control/CANTest_slrt_rtw/rtGetInf.h
Normal file
32
ADM_Cruise_Control/CANTest_slrt_rtw/rtGetInf.h
Normal file
@ -0,0 +1,32 @@
|
||||
/*
|
||||
* rtGetInf.h
|
||||
*
|
||||
* Academic License - for use in teaching, academic research, and meeting
|
||||
* course requirements at degree granting institutions only. Not for
|
||||
* government, commercial, or other organizational use.
|
||||
*
|
||||
* Code generation for model "CANTest".
|
||||
*
|
||||
* Model version : 1.360
|
||||
* Simulink Coder version : 8.14 (R2018a) 06-Feb-2018
|
||||
* C source code generated on : Tue Jul 11 11:56:08 2023
|
||||
*
|
||||
* Target selection: slrt.tlc
|
||||
* Note: GRT includes extra infrastructure and instrumentation for prototyping
|
||||
* Embedded hardware selection: Generic->32-bit x86 compatible
|
||||
* Code generation objectives: Unspecified
|
||||
* Validation result: Not run
|
||||
*/
|
||||
|
||||
#ifndef RTW_HEADER_rtGetInf_h_
|
||||
#define RTW_HEADER_rtGetInf_h_
|
||||
#include <stddef.h>
|
||||
#include "rtwtypes.h"
|
||||
#include "rt_nonfinite.h"
|
||||
|
||||
extern real_T rtGetInf(void);
|
||||
extern real32_T rtGetInfF(void);
|
||||
extern real_T rtGetMinusInf(void);
|
||||
extern real32_T rtGetMinusInfF(void);
|
||||
|
||||
#endif /* RTW_HEADER_rtGetInf_h_ */
|
||||
104
ADM_Cruise_Control/CANTest_slrt_rtw/rtGetNaN.c
Normal file
104
ADM_Cruise_Control/CANTest_slrt_rtw/rtGetNaN.c
Normal file
@ -0,0 +1,104 @@
|
||||
/*
|
||||
* rtGetNaN.c
|
||||
*
|
||||
* Academic License - for use in teaching, academic research, and meeting
|
||||
* course requirements at degree granting institutions only. Not for
|
||||
* government, commercial, or other organizational use.
|
||||
*
|
||||
* Code generation for model "CANTest".
|
||||
*
|
||||
* Model version : 1.360
|
||||
* Simulink Coder version : 8.14 (R2018a) 06-Feb-2018
|
||||
* C source code generated on : Tue Jul 11 11:56:08 2023
|
||||
*
|
||||
* Target selection: slrt.tlc
|
||||
* Note: GRT includes extra infrastructure and instrumentation for prototyping
|
||||
* Embedded hardware selection: Generic->32-bit x86 compatible
|
||||
* Code generation objectives: Unspecified
|
||||
* Validation result: Not run
|
||||
*/
|
||||
|
||||
/*
|
||||
* Abstract:
|
||||
* Function to initialize non-finite, NaN
|
||||
*/
|
||||
#include "rtGetNaN.h"
|
||||
#define NumBitsPerChar 8U
|
||||
|
||||
/*
|
||||
* Initialize rtNaN needed by the generated code.
|
||||
* NaN is initialized as non-signaling. Assumes IEEE.
|
||||
*/
|
||||
real_T rtGetNaN(void)
|
||||
{
|
||||
size_t bitsPerReal = sizeof(real_T) * (NumBitsPerChar);
|
||||
real_T nan = 0.0;
|
||||
if (bitsPerReal == 32U) {
|
||||
nan = rtGetNaNF();
|
||||
} else {
|
||||
uint16_T one = 1U;
|
||||
enum {
|
||||
LittleEndian,
|
||||
BigEndian
|
||||
} machByteOrder = (*((uint8_T *) &one) == 1U) ? LittleEndian : BigEndian;
|
||||
switch (machByteOrder) {
|
||||
case LittleEndian:
|
||||
{
|
||||
union {
|
||||
LittleEndianIEEEDouble bitVal;
|
||||
real_T fltVal;
|
||||
} tmpVal;
|
||||
|
||||
tmpVal.bitVal.words.wordH = 0xFFF80000U;
|
||||
tmpVal.bitVal.words.wordL = 0x00000000U;
|
||||
nan = tmpVal.fltVal;
|
||||
break;
|
||||
}
|
||||
|
||||
case BigEndian:
|
||||
{
|
||||
union {
|
||||
BigEndianIEEEDouble bitVal;
|
||||
real_T fltVal;
|
||||
} tmpVal;
|
||||
|
||||
tmpVal.bitVal.words.wordH = 0x7FFFFFFFU;
|
||||
tmpVal.bitVal.words.wordL = 0xFFFFFFFFU;
|
||||
nan = tmpVal.fltVal;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return nan;
|
||||
}
|
||||
|
||||
/*
|
||||
* Initialize rtNaNF needed by the generated code.
|
||||
* NaN is initialized as non-signaling. Assumes IEEE.
|
||||
*/
|
||||
real32_T rtGetNaNF(void)
|
||||
{
|
||||
IEEESingle nanF = { { 0 } };
|
||||
|
||||
uint16_T one = 1U;
|
||||
enum {
|
||||
LittleEndian,
|
||||
BigEndian
|
||||
} machByteOrder = (*((uint8_T *) &one) == 1U) ? LittleEndian : BigEndian;
|
||||
switch (machByteOrder) {
|
||||
case LittleEndian:
|
||||
{
|
||||
nanF.wordL.wordLuint = 0xFFC00000U;
|
||||
break;
|
||||
}
|
||||
|
||||
case BigEndian:
|
||||
{
|
||||
nanF.wordL.wordLuint = 0x7FFFFFFFU;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return nanF.wordL.wordLreal;
|
||||
}
|
||||
30
ADM_Cruise_Control/CANTest_slrt_rtw/rtGetNaN.h
Normal file
30
ADM_Cruise_Control/CANTest_slrt_rtw/rtGetNaN.h
Normal file
@ -0,0 +1,30 @@
|
||||
/*
|
||||
* rtGetNaN.h
|
||||
*
|
||||
* Academic License - for use in teaching, academic research, and meeting
|
||||
* course requirements at degree granting institutions only. Not for
|
||||
* government, commercial, or other organizational use.
|
||||
*
|
||||
* Code generation for model "CANTest".
|
||||
*
|
||||
* Model version : 1.360
|
||||
* Simulink Coder version : 8.14 (R2018a) 06-Feb-2018
|
||||
* C source code generated on : Tue Jul 11 11:56:08 2023
|
||||
*
|
||||
* Target selection: slrt.tlc
|
||||
* Note: GRT includes extra infrastructure and instrumentation for prototyping
|
||||
* Embedded hardware selection: Generic->32-bit x86 compatible
|
||||
* Code generation objectives: Unspecified
|
||||
* Validation result: Not run
|
||||
*/
|
||||
|
||||
#ifndef RTW_HEADER_rtGetNaN_h_
|
||||
#define RTW_HEADER_rtGetNaN_h_
|
||||
#include <stddef.h>
|
||||
#include "rtwtypes.h"
|
||||
#include "rt_nonfinite.h"
|
||||
|
||||
extern real_T rtGetNaN(void);
|
||||
extern real32_T rtGetNaNF(void);
|
||||
|
||||
#endif /* RTW_HEADER_rtGetNaN_h_ */
|
||||
53
ADM_Cruise_Control/CANTest_slrt_rtw/rt_defines.h
Normal file
53
ADM_Cruise_Control/CANTest_slrt_rtw/rt_defines.h
Normal file
@ -0,0 +1,53 @@
|
||||
/*
|
||||
* rt_defines.h
|
||||
*
|
||||
* Academic License - for use in teaching, academic research, and meeting
|
||||
* course requirements at degree granting institutions only. Not for
|
||||
* government, commercial, or other organizational use.
|
||||
*
|
||||
* Code generation for model "CANTest".
|
||||
*
|
||||
* Model version : 1.360
|
||||
* Simulink Coder version : 8.14 (R2018a) 06-Feb-2018
|
||||
* C source code generated on : Tue Jul 11 11:56:08 2023
|
||||
*
|
||||
* Target selection: slrt.tlc
|
||||
* Note: GRT includes extra infrastructure and instrumentation for prototyping
|
||||
* Embedded hardware selection: Generic->32-bit x86 compatible
|
||||
* Code generation objectives: Unspecified
|
||||
* Validation result: Not run
|
||||
*/
|
||||
|
||||
#ifndef RTW_HEADER_rt_defines_h_
|
||||
#define RTW_HEADER_rt_defines_h_
|
||||
|
||||
/*===========*
|
||||
* Constants *
|
||||
*===========*/
|
||||
#define RT_PI 3.14159265358979323846
|
||||
#define RT_PIF 3.1415927F
|
||||
#define RT_LN_10 2.30258509299404568402
|
||||
#define RT_LN_10F 2.3025851F
|
||||
#define RT_LOG10E 0.43429448190325182765
|
||||
#define RT_LOG10EF 0.43429449F
|
||||
#define RT_E 2.7182818284590452354
|
||||
#define RT_EF 2.7182817F
|
||||
|
||||
/*
|
||||
* UNUSED_PARAMETER(x)
|
||||
* Used to specify that a function parameter (argument) is required but not
|
||||
* accessed by the function body.
|
||||
*/
|
||||
#ifndef UNUSED_PARAMETER
|
||||
# if defined(__LCC__)
|
||||
# define UNUSED_PARAMETER(x) /* do nothing */
|
||||
# else
|
||||
|
||||
/*
|
||||
* This is the semi-ANSI standard way of indicating that an
|
||||
* unused function parameter is required.
|
||||
*/
|
||||
# define UNUSED_PARAMETER(x) (void) (x)
|
||||
# endif
|
||||
#endif
|
||||
#endif /* RTW_HEADER_rt_defines_h_ */
|
||||
74
ADM_Cruise_Control/CANTest_slrt_rtw/rt_nonfinite.c
Normal file
74
ADM_Cruise_Control/CANTest_slrt_rtw/rt_nonfinite.c
Normal file
@ -0,0 +1,74 @@
|
||||
/*
|
||||
* rt_nonfinite.c
|
||||
*
|
||||
* Academic License - for use in teaching, academic research, and meeting
|
||||
* course requirements at degree granting institutions only. Not for
|
||||
* government, commercial, or other organizational use.
|
||||
*
|
||||
* Code generation for model "CANTest".
|
||||
*
|
||||
* Model version : 1.360
|
||||
* Simulink Coder version : 8.14 (R2018a) 06-Feb-2018
|
||||
* C source code generated on : Tue Jul 11 11:56:08 2023
|
||||
*
|
||||
* Target selection: slrt.tlc
|
||||
* Note: GRT includes extra infrastructure and instrumentation for prototyping
|
||||
* Embedded hardware selection: Generic->32-bit x86 compatible
|
||||
* Code generation objectives: Unspecified
|
||||
* Validation result: Not run
|
||||
*/
|
||||
|
||||
/*
|
||||
* Abstract:
|
||||
* Function to initialize non-finites,
|
||||
* (Inf, NaN and -Inf).
|
||||
*/
|
||||
#include "rt_nonfinite.h"
|
||||
#include "rtGetNaN.h"
|
||||
#include "rtGetInf.h"
|
||||
|
||||
real_T rtInf;
|
||||
real_T rtMinusInf;
|
||||
real_T rtNaN;
|
||||
real32_T rtInfF;
|
||||
real32_T rtMinusInfF;
|
||||
real32_T rtNaNF;
|
||||
|
||||
/*
|
||||
* Initialize the rtInf, rtMinusInf, and rtNaN needed by the
|
||||
* generated code. NaN is initialized as non-signaling. Assumes IEEE.
|
||||
*/
|
||||
void rt_InitInfAndNaN(size_t realSize)
|
||||
{
|
||||
(void) (realSize);
|
||||
rtNaN = rtGetNaN();
|
||||
rtNaNF = rtGetNaNF();
|
||||
rtInf = rtGetInf();
|
||||
rtInfF = rtGetInfF();
|
||||
rtMinusInf = rtGetMinusInf();
|
||||
rtMinusInfF = rtGetMinusInfF();
|
||||
}
|
||||
|
||||
/* Test if value is infinite */
|
||||
boolean_T rtIsInf(real_T value)
|
||||
{
|
||||
return (boolean_T)((value==rtInf || value==rtMinusInf) ? 1U : 0U);
|
||||
}
|
||||
|
||||
/* Test if single-precision value is infinite */
|
||||
boolean_T rtIsInfF(real32_T value)
|
||||
{
|
||||
return (boolean_T)(((value)==rtInfF || (value)==rtMinusInfF) ? 1U : 0U);
|
||||
}
|
||||
|
||||
/* Test if value is not a number */
|
||||
boolean_T rtIsNaN(real_T value)
|
||||
{
|
||||
return (boolean_T)((value!=value) ? 1U : 0U);
|
||||
}
|
||||
|
||||
/* Test if single-precision value is not a number */
|
||||
boolean_T rtIsNaNF(real32_T value)
|
||||
{
|
||||
return (boolean_T)(((value!=value) ? 1U : 0U));
|
||||
}
|
||||
58
ADM_Cruise_Control/CANTest_slrt_rtw/rt_nonfinite.h
Normal file
58
ADM_Cruise_Control/CANTest_slrt_rtw/rt_nonfinite.h
Normal file
@ -0,0 +1,58 @@
|
||||
/*
|
||||
* rt_nonfinite.h
|
||||
*
|
||||
* Academic License - for use in teaching, academic research, and meeting
|
||||
* course requirements at degree granting institutions only. Not for
|
||||
* government, commercial, or other organizational use.
|
||||
*
|
||||
* Code generation for model "CANTest".
|
||||
*
|
||||
* Model version : 1.360
|
||||
* Simulink Coder version : 8.14 (R2018a) 06-Feb-2018
|
||||
* C source code generated on : Tue Jul 11 11:56:08 2023
|
||||
*
|
||||
* Target selection: slrt.tlc
|
||||
* Note: GRT includes extra infrastructure and instrumentation for prototyping
|
||||
* Embedded hardware selection: Generic->32-bit x86 compatible
|
||||
* Code generation objectives: Unspecified
|
||||
* Validation result: Not run
|
||||
*/
|
||||
|
||||
#ifndef RTW_HEADER_rt_nonfinite_h_
|
||||
#define RTW_HEADER_rt_nonfinite_h_
|
||||
#include <stddef.h>
|
||||
#include "rtwtypes.h"
|
||||
|
||||
extern real_T rtInf;
|
||||
extern real_T rtMinusInf;
|
||||
extern real_T rtNaN;
|
||||
extern real32_T rtInfF;
|
||||
extern real32_T rtMinusInfF;
|
||||
extern real32_T rtNaNF;
|
||||
extern void rt_InitInfAndNaN(size_t realSize);
|
||||
extern boolean_T rtIsInf(real_T value);
|
||||
extern boolean_T rtIsInfF(real32_T value);
|
||||
extern boolean_T rtIsNaN(real_T value);
|
||||
extern boolean_T rtIsNaNF(real32_T value);
|
||||
typedef struct {
|
||||
struct {
|
||||
uint32_T wordH;
|
||||
uint32_T wordL;
|
||||
} words;
|
||||
} BigEndianIEEEDouble;
|
||||
|
||||
typedef struct {
|
||||
struct {
|
||||
uint32_T wordL;
|
||||
uint32_T wordH;
|
||||
} words;
|
||||
} LittleEndianIEEEDouble;
|
||||
|
||||
typedef struct {
|
||||
union {
|
||||
real32_T wordLreal;
|
||||
uint32_T wordLuint;
|
||||
} wordL;
|
||||
} IEEESingle;
|
||||
|
||||
#endif /* RTW_HEADER_rt_nonfinite_h_ */
|
||||
29
ADM_Cruise_Control/CANTest_slrt_rtw/rtmodel.h
Normal file
29
ADM_Cruise_Control/CANTest_slrt_rtw/rtmodel.h
Normal file
@ -0,0 +1,29 @@
|
||||
/*
|
||||
* rtmodel.h:
|
||||
*
|
||||
* Academic License - for use in teaching, academic research, and meeting
|
||||
* course requirements at degree granting institutions only. Not for
|
||||
* government, commercial, or other organizational use.
|
||||
*
|
||||
* Code generation for model "CANTest".
|
||||
*
|
||||
* Model version : 1.360
|
||||
* Simulink Coder version : 8.14 (R2018a) 06-Feb-2018
|
||||
* C source code generated on : Tue Jul 11 11:56:08 2023
|
||||
*
|
||||
* Target selection: slrt.tlc
|
||||
* Note: GRT includes extra infrastructure and instrumentation for prototyping
|
||||
* Embedded hardware selection: Generic->32-bit x86 compatible
|
||||
* Code generation objectives: Unspecified
|
||||
* Validation result: Not run
|
||||
*/
|
||||
|
||||
#ifndef RTW_HEADER_rtmodel_h_
|
||||
#define RTW_HEADER_rtmodel_h_
|
||||
|
||||
/*
|
||||
* Includes the appropriate headers when we are using rtModel
|
||||
*/
|
||||
#include "CANTest.h"
|
||||
#define GRTINTERFACE 1
|
||||
#endif /* RTW_HEADER_rtmodel_h_ */
|
||||
4
ADM_Cruise_Control/CANTest_slrt_rtw/rtw_proj.tmw
Normal file
4
ADM_Cruise_Control/CANTest_slrt_rtw/rtw_proj.tmw
Normal file
@ -0,0 +1,4 @@
|
||||
Simulink Coder project for CANTest using C:\Program Files\MATLAB\R2018a\toolbox\slrt\rtw\slrt_vc.tmf. MATLAB root = C:\Program Files\MATLAB\R2018a. SimStruct date: 06-2-2018 14:40:31
|
||||
This file is generated by Simulink Coder for use by the make utility
|
||||
to determine when to rebuild objects when the name of the current Simulink Coder project changes.
|
||||
The rtwinfomat located at: ..\slprj\slrt\CANTest\tmwinternal\binfo.mat
|
||||
79
ADM_Cruise_Control/CANTest_slrt_rtw/rtwtypes.h
Normal file
79
ADM_Cruise_Control/CANTest_slrt_rtw/rtwtypes.h
Normal file
@ -0,0 +1,79 @@
|
||||
/*
|
||||
* rtwtypes.h
|
||||
*
|
||||
* Academic License - for use in teaching, academic research, and meeting
|
||||
* course requirements at degree granting institutions only. Not for
|
||||
* government, commercial, or other organizational use.
|
||||
*
|
||||
* Code generation for model "CANTest".
|
||||
*
|
||||
* Model version : 1.360
|
||||
* Simulink Coder version : 8.14 (R2018a) 06-Feb-2018
|
||||
* C source code generated on : Tue Jul 11 11:56:08 2023
|
||||
*
|
||||
* Target selection: slrt.tlc
|
||||
* Note: GRT includes extra infrastructure and instrumentation for prototyping
|
||||
* Embedded hardware selection: Generic->32-bit x86 compatible
|
||||
* Code generation objectives: Unspecified
|
||||
* Validation result: Not run
|
||||
*/
|
||||
|
||||
#ifndef RTWTYPES_H
|
||||
#define RTWTYPES_H
|
||||
#include "tmwtypes.h"
|
||||
#include "simstruc_types.h"
|
||||
#ifndef POINTER_T
|
||||
# define POINTER_T
|
||||
|
||||
typedef void * pointer_T;
|
||||
|
||||
#endif
|
||||
|
||||
/* Logical type definitions */
|
||||
#if (!defined(__cplusplus))
|
||||
# ifndef false
|
||||
# define false (0U)
|
||||
# endif
|
||||
|
||||
# ifndef true
|
||||
# define true (1U)
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef INT64_T
|
||||
#define INT64_T
|
||||
|
||||
typedef long long int64_T;
|
||||
|
||||
#endif
|
||||
|
||||
#ifndef UINT64_T
|
||||
#define UINT64_T
|
||||
|
||||
typedef unsigned long long uint64_T;
|
||||
|
||||
#endif
|
||||
|
||||
/*===========================================================================*
|
||||
* Additional complex number type definitions *
|
||||
*===========================================================================*/
|
||||
#ifndef CINT64_T
|
||||
#define CINT64_T
|
||||
|
||||
typedef struct {
|
||||
int64_T re;
|
||||
int64_T im;
|
||||
} cint64_T;
|
||||
|
||||
#endif
|
||||
|
||||
#ifndef CUINT64_T
|
||||
#define CUINT64_T
|
||||
|
||||
typedef struct {
|
||||
uint64_T re;
|
||||
uint64_T im;
|
||||
} cuint64_T;
|
||||
|
||||
#endif
|
||||
#endif /* RTWTYPES_H */
|
||||
BIN
ADM_Cruise_Control/CANTest_slrt_rtw/rtwtypeschksum.mat
Normal file
BIN
ADM_Cruise_Control/CANTest_slrt_rtw/rtwtypeschksum.mat
Normal file
Binary file not shown.
BIN
ADM_Cruise_Control/CANTest_slrt_rtw/sdiStreamingClients.mat
Normal file
BIN
ADM_Cruise_Control/CANTest_slrt_rtw/sdiStreamingClients.mat
Normal file
Binary file not shown.
17
ADM_Cruise_Control/CANTest_slrt_rtw/slrt_task_info.m
Normal file
17
ADM_Cruise_Control/CANTest_slrt_rtw/slrt_task_info.m
Normal file
@ -0,0 +1,17 @@
|
||||
function [taskInfo, numtask, isDeploymentDiagram]=slrt_task_info()
|
||||
taskInfo(1).samplePeriod = 0.002;
|
||||
taskInfo(1).sampleOffset = 0.0;
|
||||
taskInfo(1).taskPrio = 9;
|
||||
taskInfo(1).taskName = 'BaseRate';
|
||||
taskInfo(1).entryPoints = {};
|
||||
numtask = 1;
|
||||
for i = 1:numtask
|
||||
if ( 0 == isnumeric(taskInfo(i).samplePeriod) )
|
||||
taskInfo(i).samplePeriod = evalin('base', taskInfo(i).samplePeriod);
|
||||
end
|
||||
if ( isempty(taskInfo(i).taskName) )
|
||||
taskInfo(i).taskName = ['AutoGen' i ];
|
||||
end
|
||||
end
|
||||
isDeploymentDiagram = 0;
|
||||
end
|
||||
BIN
ADM_Cruise_Control/CANTest_slrt_rtw/xcpext.mat
Normal file
BIN
ADM_Cruise_Control/CANTest_slrt_rtw/xcpext.mat
Normal file
Binary file not shown.
@ -0,0 +1,54 @@
|
||||
/*
|
||||
* File: xpc_code_profiling_utility_functions.c
|
||||
*
|
||||
* Code generated for instrumentation.
|
||||
*
|
||||
*/
|
||||
|
||||
#include "xpc_code_profiling_utility_functions.h"
|
||||
|
||||
/* Code instrumentation offset(s) for model */
|
||||
#define taskTimeStart__offset 0
|
||||
#define taskTimeEnd__offset 0
|
||||
|
||||
void xilUploadProfilingData(uint32_T sectionId)
|
||||
{
|
||||
xpceaddEvent(sectionId);
|
||||
}
|
||||
|
||||
/* For real-time, multitasking case this function is stubbed out. */
|
||||
void xilProfilingTimerFreeze(void)
|
||||
{
|
||||
}
|
||||
|
||||
/* For real-time, multitasking case this function is stubbed out. */
|
||||
void xilProfilingTimerUnFreeze(void)
|
||||
{
|
||||
}
|
||||
|
||||
void taskTimeStart(uint32_T sectionId)
|
||||
{
|
||||
/* Send execution profiling data to host */
|
||||
xilUploadProfilingData(sectionId);
|
||||
xilProfilingTimerUnFreeze();
|
||||
}
|
||||
|
||||
void taskTimeEnd(uint32_T sectionId)
|
||||
{
|
||||
uint32_T sectionIdNeg = ~sectionId;
|
||||
xilProfilingTimerFreeze();
|
||||
|
||||
/* Send execution profiling data to host */
|
||||
xilUploadProfilingData(sectionIdNeg);
|
||||
}
|
||||
|
||||
/* Code instrumentation method(s) for model */
|
||||
void taskTimeStart_(uint32_T sectionId)
|
||||
{
|
||||
taskTimeStart(taskTimeStart__offset + sectionId);
|
||||
}
|
||||
|
||||
void taskTimeEnd_(uint32_T sectionId)
|
||||
{
|
||||
taskTimeEnd(taskTimeEnd__offset + sectionId);
|
||||
}
|
||||
@ -0,0 +1,45 @@
|
||||
/*
|
||||
* File: xpc_code_profiling_utility_functions.h
|
||||
*
|
||||
* Code generated for instrumentation.
|
||||
*
|
||||
*/
|
||||
|
||||
/* Functions with a C call interface */
|
||||
#ifdef __cplusplus
|
||||
|
||||
extern "C" {
|
||||
|
||||
#endif
|
||||
|
||||
#include "xpctarget.h"
|
||||
#ifdef __cplusplus
|
||||
|
||||
}
|
||||
#endif
|
||||
|
||||
#include "rtwtypes.h"
|
||||
|
||||
/* Upload code instrumentation data point */
|
||||
void xpceuploadevent(
|
||||
void* pData, uint32_T numMemUnits, uint32_T sectionId);
|
||||
|
||||
/* Called before starting a profiled section of code */
|
||||
void taskTimeStart(uint32_T);
|
||||
|
||||
/* Called on finishing a profiled section of code */
|
||||
void taskTimeEnd(uint32_T);
|
||||
|
||||
/* Uploads data */
|
||||
void xilUploadProfilingData(uint32_T sectionId);
|
||||
|
||||
/* Pause the timer while running code associated with storing
|
||||
* and uploading the data. */
|
||||
void xilProfilingTimerFreeze(void);
|
||||
|
||||
/* Restart the timer after a pause */
|
||||
void xilProfilingTimerUnFreeze(void);
|
||||
|
||||
/* Code instrumentation method(s) for model */
|
||||
void taskTimeStart_(uint32_T sectionId);
|
||||
void taskTimeEnd_(uint32_T sectionId);
|
||||
@ -0,0 +1,9 @@
|
||||
#include "xpcdatatypes.h"
|
||||
|
||||
const serialfifoptr serialfifoground = { 0, 0, 0 };
|
||||
|
||||
const bcmsglist1553 bcmsg1553ground = { 0, 0, 0, 0 };
|
||||
|
||||
const bcstatus1553 bcstatground = { 0, 0, 0, 0, 0, 0 };
|
||||
|
||||
const bmmsglist1553 bmmsg1553ground = { 0, 0, 0, 0 };
|
||||
54
ADM_Cruise_Control/CANTest_slrt_rtw/xpcoptions.h
Normal file
54
ADM_Cruise_Control/CANTest_slrt_rtw/xpcoptions.h
Normal file
@ -0,0 +1,54 @@
|
||||
#ifndef __CANTest_XPCOPTIONS_H___
|
||||
#define __CANTest_XPCOPTIONS_H___
|
||||
#include "simstruc_types.h"
|
||||
#ifndef MT
|
||||
#define MT 0 /* MT may be undefined by simstruc_types.h */
|
||||
#endif
|
||||
|
||||
#include "CANTest.h"
|
||||
#define XPCMDSSUPPORT 0
|
||||
#define MDSTASKSNUM 0
|
||||
#define FULLMULTITHREAD 1
|
||||
#define SIZEOF_PARAMS (-1 * (int)sizeof(P_CANTest_T))
|
||||
#define SIMMODE 0
|
||||
#define LOGTET 0
|
||||
#define LOGBUFSIZE 100000
|
||||
#define PROFILINGFLAG 1
|
||||
#define EVENTNUMBER 5000
|
||||
#define IRQ_NO 0
|
||||
#define IO_IRQ 0
|
||||
#define WWW_ACCESS_LEVEL 0
|
||||
#define CPUCLOCK 0
|
||||
#define MAXOVERLOAD 0
|
||||
#define MAXOVERLOADLEN 0
|
||||
#define XPCMODELSTACKSIZEKB 2048
|
||||
#define XPCSTARTUPFLAG 1
|
||||
#define PTLOADPARAMFLAG 0
|
||||
#define DOUBLEBUFFERING 0
|
||||
#define SLRTFTZOFFFLAG 0
|
||||
|
||||
/* Change all stepsize using the newBaseRateStepSize */
|
||||
void CANTest_ChangeStepSize(real_T newBaseRateStepSize, RT_MODEL_CANTest_T *
|
||||
const CANTest_M)
|
||||
{
|
||||
real_T ratio = newBaseRateStepSize / 0.002;
|
||||
|
||||
/* update non-zore stepsize of periodic
|
||||
* sample time. Stepsize of asynchronous
|
||||
* sample time is not changed in this function */
|
||||
CANTest_M->Timing.stepSize0 = CANTest_M->Timing.stepSize0 * ratio;
|
||||
CANTest_M->Timing.stepSize = CANTest_M->Timing.stepSize * ratio;
|
||||
}
|
||||
|
||||
void XPCCALLCONV changeStepSize(real_T stepSize)
|
||||
{
|
||||
/* Change all stepsize using the newBaseRateStepSize */
|
||||
CANTest_ChangeStepSize(stepSize, CANTest_M);
|
||||
}
|
||||
|
||||
void XPCCALLCONV SLRTSetErrorStatus(const char * errMsg)
|
||||
{
|
||||
rtmSetErrorStatus(CANTest_M, errMsg);
|
||||
}
|
||||
|
||||
#endif /* __CANTest_XPCOPTIONS_H___ */
|
||||
10
ADM_Cruise_Control/CANTest_slrt_rtw/xpcvcdll.def
Normal file
10
ADM_Cruise_Control/CANTest_slrt_rtw/xpcvcdll.def
Normal file
@ -0,0 +1,10 @@
|
||||
EXPORTS
|
||||
MdlStart
|
||||
MdlTerminate
|
||||
MdlOutputs
|
||||
MdlUpdate
|
||||
getrlmdlinfo
|
||||
getDLMVersion
|
||||
SLRT_update_TET
|
||||
|
||||
|
||||
48
ADM_Cruise_Control/CANTest_slrt_rtw/zero_crossing_types.h
Normal file
48
ADM_Cruise_Control/CANTest_slrt_rtw/zero_crossing_types.h
Normal file
@ -0,0 +1,48 @@
|
||||
/*
|
||||
* zero_crossing_types.h
|
||||
*
|
||||
* Academic License - for use in teaching, academic research, and meeting
|
||||
* course requirements at degree granting institutions only. Not for
|
||||
* government, commercial, or other organizational use.
|
||||
*
|
||||
* Code generation for model "CANTest".
|
||||
*
|
||||
* Model version : 1.360
|
||||
* Simulink Coder version : 8.14 (R2018a) 06-Feb-2018
|
||||
* C source code generated on : Tue Jul 11 11:56:08 2023
|
||||
*
|
||||
* Target selection: slrt.tlc
|
||||
* Note: GRT includes extra infrastructure and instrumentation for prototyping
|
||||
* Embedded hardware selection: Generic->32-bit x86 compatible
|
||||
* Code generation objectives: Unspecified
|
||||
* Validation result: Not run
|
||||
*/
|
||||
|
||||
#ifndef ZERO_CROSSING_TYPES_H
|
||||
#define ZERO_CROSSING_TYPES_H
|
||||
#include "rtwtypes.h"
|
||||
|
||||
/* Trigger directions: falling, either, and rising */
|
||||
typedef enum {
|
||||
FALLING_ZERO_CROSSING = -1,
|
||||
ANY_ZERO_CROSSING = 0,
|
||||
RISING_ZERO_CROSSING = 1
|
||||
} ZCDirection;
|
||||
|
||||
/* Previous state of a trigger signal */
|
||||
typedef uint8_T ZCSigState;
|
||||
|
||||
/* Initial value of a trigger zero crossing signal */
|
||||
#define UNINITIALIZED_ZCSIG 0x03U
|
||||
#define NEG_ZCSIG 0x02U
|
||||
#define POS_ZCSIG 0x01U
|
||||
#define ZERO_ZCSIG 0x00U
|
||||
|
||||
/* Current state of a trigger signal */
|
||||
typedef enum {
|
||||
FALLING_ZCEVENT = -1,
|
||||
NO_ZCEVENT = 0,
|
||||
RISING_ZCEVENT = 1
|
||||
} ZCEventType;
|
||||
|
||||
#endif /* ZERO_CROSSING_TYPES_H */
|
||||
236
ADM_Cruise_Control/CANTestbio.m
Normal file
236
ADM_Cruise_Control/CANTestbio.m
Normal file
@ -0,0 +1,236 @@
|
||||
function bio=CANTestbio
|
||||
bio = [];
|
||||
bio(1).blkName='DAQ_In/CAN Read1/p1';
|
||||
bio(1).sigName='';
|
||||
bio(1).portIdx=0;
|
||||
bio(1).dim=[1,1];
|
||||
bio(1).sigWidth=1;
|
||||
bio(1).sigAddress='&CANTest_B.CANRead1_o1';
|
||||
bio(1).ndims=2;
|
||||
bio(1).size=[];
|
||||
bio(1).isStruct=false;
|
||||
bio(getlenBIO) = bio(1);
|
||||
|
||||
bio(2).blkName='DAQ_In/CAN Read1/p2';
|
||||
bio(2).sigName='';
|
||||
bio(2).portIdx=1;
|
||||
bio(2).dim=[1,1];
|
||||
bio(2).sigWidth=1;
|
||||
bio(2).sigAddress='&CANTest_B.CANRead1_o2';
|
||||
bio(2).ndims=2;
|
||||
bio(2).size=[];
|
||||
bio(2).isStruct=false;
|
||||
|
||||
bio(3).blkName='DAQ_In/CAN Unpack2/p1';
|
||||
bio(3).sigName='RPM';
|
||||
bio(3).portIdx=0;
|
||||
bio(3).dim=[1,1];
|
||||
bio(3).sigWidth=1;
|
||||
bio(3).sigAddress='&CANTest_B.RPM';
|
||||
bio(3).ndims=2;
|
||||
bio(3).size=[];
|
||||
bio(3).isStruct=false;
|
||||
|
||||
bio(4).blkName='DAQ_In/CAN Unpack2/p2';
|
||||
bio(4).sigName='TQ';
|
||||
bio(4).portIdx=1;
|
||||
bio(4).dim=[1,1];
|
||||
bio(4).sigWidth=1;
|
||||
bio(4).sigAddress='&CANTest_B.TQ';
|
||||
bio(4).ndims=2;
|
||||
bio(4).size=[];
|
||||
bio(4).isStruct=false;
|
||||
|
||||
bio(5).blkName='Mon_Cont/ContM';
|
||||
bio(5).sigName='ContMode';
|
||||
bio(5).portIdx=0;
|
||||
bio(5).dim=[1,1];
|
||||
bio(5).sigWidth=1;
|
||||
bio(5).sigAddress='&CANTest_B.ContMode';
|
||||
bio(5).ndims=2;
|
||||
bio(5).size=[];
|
||||
bio(5).isStruct=false;
|
||||
|
||||
bio(6).blkName='DAQ_Out/CANBoard/Constant';
|
||||
bio(6).sigName='Ready';
|
||||
bio(6).portIdx=0;
|
||||
bio(6).dim=[1,1];
|
||||
bio(6).sigWidth=1;
|
||||
bio(6).sigAddress='&CANTest_B.Ready';
|
||||
bio(6).ndims=2;
|
||||
bio(6).size=[];
|
||||
bio(6).isStruct=false;
|
||||
|
||||
bio(7).blkName='DAQ_Out/CANBoard/Constant1';
|
||||
bio(7).sigName='Gear';
|
||||
bio(7).portIdx=0;
|
||||
bio(7).dim=[1,1];
|
||||
bio(7).sigWidth=1;
|
||||
bio(7).sigAddress='&CANTest_B.Gear';
|
||||
bio(7).ndims=2;
|
||||
bio(7).size=[];
|
||||
bio(7).isStruct=false;
|
||||
|
||||
bio(8).blkName='DAQ_Out/CANBoard/Constant2';
|
||||
bio(8).sigName='BMS';
|
||||
bio(8).portIdx=0;
|
||||
bio(8).dim=[1,1];
|
||||
bio(8).sigWidth=1;
|
||||
bio(8).sigAddress='&CANTest_B.BMS';
|
||||
bio(8).ndims=2;
|
||||
bio(8).size=[];
|
||||
bio(8).isStruct=false;
|
||||
|
||||
bio(9).blkName='DAQ_Out/CANBoard/Constant3';
|
||||
bio(9).sigName='PosTQLim';
|
||||
bio(9).portIdx=0;
|
||||
bio(9).dim=[1,1];
|
||||
bio(9).sigWidth=1;
|
||||
bio(9).sigAddress='&CANTest_B.PosTQLim';
|
||||
bio(9).ndims=2;
|
||||
bio(9).size=[];
|
||||
bio(9).isStruct=false;
|
||||
|
||||
bio(10).blkName='DAQ_Out/CANBoard/Constant4';
|
||||
bio(10).sigName='NegTQLim';
|
||||
bio(10).portIdx=0;
|
||||
bio(10).dim=[1,1];
|
||||
bio(10).sigWidth=1;
|
||||
bio(10).sigAddress='&CANTest_B.NegTQLim';
|
||||
bio(10).ndims=2;
|
||||
bio(10).size=[];
|
||||
bio(10).isStruct=false;
|
||||
|
||||
bio(11).blkName='DAQ_Out/CANBoard/CAN Pack';
|
||||
bio(11).sigName='';
|
||||
bio(11).portIdx=0;
|
||||
bio(11).dim=[1,1];
|
||||
bio(11).sigWidth=1;
|
||||
bio(11).sigAddress='&CANTest_B.CANPack';
|
||||
bio(11).ndims=2;
|
||||
bio(11).size=[];
|
||||
bio(11).isStruct=false;
|
||||
|
||||
bio(12).blkName='Mon_Cont/LPFM/gain';
|
||||
bio(12).sigName='';
|
||||
bio(12).portIdx=0;
|
||||
bio(12).dim=[1,1];
|
||||
bio(12).sigWidth=1;
|
||||
bio(12).sigAddress='&CANTest_B.gain';
|
||||
bio(12).ndims=2;
|
||||
bio(12).size=[];
|
||||
bio(12).isStruct=false;
|
||||
|
||||
bio(13).blkName='Mon_Cont/LPFM/gain1';
|
||||
bio(13).sigName='';
|
||||
bio(13).portIdx=0;
|
||||
bio(13).dim=[1,1];
|
||||
bio(13).sigWidth=1;
|
||||
bio(13).sigAddress='&CANTest_B.gain1';
|
||||
bio(13).ndims=2;
|
||||
bio(13).size=[];
|
||||
bio(13).isStruct=false;
|
||||
|
||||
bio(14).blkName='Mon_Cont/LPFM/gain2';
|
||||
bio(14).sigName='';
|
||||
bio(14).portIdx=0;
|
||||
bio(14).dim=[1,1];
|
||||
bio(14).sigWidth=1;
|
||||
bio(14).sigAddress='&CANTest_B.gain2';
|
||||
bio(14).ndims=2;
|
||||
bio(14).size=[];
|
||||
bio(14).isStruct=false;
|
||||
|
||||
bio(15).blkName='Mon_Cont/LPFM/Product1';
|
||||
bio(15).sigName='';
|
||||
bio(15).portIdx=0;
|
||||
bio(15).dim=[1,1];
|
||||
bio(15).sigWidth=1;
|
||||
bio(15).sigAddress='&CANTest_B.Product1';
|
||||
bio(15).ndims=2;
|
||||
bio(15).size=[];
|
||||
bio(15).isStruct=false;
|
||||
|
||||
bio(16).blkName='Mon_Cont/LPFM/Product11';
|
||||
bio(16).sigName='';
|
||||
bio(16).portIdx=0;
|
||||
bio(16).dim=[1,1];
|
||||
bio(16).sigWidth=1;
|
||||
bio(16).sigAddress='&CANTest_B.Product11';
|
||||
bio(16).ndims=2;
|
||||
bio(16).size=[];
|
||||
bio(16).isStruct=false;
|
||||
|
||||
bio(17).blkName='Mon_Cont/LPFM/Product2';
|
||||
bio(17).sigName='';
|
||||
bio(17).portIdx=0;
|
||||
bio(17).dim=[1,1];
|
||||
bio(17).sigWidth=1;
|
||||
bio(17).sigAddress='&CANTest_B.Product2';
|
||||
bio(17).ndims=2;
|
||||
bio(17).size=[];
|
||||
bio(17).isStruct=false;
|
||||
|
||||
bio(18).blkName='Mon_Cont/LPFM/Sum1';
|
||||
bio(18).sigName='';
|
||||
bio(18).portIdx=0;
|
||||
bio(18).dim=[1,1];
|
||||
bio(18).sigWidth=1;
|
||||
bio(18).sigAddress='&CANTest_B.Sum1';
|
||||
bio(18).ndims=2;
|
||||
bio(18).size=[];
|
||||
bio(18).isStruct=false;
|
||||
|
||||
bio(19).blkName='Mon_Cont/LPFM/Sum2';
|
||||
bio(19).sigName='';
|
||||
bio(19).portIdx=0;
|
||||
bio(19).dim=[1,1];
|
||||
bio(19).sigWidth=1;
|
||||
bio(19).sigAddress='&CANTest_B.Sum2';
|
||||
bio(19).ndims=2;
|
||||
bio(19).size=[];
|
||||
bio(19).isStruct=false;
|
||||
|
||||
bio(20).blkName='Mon_Cont/LPFM/Sum3';
|
||||
bio(20).sigName='';
|
||||
bio(20).portIdx=0;
|
||||
bio(20).dim=[1,1];
|
||||
bio(20).sigWidth=1;
|
||||
bio(20).sigAddress='&CANTest_B.Sum3';
|
||||
bio(20).ndims=2;
|
||||
bio(20).size=[];
|
||||
bio(20).isStruct=false;
|
||||
|
||||
bio(21).blkName='Mon_Cont/LPFM/Sum4';
|
||||
bio(21).sigName='';
|
||||
bio(21).portIdx=0;
|
||||
bio(21).dim=[1,1];
|
||||
bio(21).sigWidth=1;
|
||||
bio(21).sigAddress='&CANTest_B.Sum4';
|
||||
bio(21).ndims=2;
|
||||
bio(21).size=[];
|
||||
bio(21).isStruct=false;
|
||||
|
||||
bio(22).blkName='Mon_Cont/LPFM/d';
|
||||
bio(22).sigName='';
|
||||
bio(22).portIdx=0;
|
||||
bio(22).dim=[1,1];
|
||||
bio(22).sigWidth=1;
|
||||
bio(22).sigAddress='&CANTest_B.d';
|
||||
bio(22).ndims=2;
|
||||
bio(22).size=[];
|
||||
bio(22).isStruct=false;
|
||||
|
||||
bio(23).blkName='Mon_Cont/LPFM/d1';
|
||||
bio(23).sigName='';
|
||||
bio(23).portIdx=0;
|
||||
bio(23).dim=[1,1];
|
||||
bio(23).sigWidth=1;
|
||||
bio(23).sigAddress='&CANTest_B.d1';
|
||||
bio(23).ndims=2;
|
||||
bio(23).size=[];
|
||||
bio(23).isStruct=false;
|
||||
|
||||
function len = getlenBIO
|
||||
len = 23;
|
||||
|
||||
838
ADM_Cruise_Control/CANTestpt.m
Normal file
838
ADM_Cruise_Control/CANTestpt.m
Normal file
@ -0,0 +1,838 @@
|
||||
function pt=CANTestpt
|
||||
pt = [];
|
||||
|
||||
|
||||
pt(1).blockname = 'DAQ_In/CAN Read1';
|
||||
pt(1).paramname = 'P1';
|
||||
pt(1).class = 'scalar';
|
||||
pt(1).nrows = 1;
|
||||
pt(1).ncols = 1;
|
||||
pt(1).subsource = 'SS_DOUBLE';
|
||||
pt(1).ndims = '2';
|
||||
pt(1).size = '[]';
|
||||
pt(1).isStruct = false;
|
||||
pt(1).symbol = 'CANTest_P.CANRead1_P1';
|
||||
pt(1).baseaddr = '&CANTest_P.CANRead1_P1';
|
||||
pt(1).dtname = 'real_T';
|
||||
|
||||
pt(getlenPT) = pt(1);
|
||||
|
||||
|
||||
|
||||
pt(2).blockname = 'DAQ_In/CAN Read1';
|
||||
pt(2).paramname = 'P2';
|
||||
pt(2).class = 'scalar';
|
||||
pt(2).nrows = 1;
|
||||
pt(2).ncols = 1;
|
||||
pt(2).subsource = 'SS_DOUBLE';
|
||||
pt(2).ndims = '2';
|
||||
pt(2).size = '[]';
|
||||
pt(2).isStruct = false;
|
||||
pt(2).symbol = 'CANTest_P.CANRead1_P2';
|
||||
pt(2).baseaddr = '&CANTest_P.CANRead1_P2';
|
||||
pt(2).dtname = 'real_T';
|
||||
|
||||
|
||||
|
||||
|
||||
pt(3).blockname = 'DAQ_In/CAN Read1';
|
||||
pt(3).paramname = 'P3';
|
||||
pt(3).class = 'scalar';
|
||||
pt(3).nrows = 1;
|
||||
pt(3).ncols = 1;
|
||||
pt(3).subsource = 'SS_DOUBLE';
|
||||
pt(3).ndims = '2';
|
||||
pt(3).size = '[]';
|
||||
pt(3).isStruct = false;
|
||||
pt(3).symbol = 'CANTest_P.CANRead1_P3';
|
||||
pt(3).baseaddr = '&CANTest_P.CANRead1_P3';
|
||||
pt(3).dtname = 'real_T';
|
||||
|
||||
|
||||
|
||||
|
||||
pt(4).blockname = 'DAQ_In/CAN Read1';
|
||||
pt(4).paramname = 'P4';
|
||||
pt(4).class = 'vector';
|
||||
pt(4).nrows = 1;
|
||||
pt(4).ncols = 5;
|
||||
pt(4).subsource = 'SS_DOUBLE';
|
||||
pt(4).ndims = '2';
|
||||
pt(4).size = '[]';
|
||||
pt(4).isStruct = false;
|
||||
pt(4).symbol = 'CANTest_P.CANRead1_P4';
|
||||
pt(4).baseaddr = '&CANTest_P.CANRead1_P4[0]';
|
||||
pt(4).dtname = 'real_T';
|
||||
|
||||
|
||||
|
||||
|
||||
pt(5).blockname = 'DAQ_In/CAN Read1';
|
||||
pt(5).paramname = 'P5';
|
||||
pt(5).class = 'scalar';
|
||||
pt(5).nrows = 1;
|
||||
pt(5).ncols = 1;
|
||||
pt(5).subsource = 'SS_DOUBLE';
|
||||
pt(5).ndims = '2';
|
||||
pt(5).size = '[]';
|
||||
pt(5).isStruct = false;
|
||||
pt(5).symbol = 'CANTest_P.CANRead1_P5';
|
||||
pt(5).baseaddr = '&CANTest_P.CANRead1_P5';
|
||||
pt(5).dtname = 'real_T';
|
||||
|
||||
|
||||
|
||||
|
||||
pt(6).blockname = 'DAQ_In/CAN Read1';
|
||||
pt(6).paramname = 'P6';
|
||||
pt(6).class = 'scalar';
|
||||
pt(6).nrows = 1;
|
||||
pt(6).ncols = 1;
|
||||
pt(6).subsource = 'SS_DOUBLE';
|
||||
pt(6).ndims = '2';
|
||||
pt(6).size = '[]';
|
||||
pt(6).isStruct = false;
|
||||
pt(6).symbol = 'CANTest_P.CANRead1_P6';
|
||||
pt(6).baseaddr = '&CANTest_P.CANRead1_P6';
|
||||
pt(6).dtname = 'real_T';
|
||||
|
||||
|
||||
|
||||
|
||||
pt(7).blockname = 'DAQ_In/CAN Setup';
|
||||
pt(7).paramname = 'P1';
|
||||
pt(7).class = 'scalar';
|
||||
pt(7).nrows = 1;
|
||||
pt(7).ncols = 1;
|
||||
pt(7).subsource = 'SS_DOUBLE';
|
||||
pt(7).ndims = '2';
|
||||
pt(7).size = '[]';
|
||||
pt(7).isStruct = false;
|
||||
pt(7).symbol = 'CANTest_P.CANSetup_P1';
|
||||
pt(7).baseaddr = '&CANTest_P.CANSetup_P1';
|
||||
pt(7).dtname = 'real_T';
|
||||
|
||||
|
||||
|
||||
|
||||
pt(8).blockname = 'DAQ_In/CAN Setup';
|
||||
pt(8).paramname = 'P2';
|
||||
pt(8).class = 'vector';
|
||||
pt(8).nrows = 1;
|
||||
pt(8).ncols = 2;
|
||||
pt(8).subsource = 'SS_DOUBLE';
|
||||
pt(8).ndims = '2';
|
||||
pt(8).size = '[]';
|
||||
pt(8).isStruct = false;
|
||||
pt(8).symbol = 'CANTest_P.CANSetup_P2';
|
||||
pt(8).baseaddr = '&CANTest_P.CANSetup_P2[0]';
|
||||
pt(8).dtname = 'real_T';
|
||||
|
||||
|
||||
|
||||
|
||||
pt(9).blockname = 'DAQ_In/CAN Setup';
|
||||
pt(9).paramname = 'P3';
|
||||
pt(9).class = 'scalar';
|
||||
pt(9).nrows = 1;
|
||||
pt(9).ncols = 1;
|
||||
pt(9).subsource = 'SS_DOUBLE';
|
||||
pt(9).ndims = '2';
|
||||
pt(9).size = '[]';
|
||||
pt(9).isStruct = false;
|
||||
pt(9).symbol = 'CANTest_P.CANSetup_P3';
|
||||
pt(9).baseaddr = '&CANTest_P.CANSetup_P3';
|
||||
pt(9).dtname = 'real_T';
|
||||
|
||||
|
||||
|
||||
|
||||
pt(10).blockname = 'DAQ_In/CAN Setup';
|
||||
pt(10).paramname = 'P4';
|
||||
pt(10).class = 'scalar';
|
||||
pt(10).nrows = 1;
|
||||
pt(10).ncols = 1;
|
||||
pt(10).subsource = 'SS_DOUBLE';
|
||||
pt(10).ndims = '2';
|
||||
pt(10).size = '[]';
|
||||
pt(10).isStruct = false;
|
||||
pt(10).symbol = 'CANTest_P.CANSetup_P4';
|
||||
pt(10).baseaddr = '&CANTest_P.CANSetup_P4';
|
||||
pt(10).dtname = 'real_T';
|
||||
|
||||
|
||||
|
||||
|
||||
pt(11).blockname = 'DAQ_In/CAN Setup';
|
||||
pt(11).paramname = 'P5';
|
||||
pt(11).class = 'scalar';
|
||||
pt(11).nrows = 1;
|
||||
pt(11).ncols = 1;
|
||||
pt(11).subsource = 'SS_DOUBLE';
|
||||
pt(11).ndims = '2';
|
||||
pt(11).size = '[]';
|
||||
pt(11).isStruct = false;
|
||||
pt(11).symbol = 'CANTest_P.CANSetup_P5';
|
||||
pt(11).baseaddr = '&CANTest_P.CANSetup_P5';
|
||||
pt(11).dtname = 'real_T';
|
||||
|
||||
|
||||
|
||||
|
||||
pt(12).blockname = 'DAQ_In/CAN Setup';
|
||||
pt(12).paramname = 'P6';
|
||||
pt(12).class = 'scalar';
|
||||
pt(12).nrows = 1;
|
||||
pt(12).ncols = 1;
|
||||
pt(12).subsource = 'SS_DOUBLE';
|
||||
pt(12).ndims = '2';
|
||||
pt(12).size = '[]';
|
||||
pt(12).isStruct = false;
|
||||
pt(12).symbol = 'CANTest_P.CANSetup_P6';
|
||||
pt(12).baseaddr = '&CANTest_P.CANSetup_P6';
|
||||
pt(12).dtname = 'real_T';
|
||||
|
||||
|
||||
|
||||
|
||||
pt(13).blockname = 'DAQ_In/CAN Setup';
|
||||
pt(13).paramname = 'P7';
|
||||
pt(13).class = 'vector';
|
||||
pt(13).nrows = 1;
|
||||
pt(13).ncols = 4;
|
||||
pt(13).subsource = 'SS_DOUBLE';
|
||||
pt(13).ndims = '2';
|
||||
pt(13).size = '[]';
|
||||
pt(13).isStruct = false;
|
||||
pt(13).symbol = 'CANTest_P.CANSetup_P7';
|
||||
pt(13).baseaddr = '&CANTest_P.CANSetup_P7[0]';
|
||||
pt(13).dtname = 'real_T';
|
||||
|
||||
|
||||
|
||||
|
||||
pt(14).blockname = 'DAQ_In/CAN Setup';
|
||||
pt(14).paramname = 'P8';
|
||||
pt(14).class = 'vector';
|
||||
pt(14).nrows = 1;
|
||||
pt(14).ncols = 6;
|
||||
pt(14).subsource = 'SS_DOUBLE';
|
||||
pt(14).ndims = '2';
|
||||
pt(14).size = '[]';
|
||||
pt(14).isStruct = false;
|
||||
pt(14).symbol = 'CANTest_P.CANSetup_P8';
|
||||
pt(14).baseaddr = '&CANTest_P.CANSetup_P8[0]';
|
||||
pt(14).dtname = 'real_T';
|
||||
|
||||
|
||||
|
||||
|
||||
pt(15).blockname = 'DAQ_In/CAN Setup';
|
||||
pt(15).paramname = 'P9';
|
||||
pt(15).class = 'vector';
|
||||
pt(15).nrows = 1;
|
||||
pt(15).ncols = 2;
|
||||
pt(15).subsource = 'SS_DOUBLE';
|
||||
pt(15).ndims = '2';
|
||||
pt(15).size = '[]';
|
||||
pt(15).isStruct = false;
|
||||
pt(15).symbol = 'CANTest_P.CANSetup_P9';
|
||||
pt(15).baseaddr = '&CANTest_P.CANSetup_P9[0]';
|
||||
pt(15).dtname = 'real_T';
|
||||
|
||||
|
||||
|
||||
|
||||
pt(16).blockname = 'DAQ_In/CAN Setup';
|
||||
pt(16).paramname = 'P10';
|
||||
pt(16).class = 'vector';
|
||||
pt(16).nrows = 1;
|
||||
pt(16).ncols = 2;
|
||||
pt(16).subsource = 'SS_DOUBLE';
|
||||
pt(16).ndims = '2';
|
||||
pt(16).size = '[]';
|
||||
pt(16).isStruct = false;
|
||||
pt(16).symbol = 'CANTest_P.CANSetup_P10';
|
||||
pt(16).baseaddr = '&CANTest_P.CANSetup_P10[0]';
|
||||
pt(16).dtname = 'real_T';
|
||||
|
||||
|
||||
|
||||
|
||||
pt(17).blockname = 'DAQ_In/CAN Setup';
|
||||
pt(17).paramname = 'P11';
|
||||
pt(17).class = 'scalar';
|
||||
pt(17).nrows = 1;
|
||||
pt(17).ncols = 1;
|
||||
pt(17).subsource = 'SS_DOUBLE';
|
||||
pt(17).ndims = '2';
|
||||
pt(17).size = '[]';
|
||||
pt(17).isStruct = false;
|
||||
pt(17).symbol = 'CANTest_P.CANSetup_P11';
|
||||
pt(17).baseaddr = '&CANTest_P.CANSetup_P11';
|
||||
pt(17).dtname = 'real_T';
|
||||
|
||||
|
||||
|
||||
|
||||
pt(18).blockname = 'DAQ_In/CAN Setup';
|
||||
pt(18).paramname = 'P12';
|
||||
pt(18).class = 'vector';
|
||||
pt(18).nrows = 1;
|
||||
pt(18).ncols = 4;
|
||||
pt(18).subsource = 'SS_DOUBLE';
|
||||
pt(18).ndims = '2';
|
||||
pt(18).size = '[]';
|
||||
pt(18).isStruct = false;
|
||||
pt(18).symbol = 'CANTest_P.CANSetup_P12';
|
||||
pt(18).baseaddr = '&CANTest_P.CANSetup_P12[0]';
|
||||
pt(18).dtname = 'real_T';
|
||||
|
||||
|
||||
|
||||
|
||||
pt(19).blockname = 'DAQ_In/CAN Setup';
|
||||
pt(19).paramname = 'P13';
|
||||
pt(19).class = 'vector';
|
||||
pt(19).nrows = 1;
|
||||
pt(19).ncols = 6;
|
||||
pt(19).subsource = 'SS_DOUBLE';
|
||||
pt(19).ndims = '2';
|
||||
pt(19).size = '[]';
|
||||
pt(19).isStruct = false;
|
||||
pt(19).symbol = 'CANTest_P.CANSetup_P13';
|
||||
pt(19).baseaddr = '&CANTest_P.CANSetup_P13[0]';
|
||||
pt(19).dtname = 'real_T';
|
||||
|
||||
|
||||
|
||||
|
||||
pt(20).blockname = 'DAQ_In/CAN Setup';
|
||||
pt(20).paramname = 'P14';
|
||||
pt(20).class = 'vector';
|
||||
pt(20).nrows = 1;
|
||||
pt(20).ncols = 2;
|
||||
pt(20).subsource = 'SS_DOUBLE';
|
||||
pt(20).ndims = '2';
|
||||
pt(20).size = '[]';
|
||||
pt(20).isStruct = false;
|
||||
pt(20).symbol = 'CANTest_P.CANSetup_P14';
|
||||
pt(20).baseaddr = '&CANTest_P.CANSetup_P14[0]';
|
||||
pt(20).dtname = 'real_T';
|
||||
|
||||
|
||||
|
||||
|
||||
pt(21).blockname = 'DAQ_In/CAN Setup';
|
||||
pt(21).paramname = 'P15';
|
||||
pt(21).class = 'vector';
|
||||
pt(21).nrows = 1;
|
||||
pt(21).ncols = 2;
|
||||
pt(21).subsource = 'SS_DOUBLE';
|
||||
pt(21).ndims = '2';
|
||||
pt(21).size = '[]';
|
||||
pt(21).isStruct = false;
|
||||
pt(21).symbol = 'CANTest_P.CANSetup_P15';
|
||||
pt(21).baseaddr = '&CANTest_P.CANSetup_P15[0]';
|
||||
pt(21).dtname = 'real_T';
|
||||
|
||||
|
||||
|
||||
|
||||
pt(22).blockname = 'DAQ_In/CAN Setup';
|
||||
pt(22).paramname = 'P16';
|
||||
pt(22).class = 'scalar';
|
||||
pt(22).nrows = 1;
|
||||
pt(22).ncols = 1;
|
||||
pt(22).subsource = 'SS_DOUBLE';
|
||||
pt(22).ndims = '2';
|
||||
pt(22).size = '[]';
|
||||
pt(22).isStruct = false;
|
||||
pt(22).symbol = 'CANTest_P.CANSetup_P16';
|
||||
pt(22).baseaddr = '&CANTest_P.CANSetup_P16';
|
||||
pt(22).dtname = 'real_T';
|
||||
|
||||
|
||||
|
||||
|
||||
pt(23).blockname = 'DAQ_In/CAN Setup';
|
||||
pt(23).paramname = 'P17';
|
||||
pt(23).class = 'scalar';
|
||||
pt(23).nrows = 1;
|
||||
pt(23).ncols = 1;
|
||||
pt(23).subsource = 'SS_DOUBLE';
|
||||
pt(23).ndims = '2';
|
||||
pt(23).size = '[]';
|
||||
pt(23).isStruct = false;
|
||||
pt(23).symbol = 'CANTest_P.CANSetup_P17';
|
||||
pt(23).baseaddr = '&CANTest_P.CANSetup_P17';
|
||||
pt(23).dtname = 'real_T';
|
||||
|
||||
|
||||
|
||||
|
||||
pt(24).blockname = 'DAQ_In/CAN Setup';
|
||||
pt(24).paramname = 'P18';
|
||||
pt(24).class = 'vector';
|
||||
pt(24).nrows = 1;
|
||||
pt(24).ncols = 5;
|
||||
pt(24).subsource = 'SS_DOUBLE';
|
||||
pt(24).ndims = '2';
|
||||
pt(24).size = '[]';
|
||||
pt(24).isStruct = false;
|
||||
pt(24).symbol = 'CANTest_P.CANSetup_P18';
|
||||
pt(24).baseaddr = '&CANTest_P.CANSetup_P18[0]';
|
||||
pt(24).dtname = 'real_T';
|
||||
|
||||
|
||||
|
||||
|
||||
pt(25).blockname = 'DAQ_In/CAN Setup';
|
||||
pt(25).paramname = 'P19';
|
||||
pt(25).class = 'scalar';
|
||||
pt(25).nrows = 1;
|
||||
pt(25).ncols = 1;
|
||||
pt(25).subsource = 'SS_DOUBLE';
|
||||
pt(25).ndims = '2';
|
||||
pt(25).size = '[]';
|
||||
pt(25).isStruct = false;
|
||||
pt(25).symbol = 'CANTest_P.CANSetup_P19';
|
||||
pt(25).baseaddr = '&CANTest_P.CANSetup_P19';
|
||||
pt(25).dtname = 'real_T';
|
||||
|
||||
|
||||
|
||||
|
||||
pt(26).blockname = 'DAQ_In/CAN Setup';
|
||||
pt(26).paramname = 'P20';
|
||||
pt(26).class = 'vector';
|
||||
pt(26).nrows = 1;
|
||||
pt(26).ncols = 2;
|
||||
pt(26).subsource = 'SS_DOUBLE';
|
||||
pt(26).ndims = '2';
|
||||
pt(26).size = '[]';
|
||||
pt(26).isStruct = false;
|
||||
pt(26).symbol = 'CANTest_P.CANSetup_P20';
|
||||
pt(26).baseaddr = '&CANTest_P.CANSetup_P20[0]';
|
||||
pt(26).dtname = 'real_T';
|
||||
|
||||
|
||||
|
||||
|
||||
pt(27).blockname = 'DAQ_In/CAN Setup';
|
||||
pt(27).paramname = 'P21';
|
||||
pt(27).class = 'vector';
|
||||
pt(27).nrows = 1;
|
||||
pt(27).ncols = 2;
|
||||
pt(27).subsource = 'SS_DOUBLE';
|
||||
pt(27).ndims = '2';
|
||||
pt(27).size = '[]';
|
||||
pt(27).isStruct = false;
|
||||
pt(27).symbol = 'CANTest_P.CANSetup_P21';
|
||||
pt(27).baseaddr = '&CANTest_P.CANSetup_P21[0]';
|
||||
pt(27).dtname = 'real_T';
|
||||
|
||||
|
||||
|
||||
|
||||
pt(28).blockname = 'DAQ_In/CAN Setup';
|
||||
pt(28).paramname = 'P22';
|
||||
pt(28).class = 'vector';
|
||||
pt(28).nrows = 1;
|
||||
pt(28).ncols = 2;
|
||||
pt(28).subsource = 'SS_DOUBLE';
|
||||
pt(28).ndims = '2';
|
||||
pt(28).size = '[]';
|
||||
pt(28).isStruct = false;
|
||||
pt(28).symbol = 'CANTest_P.CANSetup_P22';
|
||||
pt(28).baseaddr = '&CANTest_P.CANSetup_P22[0]';
|
||||
pt(28).dtname = 'real_T';
|
||||
|
||||
|
||||
|
||||
|
||||
pt(29).blockname = 'DAQ_In/CAN Setup';
|
||||
pt(29).paramname = 'P23';
|
||||
pt(29).class = 'vector';
|
||||
pt(29).nrows = 1;
|
||||
pt(29).ncols = 2;
|
||||
pt(29).subsource = 'SS_DOUBLE';
|
||||
pt(29).ndims = '2';
|
||||
pt(29).size = '[]';
|
||||
pt(29).isStruct = false;
|
||||
pt(29).symbol = 'CANTest_P.CANSetup_P23';
|
||||
pt(29).baseaddr = '&CANTest_P.CANSetup_P23[0]';
|
||||
pt(29).dtname = 'real_T';
|
||||
|
||||
|
||||
|
||||
|
||||
pt(30).blockname = 'DAQ_In/CAN Setup';
|
||||
pt(30).paramname = 'P24';
|
||||
pt(30).class = 'scalar';
|
||||
pt(30).nrows = 1;
|
||||
pt(30).ncols = 1;
|
||||
pt(30).subsource = 'SS_DOUBLE';
|
||||
pt(30).ndims = '2';
|
||||
pt(30).size = '[]';
|
||||
pt(30).isStruct = false;
|
||||
pt(30).symbol = 'CANTest_P.CANSetup_P24';
|
||||
pt(30).baseaddr = '&CANTest_P.CANSetup_P24';
|
||||
pt(30).dtname = 'real_T';
|
||||
|
||||
|
||||
|
||||
|
||||
pt(31).blockname = 'Mon_Cont/Constant1';
|
||||
pt(31).paramname = 'Value';
|
||||
pt(31).class = 'scalar';
|
||||
pt(31).nrows = 1;
|
||||
pt(31).ncols = 1;
|
||||
pt(31).subsource = 'SS_DOUBLE';
|
||||
pt(31).ndims = '2';
|
||||
pt(31).size = '[]';
|
||||
pt(31).isStruct = false;
|
||||
pt(31).symbol = 'CANTest_P.Constant1_Value_j';
|
||||
pt(31).baseaddr = '&CANTest_P.Constant1_Value_j';
|
||||
pt(31).dtname = 'real_T';
|
||||
|
||||
|
||||
|
||||
|
||||
pt(32).blockname = 'Mon_Cont/ContMode';
|
||||
pt(32).paramname = 'Value';
|
||||
pt(32).class = 'scalar';
|
||||
pt(32).nrows = 1;
|
||||
pt(32).ncols = 1;
|
||||
pt(32).subsource = 'SS_DOUBLE';
|
||||
pt(32).ndims = '2';
|
||||
pt(32).size = '[]';
|
||||
pt(32).isStruct = false;
|
||||
pt(32).symbol = 'CANTest_P.ContMode_Value';
|
||||
pt(32).baseaddr = '&CANTest_P.ContMode_Value';
|
||||
pt(32).dtname = 'real_T';
|
||||
|
||||
|
||||
|
||||
|
||||
pt(33).blockname = 'Mon_Cont/TQCom';
|
||||
pt(33).paramname = 'Value';
|
||||
pt(33).class = 'scalar';
|
||||
pt(33).nrows = 1;
|
||||
pt(33).ncols = 1;
|
||||
pt(33).subsource = 'SS_DOUBLE';
|
||||
pt(33).ndims = '2';
|
||||
pt(33).size = '[]';
|
||||
pt(33).isStruct = false;
|
||||
pt(33).symbol = 'CANTest_P.TQCom_Value';
|
||||
pt(33).baseaddr = '&CANTest_P.TQCom_Value';
|
||||
pt(33).dtname = 'real_T';
|
||||
|
||||
|
||||
|
||||
|
||||
pt(34).blockname = 'Mon_Cont/ContM';
|
||||
pt(34).paramname = 'Gain';
|
||||
pt(34).class = 'scalar';
|
||||
pt(34).nrows = 1;
|
||||
pt(34).ncols = 1;
|
||||
pt(34).subsource = 'SS_DOUBLE';
|
||||
pt(34).ndims = '2';
|
||||
pt(34).size = '[]';
|
||||
pt(34).isStruct = false;
|
||||
pt(34).symbol = 'CANTest_P.ContM_Gain';
|
||||
pt(34).baseaddr = '&CANTest_P.ContM_Gain';
|
||||
pt(34).dtname = 'real_T';
|
||||
|
||||
|
||||
|
||||
|
||||
pt(35).blockname = 'DAQ_Out/CANBoard/Constant';
|
||||
pt(35).paramname = 'Value';
|
||||
pt(35).class = 'scalar';
|
||||
pt(35).nrows = 1;
|
||||
pt(35).ncols = 1;
|
||||
pt(35).subsource = 'SS_DOUBLE';
|
||||
pt(35).ndims = '2';
|
||||
pt(35).size = '[]';
|
||||
pt(35).isStruct = false;
|
||||
pt(35).symbol = 'CANTest_P.Constant_Value';
|
||||
pt(35).baseaddr = '&CANTest_P.Constant_Value';
|
||||
pt(35).dtname = 'real_T';
|
||||
|
||||
|
||||
|
||||
|
||||
pt(36).blockname = 'DAQ_Out/CANBoard/Constant1';
|
||||
pt(36).paramname = 'Value';
|
||||
pt(36).class = 'scalar';
|
||||
pt(36).nrows = 1;
|
||||
pt(36).ncols = 1;
|
||||
pt(36).subsource = 'SS_DOUBLE';
|
||||
pt(36).ndims = '2';
|
||||
pt(36).size = '[]';
|
||||
pt(36).isStruct = false;
|
||||
pt(36).symbol = 'CANTest_P.Constant1_Value';
|
||||
pt(36).baseaddr = '&CANTest_P.Constant1_Value';
|
||||
pt(36).dtname = 'real_T';
|
||||
|
||||
|
||||
|
||||
|
||||
pt(37).blockname = 'DAQ_Out/CANBoard/Constant2';
|
||||
pt(37).paramname = 'Value';
|
||||
pt(37).class = 'scalar';
|
||||
pt(37).nrows = 1;
|
||||
pt(37).ncols = 1;
|
||||
pt(37).subsource = 'SS_DOUBLE';
|
||||
pt(37).ndims = '2';
|
||||
pt(37).size = '[]';
|
||||
pt(37).isStruct = false;
|
||||
pt(37).symbol = 'CANTest_P.Constant2_Value';
|
||||
pt(37).baseaddr = '&CANTest_P.Constant2_Value';
|
||||
pt(37).dtname = 'real_T';
|
||||
|
||||
|
||||
|
||||
|
||||
pt(38).blockname = 'DAQ_Out/CANBoard/Constant3';
|
||||
pt(38).paramname = 'Value';
|
||||
pt(38).class = 'scalar';
|
||||
pt(38).nrows = 1;
|
||||
pt(38).ncols = 1;
|
||||
pt(38).subsource = 'SS_DOUBLE';
|
||||
pt(38).ndims = '2';
|
||||
pt(38).size = '[]';
|
||||
pt(38).isStruct = false;
|
||||
pt(38).symbol = 'CANTest_P.Constant3_Value';
|
||||
pt(38).baseaddr = '&CANTest_P.Constant3_Value';
|
||||
pt(38).dtname = 'real_T';
|
||||
|
||||
|
||||
|
||||
|
||||
pt(39).blockname = 'DAQ_Out/CANBoard/Constant4';
|
||||
pt(39).paramname = 'Value';
|
||||
pt(39).class = 'scalar';
|
||||
pt(39).nrows = 1;
|
||||
pt(39).ncols = 1;
|
||||
pt(39).subsource = 'SS_DOUBLE';
|
||||
pt(39).ndims = '2';
|
||||
pt(39).size = '[]';
|
||||
pt(39).isStruct = false;
|
||||
pt(39).symbol = 'CANTest_P.Constant4_Value';
|
||||
pt(39).baseaddr = '&CANTest_P.Constant4_Value';
|
||||
pt(39).dtname = 'real_T';
|
||||
|
||||
|
||||
|
||||
|
||||
pt(40).blockname = 'DAQ_Out/CANBoard/CAN Write1';
|
||||
pt(40).paramname = 'P1';
|
||||
pt(40).class = 'scalar';
|
||||
pt(40).nrows = 1;
|
||||
pt(40).ncols = 1;
|
||||
pt(40).subsource = 'SS_DOUBLE';
|
||||
pt(40).ndims = '2';
|
||||
pt(40).size = '[]';
|
||||
pt(40).isStruct = false;
|
||||
pt(40).symbol = 'CANTest_P.CANWrite1_P1';
|
||||
pt(40).baseaddr = '&CANTest_P.CANWrite1_P1';
|
||||
pt(40).dtname = 'real_T';
|
||||
|
||||
|
||||
|
||||
|
||||
pt(41).blockname = 'DAQ_Out/CANBoard/CAN Write1';
|
||||
pt(41).paramname = 'P2';
|
||||
pt(41).class = 'scalar';
|
||||
pt(41).nrows = 1;
|
||||
pt(41).ncols = 1;
|
||||
pt(41).subsource = 'SS_DOUBLE';
|
||||
pt(41).ndims = '2';
|
||||
pt(41).size = '[]';
|
||||
pt(41).isStruct = false;
|
||||
pt(41).symbol = 'CANTest_P.CANWrite1_P2';
|
||||
pt(41).baseaddr = '&CANTest_P.CANWrite1_P2';
|
||||
pt(41).dtname = 'real_T';
|
||||
|
||||
|
||||
|
||||
|
||||
pt(42).blockname = 'DAQ_Out/CANBoard/CAN Write1';
|
||||
pt(42).paramname = 'P3';
|
||||
pt(42).class = 'scalar';
|
||||
pt(42).nrows = 1;
|
||||
pt(42).ncols = 1;
|
||||
pt(42).subsource = 'SS_DOUBLE';
|
||||
pt(42).ndims = '2';
|
||||
pt(42).size = '[]';
|
||||
pt(42).isStruct = false;
|
||||
pt(42).symbol = 'CANTest_P.CANWrite1_P3';
|
||||
pt(42).baseaddr = '&CANTest_P.CANWrite1_P3';
|
||||
pt(42).dtname = 'real_T';
|
||||
|
||||
|
||||
|
||||
|
||||
pt(43).blockname = 'DAQ_Out/CANBoard/CAN Write1';
|
||||
pt(43).paramname = 'P4';
|
||||
pt(43).class = 'scalar';
|
||||
pt(43).nrows = 1;
|
||||
pt(43).ncols = 1;
|
||||
pt(43).subsource = 'SS_DOUBLE';
|
||||
pt(43).ndims = '2';
|
||||
pt(43).size = '[]';
|
||||
pt(43).isStruct = false;
|
||||
pt(43).symbol = 'CANTest_P.CANWrite1_P4';
|
||||
pt(43).baseaddr = '&CANTest_P.CANWrite1_P4';
|
||||
pt(43).dtname = 'real_T';
|
||||
|
||||
|
||||
|
||||
|
||||
pt(44).blockname = 'DAQ_Out/CANBoard/CAN Write1';
|
||||
pt(44).paramname = 'P5';
|
||||
pt(44).class = 'vector';
|
||||
pt(44).nrows = 1;
|
||||
pt(44).ncols = 5;
|
||||
pt(44).subsource = 'SS_DOUBLE';
|
||||
pt(44).ndims = '2';
|
||||
pt(44).size = '[]';
|
||||
pt(44).isStruct = false;
|
||||
pt(44).symbol = 'CANTest_P.CANWrite1_P5';
|
||||
pt(44).baseaddr = '&CANTest_P.CANWrite1_P5[0]';
|
||||
pt(44).dtname = 'real_T';
|
||||
|
||||
|
||||
|
||||
|
||||
pt(45).blockname = 'DAQ_Out/CANBoard/CAN Write1';
|
||||
pt(45).paramname = 'P6';
|
||||
pt(45).class = 'scalar';
|
||||
pt(45).nrows = 1;
|
||||
pt(45).ncols = 1;
|
||||
pt(45).subsource = 'SS_DOUBLE';
|
||||
pt(45).ndims = '2';
|
||||
pt(45).size = '[]';
|
||||
pt(45).isStruct = false;
|
||||
pt(45).symbol = 'CANTest_P.CANWrite1_P6';
|
||||
pt(45).baseaddr = '&CANTest_P.CANWrite1_P6';
|
||||
pt(45).dtname = 'real_T';
|
||||
|
||||
|
||||
|
||||
|
||||
pt(46).blockname = 'DAQ_Out/CANBoard/CAN Write1';
|
||||
pt(46).paramname = 'P7';
|
||||
pt(46).class = 'scalar';
|
||||
pt(46).nrows = 1;
|
||||
pt(46).ncols = 1;
|
||||
pt(46).subsource = 'SS_DOUBLE';
|
||||
pt(46).ndims = '2';
|
||||
pt(46).size = '[]';
|
||||
pt(46).isStruct = false;
|
||||
pt(46).symbol = 'CANTest_P.CANWrite1_P7';
|
||||
pt(46).baseaddr = '&CANTest_P.CANWrite1_P7';
|
||||
pt(46).dtname = 'real_T';
|
||||
|
||||
|
||||
|
||||
|
||||
pt(47).blockname = 'Mon_Cont/LPFM/Constant1';
|
||||
pt(47).paramname = 'Value';
|
||||
pt(47).class = 'scalar';
|
||||
pt(47).nrows = 1;
|
||||
pt(47).ncols = 1;
|
||||
pt(47).subsource = 'SS_DOUBLE';
|
||||
pt(47).ndims = '2';
|
||||
pt(47).size = '[]';
|
||||
pt(47).isStruct = false;
|
||||
pt(47).symbol = 'CANTest_P.Constant1_Value_a';
|
||||
pt(47).baseaddr = '&CANTest_P.Constant1_Value_a';
|
||||
pt(47).dtname = 'real_T';
|
||||
|
||||
|
||||
|
||||
|
||||
pt(48).blockname = 'Mon_Cont/LPFM/gain1';
|
||||
pt(48).paramname = 'Gain';
|
||||
pt(48).class = 'scalar';
|
||||
pt(48).nrows = 1;
|
||||
pt(48).ncols = 1;
|
||||
pt(48).subsource = 'SS_DOUBLE';
|
||||
pt(48).ndims = '2';
|
||||
pt(48).size = '[]';
|
||||
pt(48).isStruct = false;
|
||||
pt(48).symbol = 'CANTest_P.gain1_Gain';
|
||||
pt(48).baseaddr = '&CANTest_P.gain1_Gain';
|
||||
pt(48).dtname = 'real_T';
|
||||
|
||||
|
||||
|
||||
|
||||
pt(49).blockname = 'Mon_Cont/LPFM/gain2';
|
||||
pt(49).paramname = 'Gain';
|
||||
pt(49).class = 'scalar';
|
||||
pt(49).nrows = 1;
|
||||
pt(49).ncols = 1;
|
||||
pt(49).subsource = 'SS_DOUBLE';
|
||||
pt(49).ndims = '2';
|
||||
pt(49).size = '[]';
|
||||
pt(49).isStruct = false;
|
||||
pt(49).symbol = 'CANTest_P.gain2_Gain';
|
||||
pt(49).baseaddr = '&CANTest_P.gain2_Gain';
|
||||
pt(49).dtname = 'real_T';
|
||||
|
||||
|
||||
|
||||
|
||||
pt(50).blockname = 'Mon_Cont/LPFM/d';
|
||||
pt(50).paramname = 'InitialCondition';
|
||||
pt(50).class = 'scalar';
|
||||
pt(50).nrows = 1;
|
||||
pt(50).ncols = 1;
|
||||
pt(50).subsource = 'SS_DOUBLE';
|
||||
pt(50).ndims = '2';
|
||||
pt(50).size = '[]';
|
||||
pt(50).isStruct = false;
|
||||
pt(50).symbol = 'CANTest_P.d_InitialCondition';
|
||||
pt(50).baseaddr = '&CANTest_P.d_InitialCondition';
|
||||
pt(50).dtname = 'real_T';
|
||||
|
||||
|
||||
|
||||
|
||||
pt(51).blockname = 'Mon_Cont/LPFM/d1';
|
||||
pt(51).paramname = 'InitialCondition';
|
||||
pt(51).class = 'scalar';
|
||||
pt(51).nrows = 1;
|
||||
pt(51).ncols = 1;
|
||||
pt(51).subsource = 'SS_DOUBLE';
|
||||
pt(51).ndims = '2';
|
||||
pt(51).size = '[]';
|
||||
pt(51).isStruct = false;
|
||||
pt(51).symbol = 'CANTest_P.d1_InitialCondition';
|
||||
pt(51).baseaddr = '&CANTest_P.d1_InitialCondition';
|
||||
pt(51).dtname = 'real_T';
|
||||
|
||||
|
||||
|
||||
|
||||
pt(52).blockname = '';
|
||||
pt(52).paramname = 'Ts';
|
||||
pt(52).class = 'scalar';
|
||||
pt(52).nrows = 1;
|
||||
pt(52).ncols = 1;
|
||||
pt(52).subsource = 'SS_DOUBLE';
|
||||
pt(52).ndims = '2';
|
||||
pt(52).size = '[]';
|
||||
pt(52).isStruct = false;
|
||||
pt(52).symbol = 'CANTest_P.Ts';
|
||||
pt(52).baseaddr = '&CANTest_P.Ts';
|
||||
pt(52).dtname = 'real_T';
|
||||
|
||||
|
||||
function len = getlenPT
|
||||
len = 52;
|
||||
|
||||
12
ADM_Cruise_Control/CANTestref.m
Normal file
12
ADM_Cruise_Control/CANTestref.m
Normal file
@ -0,0 +1,12 @@
|
||||
function sys=CANTestref
|
||||
sys = [];
|
||||
sys.child = [];
|
||||
sys.NumDataTypes = 3;
|
||||
sys.DataTypes = [];
|
||||
temp.EnumNames='';
|
||||
temp.EnumValues = [];
|
||||
temp.Name = '';
|
||||
sys.DataTypes = repmat(temp,1,3);
|
||||
sys.DataTypes(1).Name = 'boolean_T';
|
||||
sys.DataTypes(2).Name = 'CAN_DATATYPE';
|
||||
sys.DataTypes(3).Name = 'real_T';
|
||||
4
ADM_Cruise_Control/CANTestri.m
Normal file
4
ADM_Cruise_Control/CANTestri.m
Normal file
@ -0,0 +1,4 @@
|
||||
function ri = CANTestri
|
||||
|
||||
ri = [];
|
||||
|
||||
333
ADM_Cruise_Control/CANTestxcp.m
Normal file
333
ADM_Cruise_Control/CANTestxcp.m
Normal file
@ -0,0 +1,333 @@
|
||||
function xcp = CANTestxcp
|
||||
|
||||
xcp.events = repmat(struct('id',{}, 'sampletime', {}, 'offset', {}), getNumEvents, 1 );
|
||||
xcp.parameters = repmat(struct('symbol',{}, 'size', {}, 'dtname', {}, 'baseaddr', {}), getNumParameters, 1 );
|
||||
xcp.signals = repmat(struct('symbol',{}), getNumSignals, 1 );
|
||||
xcp.models = cell(1,getNumModels);
|
||||
|
||||
xcp.models{1} = 'CANTest';
|
||||
|
||||
|
||||
|
||||
xcp.events(1).id = 0;
|
||||
xcp.events(1).sampletime = 0.002;
|
||||
xcp.events(1).offset = 0.0;
|
||||
|
||||
xcp.signals(1).symbol = 'CANTest_B.CANRead1_o1';
|
||||
|
||||
xcp.signals(2).symbol = 'CANTest_B.CANRead1_o2';
|
||||
|
||||
xcp.signals(3).symbol = 'CANTest_B.RPM';
|
||||
|
||||
xcp.signals(4).symbol = 'CANTest_B.TQ';
|
||||
|
||||
xcp.signals(5).symbol = 'CANTest_B.ContMode';
|
||||
|
||||
xcp.signals(6).symbol = 'CANTest_B.Ready';
|
||||
|
||||
xcp.signals(7).symbol = 'CANTest_B.Gear';
|
||||
|
||||
xcp.signals(8).symbol = 'CANTest_B.BMS';
|
||||
|
||||
xcp.signals(9).symbol = 'CANTest_B.PosTQLim';
|
||||
|
||||
xcp.signals(10).symbol = 'CANTest_B.NegTQLim';
|
||||
|
||||
xcp.signals(11).symbol = 'CANTest_B.CANPack';
|
||||
|
||||
xcp.signals(12).symbol = 'CANTest_B.gain';
|
||||
|
||||
xcp.signals(13).symbol = 'CANTest_B.gain1';
|
||||
|
||||
xcp.signals(14).symbol = 'CANTest_B.gain2';
|
||||
|
||||
xcp.signals(15).symbol = 'CANTest_B.Product1';
|
||||
|
||||
xcp.signals(16).symbol = 'CANTest_B.Product11';
|
||||
|
||||
xcp.signals(17).symbol = 'CANTest_B.Product2';
|
||||
|
||||
xcp.signals(18).symbol = 'CANTest_B.Sum1';
|
||||
|
||||
xcp.signals(19).symbol = 'CANTest_B.Sum2';
|
||||
|
||||
xcp.signals(20).symbol = 'CANTest_B.Sum3';
|
||||
|
||||
xcp.signals(21).symbol = 'CANTest_B.Sum4';
|
||||
|
||||
xcp.signals(22).symbol = 'CANTest_B.d';
|
||||
|
||||
xcp.signals(23).symbol = 'CANTest_B.d1';
|
||||
|
||||
xcp.parameters(1).symbol = 'CANTest_P.CANRead1_P1';
|
||||
xcp.parameters(1).size = 1;
|
||||
xcp.parameters(1).dtname = 'real_T';
|
||||
xcp.parameters(2).baseaddr = '&CANTest_P.CANRead1_P1';
|
||||
|
||||
xcp.parameters(2).symbol = 'CANTest_P.CANRead1_P2';
|
||||
xcp.parameters(2).size = 1;
|
||||
xcp.parameters(2).dtname = 'real_T';
|
||||
xcp.parameters(3).baseaddr = '&CANTest_P.CANRead1_P2';
|
||||
|
||||
xcp.parameters(3).symbol = 'CANTest_P.CANRead1_P3';
|
||||
xcp.parameters(3).size = 1;
|
||||
xcp.parameters(3).dtname = 'real_T';
|
||||
xcp.parameters(4).baseaddr = '&CANTest_P.CANRead1_P3';
|
||||
|
||||
xcp.parameters(4).symbol = 'CANTest_P.CANRead1_P4';
|
||||
xcp.parameters(4).size = 5;
|
||||
xcp.parameters(4).dtname = 'real_T';
|
||||
xcp.parameters(5).baseaddr = '&CANTest_P.CANRead1_P4[0]';
|
||||
|
||||
xcp.parameters(5).symbol = 'CANTest_P.CANRead1_P5';
|
||||
xcp.parameters(5).size = 1;
|
||||
xcp.parameters(5).dtname = 'real_T';
|
||||
xcp.parameters(6).baseaddr = '&CANTest_P.CANRead1_P5';
|
||||
|
||||
xcp.parameters(6).symbol = 'CANTest_P.CANRead1_P6';
|
||||
xcp.parameters(6).size = 1;
|
||||
xcp.parameters(6).dtname = 'real_T';
|
||||
xcp.parameters(7).baseaddr = '&CANTest_P.CANRead1_P6';
|
||||
|
||||
xcp.parameters(7).symbol = 'CANTest_P.CANSetup_P1';
|
||||
xcp.parameters(7).size = 1;
|
||||
xcp.parameters(7).dtname = 'real_T';
|
||||
xcp.parameters(8).baseaddr = '&CANTest_P.CANSetup_P1';
|
||||
|
||||
xcp.parameters(8).symbol = 'CANTest_P.CANSetup_P2';
|
||||
xcp.parameters(8).size = 2;
|
||||
xcp.parameters(8).dtname = 'real_T';
|
||||
xcp.parameters(9).baseaddr = '&CANTest_P.CANSetup_P2[0]';
|
||||
|
||||
xcp.parameters(9).symbol = 'CANTest_P.CANSetup_P3';
|
||||
xcp.parameters(9).size = 1;
|
||||
xcp.parameters(9).dtname = 'real_T';
|
||||
xcp.parameters(10).baseaddr = '&CANTest_P.CANSetup_P3';
|
||||
|
||||
xcp.parameters(10).symbol = 'CANTest_P.CANSetup_P4';
|
||||
xcp.parameters(10).size = 1;
|
||||
xcp.parameters(10).dtname = 'real_T';
|
||||
xcp.parameters(11).baseaddr = '&CANTest_P.CANSetup_P4';
|
||||
|
||||
xcp.parameters(11).symbol = 'CANTest_P.CANSetup_P5';
|
||||
xcp.parameters(11).size = 1;
|
||||
xcp.parameters(11).dtname = 'real_T';
|
||||
xcp.parameters(12).baseaddr = '&CANTest_P.CANSetup_P5';
|
||||
|
||||
xcp.parameters(12).symbol = 'CANTest_P.CANSetup_P6';
|
||||
xcp.parameters(12).size = 1;
|
||||
xcp.parameters(12).dtname = 'real_T';
|
||||
xcp.parameters(13).baseaddr = '&CANTest_P.CANSetup_P6';
|
||||
|
||||
xcp.parameters(13).symbol = 'CANTest_P.CANSetup_P7';
|
||||
xcp.parameters(13).size = 4;
|
||||
xcp.parameters(13).dtname = 'real_T';
|
||||
xcp.parameters(14).baseaddr = '&CANTest_P.CANSetup_P7[0]';
|
||||
|
||||
xcp.parameters(14).symbol = 'CANTest_P.CANSetup_P8';
|
||||
xcp.parameters(14).size = 6;
|
||||
xcp.parameters(14).dtname = 'real_T';
|
||||
xcp.parameters(15).baseaddr = '&CANTest_P.CANSetup_P8[0]';
|
||||
|
||||
xcp.parameters(15).symbol = 'CANTest_P.CANSetup_P9';
|
||||
xcp.parameters(15).size = 2;
|
||||
xcp.parameters(15).dtname = 'real_T';
|
||||
xcp.parameters(16).baseaddr = '&CANTest_P.CANSetup_P9[0]';
|
||||
|
||||
xcp.parameters(16).symbol = 'CANTest_P.CANSetup_P10';
|
||||
xcp.parameters(16).size = 2;
|
||||
xcp.parameters(16).dtname = 'real_T';
|
||||
xcp.parameters(17).baseaddr = '&CANTest_P.CANSetup_P10[0]';
|
||||
|
||||
xcp.parameters(17).symbol = 'CANTest_P.CANSetup_P11';
|
||||
xcp.parameters(17).size = 1;
|
||||
xcp.parameters(17).dtname = 'real_T';
|
||||
xcp.parameters(18).baseaddr = '&CANTest_P.CANSetup_P11';
|
||||
|
||||
xcp.parameters(18).symbol = 'CANTest_P.CANSetup_P12';
|
||||
xcp.parameters(18).size = 4;
|
||||
xcp.parameters(18).dtname = 'real_T';
|
||||
xcp.parameters(19).baseaddr = '&CANTest_P.CANSetup_P12[0]';
|
||||
|
||||
xcp.parameters(19).symbol = 'CANTest_P.CANSetup_P13';
|
||||
xcp.parameters(19).size = 6;
|
||||
xcp.parameters(19).dtname = 'real_T';
|
||||
xcp.parameters(20).baseaddr = '&CANTest_P.CANSetup_P13[0]';
|
||||
|
||||
xcp.parameters(20).symbol = 'CANTest_P.CANSetup_P14';
|
||||
xcp.parameters(20).size = 2;
|
||||
xcp.parameters(20).dtname = 'real_T';
|
||||
xcp.parameters(21).baseaddr = '&CANTest_P.CANSetup_P14[0]';
|
||||
|
||||
xcp.parameters(21).symbol = 'CANTest_P.CANSetup_P15';
|
||||
xcp.parameters(21).size = 2;
|
||||
xcp.parameters(21).dtname = 'real_T';
|
||||
xcp.parameters(22).baseaddr = '&CANTest_P.CANSetup_P15[0]';
|
||||
|
||||
xcp.parameters(22).symbol = 'CANTest_P.CANSetup_P16';
|
||||
xcp.parameters(22).size = 1;
|
||||
xcp.parameters(22).dtname = 'real_T';
|
||||
xcp.parameters(23).baseaddr = '&CANTest_P.CANSetup_P16';
|
||||
|
||||
xcp.parameters(23).symbol = 'CANTest_P.CANSetup_P17';
|
||||
xcp.parameters(23).size = 1;
|
||||
xcp.parameters(23).dtname = 'real_T';
|
||||
xcp.parameters(24).baseaddr = '&CANTest_P.CANSetup_P17';
|
||||
|
||||
xcp.parameters(24).symbol = 'CANTest_P.CANSetup_P18';
|
||||
xcp.parameters(24).size = 5;
|
||||
xcp.parameters(24).dtname = 'real_T';
|
||||
xcp.parameters(25).baseaddr = '&CANTest_P.CANSetup_P18[0]';
|
||||
|
||||
xcp.parameters(25).symbol = 'CANTest_P.CANSetup_P19';
|
||||
xcp.parameters(25).size = 1;
|
||||
xcp.parameters(25).dtname = 'real_T';
|
||||
xcp.parameters(26).baseaddr = '&CANTest_P.CANSetup_P19';
|
||||
|
||||
xcp.parameters(26).symbol = 'CANTest_P.CANSetup_P20';
|
||||
xcp.parameters(26).size = 2;
|
||||
xcp.parameters(26).dtname = 'real_T';
|
||||
xcp.parameters(27).baseaddr = '&CANTest_P.CANSetup_P20[0]';
|
||||
|
||||
xcp.parameters(27).symbol = 'CANTest_P.CANSetup_P21';
|
||||
xcp.parameters(27).size = 2;
|
||||
xcp.parameters(27).dtname = 'real_T';
|
||||
xcp.parameters(28).baseaddr = '&CANTest_P.CANSetup_P21[0]';
|
||||
|
||||
xcp.parameters(28).symbol = 'CANTest_P.CANSetup_P22';
|
||||
xcp.parameters(28).size = 2;
|
||||
xcp.parameters(28).dtname = 'real_T';
|
||||
xcp.parameters(29).baseaddr = '&CANTest_P.CANSetup_P22[0]';
|
||||
|
||||
xcp.parameters(29).symbol = 'CANTest_P.CANSetup_P23';
|
||||
xcp.parameters(29).size = 2;
|
||||
xcp.parameters(29).dtname = 'real_T';
|
||||
xcp.parameters(30).baseaddr = '&CANTest_P.CANSetup_P23[0]';
|
||||
|
||||
xcp.parameters(30).symbol = 'CANTest_P.CANSetup_P24';
|
||||
xcp.parameters(30).size = 1;
|
||||
xcp.parameters(30).dtname = 'real_T';
|
||||
xcp.parameters(31).baseaddr = '&CANTest_P.CANSetup_P24';
|
||||
|
||||
xcp.parameters(31).symbol = 'CANTest_P.Constant1_Value_j';
|
||||
xcp.parameters(31).size = 1;
|
||||
xcp.parameters(31).dtname = 'real_T';
|
||||
xcp.parameters(32).baseaddr = '&CANTest_P.Constant1_Value_j';
|
||||
|
||||
xcp.parameters(32).symbol = 'CANTest_P.ContMode_Value';
|
||||
xcp.parameters(32).size = 1;
|
||||
xcp.parameters(32).dtname = 'real_T';
|
||||
xcp.parameters(33).baseaddr = '&CANTest_P.ContMode_Value';
|
||||
|
||||
xcp.parameters(33).symbol = 'CANTest_P.TQCom_Value';
|
||||
xcp.parameters(33).size = 1;
|
||||
xcp.parameters(33).dtname = 'real_T';
|
||||
xcp.parameters(34).baseaddr = '&CANTest_P.TQCom_Value';
|
||||
|
||||
xcp.parameters(34).symbol = 'CANTest_P.ContM_Gain';
|
||||
xcp.parameters(34).size = 1;
|
||||
xcp.parameters(34).dtname = 'real_T';
|
||||
xcp.parameters(35).baseaddr = '&CANTest_P.ContM_Gain';
|
||||
|
||||
xcp.parameters(35).symbol = 'CANTest_P.Constant_Value';
|
||||
xcp.parameters(35).size = 1;
|
||||
xcp.parameters(35).dtname = 'real_T';
|
||||
xcp.parameters(36).baseaddr = '&CANTest_P.Constant_Value';
|
||||
|
||||
xcp.parameters(36).symbol = 'CANTest_P.Constant1_Value';
|
||||
xcp.parameters(36).size = 1;
|
||||
xcp.parameters(36).dtname = 'real_T';
|
||||
xcp.parameters(37).baseaddr = '&CANTest_P.Constant1_Value';
|
||||
|
||||
xcp.parameters(37).symbol = 'CANTest_P.Constant2_Value';
|
||||
xcp.parameters(37).size = 1;
|
||||
xcp.parameters(37).dtname = 'real_T';
|
||||
xcp.parameters(38).baseaddr = '&CANTest_P.Constant2_Value';
|
||||
|
||||
xcp.parameters(38).symbol = 'CANTest_P.Constant3_Value';
|
||||
xcp.parameters(38).size = 1;
|
||||
xcp.parameters(38).dtname = 'real_T';
|
||||
xcp.parameters(39).baseaddr = '&CANTest_P.Constant3_Value';
|
||||
|
||||
xcp.parameters(39).symbol = 'CANTest_P.Constant4_Value';
|
||||
xcp.parameters(39).size = 1;
|
||||
xcp.parameters(39).dtname = 'real_T';
|
||||
xcp.parameters(40).baseaddr = '&CANTest_P.Constant4_Value';
|
||||
|
||||
xcp.parameters(40).symbol = 'CANTest_P.CANWrite1_P1';
|
||||
xcp.parameters(40).size = 1;
|
||||
xcp.parameters(40).dtname = 'real_T';
|
||||
xcp.parameters(41).baseaddr = '&CANTest_P.CANWrite1_P1';
|
||||
|
||||
xcp.parameters(41).symbol = 'CANTest_P.CANWrite1_P2';
|
||||
xcp.parameters(41).size = 1;
|
||||
xcp.parameters(41).dtname = 'real_T';
|
||||
xcp.parameters(42).baseaddr = '&CANTest_P.CANWrite1_P2';
|
||||
|
||||
xcp.parameters(42).symbol = 'CANTest_P.CANWrite1_P3';
|
||||
xcp.parameters(42).size = 1;
|
||||
xcp.parameters(42).dtname = 'real_T';
|
||||
xcp.parameters(43).baseaddr = '&CANTest_P.CANWrite1_P3';
|
||||
|
||||
xcp.parameters(43).symbol = 'CANTest_P.CANWrite1_P4';
|
||||
xcp.parameters(43).size = 1;
|
||||
xcp.parameters(43).dtname = 'real_T';
|
||||
xcp.parameters(44).baseaddr = '&CANTest_P.CANWrite1_P4';
|
||||
|
||||
xcp.parameters(44).symbol = 'CANTest_P.CANWrite1_P5';
|
||||
xcp.parameters(44).size = 5;
|
||||
xcp.parameters(44).dtname = 'real_T';
|
||||
xcp.parameters(45).baseaddr = '&CANTest_P.CANWrite1_P5[0]';
|
||||
|
||||
xcp.parameters(45).symbol = 'CANTest_P.CANWrite1_P6';
|
||||
xcp.parameters(45).size = 1;
|
||||
xcp.parameters(45).dtname = 'real_T';
|
||||
xcp.parameters(46).baseaddr = '&CANTest_P.CANWrite1_P6';
|
||||
|
||||
xcp.parameters(46).symbol = 'CANTest_P.CANWrite1_P7';
|
||||
xcp.parameters(46).size = 1;
|
||||
xcp.parameters(46).dtname = 'real_T';
|
||||
xcp.parameters(47).baseaddr = '&CANTest_P.CANWrite1_P7';
|
||||
|
||||
xcp.parameters(47).symbol = 'CANTest_P.Constant1_Value_a';
|
||||
xcp.parameters(47).size = 1;
|
||||
xcp.parameters(47).dtname = 'real_T';
|
||||
xcp.parameters(48).baseaddr = '&CANTest_P.Constant1_Value_a';
|
||||
|
||||
xcp.parameters(48).symbol = 'CANTest_P.gain1_Gain';
|
||||
xcp.parameters(48).size = 1;
|
||||
xcp.parameters(48).dtname = 'real_T';
|
||||
xcp.parameters(49).baseaddr = '&CANTest_P.gain1_Gain';
|
||||
|
||||
xcp.parameters(49).symbol = 'CANTest_P.gain2_Gain';
|
||||
xcp.parameters(49).size = 1;
|
||||
xcp.parameters(49).dtname = 'real_T';
|
||||
xcp.parameters(50).baseaddr = '&CANTest_P.gain2_Gain';
|
||||
|
||||
xcp.parameters(50).symbol = 'CANTest_P.d_InitialCondition';
|
||||
xcp.parameters(50).size = 1;
|
||||
xcp.parameters(50).dtname = 'real_T';
|
||||
xcp.parameters(51).baseaddr = '&CANTest_P.d_InitialCondition';
|
||||
|
||||
xcp.parameters(51).symbol = 'CANTest_P.d1_InitialCondition';
|
||||
xcp.parameters(51).size = 1;
|
||||
xcp.parameters(51).dtname = 'real_T';
|
||||
xcp.parameters(52).baseaddr = '&CANTest_P.d1_InitialCondition';
|
||||
|
||||
xcp.parameters(52).symbol = 'CANTest_P.Ts';
|
||||
xcp.parameters(52).size = 1;
|
||||
xcp.parameters(52).dtname = 'real_T';
|
||||
xcp.parameters(53).baseaddr = '&CANTest_P.Ts';
|
||||
|
||||
function n = getNumParameters
|
||||
n = 52;
|
||||
|
||||
function n = getNumSignals
|
||||
n = 23;
|
||||
|
||||
function n = getNumEvents
|
||||
n = 1;
|
||||
|
||||
function n = getNumModels
|
||||
n = 1;
|
||||
|
||||
BIN
ADM_Cruise_Control/FFModelVal.slx
Normal file
BIN
ADM_Cruise_Control/FFModelVal.slx
Normal file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user