An example of importing Embedded Coder code into the mbed IDE. Currently doesn't connect IO to PWM, ADC, and Encoder, instead provides random inputs and measures execution time.
Dependencies: mbed-dsp mbed Nucleo_pmsmfoc
Revision 2:bbc155b0b886, committed 2014-11-25
- Comitter:
- paulcox
- Date:
- Tue Nov 25 07:52:02 2014 +0000
- Parent:
- 1:83374f658183
- Commit message:
- adding doc?
Changed in this revision
diff -r 83374f658183 -r bbc155b0b886 Nucleo_pmsmfoc.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Nucleo_pmsmfoc.lib Tue Nov 25 07:52:02 2014 +0000 @@ -0,0 +1,1 @@ +http://developer.mbed.org/users/paulcox/code/Nucleo_pmsmfoc/#83374f658183
diff -r 83374f658183 -r bbc155b0b886 html/html/MW_target_hardware_resources_h.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/html/html/MW_target_hardware_resources_h.html Tue Nov 25 07:52:02 2014 +0000 @@ -0,0 +1,54 @@ +<!DOCTYPE html> +<html> +<head> +<script type="text/javascript" src="./js/coder_app.js"></script> +<meta http-equiv="content-type" content="text/html; charset=utf-8" /> +<script type="text/javascript" src="./rtwreport_utils.js"></script> +<script type="text/javascript" src="./rtwannotate.js"></script> +<link rel="stylesheet" type="text/css" href="./css/coder_app.css"/> +</head> +<body onload="srcFileOnload();"> +<pre id="code"> +<table class="code" id="codeTbl"> +<tr name="1" id="1"> +<td>1</td><td><span class="pp">#ifdef</span> <a id="1c8" class="tk">__MW_TARGET_USE_HARDWARE_RESOURCES_H__</a></td></tr> +<tr name="2" id="2"> +<td>2</td><td><span class="pp">#ifndef</span> <a id="2c9" class="tk">__MW_TARGET_HARDWARE_RESOURCES_H__</a></td></tr> +<tr name="3" id="3"> +<td>3</td><td><span class="pp">#define</span> <a id="3c9" class="tk">__MW_TARGET_HARDWARE_RESOURCES_H__</a></td></tr> +<tr name="4" id="4"> +<td>4</td><td></td></tr> +<tr name="5" id="5"> +<td>5</td><td><span class="pp">#include "SysTickScheduler.h"</span></td></tr> +<tr name="6" id="6"> +<td>6</td><td><span class="pp">#include "arm_cortex_m_multitasking.h"</span></td></tr> +<tr name="7" id="7"> +<td>7</td><td><span class="pp">#include "stm32f4xx.h"</span></td></tr> +<tr name="8" id="8"> +<td>8</td><td></td></tr> +<tr name="9" id="9"> +<td>9</td><td><span class="pp">#define</span> <a id="9c9" class="tk">MW_USECODERTARGET</a> 1.000000</td></tr> +<tr name="10" id="10"> +<td>10</td><td><span class="pp">#define</span> <a id="10c9" class="tk">MW_TARGETHARDWARE</a> <a id="10c27" class="tk">STM32_Nucleo</a></td></tr> +<tr name="11" id="11"> +<td>11</td><td><span class="pp">#define</span> <a id="11c9" class="tk">MW_SCHEDULER_INTERRUPT_SOURCE</a> 0</td></tr> +<tr name="12" id="12"> +<td>12</td><td><span class="pp">#define</span> <a id="12c9" class="tk">MW_RUNTIME_BUILDACTION</a> 0</td></tr> +<tr name="13" id="13"> +<td>13</td><td><span class="pp">#define</span> <a id="13c9" class="tk">MW_CLOCKING_CPUCLOCKRATEMHZ</a> 48</td></tr> +<tr name="14" id="14"> +<td>14</td><td><span class="pp">#define</span> <a id="14c9" class="tk">MW_MULTI_TASKING_MODE</a> 0</td></tr> +<tr name="15" id="15"> +<td>15</td><td></td></tr> +<tr name="16" id="16"> +<td>16</td><td><span class="pp">#endif</span> <span class="ct">/* __MW_TARGET_HARDWARE_RESOURCES_H__ */</span></td></tr> +<tr name="17" id="17"> +<td>17</td><td></td></tr> +<tr name="18" id="18"> +<td>18</td><td><span class="pp">#endif</span></td></tr> +<tr name="19" id="19"> +<td>19</td><td></td></tr> +</table> +</pre> +</body> +</html>
diff -r 83374f658183 -r bbc155b0b886 html/html/css/coder_app.css --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/html/html/css/coder_app.css Tue Nov 25 07:52:02 2014 +0000 @@ -0,0 +1,196 @@ +/* Copyright 2013-2014 The MathWorks, Inc. */ +pre#code { + font-family: Courier; + font-size: small; +} + +.ct { + font-style: italic; + color: #117755 +} /* comment */ +.pp { + font-weight:bold; + color: #992211 +} /* preprocessor */ +.kw, .br { + font-weight:bold; + color: #112266 +} /* keyword or brace */ +.dt { + font-weight:bold; + color: #112266 +} /* data type */ +.tk { + font-style: normal; + color: #112266 +} /* regular token */ +pre#code a.req { + text-decoration: none; + color: #112266 +} +pre#code a.req_active { + cursor: pointer; + text-decoration: underline; +} +pre#code a.req_active:hover { + cursor: pointer; + color: blue; + text-decoration: underline +} +pre#code a.blk { + text-decoration: none; +} +pre#code a.blk_active { + cursor: pointer; + text-decoration: underline; +} +pre#code a.blk_active:hover { + cursor: pointer; + color: blue; + text-decoration: underline +} +a.hilite { + font-style: normal; + color: black; + background-color: #ffff99; +} /* highlight token */ +tr.hilite { + font-style: normal; + color: black; + background-color: #aff +} /* highlight row */ +a.hiliteToken, tr.hiliteToken, td.hiliteToken { + background-color: #ffff99; +} +.hiliteCurrentLine, tr.hiliteCurrentLine > td { + font-style: normal; + color: black; + background-color: #aff; + border-top: dashed darkblue 1px; + border-bottom: dashed darkblue 1px; +} +tr.hiliteCurrentLine > td:first-child { + border-left: dashed darkblue 1px; +} +tr.hiliteCurrentLine > td:last-child { + border-right: dashed darkblue 1px; +} + +span.hiliteTotalLine { + font-style: normal; + color: #aff; +} +span.hiliteCurrentLine { + font-style: normal; + color: #ffff99; +} +a.tk { + text-decoration: none; +} +a.tk:hover { + text-decoration: none; +} +a.active { + text-decoration: underline; +} +a.active:hover { + cursor: pointer; + color: blue; + text-decoration: underline +} /* hyperlink */ +table.code { + border: 0px +} +table.code td { + vertical-align: top; +} +table.code td.highlightedCurrent { + background-color: #819FF7; +} +table.code > tr:first { + text-align: right; +} /* hyperlink */ + +ul.popup_attrib_list { + list-style-type:none; + display: block; + margin: 0; + padding: 0; +} +ul.popup_attrib_list li { + list-style-type:none; + display: inline; + margin: 0 18px 0 0; + padding: 0; +} +.highlighted { + background-color:yellow; +} +a:class1 { + color: -webkit-link; + text-decoration: underline; + cursor: hand; +} +.scroll +{ + height:80px; + overflow:scroll; + overflow-x:hidden; +} +div#popup_window { + position: absolute; + background-color: rgb(203,203,255); + border: solid 3px #ECECEC; + border-radius: 5px; + /* shadow box around the window*/ + -moz-box-shadow: 0 3px 3px rgba(0,0,0,0.4), inset 0 1px #FFF; + -webkit-box-shadow: 0 3px 3px rgba(0,0,0,0.4), inset 0 1px #FFF; + box-shadow: 0 3px 3px rgba(0,0,0,0.4), inset 0 1px #FFF; + padding: 2px; +} +div#popup_window a { + text-decoration: none; + color: green; +} +div#popup_window a:hover { + cursor: pointer; + text-decoration: underline; + color: blue; +} +div#popup_window tr.selected { + background-color: #ffff99; +} +div#token_usage_nav { + border-bottom: 1px solid gray; +} +table#token_usage_details { + cellpadding: 100px; + table-layout:fixed; + border: 0px; +} +.token_usage_details_tabrow { + width: 40px; +} +table#token_usage_details td { + padding-right: 5em; + padding-left: 1em; +} +.token_usage_details_tabrow:hover { + background-color: gray; +} +.nav_table td.hidden { + display: none; +} +table#codeTbl tr td { + color: #112266 +} +table#codeTbl tr td { + padding-left: 10px; +} +table#codeTbl tr td:first-child { + font-style: italic; + color: #888888; + text-align: right; + padding-left:0px; +} +
diff -r 83374f658183 -r bbc155b0b886 html/html/define.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/html/html/define.js Tue Nov 25 07:52:02 2014 +0000 @@ -0,0 +1,114 @@ +function CodeDefine() { +this.def = new Array(); +this.def["IsrOverrun"] = {file: "ert_main_c.html",line:19,type:"var"}; +this.def["OverrunFlag"] = {file: "ert_main_c.html",line:20,type:"var"}; +this.def["rt_OneStep"] = {file: "ert_main_c.html",line:21,type:"fcn"}; +this.def["main"] = {file: "ert_main_c.html",line:63,type:"fcn"}; +this.def["phase_currents"] = {file: "rtwdemo_pmsmfoc_c.html",line:36,type:"var"}; +this.def["rotor_position"] = {file: "rtwdemo_pmsmfoc_c.html",line:37,type:"var"}; +this.def["velocity_measured"] = {file: "rtwdemo_pmsmfoc_c.html",line:38,type:"var"}; +this.def["d_current_error"] = {file: "rtwdemo_pmsmfoc_c.html",line:39,type:"var"}; +this.def["q_current_command"] = {file: "rtwdemo_pmsmfoc_c.html",line:40,type:"var"}; +this.def["q_current_measured"] = {file: "rtwdemo_pmsmfoc_c.html",line:41,type:"var"}; +this.def["q_current_error"] = {file: "rtwdemo_pmsmfoc_c.html",line:42,type:"var"}; +this.def["phase_voltages"] = {file: "rtwdemo_pmsmfoc_c.html",line:43,type:"var"}; +this.def["velocity_error"] = {file: "rtwdemo_pmsmfoc_c.html",line:44,type:"var"}; +this.def["controller_mode"] = {file: "rtwdemo_pmsmfoc_c.html",line:45,type:"var"}; +this.def["ctrlParams"] = {file: "rtwdemo_pmsmfoc_c.html",line:48,type:"var"}; +this.def["ConstP"] = {file: "rtwdemo_pmsmfoc_c.html",line:81,type:"var"}; +this.def["DWork"] = {file: "rtwdemo_pmsmfoc_c.html",line:89,type:"var"}; +this.def["M_"] = {file: "rtwdemo_pmsmfoc_c.html",line:92,type:"var"}; +this.def["M"] = {file: "rtwdemo_pmsmfoc_c.html",line:93,type:"var"}; +this.def["rate_scheduler"] = {file: "rtwdemo_pmsmfoc_c.html",line:103,type:"fcn"}; +this.def["rt_roundf"] = {file: "rtwdemo_pmsmfoc_c.html",line:115,type:"fcn"}; +this.def["rt_modf"] = {file: "rtwdemo_pmsmfoc_c.html",line:133,type:"fcn"}; +this.def["Controller"] = {file: "rtwdemo_pmsmfoc_c.html",line:155,type:"fcn"}; +this.def["Controller_Init"] = {file: "rtwdemo_pmsmfoc_c.html",line:1250,type:"fcn"}; +this.def["RT_MODEL"] = {file: "rtwdemo_pmsmfoc_h.html",line:34,type:"type"}; +this.def["EnumErrorType"] = {file: "rtwdemo_pmsmfoc_h.html",line:42,type:"type"}; +this.def["EnumCommandType"] = {file: "rtwdemo_pmsmfoc_h.html",line:53,type:"type"}; +this.def["EnumControllerMode"] = {file: "rtwdemo_pmsmfoc_h.html",line:66,type:"type"}; +this.def["SENSORS_STRUCT"] = {file: "rtwdemo_pmsmfoc_h.html",line:77,type:"type"}; +this.def["CTRLPARAMS_STRUCT"] = {file: "rtwdemo_pmsmfoc_h.html",line:98,type:"type"}; +this.def["D_Work"] = {file: "rtwdemo_pmsmfoc_h.html",line:132,type:"type"}; +this.def["ConstParam"] = {file: "rtwdemo_pmsmfoc_h.html",line:140,type:"type"}; +this.def["int8_T"] = {file: "rtwtypes_h.html",line:58,type:"type"}; +this.def["uint8_T"] = {file: "rtwtypes_h.html",line:59,type:"type"}; +this.def["int16_T"] = {file: "rtwtypes_h.html",line:60,type:"type"}; +this.def["uint16_T"] = {file: "rtwtypes_h.html",line:61,type:"type"}; +this.def["int32_T"] = {file: "rtwtypes_h.html",line:62,type:"type"}; +this.def["uint32_T"] = {file: "rtwtypes_h.html",line:63,type:"type"}; +this.def["real32_T"] = {file: "rtwtypes_h.html",line:64,type:"type"}; +this.def["real64_T"] = {file: "rtwtypes_h.html",line:65,type:"type"}; +this.def["real_T"] = {file: "rtwtypes_h.html",line:71,type:"type"}; +this.def["time_T"] = {file: "rtwtypes_h.html",line:72,type:"type"}; +this.def["boolean_T"] = {file: "rtwtypes_h.html",line:73,type:"type"}; +this.def["int_T"] = {file: "rtwtypes_h.html",line:74,type:"type"}; +this.def["uint_T"] = {file: "rtwtypes_h.html",line:75,type:"type"}; +this.def["ulong_T"] = {file: "rtwtypes_h.html",line:76,type:"type"}; +this.def["char_T"] = {file: "rtwtypes_h.html",line:77,type:"type"}; +this.def["uchar_T"] = {file: "rtwtypes_h.html",line:78,type:"type"}; +this.def["byte_T"] = {file: "rtwtypes_h.html",line:79,type:"type"}; +this.def["int8_T"] = {file: "rtwtypes_h.html",line:89,type:"type"}; +this.def["uint8_T"] = {file: "rtwtypes_h.html",line:90,type:"type"}; +this.def["int16_T"] = {file: "rtwtypes_h.html",line:91,type:"type"}; +this.def["uint16_T"] = {file: "rtwtypes_h.html",line:92,type:"type"}; +this.def["int32_T"] = {file: "rtwtypes_h.html",line:93,type:"type"}; +this.def["uint32_T"] = {file: "rtwtypes_h.html",line:94,type:"type"}; +this.def["real32_T"] = {file: "rtwtypes_h.html",line:95,type:"type"}; +this.def["real64_T"] = {file: "rtwtypes_h.html",line:96,type:"type"}; +this.def["real_T"] = {file: "rtwtypes_h.html",line:102,type:"type"}; +this.def["time_T"] = {file: "rtwtypes_h.html",line:103,type:"type"}; +this.def["boolean_T"] = {file: "rtwtypes_h.html",line:104,type:"type"}; +this.def["int_T"] = {file: "rtwtypes_h.html",line:105,type:"type"}; +this.def["uint_T"] = {file: "rtwtypes_h.html",line:106,type:"type"}; +this.def["ulong_T"] = {file: "rtwtypes_h.html",line:107,type:"type"}; +this.def["char_T"] = {file: "rtwtypes_h.html",line:108,type:"type"}; +this.def["uchar_T"] = {file: "rtwtypes_h.html",line:109,type:"type"}; +this.def["byte_T"] = {file: "rtwtypes_h.html",line:110,type:"type"}; +this.def["creal32_T"] = {file: "rtwtypes_h.html",line:122,type:"type"}; +this.def["creal64_T"] = {file: "rtwtypes_h.html",line:127,type:"type"}; +this.def["creal_T"] = {file: "rtwtypes_h.html",line:132,type:"type"}; +this.def["cint8_T"] = {file: "rtwtypes_h.html",line:139,type:"type"}; +this.def["cuint8_T"] = {file: "rtwtypes_h.html",line:146,type:"type"}; +this.def["cint16_T"] = {file: "rtwtypes_h.html",line:153,type:"type"}; +this.def["cuint16_T"] = {file: "rtwtypes_h.html",line:160,type:"type"}; +this.def["cint32_T"] = {file: "rtwtypes_h.html",line:167,type:"type"}; +this.def["cuint32_T"] = {file: "rtwtypes_h.html",line:174,type:"type"}; +this.def["pointer_T"] = {file: "rtwtypes_h.html",line:195,type:"type"}; +this.def["ZCDirection"] = {file: "rtwtypes_h.html",line:206,type:"type"}; +this.def["ZCSigState"] = {file: "rtwtypes_h.html",line:209,type:"type"}; +this.def["ZCEventType"] = {file: "rtwtypes_h.html",line:222,type:"type"}; +} +CodeDefine.instance = new CodeDefine(); +function Html2SrcLink() { + this.html2SrcPath = new Array; + this.html2Root = new Array; + this.html2SrcPath["ert_main_c.html"] = "../ert_main.c"; + this.html2Root["ert_main_c.html"] = "ert_main_c.html"; + this.html2SrcPath["rtwdemo_pmsmfoc_c.html"] = "../rtwdemo_pmsmfoc.c"; + this.html2Root["rtwdemo_pmsmfoc_c.html"] = "rtwdemo_pmsmfoc_c.html"; + this.html2SrcPath["rtwdemo_pmsmfoc_h.html"] = "../rtwdemo_pmsmfoc.h"; + this.html2Root["rtwdemo_pmsmfoc_h.html"] = "rtwdemo_pmsmfoc_h.html"; + this.html2SrcPath["rtwtypes_h.html"] = "../rtwtypes.h"; + this.html2Root["rtwtypes_h.html"] = "rtwtypes_h.html"; + this.html2SrcPath["MW_target_hardware_resources_h.html"] = "../MW_target_hardware_resources.h"; + this.html2Root["MW_target_hardware_resources_h.html"] = "MW_target_hardware_resources_h.html"; + this.html2SrcPath["mw_cmsis_h.html"] = "../mw_cmsis.h"; + this.html2Root["mw_cmsis_h.html"] = "mw_cmsis_h.html"; + this.getLink2Src = function (htmlFileName) { + if (this.html2SrcPath[htmlFileName]) + return this.html2SrcPath[htmlFileName]; + else + return null; + } + this.getLinkFromRoot = function (htmlFileName) { + if (this.html2Root[htmlFileName]) + return this.html2Root[htmlFileName]; + else + return null; + } +} +Html2SrcLink.instance = new Html2SrcLink(); +var fileList = [ +"ert_main_c.html","rtwdemo_pmsmfoc_c.html","rtwdemo_pmsmfoc_h.html","rtwtypes_h.html","MW_target_hardware_resources_h.html","mw_cmsis_h.html"];
diff -r 83374f658183 -r bbc155b0b886 html/html/ert_main_c.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/html/html/ert_main_c.html Tue Nov 25 07:52:02 2014 +0000 @@ -0,0 +1,208 @@ +<!DOCTYPE html> +<html> +<head> +<script type="text/javascript" src="./js/coder_app.js"></script> +<meta http-equiv="content-type" content="text/html; charset=utf-8" /> +<script type="text/javascript" src="./rtwreport_utils.js"></script> +<script type="text/javascript" src="./rtwannotate.js"></script> +<link rel="stylesheet" type="text/css" href="./css/coder_app.css"/> +</head> +<body onload="srcFileOnload();"> +<pre id="code"> +<table class="code" id="codeTbl"> +<tr name="1" id="1"> +<td>1</td><td><span class="ct">/*</span></td></tr> +<tr name="2" id="2"> +<td>2</td><td><span class="ct"> * File: ert_main.c</span></td></tr> +<tr name="3" id="3"> +<td>3</td><td><span class="ct"> *</span></td></tr> +<tr name="4" id="4"> +<td>4</td><td><span class="ct"> * Code generated for Simulink model 'rtwdemo_pmsmfoc'.</span></td></tr> +<tr name="5" id="5"> +<td>5</td><td><span class="ct"> *</span></td></tr> +<tr name="6" id="6"> +<td>6</td><td><span class="ct"> * Model version : 1.2949</span></td></tr> +<tr name="7" id="7"> +<td>7</td><td><span class="ct"> * Simulink Coder version : 8.7 (R2014b) 11-Aug-2014</span></td></tr> +<tr name="8" id="8"> +<td>8</td><td><span class="ct"> * C/C++ source code generated on : Sat Oct 11 02:05:41 2014</span></td></tr> +<tr name="9" id="9"> +<td>9</td><td><span class="ct"> *</span></td></tr> +<tr name="10" id="10"> +<td>10</td><td><span class="ct"> * Target selection: ert.tlc</span></td></tr> +<tr name="11" id="11"> +<td>11</td><td><span class="ct"> * Embedded hardware selection: ARM Compatible->ARM Cortex</span></td></tr> +<tr name="12" id="12"> +<td>12</td><td><span class="ct"> * Code generation objective: Execution efficiency</span></td></tr> +<tr name="13" id="13"> +<td>13</td><td><span class="ct"> * Validation result: Not run</span></td></tr> +<tr name="14" id="14"> +<td>14</td><td><span class="ct"> */</span></td></tr> +<tr name="15" id="15"> +<td>15</td><td></td></tr> +<tr name="16" id="16"> +<td>16</td><td><span class="pp">#include "rtwdemo_pmsmfoc.h"</span></td></tr> +<tr name="17" id="17"> +<td>17</td><td><span class="pp">#include "rtwtypes.h"</span></td></tr> +<tr name="18" id="18"> +<td>18</td><td></td></tr> +<tr name="19" id="19"> +<td>19</td><td><span class="kw">volatile</span> <span class="kw">int</span> <a id="19c14" class="tk">IsrOverrun</a> = 0;</td></tr> +<tr name="20" id="20"> +<td>20</td><td><span class="kw">static</span> <a id="20c8" class="tk">boolean_T</a> <a id="20c18" class="tk">OverrunFlag</a> = 0;</td></tr> +<tr name="21" id="21"> +<td>21</td><td><span class="kw">void</span> <a id="21c6" class="tk">rt_OneStep</a>(<span class="kw">void</span>)</td></tr> +<tr name="22" id="22"> +<td>22</td><td><span class="br">{</span></td></tr> +<tr name="23" id="23"> +<td>23</td><td> <span class="ct">/* '<a class="ct blk" blk_line="23"><Root>/motor_on</a>' */</span></td></tr> +<tr name="24" id="24"> +<td>24</td><td> <span class="kw">static</span> <a id="24c10" class="tk">uint16_T</a> <a id="24c19" class="tk">motor_on</a> = 0U;</td></tr> +<tr name="25" id="25"> +<td>25</td><td></td></tr> +<tr name="26" id="26"> +<td>26</td><td> <span class="ct">/* '<a class="ct blk" blk_line="26"><Root>/command_type</a>' */</span></td></tr> +<tr name="27" id="27"> +<td>27</td><td> <span class="kw">static</span> <a id="27c10" class="tk">EnumCommandType</a> <a id="27c26" class="tk">command_type</a> = <a id="27c41" class="tk">Torque</a>;</td></tr> +<tr name="28" id="28"> +<td>28</td><td></td></tr> +<tr name="29" id="29"> +<td>29</td><td> <span class="ct">/* '<a class="ct blk" blk_line="29"><Root>/command_value</a>' */</span></td></tr> +<tr name="30" id="30"> +<td>30</td><td> <span class="kw">static</span> <a id="30c10" class="tk">real32_T</a> <a id="30c19" class="tk">current_request</a> = 0.0F;</td></tr> +<tr name="31" id="31"> +<td>31</td><td></td></tr> +<tr name="32" id="32"> +<td>32</td><td> <span class="ct">/* '<a class="ct blk" blk_line="32"><Root>/sensors</a>' */</span></td></tr> +<tr name="33" id="33"> +<td>33</td><td> <span class="kw">static</span> <a id="33c10" class="tk">SENSORS_STRUCT</a> <a id="33c25" class="tk">sensors</a> = <span class="br">{</span></td></tr> +<tr name="34" id="34"> +<td>34</td><td> <span class="br">{</span></td></tr> +<tr name="35" id="35"> +<td>35</td><td> 0U, 0U <span class="br">}</span></td></tr> +<tr name="36" id="36"> +<td>36</td><td> , <span class="ct">/* adc_phase_currents */</span></td></tr> +<tr name="37" id="37"> +<td>37</td><td> 0U, <span class="ct">/* encoder_valid */</span></td></tr> +<tr name="38" id="38"> +<td>38</td><td> 0U <span class="ct">/* encoder_counter */</span></td></tr> +<tr name="39" id="39"> +<td>39</td><td> <span class="br">}</span> ;</td></tr> +<tr name="40" id="40"> +<td>40</td><td></td></tr> +<tr name="41" id="41"> +<td>41</td><td> <span class="ct">/* '<a class="ct blk" blk_line="41"><Root>/error</a>' */</span></td></tr> +<tr name="42" id="42"> +<td>42</td><td> <span class="kw">static</span> <a id="42c10" class="tk">EnumErrorType</a> <a id="42c24" class="tk">error</a>;</td></tr> +<tr name="43" id="43"> +<td>43</td><td></td></tr> +<tr name="44" id="44"> +<td>44</td><td> <span class="ct">/* '<a class="ct blk" blk_line="44"><Root>/pwm_compare</a>' */</span></td></tr> +<tr name="45" id="45"> +<td>45</td><td> <span class="kw">static</span> <a id="45c10" class="tk">uint16_T</a> <a id="45c19" class="tk">pwm_compare</a>[3];</td></tr> +<tr name="46" id="46"> +<td>46</td><td></td></tr> +<tr name="47" id="47"> +<td>47</td><td> <span class="ct">/* Check for overrun. Protect OverrunFlag against preemption */</span></td></tr> +<tr name="48" id="48"> +<td>48</td><td> <span class="kw">if</span> (<a id="48c7" class="tk">OverrunFlag</a>++) <span class="br">{</span></td></tr> +<tr name="49" id="49"> +<td>49</td><td> <a id="49c5" class="tk">IsrOverrun</a> = 1;</td></tr> +<tr name="50" id="50"> +<td>50</td><td> <a id="50c5" class="tk">OverrunFlag</a>--;</td></tr> +<tr name="51" id="51"> +<td>51</td><td> <span class="kw">return</span>;</td></tr> +<tr name="52" id="52"> +<td>52</td><td> <span class="br">}</span></td></tr> +<tr name="53" id="53"> +<td>53</td><td></td></tr> +<tr name="54" id="54"> +<td>54</td><td> <a id="54c3" class="tk">__enable_irq</a>();</td></tr> +<tr name="55" id="55"> +<td>55</td><td> <a id="55c3" class="tk">error</a> = <a id="55c11" class="tk">Controller</a>(<a id="55c22" class="tk">motor_on</a>, <a id="55c32" class="tk">command_type</a>, <a id="55c46" class="tk">current_request</a>, &<a id="55c64" class="tk">sensors</a>,</td></tr> +<tr name="56" id="56"> +<td>56</td><td> <a id="56c22" class="tk">pwm_compare</a>);</td></tr> +<tr name="57" id="57"> +<td>57</td><td></td></tr> +<tr name="58" id="58"> +<td>58</td><td> <span class="ct">/* Get model outputs here */</span></td></tr> +<tr name="59" id="59"> +<td>59</td><td> <a id="59c3" class="tk">__disable_irq</a>();</td></tr> +<tr name="60" id="60"> +<td>60</td><td> <a id="60c3" class="tk">OverrunFlag</a>--;</td></tr> +<tr name="61" id="61"> +<td>61</td><td><span class="br">}</span></td></tr> +<tr name="62" id="62"> +<td>62</td><td></td></tr> +<tr name="63" id="63"> +<td>63</td><td><span class="kw">int</span> <a id="63c5" class="tk">main</a>(<span class="kw">void</span>)</td></tr> +<tr name="64" id="64"> +<td>64</td><td><span class="br">{</span></td></tr> +<tr name="65" id="65"> +<td>65</td><td> <span class="kw">volatile</span> <a id="65c12" class="tk">boolean_T</a> <a id="65c22" class="tk">runModel</a> = 1;</td></tr> +<tr name="66" id="66"> +<td>66</td><td> <span class="kw">float</span> <a id="66c9" class="tk">modelBaseRate</a> = 4.0E-5;</td></tr> +<tr name="67" id="67"> +<td>67</td><td> <span class="kw">float</span> <a id="67c9" class="tk">systemClock</a> = 48;</td></tr> +<tr name="68" id="68"> +<td>68</td><td> ((<span class="kw">void</span>) 0);</td></tr> +<tr name="69" id="69"> +<td>69</td><td> <a id="69c3" class="tk">Controller_Init</a>();</td></tr> +<tr name="70" id="70"> +<td>70</td><td> <a id="70c3" class="tk">ARMCM_SysTick_Config</a>(<a id="70c24" class="tk">modelBaseRate</a>);</td></tr> +<tr name="71" id="71"> +<td>71</td><td> <a id="71c3" class="tk">runModel</a> =</td></tr> +<tr name="72" id="72"> +<td>72</td><td> ((<span class="kw">void</span>*) 0) == (<a id="72c21" class="tk">NULL</a>);</td></tr> +<tr name="73" id="73"> +<td>73</td><td> <a id="73c3" class="tk">__enable_irq</a>();</td></tr> +<tr name="74" id="74"> +<td>74</td><td> ;</td></tr> +<tr name="75" id="75"> +<td>75</td><td> <span class="kw">while</span> (<a id="75c10" class="tk">runModel</a>) <span class="br">{</span></td></tr> +<tr name="76" id="76"> +<td>76</td><td> <a id="76c5" class="tk">runModel</a> =</td></tr> +<tr name="77" id="77"> +<td>77</td><td> ((<span class="kw">void</span>*) 0) == (<a id="77c23" class="tk">NULL</a>);</td></tr> +<tr name="78" id="78"> +<td>78</td><td> <span class="br">}</span></td></tr> +<tr name="79" id="79"> +<td>79</td><td></td></tr> +<tr name="80" id="80"> +<td>80</td><td> <span class="ct">/* Disable rt_OneStep() here */</span></td></tr> +<tr name="81" id="81"> +<td>81</td><td><span class="pp">#ifdef</span> <a id="81c8" class="tk">EXT_MODE</a></td></tr> +<tr name="82" id="82"> +<td>82</td><td></td></tr> +<tr name="83" id="83"> +<td>83</td><td> <a id="83c3" class="tk">wait_ms</a>(1000);</td></tr> +<tr name="84" id="84"> +<td>84</td><td></td></tr> +<tr name="85" id="85"> +<td>85</td><td><span class="pp">#endif</span></td></tr> +<tr name="86" id="86"> +<td>86</td><td></td></tr> +<tr name="87" id="87"> +<td>87</td><td> (<span class="kw">void</span>) <a id="87c10" class="tk">systemClock</a>;</td></tr> +<tr name="88" id="88"> +<td>88</td><td> <span class="kw">return</span> 0;</td></tr> +<tr name="89" id="89"> +<td>89</td><td><span class="br">}</span></td></tr> +<tr name="90" id="90"> +<td>90</td><td></td></tr> +<tr name="91" id="91"> +<td>91</td><td><span class="ct">/*</span></td></tr> +<tr name="92" id="92"> +<td>92</td><td><span class="ct"> * File trailer for generated code.</span></td></tr> +<tr name="93" id="93"> +<td>93</td><td><span class="ct"> *</span></td></tr> +<tr name="94" id="94"> +<td>94</td><td><span class="ct"> * [EOF]</span></td></tr> +<tr name="95" id="95"> +<td>95</td><td><span class="ct"> */</span></td></tr> +<tr name="96" id="96"> +<td>96</td><td></td></tr> +</table> +</pre> +</body> +</html>
diff -r 83374f658183 -r bbc155b0b886 html/html/hilite_warning.png Binary file html/html/hilite_warning.png has changed
diff -r 83374f658183 -r bbc155b0b886 html/html/inspect.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/html/html/inspect.html Tue Nov 25 07:52:02 2014 +0000 @@ -0,0 +1,33 @@ +<!DOCTYPE html> +<html> +<head> + <link rel="stylesheet" type="text/css" href="rtwreport.css" /> + <link rel="stylesheet" type="text/css" href="css/coder_app.css" /> + <style type="text/css"> + div#popup_window { + position: relative; + background-color: ghostwhite; + border-radius: 0px; + -moz-box-shadow: none; + -webkit-box-shadow: none; + box-shadow: none; + } + div#popup_window a { + text-decoration: underline; + color: blue; + } + div#token_usage_nav { + border-bottom: none; + } + </style> +</head> +<body class="inspect_body" onresize="top.resize_Inspect_frame();"> +<table width="100%"> + <col style="width: 95%;"><col style="width: 5%"> + <tr><td><div id="popup_window"></div></td> + <td align="right"><div><a onclick="top.closeInspectWindow();" class="closeButton">x</a></div></td> + </tr> +</table></body></html> + +<!-- LocalWords: ghostwhite +-->
diff -r 83374f658183 -r bbc155b0b886 html/html/js/coder_app.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/html/html/js/coder_app.js Tue Nov 25 07:52:02 2014 +0000 @@ -0,0 +1,285 @@ +/* Copyright 2013-2014 The MathWorks, Inc. */ +function queryByClassName(className, elem) { + if (!elem) elem = document.body; + if (typeof elem.querySelectorAll === "function") { + return elem.querySelectorAll("."+className); + } else { + return elem.getElementsByClass(className); + } +} + +function nav_token_usage_details(direction) { + var els = queryByClassName("token_usage_details_tabrow"); + var selectedIdx = 0; + var selectedClassName = "selected"; + for (selectedIdx; selectedIdx < els.length; selectedIdx++) { + if (els[selectedIdx].classList.contains(selectedClassName)) { + break; + } + } + var nextIdx = selectedIdx; + if (direction === -1 && selectedIdx > 0) { + nextIdx = selectedIdx-1; + } else if (direction === 1 && selectedIdx < els.length - 1) { + nextIdx = selectedIdx + 1; + } + if (nextIdx !== selectedIdx) { + els[selectedIdx].classList.remove(selectedClassName); + els[nextIdx].classList.add(selectedClassName); + els[nextIdx].scrollIntoView(alignWithTop=false); + } + return false; +} + +function tabrowClicked(event) { +} + +function popupOnload() { + var els = queryByClassName("token_usage_details_tabrow"); + for (var i=0; i<els.length; i++) { + els[i].onclick= tabrowClicked; + } +}; + +function tokenOnRightclick(event) { + var filename = location.pathname.split(/\//); + filename = filename[filename.length-1]; + top.inspectToken(filename, location.pathname, event); + top.hiliteClickedToken(event.currentTarget); + return false; +} + +function tokenOnclick(event) { + tokenOnRightclick(event); + if (event.currentTarget.href.length !== 0 && event.currentTarget.href.protocol !== "matlab:") { + top.tokenLinkOnClick(event); + return true; + } + return false; +}; + +function tokenOnMouseOver(event) { + var filename = location.pathname.split(/\//); + filename = filename[filename.length-1]; + createPopup(filename, event); +}; +function tokenOnMouseOut(event) { + destroyPopup(event.currentTarget); +}; + +function blkLinkOnClick(event) { + top.hiliteClickedToken(event.currentTarget); + return true; +} + +// remove the code table; update tokens; insert back +function updateToken(codeElement) { + var filename = location.pathname.split(/\//); + filename = filename[filename.length-1]; + var srcFilename; + if (top.RTW_TraceInfo) { + srcFilename = top.RTW_TraceInfo.toSrcFileName(filename); + } + var els = queryByClassName("tk", codeElement); + var elem; + var hasTraceFlag = null; + if (top.TraceInfoFlag && top.TraceInfoFlag.instance) + hasTraceFlag = top.TraceInfoFlag.instance.traceFlag; + else + hasTraceFlag = false; + var defObj; + var traceObj; + var codeDef = (top.CodeDefine && top.CodeDefine.instance) ? top.CodeDefine.instance : null; + var aLink = top.document.createElement("a"); + if (hasTraceFlag || (top.CodeDefine && top.CodeDefine.instance)) { + for (var i=0; i<els.length; i++) { + defObj = (codeDef) ? codeDef.def[els[i].text] : null; + traceObj = hasTraceFlag && hasTraceFlag[srcFilename+":"+els[i].id]; + if (traceObj || defObj) { + els[i].onclick= tokenOnclick; + els[i].oncontextmenu= tokenOnRightclick; + els[i].onmouseover = tokenOnMouseOver; + els[i].onmouseout = tokenOnMouseOut; + els[i].className += " active"; + els[i].target = "rtwreport_document_frame"; + if (traceObj && top.reportModel) { + els[i].href = "matlab:rtw.report.code2model(\'" + top.reportModel + + "\',\'" + location.pathname + "\',\'" + els[i].id + "')"; + } else { + aLink.href = defObj.file; + els[i].href = aLink.pathname + "#" + defObj.line; + } + } + } + } + // update block path link in comments + els = queryByClassName("blk", codeElement); + var lineSid = null; + if (top.RTW_rtwnameSIDMap && top.RTW_rtwnameSIDMap.instance) { + for (var i=0; i<els.length; i++) { + lineSid = top.RTW_rtwnameSIDMap.instance.getSID(els[i].text); + if (lineSid) { + els[i].href = "matlab:coder.internal.code2model('" + lineSid.sid + "');"; + els[i].id = "blkLink_" + i; + els[i].onclick = blkLinkOnClick; + els[i].className += " blk_active"; + } + } + } + // update requirement link in comments + els = queryByClassName("req", codeElement); + if (top.RTW_rtwnameSIDMap && top.RTW_rtwnameSIDMap.instance) { + for (var i=0; i<els.length; i++) { + lineSid = top.RTW_rtwnameSIDMap.instance.getSID(els[i].getAttribute("blockpath")); + if (lineSid) { + var req_id = els[i].getAttribute("req_id"); + els[i].href = "matlab:rtw.report.code2req('" + lineSid.sid + "'," + req_id + ");"; + els[i].id = "req_" + i; + els[i].onclick = top.reqOnClick; + els[i].className += " req_active"; + } + } + } + + // add link to source file + if (top.Html2SrcLink && top.Html2SrcLink.instance) { + filename = top.rtwGetFileName(location.href); + var link2Src = top.Html2SrcLink.instance.getLink2Src(filename); + var link = document.createElement("h4"); + link.innerHTML = "File: <a href=\"" + link2Src + + "\" target = \"rtwreport_document_frame\" id=\"linkToText_plain\">" + + top.rtwGetFileName(link2Src) + "</a>"; + var bodyNode = document.body; + bodyNode.insertBefore(link, bodyNode.firstElementChild); + } + top.updateHyperlinks(); +} +function getInsertFunction(element) { + var parentNode = element.parentNode; + var nextSibling = element.nextSibling; + parentNode.removeChild(element); + var spinner = document.createElement("img"); + spinner.src = "spinner.gif"; + parentNode.appendChild(spinner); + return function() { + if (spinner) { + parentNode.removeChild(spinner); + } + if (nextSibling) { + parentNode.insertBefore(element, nextSibling); + } else { + parentNode.appendChild(element); + } + }; +} + +// the onload function for source file +function srcFileOnload() { + var codeElement = document.getElementById("codeTbl"); + var insertFunction = getInsertFunction(codeElement); + try { + updateToken(codeElement); + } catch (err) {}; + insertFunction(); + // add code to model hyperlinks for all tokens + var filename = location.pathname.split(/\//); + filename = filename[filename.length-1]; + // highlight the filename in the TOC frame + if (top.rtwreport_contents_frame && top.hiliteByFileName(top.rtwreport_document_frame.document.location.href)) { + // remove the highlights in the TOC frame if filename is hilite successfully + top.removeHiliteTOC(top.rtwreport_contents_frame); + } + + // annotate code with code coverage data + if (typeof rtwannotate === 'function') { + rtwannotate(filename.replace(/.html$/,"_cov.xml")); + } + + // highlight token and row + if (top.RTW_TraceInfo.instance && top.RTW_TraceArgs.instance) { + var i; + // find the highlight file name + var fileIdx = top.RTW_TraceArgs.instance.getFileIdx(filename); + var ids=[], rows=[]; + if (typeof fileIdx !== "undefined") { + ids = top.RTW_TraceArgs.instance.getIDs(fileIdx); + rows = top.RTW_TraceArgs.instance.getRows(fileIdx); + // highlight rows in file + for (i=0; i<rows.length;i++) { + elem = top.rtwreport_document_frame.document.getElementById(rows[i]); + if (elem) elem.className += " hilite"; + } + // highlight tokens in file + if (top.GlobalConfig.hiliteToken) { + for (i=0; i<ids.length;i++) { + elem = top.rtwreport_document_frame.document.getElementById(ids[i]); + if (elem) elem.className += " hilite"; + } + } + } // end of if current file has highlighted lines + + // if the loaded file is not currFile, call setInitLocation + var currFileIdx = top.RTW_TraceInfo.instance.getCurrFileIdx(); + var myFileIdx = top.RTW_TraceInfo.instance.getFileIdx(filename); + // update navigation status if the file is loaded first time + if (currFileIdx !== myFileIdx && document.location.hash === "") { + if (rows.length > 0) + top.RTW_TraceInfo.instance.setInitLocation(filename,rows[0]); + else { + top.toggleNavSideBar("off"); + return; + } + } + + // display navigation side bar + if (top.rtwreport_nav_frame) top.rtwreport_nav_frame.location.reload(); + if (rows.length>0) { + top.toggleNavSideBar("on"); + top.toggleNavToolBar("on"); + } else { + top.toggleNavSideBar("off"); + } + } + top.scrollToLineBasedOnHash(document.location.hash); + function getHash() { + var loc; + var aHash=""; + var topDocObj = top.window.document; + // get the hash value from location. + loc = topDocObj.location; + loc = loc.search || loc.hash; + aHash = loc.substring(1); + aHash = decodeURI(aHash); + return aHash; + } +} + +function createPopup(filename, evt) { + var anchorObj = evt.currentTarget; + if (anchorObj.children.length > 0) + return; + var filename = location.pathname.split(/\//); + filename = filename[filename.length-1]; + var windowObj = top.getInspectWindow(); + var propObj = top.getInspectData(filename, anchorObj); + var navObj = top.getInspectLink(filename, location.pathname, anchorObj); + if (propObj) { + windowObj.appendChild(propObj); + windowObj.style.left = "0px"; + if (anchorObj.parentElement.nodeName === "TD" && + anchorObj.parentElement.parentElement.nodeName === "TR") { + anchorObj.parentElement.parentElement.lastChild.insertBefore(windowObj, + anchorObj.parentElement.parentElement.lastChild.lastChild.nextSibling); + var left = Math.min(evt.clientX , window.innerWidth - windowObj.scrollWidth - 30); + left = Math.max(0, left); + windowObj.style.left = "" + left + "px"; + } + } +}; + +function destroyPopup(anchorObj) { + var popWindow = document.getElementById("popup_window"); + if (popWindow) { + popWindow.parentElement.removeChild(popWindow); + } +};
diff -r 83374f658183 -r bbc155b0b886 html/html/mw_cmsis_h.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/html/html/mw_cmsis_h.html Tue Nov 25 07:52:02 2014 +0000 @@ -0,0 +1,166 @@ +<!DOCTYPE html> +<html> +<head> +<script type="text/javascript" src="./js/coder_app.js"></script> +<meta http-equiv="content-type" content="text/html; charset=utf-8" /> +<script type="text/javascript" src="./rtwreport_utils.js"></script> +<script type="text/javascript" src="./rtwannotate.js"></script> +<link rel="stylesheet" type="text/css" href="./css/coder_app.css"/> +</head> +<body onload="srcFileOnload();"> +<pre id="code"> +<table class="code" id="codeTbl"> +<tr name="1" id="1"> +<td>1</td><td><span class="ct">/* Copyright 2013-2014 The MathWorks, Inc. */</span></td></tr> +<tr name="2" id="2"> +<td>2</td><td></td></tr> +<tr name="3" id="3"> +<td>3</td><td><span class="ct">/****************************************************</span></td></tr> +<tr name="4" id="4"> +<td>4</td><td><span class="ct">* * </span></td></tr> +<tr name="5" id="5"> +<td>5</td><td><span class="ct">* wrapper fuctions for CMSIS functions *</span></td></tr> +<tr name="6" id="6"> +<td>6</td><td><span class="ct">* * </span></td></tr> +<tr name="7" id="7"> +<td>7</td><td><span class="ct">****************************************************/</span></td></tr> +<tr name="8" id="8"> +<td>8</td><td></td></tr> +<tr name="9" id="9"> +<td>9</td><td><span class="pp">#ifndef</span> <a id="9c9" class="tk">MW_CMSIS_H</a></td></tr> +<tr name="10" id="10"> +<td>10</td><td><span class="pp">#define</span> <a id="10c9" class="tk">MW_CMSIS_H</a></td></tr> +<tr name="11" id="11"> +<td>11</td><td></td></tr> +<tr name="12" id="12"> +<td>12</td><td><span class="pp">#include "arm_math.h"</span></td></tr> +<tr name="13" id="13"> +<td>13</td><td></td></tr> +<tr name="14" id="14"> +<td>14</td><td><span class="pp">#define</span> <a id="14c9" class="tk">mw_arm_abs_f32</a>(<a id="14c24" class="tk">pSrc</a>, <a id="14c30" class="tk">pDst</a>, <a id="14c36" class="tk">blockSize</a>) <a id="14c47" class="tk">arm_abs_f32</a>((<a id="14c60" class="tk">float32_t</a> *)<a id="14c72" class="tk">pSrc</a>, (<a id="14c79" class="tk">float32_t</a> *)<a id="14c91" class="tk">pDst</a>, <a id="14c97" class="tk">blockSize</a>)</td></tr> +<tr name="15" id="15"> +<td>15</td><td><span class="pp">#define</span> <a id="15c9" class="tk">mw_arm_abs_q7</a>(<a id="15c23" class="tk">pSrc</a>, <a id="15c29" class="tk">pDst</a>, <a id="15c35" class="tk">blockSize</a>) <a id="15c46" class="tk">arm_abs_q7</a>((<a id="15c58" class="tk">q7_t</a> *)<a id="15c65" class="tk">pSrc</a>, (<a id="15c72" class="tk">q7_t</a> *)<a id="15c79" class="tk">pDst</a>, <a id="15c85" class="tk">blockSize</a>) </td></tr> +<tr name="16" id="16"> +<td>16</td><td><span class="pp">#define</span> <a id="16c9" class="tk">mw_arm_abs_q15</a>(<a id="16c24" class="tk">pSrc</a>, <a id="16c30" class="tk">pDst</a>, <a id="16c36" class="tk">blockSize</a>) <a id="16c47" class="tk">arm_abs_q15</a>((<a id="16c60" class="tk">q15_t</a> *)<a id="16c68" class="tk">pSrc</a>, (<a id="16c75" class="tk">q15_t</a> *)<a id="16c83" class="tk">pDst</a>, <a id="16c89" class="tk">blockSize</a>) </td></tr> +<tr name="17" id="17"> +<td>17</td><td><span class="pp">#define</span> <a id="17c9" class="tk">mw_arm_abs_q31</a>(<a id="17c24" class="tk">pSrc</a>, <a id="17c30" class="tk">pDst</a>, <a id="17c36" class="tk">blockSize</a>) <a id="17c47" class="tk">arm_abs_q31</a>((<a id="17c60" class="tk">q31_t</a> *)<a id="17c68" class="tk">pSrc</a>, (<a id="17c75" class="tk">q31_t</a> *)<a id="17c83" class="tk">pDst</a>, <a id="17c89" class="tk">blockSize</a>) </td></tr> +<tr name="18" id="18"> +<td>18</td><td></td></tr> +<tr name="19" id="19"> +<td>19</td><td><span class="pp">#define</span> <a id="19c9" class="tk">mw_arm_sqrt_q15</a>(<a id="19c25" class="tk">in</a>, <a id="19c29" class="tk">pOut</a>) <a id="19c35" class="tk">arm_sqrt_q15</a>((<a id="19c49" class="tk">q15_t</a>)<a id="19c55" class="tk">in</a>,(<a id="19c59" class="tk">q15_t</a> *)<a id="19c67" class="tk">pOut</a>)</td></tr> +<tr name="20" id="20"> +<td>20</td><td><span class="pp">#define</span> <a id="20c9" class="tk">mw_arm_sqrt_q31</a>(<a id="20c25" class="tk">in</a>, <a id="20c29" class="tk">pOut</a>) <a id="20c35" class="tk">arm_sqrt_q31</a>((<a id="20c49" class="tk">q31_t</a>)<a id="20c55" class="tk">in</a>,(<a id="20c59" class="tk">q31_t</a> *)<a id="20c67" class="tk">pOut</a>)</td></tr> +<tr name="21" id="21"> +<td>21</td><td><span class="pp">#define</span> <a id="21c9" class="tk">mw_arm_sqrt_f32</a>(<a id="21c25" class="tk">in</a>, <a id="21c29" class="tk">pOut</a>) <a id="21c35" class="tk">arm_sqrt_f32</a>((<a id="21c49" class="tk">float32_t</a>)<a id="21c59" class="tk">in</a>,(<a id="21c63" class="tk">float32_t</a> *)<a id="21c75" class="tk">pOut</a>)</td></tr> +<tr name="22" id="22"> +<td>22</td><td></td></tr> +<tr name="23" id="23"> +<td>23</td><td><span class="pp">#define</span> <a id="23c9" class="tk">mw_arm_float_to_q31</a>(<a id="23c29" class="tk">pSrc</a>, <a id="23c35" class="tk">pDst</a>, <a id="23c41" class="tk">blockSize</a>) <a id="23c52" class="tk">arm_float_to_q31</a>((<a id="23c70" class="tk">float32_t</a> *)<a id="23c82" class="tk">pSrc</a>, (<a id="23c89" class="tk">q31_t</a> *)<a id="23c97" class="tk">pDst</a>, <a id="23c103" class="tk">blockSize</a>)</td></tr> +<tr name="24" id="24"> +<td>24</td><td><span class="pp">#define</span> <a id="24c9" class="tk">mw_arm_float_to_q15</a>(<a id="24c29" class="tk">pSrc</a>, <a id="24c35" class="tk">pDst</a>, <a id="24c41" class="tk">blockSize</a>) <a id="24c52" class="tk">arm_float_to_q15</a>((<a id="24c70" class="tk">float32_t</a> *)<a id="24c82" class="tk">pSrc</a>, (<a id="24c89" class="tk">q15_t</a> *)<a id="24c97" class="tk">pDst</a>, <a id="24c103" class="tk">blockSize</a>)</td></tr> +<tr name="25" id="25"> +<td>25</td><td><span class="pp">#define</span> <a id="25c9" class="tk">mw_arm_float_to_q7</a>(<a id="25c28" class="tk">pSrc</a>, <a id="25c34" class="tk">pDst</a>, <a id="25c40" class="tk">blockSize</a>) <a id="25c51" class="tk">arm_float_to_q7</a>((<a id="25c68" class="tk">float32_t</a> *)<a id="25c80" class="tk">pSrc</a>, (<a id="25c87" class="tk">q7_t</a> *)<a id="25c94" class="tk">pDst</a>, <a id="25c100" class="tk">blockSize</a>)</td></tr> +<tr name="26" id="26"> +<td>26</td><td></td></tr> +<tr name="27" id="27"> +<td>27</td><td><span class="pp">#define</span> <a id="27c9" class="tk">mw_arm_q15_to_float</a>(<a id="27c29" class="tk">pSrc</a>, <a id="27c35" class="tk">pDst</a>, <a id="27c41" class="tk">blockSize</a>) <a id="27c52" class="tk">arm_q15_to_float</a>((<a id="27c70" class="tk">q15_t</a> *)<a id="27c78" class="tk">pSrc</a>, (<a id="27c85" class="tk">float32_t</a> *)<a id="27c97" class="tk">pDst</a>, <a id="27c103" class="tk">blockSize</a>)</td></tr> +<tr name="28" id="28"> +<td>28</td><td><span class="pp">#define</span> <a id="28c9" class="tk">mw_arm_q15_to_q31</a>(<a id="28c27" class="tk">pSrc</a>, <a id="28c33" class="tk">pDst</a>, <a id="28c39" class="tk">blockSize</a>) <a id="28c50" class="tk">arm_q15_to_q31</a>((<a id="28c66" class="tk">q15_t</a> *)<a id="28c74" class="tk">pSrc</a>, (<a id="28c81" class="tk">q31_t</a> *)<a id="28c89" class="tk">pDst</a>, <a id="28c95" class="tk">blockSize</a>)</td></tr> +<tr name="29" id="29"> +<td>29</td><td><span class="pp">#define</span> <a id="29c9" class="tk">mw_arm_q15_to_q7</a>(<a id="29c26" class="tk">pSrc</a>, <a id="29c32" class="tk">pDst</a>, <a id="29c38" class="tk">blockSize</a>) <a id="29c49" class="tk">arm_q15_to_q7</a>((<a id="29c64" class="tk">q15_t</a> *)<a id="29c72" class="tk">pSrc</a>, (<a id="29c79" class="tk">q7_t</a> *)<a id="29c86" class="tk">pDst</a>, <a id="29c92" class="tk">blockSize</a>)</td></tr> +<tr name="30" id="30"> +<td>30</td><td></td></tr> +<tr name="31" id="31"> +<td>31</td><td><span class="pp">#define</span> <a id="31c9" class="tk">mw_arm_q31_to_float</a>(<a id="31c29" class="tk">pSrc</a>, <a id="31c35" class="tk">pDst</a>, <a id="31c41" class="tk">blockSize</a>) <a id="31c52" class="tk">arm_q31_to_float</a>((<a id="31c70" class="tk">q31_t</a> *)<a id="31c78" class="tk">pSrc</a>, (<a id="31c85" class="tk">float32_t</a> *)<a id="31c97" class="tk">pDst</a>, <a id="31c103" class="tk">blockSize</a>)</td></tr> +<tr name="32" id="32"> +<td>32</td><td><span class="pp">#define</span> <a id="32c9" class="tk">mw_arm_q31_to_q15</a>(<a id="32c27" class="tk">pSrc</a>, <a id="32c33" class="tk">pDst</a>, <a id="32c39" class="tk">blockSize</a>) <a id="32c50" class="tk">arm_q31_to_q15</a>((<a id="32c66" class="tk">q31_t</a> *)<a id="32c74" class="tk">pSrc</a>, (<a id="32c81" class="tk">q15_t</a> *)<a id="32c89" class="tk">pDst</a>, <a id="32c95" class="tk">blockSize</a>)</td></tr> +<tr name="33" id="33"> +<td>33</td><td><span class="pp">#define</span> <a id="33c9" class="tk">mw_arm_q31_to_q7</a>(<a id="33c26" class="tk">pSrc</a>, <a id="33c32" class="tk">pDst</a>, <a id="33c38" class="tk">blockSize</a>) <a id="33c49" class="tk">arm_q31_to_q7</a>((<a id="33c64" class="tk">q31_t</a> *)<a id="33c72" class="tk">pSrc</a>, (<a id="33c79" class="tk">q7_t</a> *)<a id="33c86" class="tk">pDst</a>, <a id="33c92" class="tk">blockSize</a>)</td></tr> +<tr name="34" id="34"> +<td>34</td><td></td></tr> +<tr name="35" id="35"> +<td>35</td><td><span class="pp">#define</span> <a id="35c9" class="tk">mw_arm_q7_to_float</a>(<a id="35c28" class="tk">pSrc</a>, <a id="35c34" class="tk">pDst</a>, <a id="35c40" class="tk">blockSize</a>) <a id="35c51" class="tk">arm_q7_to_float</a>((<a id="35c68" class="tk">q7_t</a> *)<a id="35c75" class="tk">pSrc</a>, (<a id="35c82" class="tk">float32_t</a> *)<a id="35c94" class="tk">pDst</a>, <a id="35c100" class="tk">blockSize</a>)</td></tr> +<tr name="36" id="36"> +<td>36</td><td><span class="pp">#define</span> <a id="36c9" class="tk">mw_arm_q7_to_q31</a>(<a id="36c26" class="tk">pSrc</a>, <a id="36c32" class="tk">pDst</a>, <a id="36c38" class="tk">blockSize</a>) <a id="36c49" class="tk">arm_q7_to_q31</a>((<a id="36c64" class="tk">q7_t</a> *)<a id="36c71" class="tk">pSrc</a>, (<a id="36c78" class="tk">q31_t</a> *)<a id="36c86" class="tk">pDst</a>, <a id="36c92" class="tk">blockSize</a>)</td></tr> +<tr name="37" id="37"> +<td>37</td><td><span class="pp">#define</span> <a id="37c9" class="tk">mw_arm_q7_to_q15</a>(<a id="37c26" class="tk">pSrc</a>, <a id="37c32" class="tk">pDst</a>, <a id="37c38" class="tk">blockSize</a>) <a id="37c49" class="tk">arm_q7_to_q15</a>((<a id="37c64" class="tk">q7_t</a> *)<a id="37c71" class="tk">pSrc</a>, (<a id="37c78" class="tk">q15_t</a> *)<a id="37c86" class="tk">pDst</a>, <a id="37c92" class="tk">blockSize</a>)</td></tr> +<tr name="38" id="38"> +<td>38</td><td></td></tr> +<tr name="39" id="39"> +<td>39</td><td><span class="pp">#define</span> <a id="39c9" class="tk">mw_arm_add_f32</a>(<a id="39c24" class="tk">pSrcA</a>, <a id="39c31" class="tk">pSrcB</a>, <a id="39c38" class="tk">pDst</a>, <a id="39c44" class="tk">blockSize</a>) <a id="39c55" class="tk">arm_add_f32</a>((<a id="39c68" class="tk">float32_t</a> *)<a id="39c80" class="tk">pSrcA</a>, (<a id="39c88" class="tk">float32_t</a> *)<a id="39c100" class="tk">pSrcB</a>, (<a id="39c108" class="tk">float32_t</a> *)<a id="39c120" class="tk">pDst</a>, <a id="39c126" class="tk">blockSize</a>)</td></tr> +<tr name="40" id="40"> +<td>40</td><td><span class="pp">#define</span> <a id="40c9" class="tk">mw_arm_add_q31</a>(<a id="40c24" class="tk">pSrcA</a>, <a id="40c31" class="tk">pSrcB</a>, <a id="40c38" class="tk">pDst</a>, <a id="40c44" class="tk">blockSize</a>) <a id="40c55" class="tk">arm_add_q31</a>((<a id="40c68" class="tk">q31_t</a> *)<a id="40c76" class="tk">pSrcA</a>, (<a id="40c84" class="tk">q31_t</a> *)<a id="40c92" class="tk">pSrcB</a>, (<a id="40c100" class="tk">q31_t</a> *)<a id="40c108" class="tk">pDst</a>, <a id="40c114" class="tk">blockSize</a>)</td></tr> +<tr name="41" id="41"> +<td>41</td><td><span class="pp">#define</span> <a id="41c9" class="tk">mw_arm_add_q15</a>(<a id="41c24" class="tk">pSrcA</a>, <a id="41c31" class="tk">pSrcB</a>, <a id="41c38" class="tk">pDst</a>, <a id="41c44" class="tk">blockSize</a>) <a id="41c55" class="tk">arm_add_q15</a>((<a id="41c68" class="tk">q15_t</a> *)<a id="41c76" class="tk">pSrcA</a>, (<a id="41c84" class="tk">q15_t</a> *)<a id="41c92" class="tk">pSrcB</a>, (<a id="41c100" class="tk">q15_t</a> *)<a id="41c108" class="tk">pDst</a>, <a id="41c114" class="tk">blockSize</a>)</td></tr> +<tr name="42" id="42"> +<td>42</td><td><span class="pp">#define</span> <a id="42c9" class="tk">mw_arm_add_q7</a>(<a id="42c23" class="tk">pSrcA</a>, <a id="42c30" class="tk">pSrcB</a>, <a id="42c37" class="tk">pDst</a>, <a id="42c43" class="tk">blockSize</a>) <a id="42c55" class="tk">arm_add_q7</a>((<a id="42c67" class="tk">q7_t</a> *)<a id="42c74" class="tk">pSrcA</a>, (<a id="42c82" class="tk">q7_t</a> *)<a id="42c89" class="tk">pSrcB</a>, (<a id="42c97" class="tk">q7_t</a> *)<a id="42c104" class="tk">pDst</a>, <a id="42c110" class="tk">blockSize</a>)</td></tr> +<tr name="43" id="43"> +<td>43</td><td></td></tr> +<tr name="44" id="44"> +<td>44</td><td><span class="pp">#define</span> <a id="44c9" class="tk">mw_arm_sub_f32</a>(<a id="44c24" class="tk">pSrcA</a>, <a id="44c31" class="tk">pSrcB</a>, <a id="44c38" class="tk">pDst</a>, <a id="44c44" class="tk">blockSize</a>) <a id="44c55" class="tk">arm_sub_f32</a>((<a id="44c68" class="tk">float32_t</a> *)<a id="44c80" class="tk">pSrcA</a>, (<a id="44c88" class="tk">float32_t</a> *)<a id="44c100" class="tk">pSrcB</a>, (<a id="44c108" class="tk">float32_t</a> *)<a id="44c120" class="tk">pDst</a>, <a id="44c126" class="tk">blockSize</a>)</td></tr> +<tr name="45" id="45"> +<td>45</td><td><span class="pp">#define</span> <a id="45c9" class="tk">mw_arm_sub_q31</a>(<a id="45c24" class="tk">pSrcA</a>, <a id="45c31" class="tk">pSrcB</a>, <a id="45c38" class="tk">pDst</a>, <a id="45c44" class="tk">blockSize</a>) <a id="45c55" class="tk">arm_sub_q31</a>((<a id="45c68" class="tk">q31_t</a> *)<a id="45c76" class="tk">pSrcA</a>, (<a id="45c84" class="tk">q31_t</a> *)<a id="45c92" class="tk">pSrcB</a>, (<a id="45c100" class="tk">q31_t</a> *)<a id="45c108" class="tk">pDst</a>, <a id="45c114" class="tk">blockSize</a>)</td></tr> +<tr name="46" id="46"> +<td>46</td><td><span class="pp">#define</span> <a id="46c9" class="tk">mw_arm_sub_q15</a>(<a id="46c24" class="tk">pSrcA</a>, <a id="46c31" class="tk">pSrcB</a>, <a id="46c38" class="tk">pDst</a>, <a id="46c44" class="tk">blockSize</a>) <a id="46c55" class="tk">arm_sub_q15</a>((<a id="46c68" class="tk">q15_t</a> *)<a id="46c76" class="tk">pSrcA</a>, (<a id="46c84" class="tk">q15_t</a> *)<a id="46c92" class="tk">pSrcB</a>, (<a id="46c100" class="tk">q15_t</a> *)<a id="46c108" class="tk">pDst</a>, <a id="46c114" class="tk">blockSize</a>)</td></tr> +<tr name="47" id="47"> +<td>47</td><td><span class="pp">#define</span> <a id="47c9" class="tk">mw_arm_sub_q7</a>(<a id="47c23" class="tk">pSrcA</a>, <a id="47c30" class="tk">pSrcB</a>, <a id="47c37" class="tk">pDst</a>, <a id="47c43" class="tk">blockSize</a>) <a id="47c55" class="tk">arm_sub_q7</a>((<a id="47c67" class="tk">q7_t</a> *)<a id="47c74" class="tk">pSrcA</a>, (<a id="47c82" class="tk">q7_t</a> *)<a id="47c89" class="tk">pSrcB</a>, (<a id="47c97" class="tk">q7_t</a> *)<a id="47c104" class="tk">pDst</a>, <a id="47c110" class="tk">blockSize</a>)</td></tr> +<tr name="48" id="48"> +<td>48</td><td></td></tr> +<tr name="49" id="49"> +<td>49</td><td><span class="pp">#define</span> <a id="49c9" class="tk">mw_arm_mult_f32</a>(<a id="49c25" class="tk">pSrcA</a>, <a id="49c32" class="tk">pSrcB</a>, <a id="49c39" class="tk">pDst</a>, <a id="49c45" class="tk">blockSize</a>) <a id="49c56" class="tk">arm_mult_f32</a>((<a id="49c70" class="tk">float32_t</a> *)<a id="49c82" class="tk">pSrcA</a>, (<a id="49c90" class="tk">float32_t</a> *)<a id="49c102" class="tk">pSrcB</a>, (<a id="49c110" class="tk">float32_t</a> *)<a id="49c122" class="tk">pDst</a>, <a id="49c128" class="tk">blockSize</a>)</td></tr> +<tr name="50" id="50"> +<td>50</td><td><span class="pp">#define</span> <a id="50c9" class="tk">mw_arm_mult_q31</a>(<a id="50c25" class="tk">pSrcA</a>, <a id="50c32" class="tk">pSrcB</a>, <a id="50c39" class="tk">pDst</a>, <a id="50c45" class="tk">blockSize</a>) <a id="50c56" class="tk">arm_mult_q31</a>((<a id="50c70" class="tk">q31_t</a> *)<a id="50c78" class="tk">pSrcA</a>, (<a id="50c86" class="tk">q31_t</a> *)<a id="50c94" class="tk">pSrcB</a>, (<a id="50c102" class="tk">q31_t</a> *)<a id="50c110" class="tk">pDst</a>, <a id="50c116" class="tk">blockSize</a>)</td></tr> +<tr name="51" id="51"> +<td>51</td><td><span class="pp">#define</span> <a id="51c9" class="tk">mw_arm_mult_q15</a>(<a id="51c25" class="tk">pSrcA</a>, <a id="51c32" class="tk">pSrcB</a>, <a id="51c39" class="tk">pDst</a>, <a id="51c45" class="tk">blockSize</a>) <a id="51c56" class="tk">arm_mult_q15</a>((<a id="51c70" class="tk">q15_t</a> *)<a id="51c78" class="tk">pSrcA</a>, (<a id="51c86" class="tk">q15_t</a> *)<a id="51c94" class="tk">pSrcB</a>, (<a id="51c102" class="tk">q15_t</a> *)<a id="51c110" class="tk">pDst</a>, <a id="51c116" class="tk">blockSize</a>)</td></tr> +<tr name="52" id="52"> +<td>52</td><td><span class="pp">#define</span> <a id="52c9" class="tk">mw_arm_mult_q7</a>(<a id="52c24" class="tk">pSrcA</a>, <a id="52c31" class="tk">pSrcB</a>, <a id="52c38" class="tk">pDst</a>, <a id="52c44" class="tk">blockSize</a>) <a id="52c56" class="tk">arm_mult_q7</a>((<a id="52c69" class="tk">q7_t</a> *)<a id="52c76" class="tk">pSrcA</a>, (<a id="52c84" class="tk">q7_t</a> *)<a id="52c91" class="tk">pSrcB</a>, (<a id="52c99" class="tk">q7_t</a> *)<a id="52c106" class="tk">pDst</a>, <a id="52c112" class="tk">blockSize</a>)</td></tr> +<tr name="53" id="53"> +<td>53</td><td></td></tr> +<tr name="54" id="54"> +<td>54</td><td><span class="pp">#define</span> <a id="54c9" class="tk">mw_arm_cmplx_conj_f32</a>(<a id="54c31" class="tk">pSrc</a>, <a id="54c37" class="tk">pDst</a>, <a id="54c43" class="tk">numSamples</a>) <a id="54c55" class="tk">arm_cmplx_conj_f32</a>((<a id="54c75" class="tk">float32_t</a> *)<a id="54c87" class="tk">pSrc</a>, (<a id="54c94" class="tk">float32_t</a> *)<a id="54c106" class="tk">pDst</a>, <a id="54c112" class="tk">numSamples</a>)</td></tr> +<tr name="55" id="55"> +<td>55</td><td><span class="pp">#define</span> <a id="55c9" class="tk">mw_arm_cmplx_conj_q31</a>(<a id="55c31" class="tk">pSrc</a>, <a id="55c37" class="tk">pDst</a>, <a id="55c43" class="tk">numSamples</a>) <a id="55c55" class="tk">arm_cmplx_conj_q31</a>((<a id="55c75" class="tk">q31_t</a> *)<a id="55c83" class="tk">pSrc</a>, (<a id="55c90" class="tk">q31_t</a> *)<a id="55c98" class="tk">pDst</a>, <a id="55c104" class="tk">numSamples</a>)</td></tr> +<tr name="56" id="56"> +<td>56</td><td><span class="pp">#define</span> <a id="56c9" class="tk">mw_arm_cmplx_conj_q15</a>(<a id="56c31" class="tk">pSrc</a>, <a id="56c37" class="tk">pDst</a>, <a id="56c43" class="tk">numSamples</a>) <a id="56c55" class="tk">arm_cmplx_conj_q15</a>((<a id="56c75" class="tk">q15_t</a> *)<a id="56c83" class="tk">pSrc</a>, (<a id="56c90" class="tk">q15_t</a> *)<a id="56c98" class="tk">pDst</a>, <a id="56c104" class="tk">numSamples</a>)</td></tr> +<tr name="57" id="57"> +<td>57</td><td></td></tr> +<tr name="58" id="58"> +<td>58</td><td><span class="pp">#define</span> <a id="58c9" class="tk">mw_arm_cmplx_mult_cmplx_f32</a>(<a id="58c37" class="tk">pSrcA</a>, <a id="58c44" class="tk">pSrcB</a>, <a id="58c51" class="tk">pDst</a>, <a id="58c57" class="tk">blockSize</a>) <a id="58c68" class="tk">arm_cmplx_mult_cmplx_f32</a>((<a id="58c94" class="tk">float32_t</a> *)<a id="58c106" class="tk">pSrcA</a>, (<a id="58c114" class="tk">float32_t</a> *)<a id="58c126" class="tk">pSrcB</a>, (<a id="58c134" class="tk">float32_t</a> *)<a id="58c146" class="tk">pDst</a>, <a id="58c152" class="tk">blockSize</a>)</td></tr> +<tr name="59" id="59"> +<td>59</td><td><span class="pp">#define</span> <a id="59c9" class="tk">mw_arm_cmplx_mult_cmplx_q31</a>(<a id="59c37" class="tk">pSrcA</a>, <a id="59c44" class="tk">pSrcB</a>, <a id="59c51" class="tk">pDst</a>, <a id="59c57" class="tk">blockSize</a>) <a id="59c68" class="tk">arm_cmplx_mult_cmplx_q31</a>((<a id="59c94" class="tk">q31_t</a> *)<a id="59c102" class="tk">pSrcA</a>, (<a id="59c110" class="tk">q31_t</a> *)<a id="59c118" class="tk">pSrcB</a>, (<a id="59c126" class="tk">q31_t</a> *)<a id="59c134" class="tk">pDst</a>, <a id="59c140" class="tk">blockSize</a>)</td></tr> +<tr name="60" id="60"> +<td>60</td><td><span class="pp">#define</span> <a id="60c9" class="tk">mw_arm_cmplx_mult_cmplx_q15</a>(<a id="60c37" class="tk">pSrcA</a>, <a id="60c44" class="tk">pSrcB</a>, <a id="60c51" class="tk">pDst</a>, <a id="60c57" class="tk">blockSize</a>) <a id="60c68" class="tk">arm_cmplx_mult_cmplx_q15</a>((<a id="60c94" class="tk">q15_t</a> *)<a id="60c102" class="tk">pSrcA</a>, (<a id="60c110" class="tk">q15_t</a> *)<a id="60c118" class="tk">pSrcB</a>, (<a id="60c126" class="tk">q15_t</a> *)<a id="60c134" class="tk">pDst</a>, <a id="60c140" class="tk">blockSize</a>)</td></tr> +<tr name="61" id="61"> +<td>61</td><td></td></tr> +<tr name="62" id="62"> +<td>62</td><td><span class="pp">#define</span> <a id="62c9" class="tk">mw_arm_cmplx_mult_real_f32</a>(<a id="62c36" class="tk">pSrcA</a>, <a id="62c43" class="tk">pSrcB</a>, <a id="62c50" class="tk">pDst</a>, <a id="62c56" class="tk">blockSize</a>) <a id="62c67" class="tk">arm_cmplx_mult_real_f32</a>((<a id="62c92" class="tk">float32_t</a> *)<a id="62c104" class="tk">pSrcA</a>, (<a id="62c112" class="tk">float32_t</a> *)<a id="62c124" class="tk">pSrcB</a>, (<a id="62c132" class="tk">float32_t</a> *)<a id="62c144" class="tk">pDst</a>, <a id="62c150" class="tk">blockSize</a>)</td></tr> +<tr name="63" id="63"> +<td>63</td><td><span class="pp">#define</span> <a id="63c9" class="tk">mw_arm_cmplx_mult_real_q31</a>(<a id="63c36" class="tk">pSrcA</a>, <a id="63c43" class="tk">pSrcB</a>, <a id="63c50" class="tk">pDst</a>, <a id="63c56" class="tk">blockSize</a>) <a id="63c67" class="tk">arm_cmplx_mult_real_q31</a>((<a id="63c92" class="tk">q31_t</a> *)<a id="63c100" class="tk">pSrcA</a>, (<a id="63c108" class="tk">q31_t</a> *)<a id="63c116" class="tk">pSrcB</a>, (<a id="63c124" class="tk">q31_t</a> *)<a id="63c132" class="tk">pDst</a>, <a id="63c138" class="tk">blockSize</a>)</td></tr> +<tr name="64" id="64"> +<td>64</td><td><span class="pp">#define</span> <a id="64c9" class="tk">mw_arm_cmplx_mult_real_q15</a>(<a id="64c36" class="tk">pSrcA</a>, <a id="64c43" class="tk">pSrcB</a>, <a id="64c50" class="tk">pDst</a>, <a id="64c56" class="tk">blockSize</a>) <a id="64c67" class="tk">arm_cmplx_mult_real_q15</a>((<a id="64c92" class="tk">q15_t</a> *)<a id="64c100" class="tk">pSrcA</a>, (<a id="64c108" class="tk">q15_t</a> *)<a id="64c116" class="tk">pSrcB</a>, (<a id="64c124" class="tk">q15_t</a> *)<a id="64c132" class="tk">pDst</a>, <a id="64c138" class="tk">blockSize</a>)</td></tr> +<tr name="65" id="65"> +<td>65</td><td></td></tr> +<tr name="66" id="66"> +<td>66</td><td><span class="pp">#define</span> <a id="66c9" class="tk">mw_arm_rshift_q15</a>(<a id="66c27" class="tk">pSrc</a>, <a id="66c33" class="tk">shiftBits</a>, <a id="66c44" class="tk">pDst</a>, <a id="66c50" class="tk">blockSize</a>) <a id="66c61" class="tk">arm_shift_q15</a> ((<a id="66c77" class="tk">q15_t</a> *)<a id="66c85" class="tk">pSrc</a>, -(<a id="66c93" class="tk">shiftBits</a>),(<a id="66c105" class="tk">q15_t</a> *)<a id="66c113" class="tk">pDst</a>, <a id="66c119" class="tk">blockSize</a>)</td></tr> +<tr name="67" id="67"> +<td>67</td><td><span class="pp">#define</span> <a id="67c9" class="tk">mw_arm_rshift_q31</a>(<a id="67c27" class="tk">pSrc</a>, <a id="67c33" class="tk">shiftBits</a>, <a id="67c44" class="tk">pDst</a>, <a id="67c50" class="tk">blockSize</a>) <a id="67c61" class="tk">arm_shift_q31</a> ((<a id="67c77" class="tk">q31_t</a> *)<a id="67c85" class="tk">pSrc</a>, -(<a id="67c93" class="tk">shiftBits</a>), (<a id="67c106" class="tk">q31_t</a> *)<a id="67c114" class="tk">pDst</a>, <a id="67c120" class="tk">blockSize</a>)</td></tr> +<tr name="68" id="68"> +<td>68</td><td><span class="pp">#define</span> <a id="68c9" class="tk">mw_arm_rshift_q7</a>(<a id="68c26" class="tk">pSrc</a>, <a id="68c32" class="tk">shiftBits</a>, <a id="68c43" class="tk">pDst</a>, <a id="68c49" class="tk">blockSize</a>) <a id="68c60" class="tk">arm_shift_q7</a> ((<a id="68c75" class="tk">q7_t</a> *)<a id="68c82" class="tk">pSrc</a>, -(<a id="68c91" class="tk">shiftBits</a>), (<a id="68c104" class="tk">q7_t</a> *)<a id="68c111" class="tk">pDst</a>, <a id="68c117" class="tk">blockSize</a>)</td></tr> +<tr name="69" id="69"> +<td>69</td><td></td></tr> +<tr name="70" id="70"> +<td>70</td><td><span class="pp">#define</span> <a id="70c9" class="tk">mw_arm_shift_q15</a>(<a id="70c26" class="tk">pSrc</a>, <a id="70c32" class="tk">shiftBits</a>, <a id="70c43" class="tk">pDst</a>, <a id="70c49" class="tk">blockSize</a>) <a id="70c60" class="tk">arm_shift_q15</a> ((<a id="70c76" class="tk">q15_t</a> *)<a id="70c84" class="tk">pSrc</a>, <a id="70c90" class="tk">shiftBits</a>,(<a id="70c101" class="tk">q15_t</a> *)<a id="70c109" class="tk">pDst</a>, <a id="70c115" class="tk">blockSize</a>)</td></tr> +<tr name="71" id="71"> +<td>71</td><td><span class="pp">#define</span> <a id="71c9" class="tk">mw_arm_shift_q31</a>(<a id="71c26" class="tk">pSrc</a>, <a id="71c32" class="tk">shiftBits</a>, <a id="71c43" class="tk">pDst</a>, <a id="71c49" class="tk">blockSize</a>) <a id="71c60" class="tk">arm_shift_q31</a> ((<a id="71c76" class="tk">q31_t</a> *)<a id="71c84" class="tk">pSrc</a>, <a id="71c90" class="tk">shiftBits</a>, (<a id="71c102" class="tk">q31_t</a> *)<a id="71c110" class="tk">pDst</a>, <a id="71c116" class="tk">blockSize</a>)</td></tr> +<tr name="72" id="72"> +<td>72</td><td><span class="pp">#define</span> <a id="72c9" class="tk">mw_arm_shift_q7</a>(<a id="72c25" class="tk">pSrc</a>, <a id="72c31" class="tk">shiftBits</a>, <a id="72c42" class="tk">pDst</a>, <a id="72c48" class="tk">blockSize</a>) <a id="72c59" class="tk">arm_shift_q7</a> ((<a id="72c74" class="tk">q7_t</a> *)<a id="72c81" class="tk">pSrc</a>, <a id="72c87" class="tk">shiftBits</a>, (<a id="72c99" class="tk">q7_t</a> *)<a id="72c106" class="tk">pDst</a>, <a id="72c112" class="tk">blockSize</a>)</td></tr> +<tr name="73" id="73"> +<td>73</td><td></td></tr> +<tr name="74" id="74"> +<td>74</td><td><span class="pp">#endif</span></td></tr> +<tr name="75" id="75"> +<td>75</td><td></td></tr> +</table> +</pre> +</body> +</html>
diff -r 83374f658183 -r bbc155b0b886 html/html/nav.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/html/html/nav.html Tue Nov 25 07:52:02 2014 +0000 @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> +<head> +</head> + <style> + * { + margin: 0; + padding: 0 + } + </style> + <body onresize="top.drawNavSideBar();" onload="top.drawNavSideBar();top.load_metrics();"> + <canvas id="canvas" title="navigate to highlighted lines"></canvas> + </body> +</html>
diff -r 83374f658183 -r bbc155b0b886 html/html/navToolbar.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/html/html/navToolbar.html Tue Nov 25 07:52:02 2014 +0000 @@ -0,0 +1,65 @@ +<!DOCTYPE html> +<html> + <head> + <link rel="stylesheet" type="text/css" href="rtwreport.css" /> + <link rel="stylesheet" type="text/css" href="css/coder_app.css" /> + <script> + function NavOnloadFcn() { + var node = document.getElementById("rtwIdTraceBlock"); + var td1 = document.getElementById("td1"); + if (node && top.RTW_TraceArgs.instance) { + var sid = top.RTW_TraceArgs.instance.getBlock(); + if (sid) { + var block = sid; + if (top.RTW_rtwnameSIDMap && top.RTW_rtwnameSIDMap.instance && top.RTW_rtwnameSIDMap.instance.getRtwname(sid)) { + block = top.RTW_rtwnameSIDMap.instance.getRtwname(sid).rtwname; + } + if (block) { + node.textContent = "'" + block + "'"; + } + td1.className = ""; + } else { + td1.className = "hidden"; + } + } + if (top.RTW_TraceInfo && top.RTW_TraceInfo.instance) { + top.RTW_TraceInfo.instance.updateNavState(); + } + } + function resize_text() { + var node = document.getElementById("rtwIdTraceBlock"); + if (node) { + node.style.maxWidth = "" + (window.innerWidth - 450) + "px"; + } + top.resize_NavToolbar_frame(); + } + </script> + </head> + <body class="nav_toolbar" onload="NavOnloadFcn(); resize_text();" onresize="resize_text();"> + <table class="nav_table" id="rtwIdTracePanel"> + <col style="width: 90%;"> + <col style="width: 150px;"> + <col style="width: 150px;"> + <tr> + <td title="Navigation control for highlighted code" id="td1"> + <b>Highlight code for block:</b> + <div id="rtwIdTraceBlock" style="overflow: hidden;text-overflow:ellipsis;white-space: nowrap"></div> + </td> + <td style="white-space:nowrap"> + <INPUT class="button" TYPE="button" VALUE="<<" style="width: 45px; height: 2em" ID="rtwIdButtonFirst" ONCLICK="if (top.rtwGoFirst) top.rtwGoFirst();" title="goto the first highlighted line" /> + <INPUT class="button" TYPE="button" VALUE="<" style="width: 45px; height: 2em" ID="rtwIdButtonPrev" ONCLICK="if (top.rtwGoPrev) top.rtwGoPrev();" disabled="disabled" title="goto the previous highlighted line"/> + <span id="rtwIdTraceNumber"></span> + <INPUT class="button" TYPE="button" VALUE=">" style="width: 45px; height: 2em" ID="rtwIdButtonNext" ONCLICK="if (top.rtwGoNext) top.rtwGoNext();" disabled="disabled" title="goto the next highlighted line"/> + <INPUT class="button" TYPE="button" VALUE=">>" style="width: 45px; height: 2em" ID="rtwIdButtonLast" ONCLICK="if (top.rtwGoLast) top.rtwGoLast();" title="goto the last highlighted line" /> + </td> + <td> + <INPUT class="button" TYPE="button" VALUE="Remove Highlights" style="width: 150px; height: 2em" ID="rtwIdButtonRemove" ONCLICK="if (top.removeInCodeTraceHighlight()) top.removeInCodeTraceHighlight()" title="remove highlighted lines"/> + </td> + </tr> + </table> + </body> +</html> +</table> + +<!-- LocalWords: Onload px ONCLICK +-->
diff -r 83374f658183 -r bbc155b0b886 html/html/rtwdemo_pmsmfoc_c.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/html/html/rtwdemo_pmsmfoc_c.html Tue Nov 25 07:52:02 2014 +0000 @@ -0,0 +1,2688 @@ +<!DOCTYPE html> +<html> +<head> +<script type="text/javascript" src="./js/coder_app.js"></script> +<meta http-equiv="content-type" content="text/html; charset=utf-8" /> +<script type="text/javascript" src="./rtwreport_utils.js"></script> +<script type="text/javascript" src="./rtwannotate.js"></script> +<link rel="stylesheet" type="text/css" href="./css/coder_app.css"/> +</head> +<body onload="srcFileOnload();"> +<pre id="code"> +<table class="code" id="codeTbl"> +<tr name="1" id="1"> +<td>1</td><td><span class="ct">/*</span></td></tr> +<tr name="2" id="2"> +<td>2</td><td><span class="ct"> * File: rtwdemo_pmsmfoc.c</span></td></tr> +<tr name="3" id="3"> +<td>3</td><td><span class="ct"> *</span></td></tr> +<tr name="4" id="4"> +<td>4</td><td><span class="ct"> * Code generated for Simulink model 'rtwdemo_pmsmfoc'.</span></td></tr> +<tr name="5" id="5"> +<td>5</td><td><span class="ct"> *</span></td></tr> +<tr name="6" id="6"> +<td>6</td><td><span class="ct"> * Model version : 1.2949</span></td></tr> +<tr name="7" id="7"> +<td>7</td><td><span class="ct"> * Simulink Coder version : 8.7 (R2014b) 11-Aug-2014</span></td></tr> +<tr name="8" id="8"> +<td>8</td><td><span class="ct"> * C/C++ source code generated on : Sat Oct 11 02:05:41 2014</span></td></tr> +<tr name="9" id="9"> +<td>9</td><td><span class="ct"> *</span></td></tr> +<tr name="10" id="10"> +<td>10</td><td><span class="ct"> * Target selection: ert.tlc</span></td></tr> +<tr name="11" id="11"> +<td>11</td><td><span class="ct"> * Embedded hardware selection: ARM Compatible->ARM Cortex</span></td></tr> +<tr name="12" id="12"> +<td>12</td><td><span class="ct"> * Code generation objective: Execution efficiency</span></td></tr> +<tr name="13" id="13"> +<td>13</td><td><span class="ct"> * Validation result: Not run</span></td></tr> +<tr name="14" id="14"> +<td>14</td><td><span class="ct"> */</span></td></tr> +<tr name="15" id="15"> +<td>15</td><td></td></tr> +<tr name="16" id="16"> +<td>16</td><td><span class="pp">#include "rtwdemo_pmsmfoc.h"</span></td></tr> +<tr name="17" id="17"> +<td>17</td><td></td></tr> +<tr name="18" id="18"> +<td>18</td><td><span class="ct">/* Named constants for Chart: '<a class="ct blk" blk_line="18"><S1>/Controller_Mode_Scheduler</a>' */</span></td></tr> +<tr name="19" id="19"> +<td>19</td><td><span class="pp">#define</span> <a id="19c9" class="tk">IN_Motor_Control</a> ((<a id="19c42" class="tk">uint8_T</a>)1U)</td></tr> +<tr name="20" id="20"> +<td>20</td><td><span class="pp">#define</span> <a id="20c9" class="tk">IN_Motor_On</a> ((<a id="20c42" class="tk">uint8_T</a>)1U)</td></tr> +<tr name="21" id="21"> +<td>21</td><td><span class="pp">#define</span> <a id="21c9" class="tk">IN_NO_ACTIVE_CHILD</a> ((<a id="21c42" class="tk">uint8_T</a>)0U)</td></tr> +<tr name="22" id="22"> +<td>22</td><td><span class="pp">#define</span> <a id="22c9" class="tk">IN_Position_Control</a> ((<a id="22c42" class="tk">uint8_T</a>)1U)</td></tr> +<tr name="23" id="23"> +<td>23</td><td><span class="pp">#define</span> <a id="23c9" class="tk">IN_Ramp_To_Stop</a> ((<a id="23c42" class="tk">uint8_T</a>)2U)</td></tr> +<tr name="24" id="24"> +<td>24</td><td><span class="pp">#define</span> <a id="24c9" class="tk">IN_Stand_By</a> ((<a id="24c42" class="tk">uint8_T</a>)2U)</td></tr> +<tr name="25" id="25"> +<td>25</td><td><span class="pp">#define</span> <a id="25c9" class="tk">IN_Startup_Open_Loop_Control</a> ((<a id="25c42" class="tk">uint8_T</a>)2U)</td></tr> +<tr name="26" id="26"> +<td>26</td><td><span class="pp">#define</span> <a id="26c9" class="tk">IN_Torque_Control</a> ((<a id="26c42" class="tk">uint8_T</a>)3U)</td></tr> +<tr name="27" id="27"> +<td>27</td><td><span class="pp">#define</span> <a id="27c9" class="tk">IN_Velocity_Control</a> ((<a id="27c42" class="tk">uint8_T</a>)4U)</td></tr> +<tr name="28" id="28"> +<td>28</td><td></td></tr> +<tr name="29" id="29"> +<td>29</td><td><span class="ct">/* Named constants for Chart: '<a class="ct blk" blk_line="29"><S49>/Wait_For_Valid_Position</a>' */</span></td></tr> +<tr name="30" id="30"> +<td>30</td><td><span class="pp">#define</span> <a id="30c9" class="tk">IN_Position_Valid</a> ((<a id="30c42" class="tk">uint8_T</a>)1U)</td></tr> +<tr name="31" id="31"> +<td>31</td><td><span class="pp">#define</span> <a id="31c9" class="tk">IN_Wait_For_Valid_Position</a> ((<a id="31c42" class="tk">uint8_T</a>)2U)</td></tr> +<tr name="32" id="32"> +<td>32</td><td><span class="pp">#define</span> <a id="32c9" class="tk">IN_Wait_For_Valid_Velocity</a> ((<a id="32c42" class="tk">uint8_T</a>)3U)</td></tr> +<tr name="33" id="33"> +<td>33</td><td><span class="pp">#define</span> <a id="33c9" class="tk">WaitForValidVelocityTicks</a> (124)</td></tr> +<tr name="34" id="34"> +<td>34</td><td></td></tr> +<tr name="35" id="35"> +<td>35</td><td><span class="ct">/* Exported block signals */</span></td></tr> +<tr name="36" id="36"> +<td>36</td><td><a id="36c1" class="tk">real32_T</a> <a id="36c10" class="tk">phase_currents</a>[2]; <span class="ct">/* '<a class="ct blk" blk_line="36"><S48>/Product</a>' */</span></td></tr> +<tr name="37" id="37"> +<td>37</td><td><a id="37c1" class="tk">real32_T</a> <a id="37c10" class="tk">rotor_position</a>; <span class="ct">/* '<a class="ct blk" blk_line="37"><S49>/Add</a>' */</span></td></tr> +<tr name="38" id="38"> +<td>38</td><td><a id="38c1" class="tk">real32_T</a> <a id="38c10" class="tk">velocity_measured</a>; <span class="ct">/* '<a class="ct blk" blk_line="38"><S55>/Scale_Output</a>' */</span></td></tr> +<tr name="39" id="39"> +<td>39</td><td><a id="39c1" class="tk">real32_T</a> <a id="39c10" class="tk">d_current_error</a>; <span class="ct">/* '<a class="ct blk" blk_line="39"><S12>/Sum2</a>' */</span></td></tr> +<tr name="40" id="40"> +<td>40</td><td><a id="40c1" class="tk">real32_T</a> <a id="40c10" class="tk">q_current_command</a>; <span class="ct">/* '<a class="ct blk" blk_line="40"><S5>/Lo_to_Hi_Rate_Transition1</a>' */</span></td></tr> +<tr name="41" id="41"> +<td>41</td><td><a id="41c1" class="tk">real32_T</a> <a id="41c10" class="tk">q_current_measured</a>; <span class="ct">/* '<a class="ct blk" blk_line="41"><S22>/Add</a>' */</span></td></tr> +<tr name="42" id="42"> +<td>42</td><td><a id="42c1" class="tk">real32_T</a> <a id="42c10" class="tk">q_current_error</a>; <span class="ct">/* '<a class="ct blk" blk_line="42"><S12>/Sum</a>' */</span></td></tr> +<tr name="43" id="43"> +<td>43</td><td><a id="43c1" class="tk">real32_T</a> <a id="43c10" class="tk">phase_voltages</a>[3]; <span class="ct">/* '<a class="ct blk" blk_line="43"><S27>/Select_Sector</a>' */</span></td></tr> +<tr name="44" id="44"> +<td>44</td><td><a id="44c1" class="tk">real32_T</a> <a id="44c10" class="tk">velocity_error</a>; <span class="ct">/* '<a class="ct blk" blk_line="44"><S11>/Sum2</a>' */</span></td></tr> +<tr name="45" id="45"> +<td>45</td><td><a id="45c1" class="tk">EnumControllerMode</a> <a id="45c20" class="tk">controller_mode</a>; <span class="ct">/* '<a class="ct blk" blk_line="45"><S1>/Controller_Mode_Scheduler</a>' */</span></td></tr> +<tr name="46" id="46"> +<td>46</td><td></td></tr> +<tr name="47" id="47"> +<td>47</td><td><span class="ct">/* Exported block parameters */</span></td></tr> +<tr name="48" id="48"> +<td>48</td><td><a id="48c1" class="tk">CTRLPARAMS_STRUCT</a> <a id="48c19" class="tk">ctrlParams</a> = <span class="br">{</span></td></tr> +<tr name="49" id="49"> +<td>49</td><td> 10.0F,</td></tr> +<tr name="50" id="50"> +<td>50</td><td> 10000.0F,</td></tr> +<tr name="51" id="51"> +<td>51</td><td> 0.005F,</td></tr> +<tr name="52" id="52"> +<td>52</td><td> 0.015F,</td></tr> +<tr name="53" id="53"> +<td>53</td><td> 0.1F,</td></tr> +<tr name="54" id="54"> +<td>54</td><td> 0.6F,</td></tr> +<tr name="55" id="55"> +<td>55</td><td> 1.0F,</td></tr> +<tr name="56" id="56"> +<td>56</td><td> 0.2F,</td></tr> +<tr name="57" id="57"> +<td>57</td><td> 20.0F,</td></tr> +<tr name="58" id="58"> +<td>58</td><td> 2252.25F,</td></tr> +<tr name="59" id="59"> +<td>59</td><td> 0.00488400506F,</td></tr> +<tr name="60" id="60"> +<td>60</td><td> -0.0F,</td></tr> +<tr name="61" id="61"> +<td>61</td><td> 4.0F</td></tr> +<tr name="62" id="62"> +<td>62</td><td><span class="br">}</span> ; <span class="ct">/* Variable: ctrlParams</span></td></tr> +<tr name="63" id="63"> +<td>63</td><td><span class="ct"> * Referenced by:</span></td></tr> +<tr name="64" id="64"> +<td>64</td><td><span class="ct"> * '<a class="ct blk" blk_line="64"><S1>/Controller_Mode_Scheduler</a>'</span></td></tr> +<tr name="65" id="65"> +<td>65</td><td><span class="ct"> * '<a class="ct blk" blk_line="65"><S48>/ADC_Driver_Units_To_Amps</a>'</span></td></tr> +<tr name="66" id="66"> +<td>66</td><td><span class="ct"> * '<a class="ct blk" blk_line="66"><S48>/ADC_Zero_Offset</a>'</span></td></tr> +<tr name="67" id="67"> +<td>67</td><td><span class="ct"> * '<a class="ct blk" blk_line="67"><S49>/Offset_Between_Encoder_Zero_And_Mechanical_Zero</a>'</span></td></tr> +<tr name="68" id="68"> +<td>68</td><td><span class="ct"> * '<a class="ct blk" blk_line="68"><S14>/number_of_pole_pairs</a>'</span></td></tr> +<tr name="69" id="69"> +<td>69</td><td><span class="ct"> * '<a class="ct blk" blk_line="69"><S42>/Integral Gain</a>'</span></td></tr> +<tr name="70" id="70"> +<td>70</td><td><span class="ct"> * '<a class="ct blk" blk_line="70"><S42>/Proportional Gain</a>'</span></td></tr> +<tr name="71" id="71"> +<td>71</td><td><span class="ct"> * '<a class="ct blk" blk_line="71"><S45>/Integral Gain</a>'</span></td></tr> +<tr name="72" id="72"> +<td>72</td><td><span class="ct"> * '<a class="ct blk" blk_line="72"><S45>/Proportional Gain</a>'</span></td></tr> +<tr name="73" id="73"> +<td>73</td><td><span class="ct"> * '<a class="ct blk" blk_line="73"><S65>/Startup_Acceleration_Constant</a>'</span></td></tr> +<tr name="74" id="74"> +<td>74</td><td><span class="ct"> * '<a class="ct blk" blk_line="74"><S17>/Integral Gain</a>'</span></td></tr> +<tr name="75" id="75"> +<td>75</td><td><span class="ct"> * '<a class="ct blk" blk_line="75"><S17>/Proportional Gain</a>'</span></td></tr> +<tr name="76" id="76"> +<td>76</td><td><span class="ct"> * '<a class="ct blk" blk_line="76"><S18>/Integral Gain</a>'</span></td></tr> +<tr name="77" id="77"> +<td>77</td><td><span class="ct"> * '<a class="ct blk" blk_line="77"><S18>/Proportional Gain</a>'</span></td></tr> +<tr name="78" id="78"> +<td>78</td><td><span class="ct"> */</span></td></tr> +<tr name="79" id="79"> +<td>79</td><td></td></tr> +<tr name="80" id="80"> +<td>80</td><td><span class="ct">/* Constant parameters (auto storage) */</span></td></tr> +<tr name="81" id="81"> +<td>81</td><td><span class="kw">const</span> <a id="81c7" class="tk">ConstParam</a> <a id="81c18" class="tk">ConstP</a> = <span class="br">{</span></td></tr> +<tr name="82" id="82"> +<td>82</td><td> <span class="ct">/* Computed Parameter: Lookup_Table_table</span></td></tr> +<tr name="83" id="83"> +<td>83</td><td><span class="ct"> * Referenced by: '<a class="ct blk" blk_line="83"><S28>/Lookup_Table</a>'</span></td></tr> +<tr name="84" id="84"> +<td>84</td><td><span class="ct"> */</span></td></tr> +<tr name="85" id="85"> +<td>85</td><td> <span class="br">{</span> 2U, 2U, 6U, 1U, 4U, 3U, 5U <span class="br">}</span></td></tr> +<tr name="86" id="86"> +<td>86</td><td><span class="br">}</span>;</td></tr> +<tr name="87" id="87"> +<td>87</td><td></td></tr> +<tr name="88" id="88"> +<td>88</td><td><span class="ct">/* Block signals and states (auto storage) */</span></td></tr> +<tr name="89" id="89"> +<td>89</td><td><a id="89c1" class="tk">D_Work</a> <a id="89c8" class="tk">DWork</a>;</td></tr> +<tr name="90" id="90"> +<td>90</td><td></td></tr> +<tr name="91" id="91"> +<td>91</td><td><span class="ct">/* Real-time model */</span></td></tr> +<tr name="92" id="92"> +<td>92</td><td><a id="92c1" class="tk">RT_MODEL</a> <a id="92c10" class="tk">M_</a>;</td></tr> +<tr name="93" id="93"> +<td>93</td><td><a id="93c1" class="tk">RT_MODEL</a> *<span class="kw">const</span> <a id="93c17" class="tk">M</a> = &<a id="93c22" class="tk">M_</a>;</td></tr> +<tr name="94" id="94"> +<td>94</td><td><span class="kw">extern</span> <a id="94c8" class="tk">real32_T</a> <a id="94c17" class="tk">rt_roundf</a>(<a id="94c27" class="tk">real32_T</a> <a id="94c36" class="tk">u</a>);</td></tr> +<tr name="95" id="95"> +<td>95</td><td><span class="kw">extern</span> <a id="95c8" class="tk">real32_T</a> <a id="95c17" class="tk">rt_modf</a>(<a id="95c25" class="tk">real32_T</a> <a id="95c34" class="tk">u0</a>, <a id="95c38" class="tk">real32_T</a> <a id="95c47" class="tk">u1</a>);</td></tr> +<tr name="96" id="96"> +<td>96</td><td><span class="kw">static</span> <span class="kw">void</span> <a id="96c13" class="tk">rate_scheduler</a>(<span class="kw">void</span>);</td></tr> +<tr name="97" id="97"> +<td>97</td><td></td></tr> +<tr name="98" id="98"> +<td>98</td><td><span class="ct">/*</span></td></tr> +<tr name="99" id="99"> +<td>99</td><td><span class="ct"> * This function updates active task flag for each subrate.</span></td></tr> +<tr name="100" id="100"> +<td>100</td><td><span class="ct"> * The function is called at model base rate, hence the</span></td></tr> +<tr name="101" id="101"> +<td>101</td><td><span class="ct"> * generated code self-manages all its subrates.</span></td></tr> +<tr name="102" id="102"> +<td>102</td><td><span class="ct"> */</span></td></tr> +<tr name="103" id="103"> +<td>103</td><td><span class="kw">static</span> <span class="kw">void</span> <a id="103c13" class="tk">rate_scheduler</a>(<span class="kw">void</span>)</td></tr> +<tr name="104" id="104"> +<td>104</td><td><span class="br">{</span></td></tr> +<tr name="105" id="105"> +<td>105</td><td> <span class="ct">/* Compute which subrates run during the next base time step. Subrates</span></td></tr> +<tr name="106" id="106"> +<td>106</td><td><span class="ct"> * are an integer multiple of the base rate counter. Therefore, the subtask</span></td></tr> +<tr name="107" id="107"> +<td>107</td><td><span class="ct"> * counter is reset when it reaches its limit (zero means run).</span></td></tr> +<tr name="108" id="108"> +<td>108</td><td><span class="ct"> */</span></td></tr> +<tr name="109" id="109"> +<td>109</td><td> (<a id="109c4" class="tk">M</a>-><a id="109c7" class="tk">Timing</a>.<a id="109c14" class="tk">TaskCounters</a>.<a id="109c27" class="tk">TID</a>[1])++;</td></tr> +<tr name="110" id="110"> +<td>110</td><td> <span class="kw">if</span> ((<a id="110c8" class="tk">M</a>-><a id="110c11" class="tk">Timing</a>.<a id="110c18" class="tk">TaskCounters</a>.<a id="110c31" class="tk">TID</a>[1]) > 124) <span class="br">{</span><span class="ct">/* Sample time: [0.005s, 0.0s] */</span></td></tr> +<tr name="111" id="111"> +<td>111</td><td> <a id="111c5" class="tk">M</a>-><a id="111c8" class="tk">Timing</a>.<a id="111c15" class="tk">TaskCounters</a>.<a id="111c28" class="tk">TID</a>[1] = 0;</td></tr> +<tr name="112" id="112"> +<td>112</td><td> <span class="br">}</span></td></tr> +<tr name="113" id="113"> +<td>113</td><td><span class="br">}</span></td></tr> +<tr name="114" id="114"> +<td>114</td><td></td></tr> +<tr name="115" id="115"> +<td>115</td><td><a id="115c1" class="tk">real32_T</a> <a id="115c10" class="tk">rt_roundf</a>(<a id="115c20" class="tk">real32_T</a> <a id="115c29" class="tk">u</a>)</td></tr> +<tr name="116" id="116"> +<td>116</td><td><span class="br">{</span></td></tr> +<tr name="117" id="117"> +<td>117</td><td> <a id="117c3" class="tk">real32_T</a> <a id="117c12" class="tk">y</a>;</td></tr> +<tr name="118" id="118"> +<td>118</td><td> <span class="kw">if</span> (((<a id="118c9" class="tk">real32_T</a>)<a id="118c18" class="tk">fabs</a>(<a id="118c23" class="tk">u</a>)) < 8.388608E+6F) <span class="br">{</span></td></tr> +<tr name="119" id="119"> +<td>119</td><td> <span class="kw">if</span> (<a id="119c9" class="tk">u</a> >= 0.5F) <span class="br">{</span></td></tr> +<tr name="120" id="120"> +<td>120</td><td> <a id="120c7" class="tk">y</a> = (<a id="120c12" class="tk">real32_T</a>)<a id="120c21" class="tk">floor</a>(<a id="120c27" class="tk">u</a> + 0.5F);</td></tr> +<tr name="121" id="121"> +<td>121</td><td> <span class="br">}</span> <span class="kw">else</span> <span class="kw">if</span> (<a id="121c16" class="tk">u</a> > -0.5F) <span class="br">{</span></td></tr> +<tr name="122" id="122"> +<td>122</td><td> <a id="122c7" class="tk">y</a> = 0.0F;</td></tr> +<tr name="123" id="123"> +<td>123</td><td> <span class="br">}</span> <span class="kw">else</span> <span class="br">{</span></td></tr> +<tr name="124" id="124"> +<td>124</td><td> <a id="124c7" class="tk">y</a> = (<a id="124c12" class="tk">real32_T</a>)<a id="124c21" class="tk">ceil</a>(<a id="124c26" class="tk">u</a> - 0.5F);</td></tr> +<tr name="125" id="125"> +<td>125</td><td> <span class="br">}</span></td></tr> +<tr name="126" id="126"> +<td>126</td><td> <span class="br">}</span> <span class="kw">else</span> <span class="br">{</span></td></tr> +<tr name="127" id="127"> +<td>127</td><td> <a id="127c5" class="tk">y</a> = <a id="127c9" class="tk">u</a>;</td></tr> +<tr name="128" id="128"> +<td>128</td><td> <span class="br">}</span></td></tr> +<tr name="129" id="129"> +<td>129</td><td></td></tr> +<tr name="130" id="130"> +<td>130</td><td> <span class="kw">return</span> <a id="130c10" class="tk">y</a>;</td></tr> +<tr name="131" id="131"> +<td>131</td><td><span class="br">}</span></td></tr> +<tr name="132" id="132"> +<td>132</td><td></td></tr> +<tr name="133" id="133"> +<td>133</td><td><a id="133c1" class="tk">real32_T</a> <a id="133c10" class="tk">rt_modf</a>(<a id="133c18" class="tk">real32_T</a> <a id="133c27" class="tk">u0</a>, <a id="133c31" class="tk">real32_T</a> <a id="133c40" class="tk">u1</a>)</td></tr> +<tr name="134" id="134"> +<td>134</td><td><span class="br">{</span></td></tr> +<tr name="135" id="135"> +<td>135</td><td> <a id="135c3" class="tk">real32_T</a> <a id="135c12" class="tk">y</a>;</td></tr> +<tr name="136" id="136"> +<td>136</td><td> <a id="136c3" class="tk">real32_T</a> <a id="136c12" class="tk">tmp</a>;</td></tr> +<tr name="137" id="137"> +<td>137</td><td> <span class="kw">if</span> (<a id="137c7" class="tk">u1</a> == 0.0F) <span class="br">{</span></td></tr> +<tr name="138" id="138"> +<td>138</td><td> <a id="138c5" class="tk">y</a> = <a id="138c9" class="tk">u0</a>;</td></tr> +<tr name="139" id="139"> +<td>139</td><td> <span class="br">}</span> <span class="kw">else</span> <span class="br">{</span></td></tr> +<tr name="140" id="140"> +<td>140</td><td> <a id="140c5" class="tk">tmp</a> = <a id="140c11" class="tk">u0</a> / <a id="140c16" class="tk">u1</a>;</td></tr> +<tr name="141" id="141"> +<td>141</td><td> <span class="kw">if</span> (<a id="141c9" class="tk">u1</a> <= ((<a id="141c17" class="tk">real32_T</a>)<a id="141c26" class="tk">floor</a>(<a id="141c32" class="tk">u1</a>))) <span class="br">{</span></td></tr> +<tr name="142" id="142"> +<td>142</td><td> <a id="142c7" class="tk">y</a> = <a id="142c11" class="tk">u0</a> - (((<a id="142c19" class="tk">real32_T</a>)<a id="142c28" class="tk">floor</a>(<a id="142c34" class="tk">tmp</a>)) * <a id="142c42" class="tk">u1</a>);</td></tr> +<tr name="143" id="143"> +<td>143</td><td> <span class="br">}</span> <span class="kw">else</span> <span class="kw">if</span> (((<a id="143c18" class="tk">real32_T</a>)<a id="143c27" class="tk">fabs</a>(<a id="143c32" class="tk">tmp</a> - <a id="143c38" class="tk">rt_roundf</a>(<a id="143c48" class="tk">tmp</a>))) <= (<a id="143c59" class="tk">FLT_EPSILON</a> *</td></tr> +<tr name="144" id="144"> +<td>144</td><td> ((<a id="144c19" class="tk">real32_T</a>)<a id="144c28" class="tk">fabs</a>(<a id="144c33" class="tk">tmp</a>)))) <span class="br">{</span></td></tr> +<tr name="145" id="145"> +<td>145</td><td> <a id="145c7" class="tk">y</a> = 0.0F;</td></tr> +<tr name="146" id="146"> +<td>146</td><td> <span class="br">}</span> <span class="kw">else</span> <span class="br">{</span></td></tr> +<tr name="147" id="147"> +<td>147</td><td> <a id="147c7" class="tk">y</a> = (<a id="147c12" class="tk">tmp</a> - ((<a id="147c20" class="tk">real32_T</a>)<a id="147c29" class="tk">floor</a>(<a id="147c35" class="tk">tmp</a>))) * <a id="147c44" class="tk">u1</a>;</td></tr> +<tr name="148" id="148"> +<td>148</td><td> <span class="br">}</span></td></tr> +<tr name="149" id="149"> +<td>149</td><td> <span class="br">}</span></td></tr> +<tr name="150" id="150"> +<td>150</td><td></td></tr> +<tr name="151" id="151"> +<td>151</td><td> <span class="kw">return</span> <a id="151c10" class="tk">y</a>;</td></tr> +<tr name="152" id="152"> +<td>152</td><td><span class="br">}</span></td></tr> +<tr name="153" id="153"> +<td>153</td><td></td></tr> +<tr name="154" id="154"> +<td>154</td><td><span class="ct">/* Model step function */</span></td></tr> +<tr name="155" id="155"> +<td>155</td><td><a id="155c1" class="tk">EnumErrorType</a> <a id="155c15" class="tk">Controller</a>(<a id="155c26" class="tk">uint16_T</a> <a id="155c35" class="tk">motor_on</a>, <a id="155c45" class="tk">EnumCommandType</a> <a id="155c61" class="tk">command_type</a>,</td></tr> +<tr name="156" id="156"> +<td>156</td><td> <a id="156c3" class="tk">real32_T</a> <a id="156c12" class="tk">current_request</a>, <a id="156c29" class="tk">SENSORS_STRUCT</a> *<a id="156c45" class="tk">sensors</a>, <a id="156c54" class="tk">uint16_T</a> <a id="156c63" class="tk">pwm_compare</a>[3])</td></tr> +<tr name="157" id="157"> +<td>157</td><td><span class="br">{</span></td></tr> +<tr name="158" id="158"> +<td>158</td><td> <a id="158c3" class="tk">real32_T</a> <a id="158c12" class="tk">sin_coefficient</a>;</td></tr> +<tr name="159" id="159"> +<td>159</td><td> <a id="159c3" class="tk">int32_T</a> <a id="159c11" class="tk">Wrap_To_Pi</a>;</td></tr> +<tr name="160" id="160"> +<td>160</td><td> <a id="160c3" class="tk">real32_T</a> <a id="160c12" class="tk">electrical_angle</a>;</td></tr> +<tr name="161" id="161"> +<td>161</td><td> <a id="161c3" class="tk">real32_T</a> <a id="161c12" class="tk">cos_coefficient</a>;</td></tr> +<tr name="162" id="162"> +<td>162</td><td> <a id="162c3" class="tk">real32_T</a> <a id="162c12" class="tk">SignDeltaU_b</a>;</td></tr> +<tr name="163" id="163"> +<td>163</td><td> <a id="163c3" class="tk">int16_T</a> <a id="163c11" class="tk">Enum_To_Int</a>;</td></tr> +<tr name="164" id="164"> +<td>164</td><td> <a id="164c3" class="tk">uint8_T</a> <a id="164c11" class="tk">FixPtRelationalOperator</a>;</td></tr> +<tr name="165" id="165"> +<td>165</td><td> <a id="165c3" class="tk">real32_T</a> <a id="165c12" class="tk">SignDeltaU</a>;</td></tr> +<tr name="166" id="166"> +<td>166</td><td> <a id="166c3" class="tk">real32_T</a> <a id="166c12" class="tk">Gain1</a>;</td></tr> +<tr name="167" id="167"> +<td>167</td><td> <a id="167c3" class="tk">int8_T</a> <a id="167c10" class="tk">rtPrevAction</a>;</td></tr> +<tr name="168" id="168"> +<td>168</td><td> <a id="168c3" class="tk">real32_T</a> <a id="168c12" class="tk">alpha_voltage</a>;</td></tr> +<tr name="169" id="169"> +<td>169</td><td> <a id="169c3" class="tk">real32_T</a> <a id="169c12" class="tk">SignPreIntegrator_f</a>;</td></tr> +<tr name="170" id="170"> +<td>170</td><td> <a id="170c3" class="tk">real32_T</a> <a id="170c12" class="tk">IntegralGain_j</a>;</td></tr> +<tr name="171" id="171"> +<td>171</td><td> <a id="171c3" class="tk">boolean_T</a> <a id="171c13" class="tk">RelationalOperator</a>;</td></tr> +<tr name="172" id="172"> +<td>172</td><td> <a id="172c3" class="tk">boolean_T</a> <a id="172c13" class="tk">NotEqual_b</a>;</td></tr> +<tr name="173" id="173"> +<td>173</td><td> <a id="173c3" class="tk">real32_T</a> <a id="173c12" class="tk">Switch_fr</a>;</td></tr> +<tr name="174" id="174"> +<td>174</td><td> <a id="174c3" class="tk">real32_T</a> <a id="174c12" class="tk">Sectors_2_and_5_idx_1</a>;</td></tr> +<tr name="175" id="175"> +<td>175</td><td> <a id="175c3" class="tk">real32_T</a> <a id="175c12" class="tk">Sectors_2_and_5_idx_2</a>;</td></tr> +<tr name="176" id="176"> +<td>176</td><td> <a id="176c3" class="tk">int16_T</a> <a id="176c11" class="tk">u0</a>;</td></tr> +<tr name="177" id="177"> +<td>177</td><td></td></tr> +<tr name="178" id="178"> +<td>178</td><td> <span class="ct">/* specified return value */</span></td></tr> +<tr name="179" id="179"> +<td>179</td><td> <a id="179c3" class="tk">EnumErrorType</a> <a id="179c17" class="tk">error</a>;</td></tr> +<tr name="180" id="180"> +<td>180</td><td></td></tr> +<tr name="181" id="181"> +<td>181</td><td> <span class="ct">/* Product: '<a class="ct blk" blk_line="181"><S48>/Product</a>' incorporates:</span></td></tr> +<tr name="182" id="182"> +<td>182</td><td><span class="ct"> * Constant: '<a class="ct blk" blk_line="182"><S48>/ADC_Driver_Units_To_Amps</a>'</span></td></tr> +<tr name="183" id="183"> +<td>183</td><td><span class="ct"> * Constant: '<a class="ct blk" blk_line="183"><S48>/ADC_Zero_Offset</a>'</span></td></tr> +<tr name="184" id="184"> +<td>184</td><td><span class="ct"> * Inport: '<a class="ct blk" blk_line="184"><Root>/sensors</a>'</span></td></tr> +<tr name="185" id="185"> +<td>185</td><td><span class="ct"> * Sum: '<a class="ct blk" blk_line="185"><S48>/Add</a>'</span></td></tr> +<tr name="186" id="186"> +<td>186</td><td><span class="ct"> */</span></td></tr> +<tr name="187" id="187"> +<td>187</td><td> <a id="187c3" class="tk">phase_currents</a>[0] = (((<a id="187c26" class="tk">real32_T</a>)<a id="187c35" class="tk">sensors</a>-><a id="187c44" class="tk">adc_phase_currents</a>[0]) -</td></tr> +<tr name="188" id="188"> +<td>188</td><td> <a id="188c24" class="tk">ctrlParams</a>.<a id="188c35" class="tk">AdcZeroOffsetDriverUnits</a>) *</td></tr> +<tr name="189" id="189"> +<td>189</td><td> <a id="189c5" class="tk">ctrlParams</a>.<a id="189c16" class="tk">AdcDriverUnitsToAmps</a>;</td></tr> +<tr name="190" id="190"> +<td>190</td><td> <a id="190c3" class="tk">phase_currents</a>[1] = (((<a id="190c26" class="tk">real32_T</a>)<a id="190c35" class="tk">sensors</a>-><a id="190c44" class="tk">adc_phase_currents</a>[1]) -</td></tr> +<tr name="191" id="191"> +<td>191</td><td> <a id="191c24" class="tk">ctrlParams</a>.<a id="191c35" class="tk">AdcZeroOffsetDriverUnits</a>) *</td></tr> +<tr name="192" id="192"> +<td>192</td><td> <a id="192c5" class="tk">ctrlParams</a>.<a id="192c16" class="tk">AdcDriverUnitsToAmps</a>;</td></tr> +<tr name="193" id="193"> +<td>193</td><td></td></tr> +<tr name="194" id="194"> +<td>194</td><td> <span class="ct">/* Chart: '<a class="ct blk" blk_line="194"><S49>/Wait_For_Valid_Position</a>' incorporates:</span></td></tr> +<tr name="195" id="195"> +<td>195</td><td><span class="ct"> * Inport: '<a class="ct blk" blk_line="195"><Root>/sensors</a>'</span></td></tr> +<tr name="196" id="196"> +<td>196</td><td><span class="ct"> */</span></td></tr> +<tr name="197" id="197"> +<td>197</td><td> <span class="ct">/* Gateway: Motor_Control/Sensors_To_Engineering_Units/Encoder_To_Position/Wait_For_Valid_Position */</span></td></tr> +<tr name="198" id="198"> +<td>198</td><td> <span class="kw">if</span> (<a id="198c7" class="tk">DWork</a>.<a id="198c13" class="tk">temporalCounter_i1</a> < 127U) <span class="br">{</span></td></tr> +<tr name="199" id="199"> +<td>199</td><td> <a id="199c5" class="tk">DWork</a>.<a id="199c11" class="tk">temporalCounter_i1</a>++;</td></tr> +<tr name="200" id="200"> +<td>200</td><td> <span class="br">}</span></td></tr> +<tr name="201" id="201"> +<td>201</td><td></td></tr> +<tr name="202" id="202"> +<td>202</td><td> <span class="ct">/* During: Motor_Control/Sensors_To_Engineering_Units/Encoder_To_Position/Wait_For_Valid_Position */</span></td></tr> +<tr name="203" id="203"> +<td>203</td><td> <span class="kw">if</span> (<a id="203c7" class="tk">DWork</a>.<a id="203c13" class="tk">is_active_c2_rtwdemo_pmsmfoc</a> == 0U) <span class="br">{</span></td></tr> +<tr name="204" id="204"> +<td>204</td><td> <span class="ct">/* Entry: Motor_Control/Sensors_To_Engineering_Units/Encoder_To_Position/Wait_For_Valid_Position */</span></td></tr> +<tr name="205" id="205"> +<td>205</td><td> <a id="205c5" class="tk">DWork</a>.<a id="205c11" class="tk">is_active_c2_rtwdemo_pmsmfoc</a> = 1U;</td></tr> +<tr name="206" id="206"> +<td>206</td><td></td></tr> +<tr name="207" id="207"> +<td>207</td><td> <span class="ct">/* Entry Internal: Motor_Control/Sensors_To_Engineering_Units/Encoder_To_Position/Wait_For_Valid_Position */</span></td></tr> +<tr name="208" id="208"> +<td>208</td><td> <span class="ct">/* Transition: '<a class="ct blk" blk_line="208"><S52>:113</a>' */</span></td></tr> +<tr name="209" id="209"> +<td>209</td><td> <span class="kw">if</span> (<a id="209c9" class="tk">sensors</a>-><a id="209c18" class="tk">encoder_valid</a> == 0) <span class="br">{</span></td></tr> +<tr name="210" id="210"> +<td>210</td><td> <span class="ct">/* Transition: '<a class="ct blk" blk_line="210"><S52>:114</a>' */</span></td></tr> +<tr name="211" id="211"> +<td>211</td><td> <span class="ct">/* Transition: '<a class="ct blk" blk_line="211"><S52>:115</a>' */</span></td></tr> +<tr name="212" id="212"> +<td>212</td><td> <a id="212c7" class="tk">DWork</a>.<a id="212c13" class="tk">is_c2_rtwdemo_pmsmfoc</a> = <a id="212c37" class="tk">IN_Wait_For_Valid_Position</a>;</td></tr> +<tr name="213" id="213"> +<td>213</td><td> <span class="br">}</span> <span class="kw">else</span> <span class="br">{</span></td></tr> +<tr name="214" id="214"> +<td>214</td><td> <span class="ct">/* Transition: '<a class="ct blk" blk_line="214"><S52>:120</a>' */</span></td></tr> +<tr name="215" id="215"> +<td>215</td><td> <span class="ct">/* Transition: '<a class="ct blk" blk_line="215"><S52>:119</a>' */</span></td></tr> +<tr name="216" id="216"> +<td>216</td><td> <a id="216c7" class="tk">DWork</a>.<a id="216c13" class="tk">is_c2_rtwdemo_pmsmfoc</a> = <a id="216c37" class="tk">IN_Position_Valid</a>;</td></tr> +<tr name="217" id="217"> +<td>217</td><td> <a id="217c7" class="tk">DWork</a>.<a id="217c13" class="tk">Position_Valid</a> = 1U;</td></tr> +<tr name="218" id="218"> +<td>218</td><td> <span class="br">}</span></td></tr> +<tr name="219" id="219"> +<td>219</td><td> <span class="br">}</span> <span class="kw">else</span> <span class="br">{</span></td></tr> +<tr name="220" id="220"> +<td>220</td><td> <span class="kw">switch</span> (<a id="220c13" class="tk">DWork</a>.<a id="220c19" class="tk">is_c2_rtwdemo_pmsmfoc</a>) <span class="br">{</span></td></tr> +<tr name="221" id="221"> +<td>221</td><td> <span class="kw">case</span> <a id="221c11" class="tk">IN_Position_Valid</a>:</td></tr> +<tr name="222" id="222"> +<td>222</td><td> <span class="ct">/* During 'Position_Valid': '<a class="ct blk" blk_line="222"><S52>:25</a>' */</span></td></tr> +<tr name="223" id="223"> +<td>223</td><td> <span class="kw">break</span>;</td></tr> +<tr name="224" id="224"> +<td>224</td><td></td></tr> +<tr name="225" id="225"> +<td>225</td><td> <span class="kw">case</span> <a id="225c11" class="tk">IN_Wait_For_Valid_Position</a>:</td></tr> +<tr name="226" id="226"> +<td>226</td><td> <span class="ct">/* During 'Wait_For_Valid_Position': '<a class="ct blk" blk_line="226"><S52>:99</a>' */</span></td></tr> +<tr name="227" id="227"> +<td>227</td><td> <span class="kw">if</span> (<a id="227c11" class="tk">sensors</a>-><a id="227c20" class="tk">encoder_valid</a> != 0) <span class="br">{</span></td></tr> +<tr name="228" id="228"> +<td>228</td><td> <span class="ct">/* Transition: '<a class="ct blk" blk_line="228"><S52>:100</a>' */</span></td></tr> +<tr name="229" id="229"> +<td>229</td><td> <a id="229c9" class="tk">DWork</a>.<a id="229c15" class="tk">is_c2_rtwdemo_pmsmfoc</a> = <a id="229c39" class="tk">IN_Wait_For_Valid_Velocity</a>;</td></tr> +<tr name="230" id="230"> +<td>230</td><td> <a id="230c9" class="tk">DWork</a>.<a id="230c15" class="tk">temporalCounter_i1</a> = 0U;</td></tr> +<tr name="231" id="231"> +<td>231</td><td> <span class="br">}</span></td></tr> +<tr name="232" id="232"> +<td>232</td><td> <span class="kw">break</span>;</td></tr> +<tr name="233" id="233"> +<td>233</td><td></td></tr> +<tr name="234" id="234"> +<td>234</td><td> <span class="kw">default</span>:</td></tr> +<tr name="235" id="235"> +<td>235</td><td> <span class="ct">/* During 'Wait_For_Valid_Velocity': '<a class="ct blk" blk_line="235"><S52>:101</a>' */</span></td></tr> +<tr name="236" id="236"> +<td>236</td><td> <span class="kw">if</span> (<a id="236c11" class="tk">DWork</a>.<a id="236c17" class="tk">temporalCounter_i1</a> >= <a id="236c39" class="tk">WaitForValidVelocityTicks</a>) <span class="br">{</span></td></tr> +<tr name="237" id="237"> +<td>237</td><td> <span class="ct">/* Transition: '<a class="ct blk" blk_line="237"><S52>:102</a>' */</span></td></tr> +<tr name="238" id="238"> +<td>238</td><td> <a id="238c9" class="tk">DWork</a>.<a id="238c15" class="tk">is_c2_rtwdemo_pmsmfoc</a> = <a id="238c39" class="tk">IN_Position_Valid</a>;</td></tr> +<tr name="239" id="239"> +<td>239</td><td> <a id="239c9" class="tk">DWork</a>.<a id="239c15" class="tk">Position_Valid</a> = 1U;</td></tr> +<tr name="240" id="240"> +<td>240</td><td> <span class="br">}</span></td></tr> +<tr name="241" id="241"> +<td>241</td><td> <span class="kw">break</span>;</td></tr> +<tr name="242" id="242"> +<td>242</td><td> <span class="br">}</span></td></tr> +<tr name="243" id="243"> +<td>243</td><td> <span class="br">}</span></td></tr> +<tr name="244" id="244"> +<td>244</td><td></td></tr> +<tr name="245" id="245"> +<td>245</td><td> <span class="ct">/* End of Chart: '<a class="ct blk" blk_line="245"><S49>/Wait_For_Valid_Position</a>' */</span></td></tr> +<tr name="246" id="246"> +<td>246</td><td></td></tr> +<tr name="247" id="247"> +<td>247</td><td> <span class="ct">/* Sum: '<a class="ct blk" blk_line="247"><S49>/Add</a>' incorporates:</span></td></tr> +<tr name="248" id="248"> +<td>248</td><td><span class="ct"> * Constant: '<a class="ct blk" blk_line="248"><S49>/Offset_Between_Encoder_Zero_And_Mechanical_Zero</a>'</span></td></tr> +<tr name="249" id="249"> +<td>249</td><td><span class="ct"> * Gain: '<a class="ct blk" blk_line="249"><S49>/radians_per_counts</a>'</span></td></tr> +<tr name="250" id="250"> +<td>250</td><td><span class="ct"> * Inport: '<a class="ct blk" blk_line="250"><Root>/sensors</a>'</span></td></tr> +<tr name="251" id="251"> +<td>251</td><td><span class="ct"> */</span></td></tr> +<tr name="252" id="252"> +<td>252</td><td> <a id="252c3" class="tk">rotor_position</a> = (0.000785398181F * ((<a id="252c41" class="tk">real32_T</a>)<a id="252c50" class="tk">sensors</a>-><a id="252c59" class="tk">encoder_counter</a>)) +</td></tr> +<tr name="253" id="253"> +<td>253</td><td> <a id="253c5" class="tk">ctrlParams</a>.<a id="253c16" class="tk">EncoderToMechanicalZeroOffsetRads</a>;</td></tr> +<tr name="254" id="254"> +<td>254</td><td> <span class="kw">if</span> (<a id="254c7" class="tk">M</a>-><a id="254c10" class="tk">Timing</a>.<a id="254c17" class="tk">TaskCounters</a>.<a id="254c30" class="tk">TID</a>[1] == 0) <span class="br">{</span></td></tr> +<tr name="255" id="255"> +<td>255</td><td> <span class="ct">/* Gain: '<a class="ct blk" blk_line="255"><S55>/Wrap_To_Pi</a>' incorporates:</span></td></tr> +<tr name="256" id="256"> +<td>256</td><td><span class="ct"> * DataTypeConversion: '<a class="ct blk" blk_line="256"><S55>/Convert_to_Uint32</a>'</span></td></tr> +<tr name="257" id="257"> +<td>257</td><td><span class="ct"> * Gain: '<a class="ct blk" blk_line="257"><S55>/Scale_Input</a>'</span></td></tr> +<tr name="258" id="258"> +<td>258</td><td><span class="ct"> */</span></td></tr> +<tr name="259" id="259"> +<td>259</td><td> <a id="259c5" class="tk">Wrap_To_Pi</a> = (((<a id="259c21" class="tk">int32_T</a>)(1.70891312E+8F * <a id="259c47" class="tk">rotor_position</a>)) << 2);</td></tr> +<tr name="260" id="260"> +<td>260</td><td></td></tr> +<tr name="261" id="261"> +<td>261</td><td> <span class="ct">/* Gain: '<a class="ct blk" blk_line="261"><S55>/Scale_Output</a>' incorporates:</span></td></tr> +<tr name="262" id="262"> +<td>262</td><td><span class="ct"> * DataTypeConversion: '<a class="ct blk" blk_line="262"><S55>/Difference_to_Single</a>'</span></td></tr> +<tr name="263" id="263"> +<td>263</td><td><span class="ct"> * Delay: '<a class="ct blk" blk_line="263"><S55>/Position_Delay</a>'</span></td></tr> +<tr name="264" id="264"> +<td>264</td><td><span class="ct"> * Sum: '<a class="ct blk" blk_line="264"><S55>/Difference_Wrap</a>'</span></td></tr> +<tr name="265" id="265"> +<td>265</td><td><span class="ct"> */</span></td></tr> +<tr name="266" id="266"> +<td>266</td><td> <a id="266c5" class="tk">velocity_measured</a> = ((<a id="266c27" class="tk">real32_T</a>)(<a id="266c37" class="tk">Wrap_To_Pi</a> - <a id="266c50" class="tk">DWork</a>.<a id="266c56" class="tk">Position_Delay_DSTATE</a>)) *</td></tr> +<tr name="267" id="267"> +<td>267</td><td> 2.92583621E-7F;</td></tr> +<tr name="268" id="268"> +<td>268</td><td></td></tr> +<tr name="269" id="269"> +<td>269</td><td> <span class="ct">/* Chart: '<a class="ct blk" blk_line="269"><S1>/Controller_Mode_Scheduler</a>' incorporates:</span></td></tr> +<tr name="270" id="270"> +<td>270</td><td><span class="ct"> * Inport: '<a class="ct blk" blk_line="270"><Root>/command_type</a>'</span></td></tr> +<tr name="271" id="271"> +<td>271</td><td><span class="ct"> * Inport: '<a class="ct blk" blk_line="271"><Root>/command_value</a>'</span></td></tr> +<tr name="272" id="272"> +<td>272</td><td><span class="ct"> * Inport: '<a class="ct blk" blk_line="272"><Root>/motor_on</a>'</span></td></tr> +<tr name="273" id="273"> +<td>273</td><td><span class="ct"> */</span></td></tr> +<tr name="274" id="274"> +<td>274</td><td> <span class="ct">/* Gateway: Mode_Scheduler/Controller_Mode_Scheduler */</span></td></tr> +<tr name="275" id="275"> +<td>275</td><td> <span class="ct">/* During: Mode_Scheduler/Controller_Mode_Scheduler */</span></td></tr> +<tr name="276" id="276"> +<td>276</td><td> <span class="kw">if</span> (<a id="276c9" class="tk">DWork</a>.<a id="276c15" class="tk">is_c1_rtwdemo_pmsmfoc</a> == <a id="276c40" class="tk">IN_Motor_On</a>) <span class="br">{</span></td></tr> +<tr name="277" id="277"> +<td>277</td><td> <span class="ct">/* During 'Motor_On': '<a class="ct blk" blk_line="277"><S4>:338</a>' */</span></td></tr> +<tr name="278" id="278"> +<td>278</td><td> <span class="kw">if</span> (<a id="278c11" class="tk">DWork</a>.<a id="278c17" class="tk">error_l</a> != 0) <span class="br">{</span></td></tr> +<tr name="279" id="279"> +<td>279</td><td> <span class="ct">/* Transition: '<a class="ct blk" blk_line="279"><S4>:339</a>' */</span></td></tr> +<tr name="280" id="280"> +<td>280</td><td> <span class="ct">/* Transition: '<a class="ct blk" blk_line="280"><S4>:353</a>' */</span></td></tr> +<tr name="281" id="281"> +<td>281</td><td> <span class="ct">/* Exit Internal 'Motor_On': '<a class="ct blk" blk_line="281"><S4>:338</a>' */</span></td></tr> +<tr name="282" id="282"> +<td>282</td><td> <span class="ct">/* Exit Internal 'Motor_Control': '<a class="ct blk" blk_line="282"><S4>:344</a>' */</span></td></tr> +<tr name="283" id="283"> +<td>283</td><td> <a id="283c9" class="tk">DWork</a>.<a id="283c15" class="tk">is_Motor_Control</a> = <a id="283c34" class="tk">IN_NO_ACTIVE_CHILD</a>;</td></tr> +<tr name="284" id="284"> +<td>284</td><td> <a id="284c9" class="tk">DWork</a>.<a id="284c15" class="tk">is_Motor_On</a> = <a id="284c29" class="tk">IN_NO_ACTIVE_CHILD</a>;</td></tr> +<tr name="285" id="285"> +<td>285</td><td> <a id="285c9" class="tk">DWork</a>.<a id="285c15" class="tk">is_c1_rtwdemo_pmsmfoc</a> = <a id="285c39" class="tk">IN_Stand_By</a>;</td></tr> +<tr name="286" id="286"> +<td>286</td><td></td></tr> +<tr name="287" id="287"> +<td>287</td><td> <span class="ct">/* Entry 'Stand_By': '<a class="ct blk" blk_line="287"><S4>:154</a>' */</span></td></tr> +<tr name="288" id="288"> +<td>288</td><td> <a id="288c9" class="tk">controller_mode</a> = <a id="288c27" class="tk">StandBy</a>;</td></tr> +<tr name="289" id="289"> +<td>289</td><td> <span class="br">}</span> <span class="kw">else</span> <span class="kw">if</span> (<a id="289c18" class="tk">DWork</a>.<a id="289c24" class="tk">is_Motor_On</a> == <a id="289c39" class="tk">IN_Motor_Control</a>) <span class="br">{</span></td></tr> +<tr name="290" id="290"> +<td>290</td><td> <span class="ct">/* During 'Motor_Control': '<a class="ct blk" blk_line="290"><S4>:344</a>' */</span></td></tr> +<tr name="291" id="291"> +<td>291</td><td> <span class="kw">if</span> (!(<a id="291c15" class="tk">motor_on</a> != 0)) <span class="br">{</span></td></tr> +<tr name="292" id="292"> +<td>292</td><td> <span class="ct">/* Transition: '<a class="ct blk" blk_line="292"><S4>:282</a>' */</span></td></tr> +<tr name="293" id="293"> +<td>293</td><td> <span class="ct">/* Exit Internal 'Motor_Control': '<a class="ct blk" blk_line="293"><S4>:344</a>' */</span></td></tr> +<tr name="294" id="294"> +<td>294</td><td> <a id="294c11" class="tk">DWork</a>.<a id="294c17" class="tk">is_Motor_Control</a> = <a id="294c36" class="tk">IN_NO_ACTIVE_CHILD</a>;</td></tr> +<tr name="295" id="295"> +<td>295</td><td> <a id="295c11" class="tk">DWork</a>.<a id="295c17" class="tk">is_Motor_On</a> = <a id="295c31" class="tk">IN_Ramp_To_Stop</a>;</td></tr> +<tr name="296" id="296"> +<td>296</td><td></td></tr> +<tr name="297" id="297"> +<td>297</td><td> <span class="ct">/* Entry 'Ramp_To_Stop': '<a class="ct blk" blk_line="297"><S4>:270</a>' */</span></td></tr> +<tr name="298" id="298"> +<td>298</td><td> <a id="298c11" class="tk">controller_mode</a> = <a id="298c29" class="tk">VelocityControl</a>;</td></tr> +<tr name="299" id="299"> +<td>299</td><td> <a id="299c11" class="tk">DWork</a>.<a id="299c17" class="tk">velocity_command</a> = 0.0F;</td></tr> +<tr name="300" id="300"> +<td>300</td><td> <a id="300c11" class="tk">DWork</a>.<a id="300c17" class="tk">torque_command</a> = 0.0F;</td></tr> +<tr name="301" id="301"> +<td>301</td><td> <span class="br">}</span> <span class="kw">else</span> <span class="br">{</span></td></tr> +<tr name="302" id="302"> +<td>302</td><td> <span class="kw">switch</span> (<a id="302c19" class="tk">DWork</a>.<a id="302c25" class="tk">is_Motor_Control</a>) <span class="br">{</span></td></tr> +<tr name="303" id="303"> +<td>303</td><td> <span class="kw">case</span> <a id="303c17" class="tk">IN_Position_Control</a>:</td></tr> +<tr name="304" id="304"> +<td>304</td><td> <span class="ct">/* During 'Position_Control': '<a class="ct blk" blk_line="304"><S4>:226</a>' */</span></td></tr> +<tr name="305" id="305"> +<td>305</td><td> <a id="305c13" class="tk">DWork</a>.<a id="305c19" class="tk">position_command</a> = <a id="305c38" class="tk">current_request</a>;</td></tr> +<tr name="306" id="306"> +<td>306</td><td> <span class="kw">break</span>;</td></tr> +<tr name="307" id="307"> +<td>307</td><td></td></tr> +<tr name="308" id="308"> +<td>308</td><td> <span class="kw">case</span> <a id="308c17" class="tk">IN_Startup_Open_Loop_Control</a>:</td></tr> +<tr name="309" id="309"> +<td>309</td><td> <span class="ct">/* During 'Startup_Open_Loop_Control': '<a class="ct blk" blk_line="309"><S4>:103</a>' */</span></td></tr> +<tr name="310" id="310"> +<td>310</td><td> <span class="kw">if</span> (<a id="310c17" class="tk">DWork</a>.<a id="310c23" class="tk">Position_Valid</a> != 0) <span class="br">{</span></td></tr> +<tr name="311" id="311"> +<td>311</td><td> <span class="ct">/* Transition: '<a class="ct blk" blk_line="311"><S4>:157</a>' */</span></td></tr> +<tr name="312" id="312"> +<td>312</td><td> <span class="ct">/* Transition: '<a class="ct blk" blk_line="312"><S4>:233</a>' */</span></td></tr> +<tr name="313" id="313"> +<td>313</td><td> <span class="kw">switch</span> (<a id="313c23" class="tk">command_type</a>) <span class="br">{</span></td></tr> +<tr name="314" id="314"> +<td>314</td><td> <span class="kw">case</span> <a id="314c21" class="tk">Velocity</a>:</td></tr> +<tr name="315" id="315"> +<td>315</td><td> <span class="ct">/* Transition: '<a class="ct blk" blk_line="315"><S4>:162</a>' */</span></td></tr> +<tr name="316" id="316"> +<td>316</td><td> <a id="316c17" class="tk">DWork</a>.<a id="316c23" class="tk">is_Motor_Control</a> = <a id="316c42" class="tk">IN_Velocity_Control</a>;</td></tr> +<tr name="317" id="317"> +<td>317</td><td></td></tr> +<tr name="318" id="318"> +<td>318</td><td> <span class="ct">/* Entry 'Velocity_Control': '<a class="ct blk" blk_line="318"><S4>:108</a>' */</span></td></tr> +<tr name="319" id="319"> +<td>319</td><td> <a id="319c17" class="tk">controller_mode</a> = <a id="319c35" class="tk">VelocityControl</a>;</td></tr> +<tr name="320" id="320"> +<td>320</td><td> <a id="320c17" class="tk">DWork</a>.<a id="320c23" class="tk">velocity_command</a> = <a id="320c42" class="tk">current_request</a>;</td></tr> +<tr name="321" id="321"> +<td>321</td><td> <span class="kw">break</span>;</td></tr> +<tr name="322" id="322"> +<td>322</td><td></td></tr> +<tr name="323" id="323"> +<td>323</td><td> <span class="kw">case</span> <a id="323c21" class="tk">Position</a>:</td></tr> +<tr name="324" id="324"> +<td>324</td><td> <span class="ct">/* Transition: '<a class="ct blk" blk_line="324"><S4>:235</a>' */</span></td></tr> +<tr name="325" id="325"> +<td>325</td><td> <span class="ct">/* Transition: '<a class="ct blk" blk_line="325"><S4>:234</a>' */</span></td></tr> +<tr name="326" id="326"> +<td>326</td><td> <a id="326c17" class="tk">DWork</a>.<a id="326c23" class="tk">is_Motor_Control</a> = <a id="326c42" class="tk">IN_Position_Control</a>;</td></tr> +<tr name="327" id="327"> +<td>327</td><td></td></tr> +<tr name="328" id="328"> +<td>328</td><td> <span class="ct">/* Entry 'Position_Control': '<a class="ct blk" blk_line="328"><S4>:226</a>' */</span></td></tr> +<tr name="329" id="329"> +<td>329</td><td> <a id="329c17" class="tk">controller_mode</a> = <a id="329c35" class="tk">PositionControl</a>;</td></tr> +<tr name="330" id="330"> +<td>330</td><td> <a id="330c17" class="tk">DWork</a>.<a id="330c23" class="tk">position_command</a> = <a id="330c42" class="tk">current_request</a>;</td></tr> +<tr name="331" id="331"> +<td>331</td><td> <span class="kw">break</span>;</td></tr> +<tr name="332" id="332"> +<td>332</td><td></td></tr> +<tr name="333" id="333"> +<td>333</td><td> <span class="kw">default</span>:</td></tr> +<tr name="334" id="334"> +<td>334</td><td> <span class="ct">/* Transition: '<a class="ct blk" blk_line="334"><S4>:237</a>' */</span></td></tr> +<tr name="335" id="335"> +<td>335</td><td> <span class="ct">/* Transition: '<a class="ct blk" blk_line="335"><S4>:158</a>' */</span></td></tr> +<tr name="336" id="336"> +<td>336</td><td> <span class="ct">/* [command_type==Torque] */</span></td></tr> +<tr name="337" id="337"> +<td>337</td><td> <a id="337c17" class="tk">DWork</a>.<a id="337c23" class="tk">is_Motor_Control</a> = <a id="337c42" class="tk">IN_Torque_Control</a>;</td></tr> +<tr name="338" id="338"> +<td>338</td><td></td></tr> +<tr name="339" id="339"> +<td>339</td><td> <span class="ct">/* Entry 'Torque_Control': '<a class="ct blk" blk_line="339"><S4>:220</a>' */</span></td></tr> +<tr name="340" id="340"> +<td>340</td><td> <a id="340c17" class="tk">controller_mode</a> = <a id="340c35" class="tk">TorqueControl</a>;</td></tr> +<tr name="341" id="341"> +<td>341</td><td> <a id="341c17" class="tk">DWork</a>.<a id="341c23" class="tk">torque_command</a> = <a id="341c40" class="tk">current_request</a>;</td></tr> +<tr name="342" id="342"> +<td>342</td><td> <span class="kw">break</span>;</td></tr> +<tr name="343" id="343"> +<td>343</td><td> <span class="br">}</span></td></tr> +<tr name="344" id="344"> +<td>344</td><td> <span class="br">}</span></td></tr> +<tr name="345" id="345"> +<td>345</td><td> <span class="kw">break</span>;</td></tr> +<tr name="346" id="346"> +<td>346</td><td></td></tr> +<tr name="347" id="347"> +<td>347</td><td> <span class="kw">case</span> <a id="347c17" class="tk">IN_Torque_Control</a>:</td></tr> +<tr name="348" id="348"> +<td>348</td><td> <span class="ct">/* During 'Torque_Control': '<a class="ct blk" blk_line="348"><S4>:220</a>' */</span></td></tr> +<tr name="349" id="349"> +<td>349</td><td> <a id="349c13" class="tk">DWork</a>.<a id="349c19" class="tk">torque_command</a> = <a id="349c36" class="tk">current_request</a>;</td></tr> +<tr name="350" id="350"> +<td>350</td><td> <span class="kw">break</span>;</td></tr> +<tr name="351" id="351"> +<td>351</td><td></td></tr> +<tr name="352" id="352"> +<td>352</td><td> <span class="kw">default</span>:</td></tr> +<tr name="353" id="353"> +<td>353</td><td> <span class="ct">/* During 'Velocity_Control': '<a class="ct blk" blk_line="353"><S4>:108</a>' */</span></td></tr> +<tr name="354" id="354"> +<td>354</td><td> <a id="354c13" class="tk">DWork</a>.<a id="354c19" class="tk">velocity_command</a> = <a id="354c38" class="tk">current_request</a>;</td></tr> +<tr name="355" id="355"> +<td>355</td><td> <span class="kw">break</span>;</td></tr> +<tr name="356" id="356"> +<td>356</td><td> <span class="br">}</span></td></tr> +<tr name="357" id="357"> +<td>357</td><td> <span class="br">}</span></td></tr> +<tr name="358" id="358"> +<td>358</td><td> <span class="br">}</span> <span class="kw">else</span> <span class="br">{</span></td></tr> +<tr name="359" id="359"> +<td>359</td><td> <span class="ct">/* During 'Ramp_To_Stop': '<a class="ct blk" blk_line="359"><S4>:270</a>' */</span></td></tr> +<tr name="360" id="360"> +<td>360</td><td> <span class="kw">if</span> (((<a id="360c15" class="tk">real32_T</a>)<a id="360c24" class="tk">fabs</a>(<a id="360c29" class="tk">velocity_measured</a>)) < <a id="360c51" class="tk">ctrlParams</a>.<a id="360c62" class="tk">RampToStopVelocity</a>)</td></tr> +<tr name="361" id="361"> +<td>361</td><td> <span class="br">{</span></td></tr> +<tr name="362" id="362"> +<td>362</td><td> <span class="ct">/* Transition: '<a class="ct blk" blk_line="362"><S4>:169</a>' */</span></td></tr> +<tr name="363" id="363"> +<td>363</td><td> <span class="ct">/* Transition: '<a class="ct blk" blk_line="363"><S4>:355</a>' */</span></td></tr> +<tr name="364" id="364"> +<td>364</td><td> <a id="364c11" class="tk">DWork</a>.<a id="364c17" class="tk">is_Motor_On</a> = <a id="364c31" class="tk">IN_NO_ACTIVE_CHILD</a>;</td></tr> +<tr name="365" id="365"> +<td>365</td><td> <a id="365c11" class="tk">DWork</a>.<a id="365c17" class="tk">is_c1_rtwdemo_pmsmfoc</a> = <a id="365c41" class="tk">IN_Stand_By</a>;</td></tr> +<tr name="366" id="366"> +<td>366</td><td></td></tr> +<tr name="367" id="367"> +<td>367</td><td> <span class="ct">/* Entry 'Stand_By': '<a class="ct blk" blk_line="367"><S4>:154</a>' */</span></td></tr> +<tr name="368" id="368"> +<td>368</td><td> <a id="368c11" class="tk">controller_mode</a> = <a id="368c29" class="tk">StandBy</a>;</td></tr> +<tr name="369" id="369"> +<td>369</td><td> <span class="br">}</span></td></tr> +<tr name="370" id="370"> +<td>370</td><td> <span class="br">}</span></td></tr> +<tr name="371" id="371"> +<td>371</td><td> <span class="br">}</span> <span class="kw">else</span> <span class="br">{</span></td></tr> +<tr name="372" id="372"> +<td>372</td><td> <span class="ct">/* During 'Stand_By': '<a class="ct blk" blk_line="372"><S4>:154</a>' */</span></td></tr> +<tr name="373" id="373"> +<td>373</td><td> <span class="kw">if</span> ((<a id="373c12" class="tk">motor_on</a> != 0) && (!(<a id="373c33" class="tk">DWork</a>.<a id="373c39" class="tk">error_l</a> != 0))) <span class="br">{</span></td></tr> +<tr name="374" id="374"> +<td>374</td><td> <span class="ct">/* Transition: '<a class="ct blk" blk_line="374"><S4>:164</a>' */</span></td></tr> +<tr name="375" id="375"> +<td>375</td><td> <span class="kw">if</span> (!(<a id="375c15" class="tk">DWork</a>.<a id="375c21" class="tk">Position_Valid</a> != 0)) <span class="br">{</span></td></tr> +<tr name="376" id="376"> +<td>376</td><td> <span class="ct">/* Transition: '<a class="ct blk" blk_line="376"><S4>:133</a>' */</span></td></tr> +<tr name="377" id="377"> +<td>377</td><td> <a id="377c11" class="tk">DWork</a>.<a id="377c17" class="tk">is_c1_rtwdemo_pmsmfoc</a> = <a id="377c41" class="tk">IN_Motor_On</a>;</td></tr> +<tr name="378" id="378"> +<td>378</td><td> <a id="378c11" class="tk">DWork</a>.<a id="378c17" class="tk">is_Motor_On</a> = <a id="378c31" class="tk">IN_Motor_Control</a>;</td></tr> +<tr name="379" id="379"> +<td>379</td><td> <a id="379c11" class="tk">DWork</a>.<a id="379c17" class="tk">is_Motor_Control</a> = <a id="379c36" class="tk">IN_Startup_Open_Loop_Control</a>;</td></tr> +<tr name="380" id="380"> +<td>380</td><td></td></tr> +<tr name="381" id="381"> +<td>381</td><td> <span class="ct">/* Entry 'Startup_Open_Loop_Control': '<a class="ct blk" blk_line="381"><S4>:103</a>' */</span></td></tr> +<tr name="382" id="382"> +<td>382</td><td> <a id="382c11" class="tk">controller_mode</a> = <a id="382c29" class="tk">Startup</a>;</td></tr> +<tr name="383" id="383"> +<td>383</td><td> <a id="383c11" class="tk">DWork</a>.<a id="383c17" class="tk">torque_command</a> = <a id="383c34" class="tk">ctrlParams</a>.<a id="383c45" class="tk">StartupCurrent</a>;</td></tr> +<tr name="384" id="384"> +<td>384</td><td> <span class="br">}</span> <span class="kw">else</span> <span class="br">{</span></td></tr> +<tr name="385" id="385"> +<td>385</td><td> <span class="ct">/* Transition: '<a class="ct blk" blk_line="385"><S4>:137</a>' */</span></td></tr> +<tr name="386" id="386"> +<td>386</td><td> <span class="ct">/* Transition: '<a class="ct blk" blk_line="386"><S4>:233</a>' */</span></td></tr> +<tr name="387" id="387"> +<td>387</td><td> <span class="kw">switch</span> (<a id="387c19" class="tk">command_type</a>) <span class="br">{</span></td></tr> +<tr name="388" id="388"> +<td>388</td><td> <span class="kw">case</span> <a id="388c17" class="tk">Velocity</a>:</td></tr> +<tr name="389" id="389"> +<td>389</td><td> <span class="ct">/* Transition: '<a class="ct blk" blk_line="389"><S4>:162</a>' */</span></td></tr> +<tr name="390" id="390"> +<td>390</td><td> <a id="390c13" class="tk">DWork</a>.<a id="390c19" class="tk">is_c1_rtwdemo_pmsmfoc</a> = <a id="390c43" class="tk">IN_Motor_On</a>;</td></tr> +<tr name="391" id="391"> +<td>391</td><td> <a id="391c13" class="tk">DWork</a>.<a id="391c19" class="tk">is_Motor_On</a> = <a id="391c33" class="tk">IN_Motor_Control</a>;</td></tr> +<tr name="392" id="392"> +<td>392</td><td> <a id="392c13" class="tk">DWork</a>.<a id="392c19" class="tk">is_Motor_Control</a> = <a id="392c38" class="tk">IN_Velocity_Control</a>;</td></tr> +<tr name="393" id="393"> +<td>393</td><td></td></tr> +<tr name="394" id="394"> +<td>394</td><td> <span class="ct">/* Entry 'Velocity_Control': '<a class="ct blk" blk_line="394"><S4>:108</a>' */</span></td></tr> +<tr name="395" id="395"> +<td>395</td><td> <a id="395c13" class="tk">controller_mode</a> = <a id="395c31" class="tk">VelocityControl</a>;</td></tr> +<tr name="396" id="396"> +<td>396</td><td> <a id="396c13" class="tk">DWork</a>.<a id="396c19" class="tk">velocity_command</a> = <a id="396c38" class="tk">current_request</a>;</td></tr> +<tr name="397" id="397"> +<td>397</td><td> <span class="kw">break</span>;</td></tr> +<tr name="398" id="398"> +<td>398</td><td></td></tr> +<tr name="399" id="399"> +<td>399</td><td> <span class="kw">case</span> <a id="399c17" class="tk">Position</a>:</td></tr> +<tr name="400" id="400"> +<td>400</td><td> <span class="ct">/* Transition: '<a class="ct blk" blk_line="400"><S4>:235</a>' */</span></td></tr> +<tr name="401" id="401"> +<td>401</td><td> <span class="ct">/* Transition: '<a class="ct blk" blk_line="401"><S4>:234</a>' */</span></td></tr> +<tr name="402" id="402"> +<td>402</td><td> <a id="402c13" class="tk">DWork</a>.<a id="402c19" class="tk">is_c1_rtwdemo_pmsmfoc</a> = <a id="402c43" class="tk">IN_Motor_On</a>;</td></tr> +<tr name="403" id="403"> +<td>403</td><td> <a id="403c13" class="tk">DWork</a>.<a id="403c19" class="tk">is_Motor_On</a> = <a id="403c33" class="tk">IN_Motor_Control</a>;</td></tr> +<tr name="404" id="404"> +<td>404</td><td> <a id="404c13" class="tk">DWork</a>.<a id="404c19" class="tk">is_Motor_Control</a> = <a id="404c38" class="tk">IN_Position_Control</a>;</td></tr> +<tr name="405" id="405"> +<td>405</td><td></td></tr> +<tr name="406" id="406"> +<td>406</td><td> <span class="ct">/* Entry 'Position_Control': '<a class="ct blk" blk_line="406"><S4>:226</a>' */</span></td></tr> +<tr name="407" id="407"> +<td>407</td><td> <a id="407c13" class="tk">controller_mode</a> = <a id="407c31" class="tk">PositionControl</a>;</td></tr> +<tr name="408" id="408"> +<td>408</td><td> <a id="408c13" class="tk">DWork</a>.<a id="408c19" class="tk">position_command</a> = <a id="408c38" class="tk">current_request</a>;</td></tr> +<tr name="409" id="409"> +<td>409</td><td> <span class="kw">break</span>;</td></tr> +<tr name="410" id="410"> +<td>410</td><td></td></tr> +<tr name="411" id="411"> +<td>411</td><td> <span class="kw">default</span>:</td></tr> +<tr name="412" id="412"> +<td>412</td><td> <span class="ct">/* Transition: '<a class="ct blk" blk_line="412"><S4>:237</a>' */</span></td></tr> +<tr name="413" id="413"> +<td>413</td><td> <span class="ct">/* Transition: '<a class="ct blk" blk_line="413"><S4>:158</a>' */</span></td></tr> +<tr name="414" id="414"> +<td>414</td><td> <span class="ct">/* [command_type==Torque] */</span></td></tr> +<tr name="415" id="415"> +<td>415</td><td> <a id="415c13" class="tk">DWork</a>.<a id="415c19" class="tk">is_c1_rtwdemo_pmsmfoc</a> = <a id="415c43" class="tk">IN_Motor_On</a>;</td></tr> +<tr name="416" id="416"> +<td>416</td><td> <a id="416c13" class="tk">DWork</a>.<a id="416c19" class="tk">is_Motor_On</a> = <a id="416c33" class="tk">IN_Motor_Control</a>;</td></tr> +<tr name="417" id="417"> +<td>417</td><td> <a id="417c13" class="tk">DWork</a>.<a id="417c19" class="tk">is_Motor_Control</a> = <a id="417c38" class="tk">IN_Torque_Control</a>;</td></tr> +<tr name="418" id="418"> +<td>418</td><td></td></tr> +<tr name="419" id="419"> +<td>419</td><td> <span class="ct">/* Entry 'Torque_Control': '<a class="ct blk" blk_line="419"><S4>:220</a>' */</span></td></tr> +<tr name="420" id="420"> +<td>420</td><td> <a id="420c13" class="tk">controller_mode</a> = <a id="420c31" class="tk">TorqueControl</a>;</td></tr> +<tr name="421" id="421"> +<td>421</td><td> <a id="421c13" class="tk">DWork</a>.<a id="421c19" class="tk">torque_command</a> = <a id="421c36" class="tk">current_request</a>;</td></tr> +<tr name="422" id="422"> +<td>422</td><td> <span class="kw">break</span>;</td></tr> +<tr name="423" id="423"> +<td>423</td><td> <span class="br">}</span></td></tr> +<tr name="424" id="424"> +<td>424</td><td> <span class="br">}</span></td></tr> +<tr name="425" id="425"> +<td>425</td><td> <span class="br">}</span></td></tr> +<tr name="426" id="426"> +<td>426</td><td> <span class="br">}</span></td></tr> +<tr name="427" id="427"> +<td>427</td><td></td></tr> +<tr name="428" id="428"> +<td>428</td><td> <span class="ct">/* End of Chart: '<a class="ct blk" blk_line="428"><S1>/Controller_Mode_Scheduler</a>' */</span></td></tr> +<tr name="429" id="429"> +<td>429</td><td></td></tr> +<tr name="430" id="430"> +<td>430</td><td> <span class="ct">/* RelationalOperator: '<a class="ct blk" blk_line="430"><S51>/Relational Operator</a>' incorporates:</span></td></tr> +<tr name="431" id="431"> +<td>431</td><td><span class="ct"> * Constant: '<a class="ct blk" blk_line="431"><S64>/Constant</a>'</span></td></tr> +<tr name="432" id="432"> +<td>432</td><td><span class="ct"> */</span></td></tr> +<tr name="433" id="433"> +<td>433</td><td> <a id="433c5" class="tk">DWork</a>.<a id="433c11" class="tk">RelationalOperator_a</a> = (<a id="433c35" class="tk">controller_mode</a> == <a id="433c54" class="tk">Startup</a>);</td></tr> +<tr name="434" id="434"> +<td>434</td><td> <span class="br">}</span></td></tr> +<tr name="435" id="435"> +<td>435</td><td></td></tr> +<tr name="436" id="436"> +<td>436</td><td> <span class="ct">/* Outputs for Enabled SubSystem: '<a class="ct blk" blk_line="436"><S51>/Open Loop Position</a>' incorporates:</span></td></tr> +<tr name="437" id="437"> +<td>437</td><td><span class="ct"> * EnablePort: '<a class="ct blk" blk_line="437"><S65>/Enable</a>'</span></td></tr> +<tr name="438" id="438"> +<td>438</td><td><span class="ct"> */</span></td></tr> +<tr name="439" id="439"> +<td>439</td><td> <span class="kw">if</span> (<a id="439c7" class="tk">DWork</a>.<a id="439c13" class="tk">RelationalOperator_a</a>) <span class="br">{</span></td></tr> +<tr name="440" id="440"> +<td>440</td><td> <span class="kw">if</span> (!<a id="440c10" class="tk">DWork</a>.<a id="440c16" class="tk">OpenLoopPosition_MODE</a>) <span class="br">{</span></td></tr> +<tr name="441" id="441"> +<td>441</td><td> <span class="ct">/* InitializeConditions for DiscreteIntegrator: '<a class="ct blk" blk_line="441"><S65>/Integrate_To_Position</a>' */</span></td></tr> +<tr name="442" id="442"> +<td>442</td><td> <a id="442c7" class="tk">DWork</a>.<a id="442c13" class="tk">Integrate_To_Position_DSTATE</a> = 0.0F;</td></tr> +<tr name="443" id="443"> +<td>443</td><td></td></tr> +<tr name="444" id="444"> +<td>444</td><td> <span class="ct">/* InitializeConditions for DiscreteIntegrator: '<a class="ct blk" blk_line="444"><S65>/Integrate_To_Velocity</a>' */</span></td></tr> +<tr name="445" id="445"> +<td>445</td><td> <a id="445c7" class="tk">DWork</a>.<a id="445c13" class="tk">Integrate_To_Velocity_DSTATE</a> = 0.0F;</td></tr> +<tr name="446" id="446"> +<td>446</td><td> <a id="446c7" class="tk">DWork</a>.<a id="446c13" class="tk">OpenLoopPosition_MODE</a> = true;</td></tr> +<tr name="447" id="447"> +<td>447</td><td> <span class="br">}</span></td></tr> +<tr name="448" id="448"> +<td>448</td><td></td></tr> +<tr name="449" id="449"> +<td>449</td><td> <span class="ct">/* DiscreteIntegrator: '<a class="ct blk" blk_line="449"><S65>/Integrate_To_Position</a>' */</span></td></tr> +<tr name="450" id="450"> +<td>450</td><td> <a id="450c5" class="tk">DWork</a>.<a id="450c11" class="tk">position</a> = <a id="450c22" class="tk">DWork</a>.<a id="450c28" class="tk">Integrate_To_Position_DSTATE</a>;</td></tr> +<tr name="451" id="451"> +<td>451</td><td></td></tr> +<tr name="452" id="452"> +<td>452</td><td> <span class="ct">/* Update for DiscreteIntegrator: '<a class="ct blk" blk_line="452"><S65>/Integrate_To_Position</a>' incorporates:</span></td></tr> +<tr name="453" id="453"> +<td>453</td><td><span class="ct"> * DiscreteIntegrator: '<a class="ct blk" blk_line="453"><S65>/Integrate_To_Velocity</a>'</span></td></tr> +<tr name="454" id="454"> +<td>454</td><td><span class="ct"> */</span></td></tr> +<tr name="455" id="455"> +<td>455</td><td> <a id="455c5" class="tk">DWork</a>.<a id="455c11" class="tk">Integrate_To_Position_DSTATE</a> += 4.0E-5F *</td></tr> +<tr name="456" id="456"> +<td>456</td><td> <a id="456c7" class="tk">DWork</a>.<a id="456c13" class="tk">Integrate_To_Velocity_DSTATE</a>;</td></tr> +<tr name="457" id="457"> +<td>457</td><td></td></tr> +<tr name="458" id="458"> +<td>458</td><td> <span class="ct">/* Update for DiscreteIntegrator: '<a class="ct blk" blk_line="458"><S65>/Integrate_To_Velocity</a>' incorporates:</span></td></tr> +<tr name="459" id="459"> +<td>459</td><td><span class="ct"> * Constant: '<a class="ct blk" blk_line="459"><S65>/Startup_Acceleration_Constant</a>'</span></td></tr> +<tr name="460" id="460"> +<td>460</td><td><span class="ct"> */</span></td></tr> +<tr name="461" id="461"> +<td>461</td><td> <a id="461c5" class="tk">DWork</a>.<a id="461c11" class="tk">Integrate_To_Velocity_DSTATE</a> += 4.0E-5F *</td></tr> +<tr name="462" id="462"> +<td>462</td><td> <a id="462c7" class="tk">ctrlParams</a>.<a id="462c18" class="tk">StartupAcceleration</a>;</td></tr> +<tr name="463" id="463"> +<td>463</td><td> <span class="br">}</span> <span class="kw">else</span> <span class="br">{</span></td></tr> +<tr name="464" id="464"> +<td>464</td><td> <span class="kw">if</span> (<a id="464c9" class="tk">DWork</a>.<a id="464c15" class="tk">OpenLoopPosition_MODE</a>) <span class="br">{</span></td></tr> +<tr name="465" id="465"> +<td>465</td><td> <a id="465c7" class="tk">DWork</a>.<a id="465c13" class="tk">OpenLoopPosition_MODE</a> = false;</td></tr> +<tr name="466" id="466"> +<td>466</td><td> <span class="br">}</span></td></tr> +<tr name="467" id="467"> +<td>467</td><td> <span class="br">}</span></td></tr> +<tr name="468" id="468"> +<td>468</td><td></td></tr> +<tr name="469" id="469"> +<td>469</td><td> <span class="ct">/* End of Outputs for SubSystem: '<a class="ct blk" blk_line="469"><S51>/Open Loop Position</a>' */</span></td></tr> +<tr name="470" id="470"> +<td>470</td><td></td></tr> +<tr name="471" id="471"> +<td>471</td><td> <span class="ct">/* Switch: '<a class="ct blk" blk_line="471"><S51>/Switch</a>' */</span></td></tr> +<tr name="472" id="472"> +<td>472</td><td> <span class="kw">if</span> (<a id="472c7" class="tk">DWork</a>.<a id="472c13" class="tk">RelationalOperator_a</a>) <span class="br">{</span></td></tr> +<tr name="473" id="473"> +<td>473</td><td> <a id="473c5" class="tk">Switch_fr</a> = <a id="473c17" class="tk">DWork</a>.<a id="473c23" class="tk">position</a>;</td></tr> +<tr name="474" id="474"> +<td>474</td><td> <span class="br">}</span> <span class="kw">else</span> <span class="br">{</span></td></tr> +<tr name="475" id="475"> +<td>475</td><td> <a id="475c5" class="tk">Switch_fr</a> = <a id="475c17" class="tk">rotor_position</a>;</td></tr> +<tr name="476" id="476"> +<td>476</td><td> <span class="br">}</span></td></tr> +<tr name="477" id="477"> +<td>477</td><td></td></tr> +<tr name="478" id="478"> +<td>478</td><td> <span class="ct">/* End of Switch: '<a class="ct blk" blk_line="478"><S51>/Switch</a>' */</span></td></tr> +<tr name="479" id="479"> +<td>479</td><td></td></tr> +<tr name="480" id="480"> +<td>480</td><td> <span class="ct">/* Gain: '<a class="ct blk" blk_line="480"><S14>/number_of_pole_pairs</a>' */</span></td></tr> +<tr name="481" id="481"> +<td>481</td><td> <a id="481c3" class="tk">electrical_angle</a> = <a id="481c22" class="tk">ctrlParams</a>.<a id="481c33" class="tk">PmsmPolePairs</a> * <a id="481c49" class="tk">Switch_fr</a>;</td></tr> +<tr name="482" id="482"> +<td>482</td><td></td></tr> +<tr name="483" id="483"> +<td>483</td><td> <span class="ct">/* Trigonometry: '<a class="ct blk" blk_line="483"><S14>/sine_cosine</a>' */</span></td></tr> +<tr name="484" id="484"> +<td>484</td><td> <a id="484c3" class="tk">sin_coefficient</a> = <a id="484c21" class="tk">arm_sin_f32</a>(<a id="484c33" class="tk">electrical_angle</a>);</td></tr> +<tr name="485" id="485"> +<td>485</td><td> <a id="485c3" class="tk">cos_coefficient</a> = <a id="485c21" class="tk">arm_cos_f32</a>(<a id="485c33" class="tk">electrical_angle</a>);</td></tr> +<tr name="486" id="486"> +<td>486</td><td></td></tr> +<tr name="487" id="487"> +<td>487</td><td> <span class="ct">/* Gain: '<a class="ct blk" blk_line="487"><S21>/Beta_Gain</a>' incorporates:</span></td></tr> +<tr name="488" id="488"> +<td>488</td><td><span class="ct"> * Gain: '<a class="ct blk" blk_line="488"><S21>/B_Gain</a>'</span></td></tr> +<tr name="489" id="489"> +<td>489</td><td><span class="ct"> * Sum: '<a class="ct blk" blk_line="489"><S21>/Add</a>'</span></td></tr> +<tr name="490" id="490"> +<td>490</td><td><span class="ct"> */</span></td></tr> +<tr name="491" id="491"> +<td>491</td><td> <a id="491c3" class="tk">SignDeltaU_b</a> = ((2.0F * <a id="491c27" class="tk">phase_currents</a>[1]) + <a id="491c48" class="tk">phase_currents</a>[0]) * 0.577350259F;</td></tr> +<tr name="492" id="492"> +<td>492</td><td></td></tr> +<tr name="493" id="493"> +<td>493</td><td> <span class="ct">/* Sum: '<a class="ct blk" blk_line="493"><S12>/Sum2</a>' incorporates:</span></td></tr> +<tr name="494" id="494"> +<td>494</td><td><span class="ct"> * Constant: '<a class="ct blk" blk_line="494"><S12>/d_current_command (A)</a>'</span></td></tr> +<tr name="495" id="495"> +<td>495</td><td><span class="ct"> * Product: '<a class="ct blk" blk_line="495"><S22>/Product2</a>'</span></td></tr> +<tr name="496" id="496"> +<td>496</td><td><span class="ct"> * Product: '<a class="ct blk" blk_line="496"><S22>/Product3</a>'</span></td></tr> +<tr name="497" id="497"> +<td>497</td><td><span class="ct"> * Sum: '<a class="ct blk" blk_line="497"><S22>/Add1</a>'</span></td></tr> +<tr name="498" id="498"> +<td>498</td><td><span class="ct"> */</span></td></tr> +<tr name="499" id="499"> +<td>499</td><td> <a id="499c3" class="tk">d_current_error</a> = 0.0F - ((<a id="499c30" class="tk">phase_currents</a>[0] * <a id="499c50" class="tk">cos_coefficient</a>) +</td></tr> +<tr name="500" id="500"> +<td>500</td><td> (<a id="500c6" class="tk">SignDeltaU_b</a> * <a id="500c21" class="tk">sin_coefficient</a>));</td></tr> +<tr name="501" id="501"> +<td>501</td><td></td></tr> +<tr name="502" id="502"> +<td>502</td><td> <span class="ct">/* DataTypeConversion: '<a class="ct blk" blk_line="502"><S8>/Enum_To_Int</a>' */</span></td></tr> +<tr name="503" id="503"> +<td>503</td><td> <a id="503c3" class="tk">Enum_To_Int</a> = (<a id="503c18" class="tk">int16_T</a>)<a id="503c26" class="tk">controller_mode</a>;</td></tr> +<tr name="504" id="504"> +<td>504</td><td></td></tr> +<tr name="505" id="505"> +<td>505</td><td> <span class="ct">/* RelationalOperator: '<a class="ct blk" blk_line="505"><S13>/FixPt Relational Operator</a>' incorporates:</span></td></tr> +<tr name="506" id="506"> +<td>506</td><td><span class="ct"> * UnitDelay: '<a class="ct blk" blk_line="506"><S13>/Delay Input1</a>'</span></td></tr> +<tr name="507" id="507"> +<td>507</td><td><span class="ct"> */</span></td></tr> +<tr name="508" id="508"> +<td>508</td><td> <a id="508c3" class="tk">FixPtRelationalOperator</a> = (<a id="508c30" class="tk">uint8_T</a>)(<a id="508c39" class="tk">Enum_To_Int</a> != <a id="508c54" class="tk">DWork</a>.<a id="508c60" class="tk">DelayInput1_DSTATE</a>);</td></tr> +<tr name="509" id="509"> +<td>509</td><td></td></tr> +<tr name="510" id="510"> +<td>510</td><td> <span class="ct">/* DiscreteIntegrator: '<a class="ct blk" blk_line="510"><S17>/Integrator</a>' */</span></td></tr> +<tr name="511" id="511"> +<td>511</td><td> <span class="kw">if</span> ((<a id="511c8" class="tk">FixPtRelationalOperator</a> != 0) || (<a id="511c42" class="tk">DWork</a>.<a id="511c48" class="tk">Integrator_PrevResetState</a> != 0))</td></tr> +<tr name="512" id="512"> +<td>512</td><td> <span class="br">{</span></td></tr> +<tr name="513" id="513"> +<td>513</td><td> <a id="513c5" class="tk">DWork</a>.<a id="513c11" class="tk">Integrator_DSTATE</a> = 0.0F;</td></tr> +<tr name="514" id="514"> +<td>514</td><td> <span class="br">}</span></td></tr> +<tr name="515" id="515"> +<td>515</td><td></td></tr> +<tr name="516" id="516"> +<td>516</td><td> <span class="ct">/* Sum: '<a class="ct blk" blk_line="516"><S17>/Sum</a>' incorporates:</span></td></tr> +<tr name="517" id="517"> +<td>517</td><td><span class="ct"> * DiscreteIntegrator: '<a class="ct blk" blk_line="517"><S17>/Integrator</a>'</span></td></tr> +<tr name="518" id="518"> +<td>518</td><td><span class="ct"> * Gain: '<a class="ct blk" blk_line="518"><S17>/Proportional Gain</a>'</span></td></tr> +<tr name="519" id="519"> +<td>519</td><td><span class="ct"> */</span></td></tr> +<tr name="520" id="520"> +<td>520</td><td> <a id="520c3" class="tk">SignDeltaU</a> = (<a id="520c17" class="tk">ctrlParams</a>.<a id="520c28" class="tk">Current_P</a> * <a id="520c40" class="tk">d_current_error</a>) +</td></tr> +<tr name="521" id="521"> +<td>521</td><td> <a id="521c5" class="tk">DWork</a>.<a id="521c11" class="tk">Integrator_DSTATE</a>;</td></tr> +<tr name="522" id="522"> +<td>522</td><td></td></tr> +<tr name="523" id="523"> +<td>523</td><td> <span class="ct">/* Saturate: '<a class="ct blk" blk_line="523"><S17>/Saturate</a>' */</span></td></tr> +<tr name="524" id="524"> +<td>524</td><td> <span class="kw">if</span> (<a id="524c7" class="tk">SignDeltaU</a> > 12.0F) <span class="br">{</span></td></tr> +<tr name="525" id="525"> +<td>525</td><td> <a id="525c5" class="tk">Gain1</a> = 12.0F;</td></tr> +<tr name="526" id="526"> +<td>526</td><td> <span class="br">}</span> <span class="kw">else</span> <span class="kw">if</span> (<a id="526c14" class="tk">SignDeltaU</a> < -12.0F) <span class="br">{</span></td></tr> +<tr name="527" id="527"> +<td>527</td><td> <a id="527c5" class="tk">Gain1</a> = -12.0F;</td></tr> +<tr name="528" id="528"> +<td>528</td><td> <span class="br">}</span> <span class="kw">else</span> <span class="br">{</span></td></tr> +<tr name="529" id="529"> +<td>529</td><td> <a id="529c5" class="tk">Gain1</a> = <a id="529c13" class="tk">SignDeltaU</a>;</td></tr> +<tr name="530" id="530"> +<td>530</td><td> <span class="br">}</span></td></tr> +<tr name="531" id="531"> +<td>531</td><td></td></tr> +<tr name="532" id="532"> +<td>532</td><td> <span class="ct">/* End of Saturate: '<a class="ct blk" blk_line="532"><S17>/Saturate</a>' */</span></td></tr> +<tr name="533" id="533"> +<td>533</td><td> <span class="kw">if</span> (<a id="533c7" class="tk">M</a>-><a id="533c10" class="tk">Timing</a>.<a id="533c17" class="tk">TaskCounters</a>.<a id="533c30" class="tk">TID</a>[1] == 0) <span class="br">{</span></td></tr> +<tr name="534" id="534"> +<td>534</td><td> <span class="ct">/* SwitchCase: '<a class="ct blk" blk_line="534"><S5>/Switch Case</a>' incorporates:</span></td></tr> +<tr name="535" id="535"> +<td>535</td><td><span class="ct"> * Inport: '<a class="ct blk" blk_line="535"><S10>/torque_command</a>'</span></td></tr> +<tr name="536" id="536"> +<td>536</td><td><span class="ct"> */</span></td></tr> +<tr name="537" id="537"> +<td>537</td><td> <a id="537c5" class="tk">rtPrevAction</a> = <a id="537c20" class="tk">DWork</a>.<a id="537c26" class="tk">SwitchCase_ActiveSubsystem</a>;</td></tr> +<tr name="538" id="538"> +<td>538</td><td> <span class="kw">switch</span> (<a id="538c13" class="tk">controller_mode</a>) <span class="br">{</span></td></tr> +<tr name="539" id="539"> +<td>539</td><td> <span class="kw">case</span> <a id="539c11" class="tk">VelocityControl</a>:</td></tr> +<tr name="540" id="540"> +<td>540</td><td> <a id="540c7" class="tk">DWork</a>.<a id="540c13" class="tk">SwitchCase_ActiveSubsystem</a> = 0;</td></tr> +<tr name="541" id="541"> +<td>541</td><td> <span class="kw">break</span>;</td></tr> +<tr name="542" id="542"> +<td>542</td><td></td></tr> +<tr name="543" id="543"> +<td>543</td><td> <span class="kw">case</span> <a id="543c11" class="tk">PositionControl</a>:</td></tr> +<tr name="544" id="544"> +<td>544</td><td> <a id="544c7" class="tk">DWork</a>.<a id="544c13" class="tk">SwitchCase_ActiveSubsystem</a> = 1;</td></tr> +<tr name="545" id="545"> +<td>545</td><td> <span class="kw">break</span>;</td></tr> +<tr name="546" id="546"> +<td>546</td><td></td></tr> +<tr name="547" id="547"> +<td>547</td><td> <span class="kw">default</span>:</td></tr> +<tr name="548" id="548"> +<td>548</td><td> <a id="548c7" class="tk">DWork</a>.<a id="548c13" class="tk">SwitchCase_ActiveSubsystem</a> = 2;</td></tr> +<tr name="549" id="549"> +<td>549</td><td> <span class="kw">break</span>;</td></tr> +<tr name="550" id="550"> +<td>550</td><td> <span class="br">}</span></td></tr> +<tr name="551" id="551"> +<td>551</td><td></td></tr> +<tr name="552" id="552"> +<td>552</td><td> <span class="kw">switch</span> (<a id="552c13" class="tk">DWork</a>.<a id="552c19" class="tk">SwitchCase_ActiveSubsystem</a>) <span class="br">{</span></td></tr> +<tr name="553" id="553"> +<td>553</td><td> <span class="kw">case</span> 0:</td></tr> +<tr name="554" id="554"> +<td>554</td><td> <span class="kw">if</span> (<a id="554c11" class="tk">DWork</a>.<a id="554c17" class="tk">SwitchCase_ActiveSubsystem</a> != <a id="554c47" class="tk">rtPrevAction</a>) <span class="br">{</span></td></tr> +<tr name="555" id="555"> +<td>555</td><td> <span class="ct">/* InitializeConditions for IfAction SubSystem: '<a class="ct blk" blk_line="555"><S5>/Velocity_Control</a>' incorporates:</span></td></tr> +<tr name="556" id="556"> +<td>556</td><td><span class="ct"> * InitializeConditions for ActionPort: '<a class="ct blk" blk_line="556"><S11>/Action Port</a>'</span></td></tr> +<tr name="557" id="557"> +<td>557</td><td><span class="ct"> */</span></td></tr> +<tr name="558" id="558"> +<td>558</td><td> <span class="ct">/* InitializeConditions for SwitchCase: '<a class="ct blk" blk_line="558"><S5>/Switch Case</a>' incorporates:</span></td></tr> +<tr name="559" id="559"> +<td>559</td><td><span class="ct"> * InitializeConditions for DiscreteIntegrator: '<a class="ct blk" blk_line="559"><S45>/Integrator</a>'</span></td></tr> +<tr name="560" id="560"> +<td>560</td><td><span class="ct"> */</span></td></tr> +<tr name="561" id="561"> +<td>561</td><td> <a id="561c9" class="tk">DWork</a>.<a id="561c15" class="tk">Integrator_DSTATE_f</a> = 0.0F;</td></tr> +<tr name="562" id="562"> +<td>562</td><td></td></tr> +<tr name="563" id="563"> +<td>563</td><td> <span class="ct">/* End of InitializeConditions for SubSystem: '<a class="ct blk" blk_line="563"><S5>/Velocity_Control</a>' */</span></td></tr> +<tr name="564" id="564"> +<td>564</td><td> <span class="br">}</span></td></tr> +<tr name="565" id="565"> +<td>565</td><td></td></tr> +<tr name="566" id="566"> +<td>566</td><td> <span class="ct">/* Outputs for IfAction SubSystem: '<a class="ct blk" blk_line="566"><S5>/Velocity_Control</a>' incorporates:</span></td></tr> +<tr name="567" id="567"> +<td>567</td><td><span class="ct"> * ActionPort: '<a class="ct blk" blk_line="567"><S11>/Action Port</a>'</span></td></tr> +<tr name="568" id="568"> +<td>568</td><td><span class="ct"> */</span></td></tr> +<tr name="569" id="569"> +<td>569</td><td> <span class="ct">/* Sum: '<a class="ct blk" blk_line="569"><S11>/Sum2</a>' */</span></td></tr> +<tr name="570" id="570"> +<td>570</td><td> <a id="570c7" class="tk">velocity_error</a> = <a id="570c24" class="tk">DWork</a>.<a id="570c30" class="tk">velocity_command</a> - <a id="570c49" class="tk">velocity_measured</a>;</td></tr> +<tr name="571" id="571"> +<td>571</td><td></td></tr> +<tr name="572" id="572"> +<td>572</td><td> <span class="ct">/* Sum: '<a class="ct blk" blk_line="572"><S45>/Sum</a>' incorporates:</span></td></tr> +<tr name="573" id="573"> +<td>573</td><td><span class="ct"> * DiscreteIntegrator: '<a class="ct blk" blk_line="573"><S45>/Integrator</a>'</span></td></tr> +<tr name="574" id="574"> +<td>574</td><td><span class="ct"> * Gain: '<a class="ct blk" blk_line="574"><S45>/Proportional Gain</a>'</span></td></tr> +<tr name="575" id="575"> +<td>575</td><td><span class="ct"> */</span></td></tr> +<tr name="576" id="576"> +<td>576</td><td> <a id="576c7" class="tk">electrical_angle</a> = (<a id="576c27" class="tk">ctrlParams</a>.<a id="576c38" class="tk">Velocity_P</a> * <a id="576c51" class="tk">velocity_error</a>) +</td></tr> +<tr name="577" id="577"> +<td>577</td><td> <a id="577c9" class="tk">DWork</a>.<a id="577c15" class="tk">Integrator_DSTATE_f</a>;</td></tr> +<tr name="578" id="578"> +<td>578</td><td></td></tr> +<tr name="579" id="579"> +<td>579</td><td> <span class="ct">/* Saturate: '<a class="ct blk" blk_line="579"><S45>/Saturate</a>' */</span></td></tr> +<tr name="580" id="580"> +<td>580</td><td> <span class="kw">if</span> (<a id="580c11" class="tk">electrical_angle</a> > 2.0F) <span class="br">{</span></td></tr> +<tr name="581" id="581"> +<td>581</td><td> <span class="ct">/* SignalConversion: '<a class="ct blk" blk_line="581"><S11>/Isolate_For_Merge</a>' */</span></td></tr> +<tr name="582" id="582"> +<td>582</td><td> <a id="582c9" class="tk">DWork</a>.<a id="582c15" class="tk">Merge</a> = 2.0F;</td></tr> +<tr name="583" id="583"> +<td>583</td><td> <span class="br">}</span> <span class="kw">else</span> <span class="kw">if</span> (<a id="583c18" class="tk">electrical_angle</a> < -2.0F) <span class="br">{</span></td></tr> +<tr name="584" id="584"> +<td>584</td><td> <span class="ct">/* SignalConversion: '<a class="ct blk" blk_line="584"><S11>/Isolate_For_Merge</a>' */</span></td></tr> +<tr name="585" id="585"> +<td>585</td><td> <a id="585c9" class="tk">DWork</a>.<a id="585c15" class="tk">Merge</a> = -2.0F;</td></tr> +<tr name="586" id="586"> +<td>586</td><td> <span class="br">}</span> <span class="kw">else</span> <span class="br">{</span></td></tr> +<tr name="587" id="587"> +<td>587</td><td> <span class="ct">/* SignalConversion: '<a class="ct blk" blk_line="587"><S11>/Isolate_For_Merge</a>' */</span></td></tr> +<tr name="588" id="588"> +<td>588</td><td> <a id="588c9" class="tk">DWork</a>.<a id="588c15" class="tk">Merge</a> = <a id="588c23" class="tk">electrical_angle</a>;</td></tr> +<tr name="589" id="589"> +<td>589</td><td> <span class="br">}</span></td></tr> +<tr name="590" id="590"> +<td>590</td><td></td></tr> +<tr name="591" id="591"> +<td>591</td><td> <span class="ct">/* End of Saturate: '<a class="ct blk" blk_line="591"><S45>/Saturate</a>' */</span></td></tr> +<tr name="592" id="592"> +<td>592</td><td></td></tr> +<tr name="593" id="593"> +<td>593</td><td> <span class="ct">/* DeadZone: '<a class="ct blk" blk_line="593"><S46>/DeadZone</a>' */</span></td></tr> +<tr name="594" id="594"> +<td>594</td><td> <span class="kw">if</span> (<a id="594c11" class="tk">electrical_angle</a> > 2.0F) <span class="br">{</span></td></tr> +<tr name="595" id="595"> +<td>595</td><td> <a id="595c9" class="tk">electrical_angle</a> -= 2.0F;</td></tr> +<tr name="596" id="596"> +<td>596</td><td> <span class="br">}</span> <span class="kw">else</span> <span class="kw">if</span> (<a id="596c18" class="tk">electrical_angle</a> >= -2.0F) <span class="br">{</span></td></tr> +<tr name="597" id="597"> +<td>597</td><td> <a id="597c9" class="tk">electrical_angle</a> = 0.0F;</td></tr> +<tr name="598" id="598"> +<td>598</td><td> <span class="br">}</span> <span class="kw">else</span> <span class="br">{</span></td></tr> +<tr name="599" id="599"> +<td>599</td><td> <a id="599c9" class="tk">electrical_angle</a> -= -2.0F;</td></tr> +<tr name="600" id="600"> +<td>600</td><td> <span class="br">}</span></td></tr> +<tr name="601" id="601"> +<td>601</td><td></td></tr> +<tr name="602" id="602"> +<td>602</td><td> <span class="ct">/* End of DeadZone: '<a class="ct blk" blk_line="602"><S46>/DeadZone</a>' */</span></td></tr> +<tr name="603" id="603"> +<td>603</td><td></td></tr> +<tr name="604" id="604"> +<td>604</td><td> <span class="ct">/* RelationalOperator: '<a class="ct blk" blk_line="604"><S46>/NotEqual</a>' */</span></td></tr> +<tr name="605" id="605"> +<td>605</td><td> <a id="605c7" class="tk">NotEqual_b</a> = (0.0F != <a id="605c29" class="tk">electrical_angle</a>);</td></tr> +<tr name="606" id="606"> +<td>606</td><td></td></tr> +<tr name="607" id="607"> +<td>607</td><td> <span class="ct">/* Signum: '<a class="ct blk" blk_line="607"><S46>/SignDeltaU</a>' */</span></td></tr> +<tr name="608" id="608"> +<td>608</td><td> <span class="kw">if</span> (<a id="608c11" class="tk">electrical_angle</a> < 0.0F) <span class="br">{</span></td></tr> +<tr name="609" id="609"> +<td>609</td><td> <a id="609c9" class="tk">electrical_angle</a> = -1.0F;</td></tr> +<tr name="610" id="610"> +<td>610</td><td> <span class="br">}</span> <span class="kw">else</span> <span class="br">{</span></td></tr> +<tr name="611" id="611"> +<td>611</td><td> <span class="kw">if</span> (<a id="611c13" class="tk">electrical_angle</a> > 0.0F) <span class="br">{</span></td></tr> +<tr name="612" id="612"> +<td>612</td><td> <a id="612c11" class="tk">electrical_angle</a> = 1.0F;</td></tr> +<tr name="613" id="613"> +<td>613</td><td> <span class="br">}</span></td></tr> +<tr name="614" id="614"> +<td>614</td><td> <span class="br">}</span></td></tr> +<tr name="615" id="615"> +<td>615</td><td></td></tr> +<tr name="616" id="616"> +<td>616</td><td> <span class="ct">/* End of Signum: '<a class="ct blk" blk_line="616"><S46>/SignDeltaU</a>' */</span></td></tr> +<tr name="617" id="617"> +<td>617</td><td></td></tr> +<tr name="618" id="618"> +<td>618</td><td> <span class="ct">/* Gain: '<a class="ct blk" blk_line="618"><S45>/Integral Gain</a>' */</span></td></tr> +<tr name="619" id="619"> +<td>619</td><td> <a id="619c7" class="tk">Switch_fr</a> = <a id="619c19" class="tk">ctrlParams</a>.<a id="619c30" class="tk">Velocity_I</a> * <a id="619c43" class="tk">velocity_error</a>;</td></tr> +<tr name="620" id="620"> +<td>620</td><td></td></tr> +<tr name="621" id="621"> +<td>621</td><td> <span class="ct">/* DataTypeConversion: '<a class="ct blk" blk_line="621"><S46>/DataTypeConv1</a>' */</span></td></tr> +<tr name="622" id="622"> +<td>622</td><td> <span class="kw">if</span> (<a id="622c11" class="tk">electrical_angle</a> < 128.0F) <span class="br">{</span></td></tr> +<tr name="623" id="623"> +<td>623</td><td> <a id="623c9" class="tk">rtPrevAction</a> = (<a id="623c25" class="tk">int8_T</a>)<a id="623c32" class="tk">electrical_angle</a>;</td></tr> +<tr name="624" id="624"> +<td>624</td><td> <span class="br">}</span> <span class="kw">else</span> <span class="br">{</span></td></tr> +<tr name="625" id="625"> +<td>625</td><td> <a id="625c9" class="tk">rtPrevAction</a> = <a id="625c24" class="tk">MAX_int8_T</a>;</td></tr> +<tr name="626" id="626"> +<td>626</td><td> <span class="br">}</span></td></tr> +<tr name="627" id="627"> +<td>627</td><td></td></tr> +<tr name="628" id="628"> +<td>628</td><td> <span class="ct">/* End of DataTypeConversion: '<a class="ct blk" blk_line="628"><S46>/DataTypeConv1</a>' */</span></td></tr> +<tr name="629" id="629"> +<td>629</td><td></td></tr> +<tr name="630" id="630"> +<td>630</td><td> <span class="ct">/* Signum: '<a class="ct blk" blk_line="630"><S46>/SignPreIntegrator</a>' */</span></td></tr> +<tr name="631" id="631"> +<td>631</td><td> <span class="kw">if</span> (<a id="631c11" class="tk">Switch_fr</a> < 0.0F) <span class="br">{</span></td></tr> +<tr name="632" id="632"> +<td>632</td><td> <a id="632c9" class="tk">electrical_angle</a> = -1.0F;</td></tr> +<tr name="633" id="633"> +<td>633</td><td> <span class="br">}</span> <span class="kw">else</span> <span class="kw">if</span> (<a id="633c18" class="tk">Switch_fr</a> > 0.0F) <span class="br">{</span></td></tr> +<tr name="634" id="634"> +<td>634</td><td> <a id="634c9" class="tk">electrical_angle</a> = 1.0F;</td></tr> +<tr name="635" id="635"> +<td>635</td><td> <span class="br">}</span> <span class="kw">else</span> <span class="br">{</span></td></tr> +<tr name="636" id="636"> +<td>636</td><td> <a id="636c9" class="tk">electrical_angle</a> = <a id="636c28" class="tk">Switch_fr</a>;</td></tr> +<tr name="637" id="637"> +<td>637</td><td> <span class="br">}</span></td></tr> +<tr name="638" id="638"> +<td>638</td><td></td></tr> +<tr name="639" id="639"> +<td>639</td><td> <span class="ct">/* Switch: '<a class="ct blk" blk_line="639"><S45>/Switch</a>' incorporates:</span></td></tr> +<tr name="640" id="640"> +<td>640</td><td><span class="ct"> * Constant: '<a class="ct blk" blk_line="640"><S45>/Constant</a>'</span></td></tr> +<tr name="641" id="641"> +<td>641</td><td><span class="ct"> * DataTypeConversion: '<a class="ct blk" blk_line="641"><S46>/DataTypeConv2</a>'</span></td></tr> +<tr name="642" id="642"> +<td>642</td><td><span class="ct"> * Logic: '<a class="ct blk" blk_line="642"><S46>/AND</a>'</span></td></tr> +<tr name="643" id="643"> +<td>643</td><td><span class="ct"> * RelationalOperator: '<a class="ct blk" blk_line="643"><S46>/Equal</a>'</span></td></tr> +<tr name="644" id="644"> +<td>644</td><td><span class="ct"> * Signum: '<a class="ct blk" blk_line="644"><S46>/SignPreIntegrator</a>'</span></td></tr> +<tr name="645" id="645"> +<td>645</td><td><span class="ct"> */</span></td></tr> +<tr name="646" id="646"> +<td>646</td><td> <span class="kw">if</span> (<a id="646c11" class="tk">NotEqual_b</a> && (<a id="646c26" class="tk">rtPrevAction</a> == ((<a id="646c44" class="tk">int8_T</a>)<a id="646c51" class="tk">electrical_angle</a>))) <span class="br">{</span></td></tr> +<tr name="647" id="647"> +<td>647</td><td> <a id="647c9" class="tk">Switch_fr</a> = 0.0F;</td></tr> +<tr name="648" id="648"> +<td>648</td><td> <span class="br">}</span></td></tr> +<tr name="649" id="649"> +<td>649</td><td></td></tr> +<tr name="650" id="650"> +<td>650</td><td> <span class="ct">/* End of Switch: '<a class="ct blk" blk_line="650"><S45>/Switch</a>' */</span></td></tr> +<tr name="651" id="651"> +<td>651</td><td></td></tr> +<tr name="652" id="652"> +<td>652</td><td> <span class="ct">/* Update for DiscreteIntegrator: '<a class="ct blk" blk_line="652"><S45>/Integrator</a>' */</span></td></tr> +<tr name="653" id="653"> +<td>653</td><td> <a id="653c7" class="tk">DWork</a>.<a id="653c13" class="tk">Integrator_DSTATE_f</a> += 0.005F * <a id="653c45" class="tk">Switch_fr</a>;</td></tr> +<tr name="654" id="654"> +<td>654</td><td></td></tr> +<tr name="655" id="655"> +<td>655</td><td> <span class="ct">/* End of Outputs for SubSystem: '<a class="ct blk" blk_line="655"><S5>/Velocity_Control</a>' */</span></td></tr> +<tr name="656" id="656"> +<td>656</td><td> <span class="kw">break</span>;</td></tr> +<tr name="657" id="657"> +<td>657</td><td></td></tr> +<tr name="658" id="658"> +<td>658</td><td> <span class="kw">case</span> 1:</td></tr> +<tr name="659" id="659"> +<td>659</td><td> <span class="kw">if</span> (<a id="659c11" class="tk">DWork</a>.<a id="659c17" class="tk">SwitchCase_ActiveSubsystem</a> != <a id="659c47" class="tk">rtPrevAction</a>) <span class="br">{</span></td></tr> +<tr name="660" id="660"> +<td>660</td><td> <span class="ct">/* InitializeConditions for IfAction SubSystem: '<a class="ct blk" blk_line="660"><S5>/Position_Control</a>' incorporates:</span></td></tr> +<tr name="661" id="661"> +<td>661</td><td><span class="ct"> * InitializeConditions for ActionPort: '<a class="ct blk" blk_line="661"><S9>/Action Port</a>'</span></td></tr> +<tr name="662" id="662"> +<td>662</td><td><span class="ct"> */</span></td></tr> +<tr name="663" id="663"> +<td>663</td><td> <span class="ct">/* InitializeConditions for SwitchCase: '<a class="ct blk" blk_line="663"><S5>/Switch Case</a>' incorporates:</span></td></tr> +<tr name="664" id="664"> +<td>664</td><td><span class="ct"> * InitializeConditions for DiscreteIntegrator: '<a class="ct blk" blk_line="664"><S42>/Integrator</a>'</span></td></tr> +<tr name="665" id="665"> +<td>665</td><td><span class="ct"> */</span></td></tr> +<tr name="666" id="666"> +<td>666</td><td> <a id="666c9" class="tk">DWork</a>.<a id="666c15" class="tk">Integrator_DSTATE_lc</a> = 0.0F;</td></tr> +<tr name="667" id="667"> +<td>667</td><td></td></tr> +<tr name="668" id="668"> +<td>668</td><td> <span class="ct">/* End of InitializeConditions for SubSystem: '<a class="ct blk" blk_line="668"><S5>/Position_Control</a>' */</span></td></tr> +<tr name="669" id="669"> +<td>669</td><td> <span class="br">}</span></td></tr> +<tr name="670" id="670"> +<td>670</td><td></td></tr> +<tr name="671" id="671"> +<td>671</td><td> <span class="ct">/* Outputs for IfAction SubSystem: '<a class="ct blk" blk_line="671"><S5>/Position_Control</a>' incorporates:</span></td></tr> +<tr name="672" id="672"> +<td>672</td><td><span class="ct"> * ActionPort: '<a class="ct blk" blk_line="672"><S9>/Action Port</a>'</span></td></tr> +<tr name="673" id="673"> +<td>673</td><td><span class="ct"> */</span></td></tr> +<tr name="674" id="674"> +<td>674</td><td> <span class="ct">/* Sum: '<a class="ct blk" blk_line="674"><S9>/Sum2</a>' */</span></td></tr> +<tr name="675" id="675"> +<td>675</td><td> <a id="675c7" class="tk">Switch_fr</a> = <a id="675c19" class="tk">DWork</a>.<a id="675c25" class="tk">position_command</a> - <a id="675c44" class="tk">Switch_fr</a>;</td></tr> +<tr name="676" id="676"> +<td>676</td><td></td></tr> +<tr name="677" id="677"> +<td>677</td><td> <span class="ct">/* Switch: '<a class="ct blk" blk_line="677"><S43>/Select_Angle</a>' incorporates:</span></td></tr> +<tr name="678" id="678"> +<td>678</td><td><span class="ct"> * Constant: '<a class="ct blk" blk_line="678"><S43>/Neg_Pi_Constant</a>'</span></td></tr> +<tr name="679" id="679"> +<td>679</td><td><span class="ct"> * Constant: '<a class="ct blk" blk_line="679"><S43>/Pi_Constant_1</a>'</span></td></tr> +<tr name="680" id="680"> +<td>680</td><td><span class="ct"> * Constant: '<a class="ct blk" blk_line="680"><S43>/Pi_Constant_2</a>'</span></td></tr> +<tr name="681" id="681"> +<td>681</td><td><span class="ct"> * Constant: '<a class="ct blk" blk_line="681"><S43>/Pi_Constant_3</a>'</span></td></tr> +<tr name="682" id="682"> +<td>682</td><td><span class="ct"> * Constant: '<a class="ct blk" blk_line="682"><S43>/Two_Pi_Constant</a>'</span></td></tr> +<tr name="683" id="683"> +<td>683</td><td><span class="ct"> * Logic: '<a class="ct blk" blk_line="683"><S43>/OR</a>'</span></td></tr> +<tr name="684" id="684"> +<td>684</td><td><span class="ct"> * Math: '<a class="ct blk" blk_line="684"><S43>/Modulus</a>'</span></td></tr> +<tr name="685" id="685"> +<td>685</td><td><span class="ct"> * RelationalOperator: '<a class="ct blk" blk_line="685"><S43>/Greater_Than</a>'</span></td></tr> +<tr name="686" id="686"> +<td>686</td><td><span class="ct"> * RelationalOperator: '<a class="ct blk" blk_line="686"><S43>/Less_Than</a>'</span></td></tr> +<tr name="687" id="687"> +<td>687</td><td><span class="ct"> * Sum: '<a class="ct blk" blk_line="687"><S43>/Add</a>'</span></td></tr> +<tr name="688" id="688"> +<td>688</td><td><span class="ct"> * Sum: '<a class="ct blk" blk_line="688"><S43>/Subtract</a>'</span></td></tr> +<tr name="689" id="689"> +<td>689</td><td><span class="ct"> */</span></td></tr> +<tr name="690" id="690"> +<td>690</td><td> <span class="kw">if</span> ((<a id="690c12" class="tk">Switch_fr</a> < -1.57079637F) || (<a id="690c42" class="tk">Switch_fr</a> >= 1.57079637F)) <span class="br">{</span></td></tr> +<tr name="691" id="691"> +<td>691</td><td> <a id="691c9" class="tk">Switch_fr</a> = <a id="691c21" class="tk">rt_modf</a>(<a id="691c29" class="tk">Switch_fr</a> + 1.57079637F, 3.14159274F) - 1.57079637F;</td></tr> +<tr name="692" id="692"> +<td>692</td><td> <span class="br">}</span></td></tr> +<tr name="693" id="693"> +<td>693</td><td></td></tr> +<tr name="694" id="694"> +<td>694</td><td> <span class="ct">/* End of Switch: '<a class="ct blk" blk_line="694"><S43>/Select_Angle</a>' */</span></td></tr> +<tr name="695" id="695"> +<td>695</td><td></td></tr> +<tr name="696" id="696"> +<td>696</td><td> <span class="ct">/* Sum: '<a class="ct blk" blk_line="696"><S42>/Sum</a>' incorporates:</span></td></tr> +<tr name="697" id="697"> +<td>697</td><td><span class="ct"> * DiscreteIntegrator: '<a class="ct blk" blk_line="697"><S42>/Integrator</a>'</span></td></tr> +<tr name="698" id="698"> +<td>698</td><td><span class="ct"> * Gain: '<a class="ct blk" blk_line="698"><S42>/Proportional Gain</a>'</span></td></tr> +<tr name="699" id="699"> +<td>699</td><td><span class="ct"> */</span></td></tr> +<tr name="700" id="700"> +<td>700</td><td> <a id="700c7" class="tk">electrical_angle</a> = (<a id="700c27" class="tk">ctrlParams</a>.<a id="700c38" class="tk">Position_P</a> * <a id="700c51" class="tk">Switch_fr</a>) +</td></tr> +<tr name="701" id="701"> +<td>701</td><td> <a id="701c9" class="tk">DWork</a>.<a id="701c15" class="tk">Integrator_DSTATE_lc</a>;</td></tr> +<tr name="702" id="702"> +<td>702</td><td></td></tr> +<tr name="703" id="703"> +<td>703</td><td> <span class="ct">/* Saturate: '<a class="ct blk" blk_line="703"><S42>/Saturate</a>' */</span></td></tr> +<tr name="704" id="704"> +<td>704</td><td> <span class="kw">if</span> (<a id="704c11" class="tk">electrical_angle</a> > 2.0F) <span class="br">{</span></td></tr> +<tr name="705" id="705"> +<td>705</td><td> <span class="ct">/* SignalConversion: '<a class="ct blk" blk_line="705"><S9>/Isolate_For_Merge</a>' */</span></td></tr> +<tr name="706" id="706"> +<td>706</td><td> <a id="706c9" class="tk">DWork</a>.<a id="706c15" class="tk">Merge</a> = 2.0F;</td></tr> +<tr name="707" id="707"> +<td>707</td><td> <span class="br">}</span> <span class="kw">else</span> <span class="kw">if</span> (<a id="707c18" class="tk">electrical_angle</a> < -2.0F) <span class="br">{</span></td></tr> +<tr name="708" id="708"> +<td>708</td><td> <span class="ct">/* SignalConversion: '<a class="ct blk" blk_line="708"><S9>/Isolate_For_Merge</a>' */</span></td></tr> +<tr name="709" id="709"> +<td>709</td><td> <a id="709c9" class="tk">DWork</a>.<a id="709c15" class="tk">Merge</a> = -2.0F;</td></tr> +<tr name="710" id="710"> +<td>710</td><td> <span class="br">}</span> <span class="kw">else</span> <span class="br">{</span></td></tr> +<tr name="711" id="711"> +<td>711</td><td> <span class="ct">/* SignalConversion: '<a class="ct blk" blk_line="711"><S9>/Isolate_For_Merge</a>' */</span></td></tr> +<tr name="712" id="712"> +<td>712</td><td> <a id="712c9" class="tk">DWork</a>.<a id="712c15" class="tk">Merge</a> = <a id="712c23" class="tk">electrical_angle</a>;</td></tr> +<tr name="713" id="713"> +<td>713</td><td> <span class="br">}</span></td></tr> +<tr name="714" id="714"> +<td>714</td><td></td></tr> +<tr name="715" id="715"> +<td>715</td><td> <span class="ct">/* End of Saturate: '<a class="ct blk" blk_line="715"><S42>/Saturate</a>' */</span></td></tr> +<tr name="716" id="716"> +<td>716</td><td></td></tr> +<tr name="717" id="717"> +<td>717</td><td> <span class="ct">/* DeadZone: '<a class="ct blk" blk_line="717"><S44>/DeadZone</a>' */</span></td></tr> +<tr name="718" id="718"> +<td>718</td><td> <span class="kw">if</span> (<a id="718c11" class="tk">electrical_angle</a> > 2.0F) <span class="br">{</span></td></tr> +<tr name="719" id="719"> +<td>719</td><td> <a id="719c9" class="tk">electrical_angle</a> -= 2.0F;</td></tr> +<tr name="720" id="720"> +<td>720</td><td> <span class="br">}</span> <span class="kw">else</span> <span class="kw">if</span> (<a id="720c18" class="tk">electrical_angle</a> >= -2.0F) <span class="br">{</span></td></tr> +<tr name="721" id="721"> +<td>721</td><td> <a id="721c9" class="tk">electrical_angle</a> = 0.0F;</td></tr> +<tr name="722" id="722"> +<td>722</td><td> <span class="br">}</span> <span class="kw">else</span> <span class="br">{</span></td></tr> +<tr name="723" id="723"> +<td>723</td><td> <a id="723c9" class="tk">electrical_angle</a> -= -2.0F;</td></tr> +<tr name="724" id="724"> +<td>724</td><td> <span class="br">}</span></td></tr> +<tr name="725" id="725"> +<td>725</td><td></td></tr> +<tr name="726" id="726"> +<td>726</td><td> <span class="ct">/* End of DeadZone: '<a class="ct blk" blk_line="726"><S44>/DeadZone</a>' */</span></td></tr> +<tr name="727" id="727"> +<td>727</td><td></td></tr> +<tr name="728" id="728"> +<td>728</td><td> <span class="ct">/* RelationalOperator: '<a class="ct blk" blk_line="728"><S44>/NotEqual</a>' */</span></td></tr> +<tr name="729" id="729"> +<td>729</td><td> <a id="729c7" class="tk">NotEqual_b</a> = (0.0F != <a id="729c29" class="tk">electrical_angle</a>);</td></tr> +<tr name="730" id="730"> +<td>730</td><td></td></tr> +<tr name="731" id="731"> +<td>731</td><td> <span class="ct">/* Signum: '<a class="ct blk" blk_line="731"><S44>/SignDeltaU</a>' */</span></td></tr> +<tr name="732" id="732"> +<td>732</td><td> <span class="kw">if</span> (<a id="732c11" class="tk">electrical_angle</a> < 0.0F) <span class="br">{</span></td></tr> +<tr name="733" id="733"> +<td>733</td><td> <a id="733c9" class="tk">electrical_angle</a> = -1.0F;</td></tr> +<tr name="734" id="734"> +<td>734</td><td> <span class="br">}</span> <span class="kw">else</span> <span class="br">{</span></td></tr> +<tr name="735" id="735"> +<td>735</td><td> <span class="kw">if</span> (<a id="735c13" class="tk">electrical_angle</a> > 0.0F) <span class="br">{</span></td></tr> +<tr name="736" id="736"> +<td>736</td><td> <a id="736c11" class="tk">electrical_angle</a> = 1.0F;</td></tr> +<tr name="737" id="737"> +<td>737</td><td> <span class="br">}</span></td></tr> +<tr name="738" id="738"> +<td>738</td><td> <span class="br">}</span></td></tr> +<tr name="739" id="739"> +<td>739</td><td></td></tr> +<tr name="740" id="740"> +<td>740</td><td> <span class="ct">/* End of Signum: '<a class="ct blk" blk_line="740"><S44>/SignDeltaU</a>' */</span></td></tr> +<tr name="741" id="741"> +<td>741</td><td></td></tr> +<tr name="742" id="742"> +<td>742</td><td> <span class="ct">/* Gain: '<a class="ct blk" blk_line="742"><S42>/Integral Gain</a>' */</span></td></tr> +<tr name="743" id="743"> +<td>743</td><td> <a id="743c7" class="tk">Switch_fr</a> *= <a id="743c20" class="tk">ctrlParams</a>.<a id="743c31" class="tk">Position_I</a>;</td></tr> +<tr name="744" id="744"> +<td>744</td><td></td></tr> +<tr name="745" id="745"> +<td>745</td><td> <span class="ct">/* DataTypeConversion: '<a class="ct blk" blk_line="745"><S44>/DataTypeConv1</a>' */</span></td></tr> +<tr name="746" id="746"> +<td>746</td><td> <span class="kw">if</span> (<a id="746c11" class="tk">electrical_angle</a> < 128.0F) <span class="br">{</span></td></tr> +<tr name="747" id="747"> +<td>747</td><td> <a id="747c9" class="tk">rtPrevAction</a> = (<a id="747c25" class="tk">int8_T</a>)<a id="747c32" class="tk">electrical_angle</a>;</td></tr> +<tr name="748" id="748"> +<td>748</td><td> <span class="br">}</span> <span class="kw">else</span> <span class="br">{</span></td></tr> +<tr name="749" id="749"> +<td>749</td><td> <a id="749c9" class="tk">rtPrevAction</a> = <a id="749c24" class="tk">MAX_int8_T</a>;</td></tr> +<tr name="750" id="750"> +<td>750</td><td> <span class="br">}</span></td></tr> +<tr name="751" id="751"> +<td>751</td><td></td></tr> +<tr name="752" id="752"> +<td>752</td><td> <span class="ct">/* End of DataTypeConversion: '<a class="ct blk" blk_line="752"><S44>/DataTypeConv1</a>' */</span></td></tr> +<tr name="753" id="753"> +<td>753</td><td></td></tr> +<tr name="754" id="754"> +<td>754</td><td> <span class="ct">/* Signum: '<a class="ct blk" blk_line="754"><S44>/SignPreIntegrator</a>' */</span></td></tr> +<tr name="755" id="755"> +<td>755</td><td> <span class="kw">if</span> (<a id="755c11" class="tk">Switch_fr</a> < 0.0F) <span class="br">{</span></td></tr> +<tr name="756" id="756"> +<td>756</td><td> <a id="756c9" class="tk">electrical_angle</a> = -1.0F;</td></tr> +<tr name="757" id="757"> +<td>757</td><td> <span class="br">}</span> <span class="kw">else</span> <span class="kw">if</span> (<a id="757c18" class="tk">Switch_fr</a> > 0.0F) <span class="br">{</span></td></tr> +<tr name="758" id="758"> +<td>758</td><td> <a id="758c9" class="tk">electrical_angle</a> = 1.0F;</td></tr> +<tr name="759" id="759"> +<td>759</td><td> <span class="br">}</span> <span class="kw">else</span> <span class="br">{</span></td></tr> +<tr name="760" id="760"> +<td>760</td><td> <a id="760c9" class="tk">electrical_angle</a> = <a id="760c28" class="tk">Switch_fr</a>;</td></tr> +<tr name="761" id="761"> +<td>761</td><td> <span class="br">}</span></td></tr> +<tr name="762" id="762"> +<td>762</td><td></td></tr> +<tr name="763" id="763"> +<td>763</td><td> <span class="ct">/* Switch: '<a class="ct blk" blk_line="763"><S42>/Switch</a>' incorporates:</span></td></tr> +<tr name="764" id="764"> +<td>764</td><td><span class="ct"> * Constant: '<a class="ct blk" blk_line="764"><S42>/Constant</a>'</span></td></tr> +<tr name="765" id="765"> +<td>765</td><td><span class="ct"> * DataTypeConversion: '<a class="ct blk" blk_line="765"><S44>/DataTypeConv2</a>'</span></td></tr> +<tr name="766" id="766"> +<td>766</td><td><span class="ct"> * Logic: '<a class="ct blk" blk_line="766"><S44>/AND</a>'</span></td></tr> +<tr name="767" id="767"> +<td>767</td><td><span class="ct"> * RelationalOperator: '<a class="ct blk" blk_line="767"><S44>/Equal</a>'</span></td></tr> +<tr name="768" id="768"> +<td>768</td><td><span class="ct"> * Signum: '<a class="ct blk" blk_line="768"><S44>/SignPreIntegrator</a>'</span></td></tr> +<tr name="769" id="769"> +<td>769</td><td><span class="ct"> */</span></td></tr> +<tr name="770" id="770"> +<td>770</td><td> <span class="kw">if</span> (<a id="770c11" class="tk">NotEqual_b</a> && (<a id="770c26" class="tk">rtPrevAction</a> == ((<a id="770c44" class="tk">int8_T</a>)<a id="770c51" class="tk">electrical_angle</a>))) <span class="br">{</span></td></tr> +<tr name="771" id="771"> +<td>771</td><td> <a id="771c9" class="tk">Switch_fr</a> = 0.0F;</td></tr> +<tr name="772" id="772"> +<td>772</td><td> <span class="br">}</span></td></tr> +<tr name="773" id="773"> +<td>773</td><td></td></tr> +<tr name="774" id="774"> +<td>774</td><td> <span class="ct">/* End of Switch: '<a class="ct blk" blk_line="774"><S42>/Switch</a>' */</span></td></tr> +<tr name="775" id="775"> +<td>775</td><td></td></tr> +<tr name="776" id="776"> +<td>776</td><td> <span class="ct">/* Update for DiscreteIntegrator: '<a class="ct blk" blk_line="776"><S42>/Integrator</a>' */</span></td></tr> +<tr name="777" id="777"> +<td>777</td><td> <a id="777c7" class="tk">DWork</a>.<a id="777c13" class="tk">Integrator_DSTATE_lc</a> += 0.005F * <a id="777c46" class="tk">Switch_fr</a>;</td></tr> +<tr name="778" id="778"> +<td>778</td><td></td></tr> +<tr name="779" id="779"> +<td>779</td><td> <span class="ct">/* End of Outputs for SubSystem: '<a class="ct blk" blk_line="779"><S5>/Position_Control</a>' */</span></td></tr> +<tr name="780" id="780"> +<td>780</td><td> <span class="kw">break</span>;</td></tr> +<tr name="781" id="781"> +<td>781</td><td></td></tr> +<tr name="782" id="782"> +<td>782</td><td> <span class="kw">case</span> 2:</td></tr> +<tr name="783" id="783"> +<td>783</td><td> <span class="ct">/* Outputs for IfAction SubSystem: '<a class="ct blk" blk_line="783"><S5>/Torque_Control</a>' incorporates:</span></td></tr> +<tr name="784" id="784"> +<td>784</td><td><span class="ct"> * ActionPort: '<a class="ct blk" blk_line="784"><S10>/Action Port</a>'</span></td></tr> +<tr name="785" id="785"> +<td>785</td><td><span class="ct"> */</span></td></tr> +<tr name="786" id="786"> +<td>786</td><td> <a id="786c7" class="tk">DWork</a>.<a id="786c13" class="tk">Merge</a> = <a id="786c21" class="tk">DWork</a>.<a id="786c27" class="tk">torque_command</a>;</td></tr> +<tr name="787" id="787"> +<td>787</td><td></td></tr> +<tr name="788" id="788"> +<td>788</td><td> <span class="ct">/* End of Outputs for SubSystem: '<a class="ct blk" blk_line="788"><S5>/Torque_Control</a>' */</span></td></tr> +<tr name="789" id="789"> +<td>789</td><td> <span class="kw">break</span>;</td></tr> +<tr name="790" id="790"> +<td>790</td><td> <span class="br">}</span></td></tr> +<tr name="791" id="791"> +<td>791</td><td></td></tr> +<tr name="792" id="792"> +<td>792</td><td> <span class="ct">/* End of SwitchCase: '<a class="ct blk" blk_line="792"><S5>/Switch Case</a>' */</span></td></tr> +<tr name="793" id="793"> +<td>793</td><td> <span class="br">}</span></td></tr> +<tr name="794" id="794"> +<td>794</td><td></td></tr> +<tr name="795" id="795"> +<td>795</td><td> <span class="ct">/* RateTransition: '<a class="ct blk" blk_line="795"><S5>/Lo_to_Hi_Rate_Transition1</a>' */</span></td></tr> +<tr name="796" id="796"> +<td>796</td><td> <a id="796c3" class="tk">q_current_command</a> = <a id="796c23" class="tk">DWork</a>.<a id="796c29" class="tk">Merge</a>;</td></tr> +<tr name="797" id="797"> +<td>797</td><td></td></tr> +<tr name="798" id="798"> +<td>798</td><td> <span class="ct">/* Sum: '<a class="ct blk" blk_line="798"><S22>/Add</a>' incorporates:</span></td></tr> +<tr name="799" id="799"> +<td>799</td><td><span class="ct"> * Product: '<a class="ct blk" blk_line="799"><S22>/Product</a>'</span></td></tr> +<tr name="800" id="800"> +<td>800</td><td><span class="ct"> * Product: '<a class="ct blk" blk_line="800"><S22>/Product1</a>'</span></td></tr> +<tr name="801" id="801"> +<td>801</td><td><span class="ct"> */</span></td></tr> +<tr name="802" id="802"> +<td>802</td><td> <a id="802c3" class="tk">q_current_measured</a> = (<a id="802c25" class="tk">SignDeltaU_b</a> * <a id="802c40" class="tk">cos_coefficient</a>) - (<a id="802c60" class="tk">phase_currents</a>[0] *</td></tr> +<tr name="803" id="803"> +<td>803</td><td> <a id="803c5" class="tk">sin_coefficient</a>);</td></tr> +<tr name="804" id="804"> +<td>804</td><td></td></tr> +<tr name="805" id="805"> +<td>805</td><td> <span class="ct">/* Sum: '<a class="ct blk" blk_line="805"><S12>/Sum</a>' */</span></td></tr> +<tr name="806" id="806"> +<td>806</td><td> <a id="806c3" class="tk">q_current_error</a> = <a id="806c21" class="tk">q_current_command</a> - <a id="806c41" class="tk">q_current_measured</a>;</td></tr> +<tr name="807" id="807"> +<td>807</td><td></td></tr> +<tr name="808" id="808"> +<td>808</td><td> <span class="ct">/* DiscreteIntegrator: '<a class="ct blk" blk_line="808"><S18>/Integrator</a>' */</span></td></tr> +<tr name="809" id="809"> +<td>809</td><td> <span class="kw">if</span> ((<a id="809c8" class="tk">FixPtRelationalOperator</a> != 0) || (<a id="809c42" class="tk">DWork</a>.<a id="809c48" class="tk">Integrator_PrevResetState_c</a> != 0))</td></tr> +<tr name="810" id="810"> +<td>810</td><td> <span class="br">{</span></td></tr> +<tr name="811" id="811"> +<td>811</td><td> <a id="811c5" class="tk">DWork</a>.<a id="811c11" class="tk">Integrator_DSTATE_l</a> = 0.0F;</td></tr> +<tr name="812" id="812"> +<td>812</td><td> <span class="br">}</span></td></tr> +<tr name="813" id="813"> +<td>813</td><td></td></tr> +<tr name="814" id="814"> +<td>814</td><td> <span class="ct">/* Sum: '<a class="ct blk" blk_line="814"><S18>/Sum</a>' incorporates:</span></td></tr> +<tr name="815" id="815"> +<td>815</td><td><span class="ct"> * DiscreteIntegrator: '<a class="ct blk" blk_line="815"><S18>/Integrator</a>'</span></td></tr> +<tr name="816" id="816"> +<td>816</td><td><span class="ct"> * Gain: '<a class="ct blk" blk_line="816"><S18>/Proportional Gain</a>'</span></td></tr> +<tr name="817" id="817"> +<td>817</td><td><span class="ct"> */</span></td></tr> +<tr name="818" id="818"> +<td>818</td><td> <a id="818c3" class="tk">SignDeltaU_b</a> = (<a id="818c19" class="tk">ctrlParams</a>.<a id="818c30" class="tk">Current_P</a> * <a id="818c42" class="tk">q_current_error</a>) +</td></tr> +<tr name="819" id="819"> +<td>819</td><td> <a id="819c5" class="tk">DWork</a>.<a id="819c11" class="tk">Integrator_DSTATE_l</a>;</td></tr> +<tr name="820" id="820"> +<td>820</td><td></td></tr> +<tr name="821" id="821"> +<td>821</td><td> <span class="ct">/* Saturate: '<a class="ct blk" blk_line="821"><S18>/Saturate</a>' */</span></td></tr> +<tr name="822" id="822"> +<td>822</td><td> <span class="kw">if</span> (<a id="822c7" class="tk">SignDeltaU_b</a> > 12.0F) <span class="br">{</span></td></tr> +<tr name="823" id="823"> +<td>823</td><td> <a id="823c5" class="tk">alpha_voltage</a> = 12.0F;</td></tr> +<tr name="824" id="824"> +<td>824</td><td> <span class="br">}</span> <span class="kw">else</span> <span class="kw">if</span> (<a id="824c14" class="tk">SignDeltaU_b</a> < -12.0F) <span class="br">{</span></td></tr> +<tr name="825" id="825"> +<td>825</td><td> <a id="825c5" class="tk">alpha_voltage</a> = -12.0F;</td></tr> +<tr name="826" id="826"> +<td>826</td><td> <span class="br">}</span> <span class="kw">else</span> <span class="br">{</span></td></tr> +<tr name="827" id="827"> +<td>827</td><td> <a id="827c5" class="tk">alpha_voltage</a> = <a id="827c21" class="tk">SignDeltaU_b</a>;</td></tr> +<tr name="828" id="828"> +<td>828</td><td> <span class="br">}</span></td></tr> +<tr name="829" id="829"> +<td>829</td><td></td></tr> +<tr name="830" id="830"> +<td>830</td><td> <span class="ct">/* End of Saturate: '<a class="ct blk" blk_line="830"><S18>/Saturate</a>' */</span></td></tr> +<tr name="831" id="831"> +<td>831</td><td></td></tr> +<tr name="832" id="832"> +<td>832</td><td> <span class="ct">/* Sum: '<a class="ct blk" blk_line="832"><S24>/Add</a>' incorporates:</span></td></tr> +<tr name="833" id="833"> +<td>833</td><td><span class="ct"> * Product: '<a class="ct blk" blk_line="833"><S24>/Product</a>'</span></td></tr> +<tr name="834" id="834"> +<td>834</td><td><span class="ct"> * Product: '<a class="ct blk" blk_line="834"><S24>/Product1</a>'</span></td></tr> +<tr name="835" id="835"> +<td>835</td><td><span class="ct"> */</span></td></tr> +<tr name="836" id="836"> +<td>836</td><td> <a id="836c3" class="tk">SignPreIntegrator_f</a> = (<a id="836c26" class="tk">Gain1</a> * <a id="836c34" class="tk">sin_coefficient</a>) + (<a id="836c54" class="tk">alpha_voltage</a> *</td></tr> +<tr name="837" id="837"> +<td>837</td><td> <a id="837c5" class="tk">cos_coefficient</a>);</td></tr> +<tr name="838" id="838"> +<td>838</td><td></td></tr> +<tr name="839" id="839"> +<td>839</td><td> <span class="ct">/* Gain: '<a class="ct blk" blk_line="839"><S29>/Gain</a>' */</span></td></tr> +<tr name="840" id="840"> +<td>840</td><td> <a id="840c3" class="tk">IntegralGain_j</a> = 0.5F * <a id="840c27" class="tk">SignPreIntegrator_f</a>;</td></tr> +<tr name="841" id="841"> +<td>841</td><td></td></tr> +<tr name="842" id="842"> +<td>842</td><td> <span class="ct">/* Sum: '<a class="ct blk" blk_line="842"><S24>/Add1</a>' incorporates:</span></td></tr> +<tr name="843" id="843"> +<td>843</td><td><span class="ct"> * Product: '<a class="ct blk" blk_line="843"><S24>/Product2</a>'</span></td></tr> +<tr name="844" id="844"> +<td>844</td><td><span class="ct"> * Product: '<a class="ct blk" blk_line="844"><S24>/Product3</a>'</span></td></tr> +<tr name="845" id="845"> +<td>845</td><td><span class="ct"> */</span></td></tr> +<tr name="846" id="846"> +<td>846</td><td> <a id="846c3" class="tk">alpha_voltage</a> = (<a id="846c20" class="tk">Gain1</a> * <a id="846c28" class="tk">cos_coefficient</a>) - (<a id="846c48" class="tk">alpha_voltage</a> * <a id="846c64" class="tk">sin_coefficient</a>);</td></tr> +<tr name="847" id="847"> +<td>847</td><td></td></tr> +<tr name="848" id="848"> +<td>848</td><td> <span class="ct">/* Gain: '<a class="ct blk" blk_line="848"><S29>/Gain1</a>' */</span></td></tr> +<tr name="849" id="849"> +<td>849</td><td> <a id="849c3" class="tk">Gain1</a> = 0.866025388F * <a id="849c26" class="tk">alpha_voltage</a>;</td></tr> +<tr name="850" id="850"> +<td>850</td><td></td></tr> +<tr name="851" id="851"> +<td>851</td><td> <span class="ct">/* Gain: '<a class="ct blk" blk_line="851"><S30>/Space_Vector_Gain</a>' incorporates:</span></td></tr> +<tr name="852" id="852"> +<td>852</td><td><span class="ct"> * Gain: '<a class="ct blk" blk_line="852"><S30>/Alpha_Gain</a>'</span></td></tr> +<tr name="853" id="853"> +<td>853</td><td><span class="ct"> * Sum: '<a class="ct blk" blk_line="853"><S30>/Add</a>'</span></td></tr> +<tr name="854" id="854"> +<td>854</td><td><span class="ct"> */</span></td></tr> +<tr name="855" id="855"> +<td>855</td><td> <a id="855c3" class="tk">electrical_angle</a> = (((1.73205078F * <a id="855c39" class="tk">alpha_voltage</a>) + 33.941124F) +</td></tr> +<tr name="856" id="856"> +<td>856</td><td> <a id="856c23" class="tk">SignPreIntegrator_f</a>) * 0.353553385F;</td></tr> +<tr name="857" id="857"> +<td>857</td><td></td></tr> +<tr name="858" id="858"> +<td>858</td><td> <span class="ct">/* Gain: '<a class="ct blk" blk_line="858"><S33>/Va_Gain</a>' incorporates:</span></td></tr> +<tr name="859" id="859"> +<td>859</td><td><span class="ct"> * Gain: '<a class="ct blk" blk_line="859"><S33>/Alpha_Gain</a>'</span></td></tr> +<tr name="860" id="860"> +<td>860</td><td><span class="ct"> * Gain: '<a class="ct blk" blk_line="860"><S33>/Beta_Gain</a>'</span></td></tr> +<tr name="861" id="861"> +<td>861</td><td><span class="ct"> * Sum: '<a class="ct blk" blk_line="861"><S33>/Add</a>'</span></td></tr> +<tr name="862" id="862"> +<td>862</td><td><span class="ct"> */</span></td></tr> +<tr name="863" id="863"> +<td>863</td><td> <a id="863c3" class="tk">Switch_fr</a> = ((33.941124F - (1.73205078F * <a id="863c45" class="tk">alpha_voltage</a>)) + (3.0F *</td></tr> +<tr name="864" id="864"> +<td>864</td><td> <a id="864c5" class="tk">SignPreIntegrator_f</a>)) * 0.353553385F;</td></tr> +<tr name="865" id="865"> +<td>865</td><td></td></tr> +<tr name="866" id="866"> +<td>866</td><td> <span class="ct">/* Gain: '<a class="ct blk" blk_line="866"><S36>/Space_Vector_Gain</a>' incorporates:</span></td></tr> +<tr name="867" id="867"> +<td>867</td><td><span class="ct"> * Gain: '<a class="ct blk" blk_line="867"><S36>/Alpha_Gain</a>'</span></td></tr> +<tr name="868" id="868"> +<td>868</td><td><span class="ct"> * Sum: '<a class="ct blk" blk_line="868"><S36>/Add</a>'</span></td></tr> +<tr name="869" id="869"> +<td>869</td><td><span class="ct"> */</span></td></tr> +<tr name="870" id="870"> +<td>870</td><td> <a id="870c3" class="tk">cos_coefficient</a> = ((33.941124F - (1.73205078F * <a id="870c51" class="tk">alpha_voltage</a>)) -</td></tr> +<tr name="871" id="871"> +<td>871</td><td> <a id="871c22" class="tk">SignPreIntegrator_f</a>) * 0.353553385F;</td></tr> +<tr name="872" id="872"> +<td>872</td><td></td></tr> +<tr name="873" id="873"> +<td>873</td><td> <span class="ct">/* Gain: '<a class="ct blk" blk_line="873"><S31>/Space_Vector_Gain</a>' incorporates:</span></td></tr> +<tr name="874" id="874"> +<td>874</td><td><span class="ct"> * Constant: '<a class="ct blk" blk_line="874"><S27>/Bus_Voltage</a>'</span></td></tr> +<tr name="875" id="875"> +<td>875</td><td><span class="ct"> * Gain: '<a class="ct blk" blk_line="875"><S31>/Alpha_Gain</a>'</span></td></tr> +<tr name="876" id="876"> +<td>876</td><td><span class="ct"> * Sum: '<a class="ct blk" blk_line="876"><S31>/Add</a>'</span></td></tr> +<tr name="877" id="877"> +<td>877</td><td><span class="ct"> */</span></td></tr> +<tr name="878" id="878"> +<td>878</td><td> <a id="878c3" class="tk">sin_coefficient</a> = ((2.44948983F * <a id="878c37" class="tk">alpha_voltage</a>) + 24.0F) * 0.5F;</td></tr> +<tr name="879" id="879"> +<td>879</td><td></td></tr> +<tr name="880" id="880"> +<td>880</td><td> <span class="ct">/* Gain: '<a class="ct blk" blk_line="880"><S34>/Va_Gain</a>' incorporates:</span></td></tr> +<tr name="881" id="881"> +<td>881</td><td><span class="ct"> * Constant: '<a class="ct blk" blk_line="881"><S27>/Bus_Voltage</a>'</span></td></tr> +<tr name="882" id="882"> +<td>882</td><td><span class="ct"> * Gain: '<a class="ct blk" blk_line="882"><S34>/Beta_Gain</a>'</span></td></tr> +<tr name="883" id="883"> +<td>883</td><td><span class="ct"> * Sum: '<a class="ct blk" blk_line="883"><S34>/Add</a>'</span></td></tr> +<tr name="884" id="884"> +<td>884</td><td><span class="ct"> */</span></td></tr> +<tr name="885" id="885"> +<td>885</td><td> <a id="885c3" class="tk">Sectors_2_and_5_idx_1</a> = ((1.41421354F * <a id="885c43" class="tk">SignPreIntegrator_f</a>) + 24.0F) * 0.5F;</td></tr> +<tr name="886" id="886"> +<td>886</td><td></td></tr> +<tr name="887" id="887"> +<td>887</td><td> <span class="ct">/* Gain: '<a class="ct blk" blk_line="887"><S37>/Space_Vector_Gain</a>' incorporates:</span></td></tr> +<tr name="888" id="888"> +<td>888</td><td><span class="ct"> * Constant: '<a class="ct blk" blk_line="888"><S27>/Bus_Voltage</a>'</span></td></tr> +<tr name="889" id="889"> +<td>889</td><td><span class="ct"> * Gain: '<a class="ct blk" blk_line="889"><S37>/Beta_Gain</a>'</span></td></tr> +<tr name="890" id="890"> +<td>890</td><td><span class="ct"> * Sum: '<a class="ct blk" blk_line="890"><S37>/Add</a>'</span></td></tr> +<tr name="891" id="891"> +<td>891</td><td><span class="ct"> */</span></td></tr> +<tr name="892" id="892"> +<td>892</td><td> <a id="892c3" class="tk">Sectors_2_and_5_idx_2</a> = (24.0F - (1.41421354F * <a id="892c51" class="tk">SignPreIntegrator_f</a>)) * 0.5F;</td></tr> +<tr name="893" id="893"> +<td>893</td><td></td></tr> +<tr name="894" id="894"> +<td>894</td><td> <span class="ct">/* Gain: '<a class="ct blk" blk_line="894"><S32>/Space_Vector_Gain</a>' incorporates:</span></td></tr> +<tr name="895" id="895"> +<td>895</td><td><span class="ct"> * Gain: '<a class="ct blk" blk_line="895"><S32>/Alpha_Gain</a>'</span></td></tr> +<tr name="896" id="896"> +<td>896</td><td><span class="ct"> * Sum: '<a class="ct blk" blk_line="896"><S32>/Add</a>'</span></td></tr> +<tr name="897" id="897"> +<td>897</td><td><span class="ct"> */</span></td></tr> +<tr name="898" id="898"> +<td>898</td><td> <a id="898c3" class="tk">phase_voltages</a>[0] = (((1.73205078F * <a id="898c40" class="tk">alpha_voltage</a>) + 33.941124F) -</td></tr> +<tr name="899" id="899"> +<td>899</td><td> <a id="899c24" class="tk">SignPreIntegrator_f</a>) * 0.353553385F;</td></tr> +<tr name="900" id="900"> +<td>900</td><td></td></tr> +<tr name="901" id="901"> +<td>901</td><td> <span class="ct">/* Gain: '<a class="ct blk" blk_line="901"><S35>/Va_Gain</a>' incorporates:</span></td></tr> +<tr name="902" id="902"> +<td>902</td><td><span class="ct"> * Gain: '<a class="ct blk" blk_line="902"><S35>/Alpha_Gain</a>'</span></td></tr> +<tr name="903" id="903"> +<td>903</td><td><span class="ct"> * Sum: '<a class="ct blk" blk_line="903"><S35>/Add</a>'</span></td></tr> +<tr name="904" id="904"> +<td>904</td><td><span class="ct"> */</span></td></tr> +<tr name="905" id="905"> +<td>905</td><td> <a id="905c3" class="tk">phase_voltages</a>[1] = ((33.941124F - (1.73205078F * <a id="905c53" class="tk">alpha_voltage</a>)) +</td></tr> +<tr name="906" id="906"> +<td>906</td><td> <a id="906c24" class="tk">SignPreIntegrator_f</a>) * 0.353553385F;</td></tr> +<tr name="907" id="907"> +<td>907</td><td></td></tr> +<tr name="908" id="908"> +<td>908</td><td> <span class="ct">/* Gain: '<a class="ct blk" blk_line="908"><S38>/Space_Vector_Gain</a>' incorporates:</span></td></tr> +<tr name="909" id="909"> +<td>909</td><td><span class="ct"> * Gain: '<a class="ct blk" blk_line="909"><S38>/Alpha_Gain</a>'</span></td></tr> +<tr name="910" id="910"> +<td>910</td><td><span class="ct"> * Gain: '<a class="ct blk" blk_line="910"><S38>/Beta_Gain</a>'</span></td></tr> +<tr name="911" id="911"> +<td>911</td><td><span class="ct"> * Sum: '<a class="ct blk" blk_line="911"><S38>/Add</a>'</span></td></tr> +<tr name="912" id="912"> +<td>912</td><td><span class="ct"> */</span></td></tr> +<tr name="913" id="913"> +<td>913</td><td> <a id="913c3" class="tk">phase_voltages</a>[2] = ((33.941124F - (1.73205078F * <a id="913c53" class="tk">alpha_voltage</a>)) - (3.0F *</td></tr> +<tr name="914" id="914"> +<td>914</td><td> <a id="914c5" class="tk">SignPreIntegrator_f</a>)) * 0.353553385F;</td></tr> +<tr name="915" id="915"> +<td>915</td><td></td></tr> +<tr name="916" id="916"> +<td>916</td><td> <span class="ct">/* LookupNDDirect: '<a class="ct blk" blk_line="916"><S28>/Lookup_Table</a>' incorporates:</span></td></tr> +<tr name="917" id="917"> +<td>917</td><td><span class="ct"> * Constant: '<a class="ct blk" blk_line="917"><S39>/Constant</a>'</span></td></tr> +<tr name="918" id="918"> +<td>918</td><td><span class="ct"> * Constant: '<a class="ct blk" blk_line="918"><S40>/Constant</a>'</span></td></tr> +<tr name="919" id="919"> +<td>919</td><td><span class="ct"> * Constant: '<a class="ct blk" blk_line="919"><S41>/Constant</a>'</span></td></tr> +<tr name="920" id="920"> +<td>920</td><td><span class="ct"> * Gain: '<a class="ct blk" blk_line="920"><S28>/Sector_Gain_VB</a>'</span></td></tr> +<tr name="921" id="921"> +<td>921</td><td><span class="ct"> * Gain: '<a class="ct blk" blk_line="921"><S28>/Sector_Gain_VC</a>'</span></td></tr> +<tr name="922" id="922"> +<td>922</td><td><span class="ct"> * RelationalOperator: '<a class="ct blk" blk_line="922"><S39>/Compare</a>'</span></td></tr> +<tr name="923" id="923"> +<td>923</td><td><span class="ct"> * RelationalOperator: '<a class="ct blk" blk_line="923"><S40>/Compare</a>'</span></td></tr> +<tr name="924" id="924"> +<td>924</td><td><span class="ct"> * RelationalOperator: '<a class="ct blk" blk_line="924"><S41>/Compare</a>'</span></td></tr> +<tr name="925" id="925"> +<td>925</td><td><span class="ct"> * Sum: '<a class="ct blk" blk_line="925"><S28>/Calculate_Phase_Advanced_Sector</a>'</span></td></tr> +<tr name="926" id="926"> +<td>926</td><td><span class="ct"> * Sum: '<a class="ct blk" blk_line="926"><S29>/Add</a>'</span></td></tr> +<tr name="927" id="927"> +<td>927</td><td><span class="ct"> * Sum: '<a class="ct blk" blk_line="927"><S29>/Add1</a>'</span></td></tr> +<tr name="928" id="928"> +<td>928</td><td><span class="ct"> *</span></td></tr> +<tr name="929" id="929"> +<td>929</td><td><span class="ct"> * About '<a class="ct blk" blk_line="929"><S28>/Lookup_Table</a>':</span></td></tr> +<tr name="930" id="930"> +<td>930</td><td><span class="ct"> * 1-dimensional Direct Look-Up returning a Scalar</span></td></tr> +<tr name="931" id="931"> +<td>931</td><td><span class="ct"> */</span></td></tr> +<tr name="932" id="932"> +<td>932</td><td> <a id="932c3" class="tk">u0</a> = (<a id="932c9" class="tk">int16_T</a>)(((((<a id="932c22" class="tk">Gain1</a> - <a id="932c30" class="tk">IntegralGain_j</a>) > 0.0F) << 1) +</td></tr> +<tr name="933" id="933"> +<td>933</td><td> (<a id="933c20" class="tk">SignPreIntegrator_f</a> > 0.0F)) + ((((0.0F - <a id="933c62" class="tk">IntegralGain_j</a>) -</td></tr> +<tr name="934" id="934"> +<td>934</td><td> <a id="934c5" class="tk">Gain1</a>) > 0.0F) << 2));</td></tr> +<tr name="935" id="935"> +<td>935</td><td> <span class="kw">if</span> (<a id="935c7" class="tk">u0</a> > 6) <span class="br">{</span></td></tr> +<tr name="936" id="936"> +<td>936</td><td> <a id="936c5" class="tk">u0</a> = 6;</td></tr> +<tr name="937" id="937"> +<td>937</td><td> <span class="br">}</span></td></tr> +<tr name="938" id="938"> +<td>938</td><td></td></tr> +<tr name="939" id="939"> +<td>939</td><td> <span class="ct">/* MultiPortSwitch: '<a class="ct blk" blk_line="939"><S27>/Select_Sector</a>' incorporates:</span></td></tr> +<tr name="940" id="940"> +<td>940</td><td><span class="ct"> * LookupNDDirect: '<a class="ct blk" blk_line="940"><S28>/Lookup_Table</a>'</span></td></tr> +<tr name="941" id="941"> +<td>941</td><td><span class="ct"> *</span></td></tr> +<tr name="942" id="942"> +<td>942</td><td><span class="ct"> * About '<a class="ct blk" blk_line="942"><S28>/Lookup_Table</a>':</span></td></tr> +<tr name="943" id="943"> +<td>943</td><td><span class="ct"> * 1-dimensional Direct Look-Up returning a Scalar</span></td></tr> +<tr name="944" id="944"> +<td>944</td><td><span class="ct"> */</span></td></tr> +<tr name="945" id="945"> +<td>945</td><td> <span class="kw">switch</span> (<a id="945c11" class="tk">ConstP</a>.<a id="945c18" class="tk">Lookup_Table_table</a>[<a id="945c37" class="tk">u0</a>]) <span class="br">{</span></td></tr> +<tr name="946" id="946"> +<td>946</td><td> <span class="kw">case</span> 1:</td></tr> +<tr name="947" id="947"> +<td>947</td><td> <a id="947c5" class="tk">phase_voltages</a>[0] = <a id="947c25" class="tk">electrical_angle</a>;</td></tr> +<tr name="948" id="948"> +<td>948</td><td> <a id="948c5" class="tk">phase_voltages</a>[1] = <a id="948c25" class="tk">Switch_fr</a>;</td></tr> +<tr name="949" id="949"> +<td>949</td><td> <a id="949c5" class="tk">phase_voltages</a>[2] = <a id="949c25" class="tk">cos_coefficient</a>;</td></tr> +<tr name="950" id="950"> +<td>950</td><td> <span class="kw">break</span>;</td></tr> +<tr name="951" id="951"> +<td>951</td><td></td></tr> +<tr name="952" id="952"> +<td>952</td><td> <span class="kw">case</span> 2:</td></tr> +<tr name="953" id="953"> +<td>953</td><td> <a id="953c5" class="tk">phase_voltages</a>[0] = <a id="953c25" class="tk">sin_coefficient</a>;</td></tr> +<tr name="954" id="954"> +<td>954</td><td> <a id="954c5" class="tk">phase_voltages</a>[1] = <a id="954c25" class="tk">Sectors_2_and_5_idx_1</a>;</td></tr> +<tr name="955" id="955"> +<td>955</td><td> <a id="955c5" class="tk">phase_voltages</a>[2] = <a id="955c25" class="tk">Sectors_2_and_5_idx_2</a>;</td></tr> +<tr name="956" id="956"> +<td>956</td><td> <span class="kw">break</span>;</td></tr> +<tr name="957" id="957"> +<td>957</td><td></td></tr> +<tr name="958" id="958"> +<td>958</td><td> <span class="kw">case</span> 3:</td></tr> +<tr name="959" id="959"> +<td>959</td><td> <span class="kw">break</span>;</td></tr> +<tr name="960" id="960"> +<td>960</td><td></td></tr> +<tr name="961" id="961"> +<td>961</td><td> <span class="kw">case</span> 4:</td></tr> +<tr name="962" id="962"> +<td>962</td><td> <a id="962c5" class="tk">phase_voltages</a>[0] = <a id="962c25" class="tk">electrical_angle</a>;</td></tr> +<tr name="963" id="963"> +<td>963</td><td> <a id="963c5" class="tk">phase_voltages</a>[1] = <a id="963c25" class="tk">Switch_fr</a>;</td></tr> +<tr name="964" id="964"> +<td>964</td><td> <a id="964c5" class="tk">phase_voltages</a>[2] = <a id="964c25" class="tk">cos_coefficient</a>;</td></tr> +<tr name="965" id="965"> +<td>965</td><td> <span class="kw">break</span>;</td></tr> +<tr name="966" id="966"> +<td>966</td><td></td></tr> +<tr name="967" id="967"> +<td>967</td><td> <span class="kw">case</span> 5:</td></tr> +<tr name="968" id="968"> +<td>968</td><td> <a id="968c5" class="tk">phase_voltages</a>[0] = <a id="968c25" class="tk">sin_coefficient</a>;</td></tr> +<tr name="969" id="969"> +<td>969</td><td> <a id="969c5" class="tk">phase_voltages</a>[1] = <a id="969c25" class="tk">Sectors_2_and_5_idx_1</a>;</td></tr> +<tr name="970" id="970"> +<td>970</td><td> <a id="970c5" class="tk">phase_voltages</a>[2] = <a id="970c25" class="tk">Sectors_2_and_5_idx_2</a>;</td></tr> +<tr name="971" id="971"> +<td>971</td><td> <span class="kw">break</span>;</td></tr> +<tr name="972" id="972"> +<td>972</td><td> <span class="br">}</span></td></tr> +<tr name="973" id="973"> +<td>973</td><td></td></tr> +<tr name="974" id="974"> +<td>974</td><td> <span class="ct">/* End of MultiPortSwitch: '<a class="ct blk" blk_line="974"><S27>/Select_Sector</a>' */</span></td></tr> +<tr name="975" id="975"> +<td>975</td><td></td></tr> +<tr name="976" id="976"> +<td>976</td><td> <span class="ct">/* Switch: '<a class="ct blk" blk_line="976"><S6>/Switch</a>' */</span></td></tr> +<tr name="977" id="977"> +<td>977</td><td> <span class="kw">if</span> (<a id="977c7" class="tk">DWork</a>.<a id="977c13" class="tk">Lo_to_Hi_Rate_Transition3_Buffe</a>) <span class="br">{</span></td></tr> +<tr name="978" id="978"> +<td>978</td><td> <span class="ct">/* Outport: '<a class="ct blk" blk_line="978"><Root>/pwm_compare</a>' */</span></td></tr> +<tr name="979" id="979"> +<td>979</td><td> <a id="979c5" class="tk">pwm_compare</a>[0] = 1500U;</td></tr> +<tr name="980" id="980"> +<td>980</td><td> <a id="980c5" class="tk">pwm_compare</a>[1] = 1500U;</td></tr> +<tr name="981" id="981"> +<td>981</td><td> <a id="981c5" class="tk">pwm_compare</a>[2] = 1500U;</td></tr> +<tr name="982" id="982"> +<td>982</td><td> <span class="br">}</span> <span class="kw">else</span> <span class="br">{</span></td></tr> +<tr name="983" id="983"> +<td>983</td><td> <span class="ct">/* Gain: '<a class="ct blk" blk_line="983"><S6>/Voltage to PWM Compare Units</a>' */</span></td></tr> +<tr name="984" id="984"> +<td>984</td><td> <a id="984c5" class="tk">electrical_angle</a> = 125.0F * <a id="984c33" class="tk">phase_voltages</a>[0];</td></tr> +<tr name="985" id="985"> +<td>985</td><td></td></tr> +<tr name="986" id="986"> +<td>986</td><td> <span class="ct">/* Saturate: '<a class="ct blk" blk_line="986"><S6>/Saturation</a>' */</span></td></tr> +<tr name="987" id="987"> +<td>987</td><td> <span class="kw">if</span> (<a id="987c9" class="tk">electrical_angle</a> > 2999.0F) <span class="br">{</span></td></tr> +<tr name="988" id="988"> +<td>988</td><td> <span class="ct">/* Outport: '<a class="ct blk" blk_line="988"><Root>/pwm_compare</a>' incorporates:</span></td></tr> +<tr name="989" id="989"> +<td>989</td><td><span class="ct"> * DataTypeConversion: '<a class="ct blk" blk_line="989"><S6>/Quantize</a>'</span></td></tr> +<tr name="990" id="990"> +<td>990</td><td><span class="ct"> */</span></td></tr> +<tr name="991" id="991"> +<td>991</td><td> <a id="991c7" class="tk">pwm_compare</a>[0] = 2999U;</td></tr> +<tr name="992" id="992"> +<td>992</td><td> <span class="br">}</span> <span class="kw">else</span> <span class="kw">if</span> (<a id="992c16" class="tk">electrical_angle</a> < 0.0F) <span class="br">{</span></td></tr> +<tr name="993" id="993"> +<td>993</td><td> <span class="ct">/* Outport: '<a class="ct blk" blk_line="993"><Root>/pwm_compare</a>' incorporates:</span></td></tr> +<tr name="994" id="994"> +<td>994</td><td><span class="ct"> * DataTypeConversion: '<a class="ct blk" blk_line="994"><S6>/Quantize</a>'</span></td></tr> +<tr name="995" id="995"> +<td>995</td><td><span class="ct"> */</span></td></tr> +<tr name="996" id="996"> +<td>996</td><td> <a id="996c7" class="tk">pwm_compare</a>[0] = 0U;</td></tr> +<tr name="997" id="997"> +<td>997</td><td> <span class="br">}</span> <span class="kw">else</span> <span class="br">{</span></td></tr> +<tr name="998" id="998"> +<td>998</td><td> <span class="ct">/* Outport: '<a class="ct blk" blk_line="998"><Root>/pwm_compare</a>' incorporates:</span></td></tr> +<tr name="999" id="999"> +<td>999</td><td><span class="ct"> * DataTypeConversion: '<a class="ct blk" blk_line="999"><S6>/Quantize</a>'</span></td></tr> +<tr name="1000" id="1000"> +<td>1000</td><td><span class="ct"> */</span></td></tr> +<tr name="1001" id="1001"> +<td>1001</td><td> <a id="1001c7" class="tk">pwm_compare</a>[0] = (<a id="1001c25" class="tk">uint16_T</a>)<a id="1001c34" class="tk">electrical_angle</a>;</td></tr> +<tr name="1002" id="1002"> +<td>1002</td><td> <span class="br">}</span></td></tr> +<tr name="1003" id="1003"> +<td>1003</td><td></td></tr> +<tr name="1004" id="1004"> +<td>1004</td><td> <span class="ct">/* Gain: '<a class="ct blk" blk_line="1004"><S6>/Voltage to PWM Compare Units</a>' */</span></td></tr> +<tr name="1005" id="1005"> +<td>1005</td><td> <a id="1005c5" class="tk">electrical_angle</a> = 125.0F * <a id="1005c33" class="tk">phase_voltages</a>[1];</td></tr> +<tr name="1006" id="1006"> +<td>1006</td><td></td></tr> +<tr name="1007" id="1007"> +<td>1007</td><td> <span class="ct">/* Saturate: '<a class="ct blk" blk_line="1007"><S6>/Saturation</a>' */</span></td></tr> +<tr name="1008" id="1008"> +<td>1008</td><td> <span class="kw">if</span> (<a id="1008c9" class="tk">electrical_angle</a> > 2999.0F) <span class="br">{</span></td></tr> +<tr name="1009" id="1009"> +<td>1009</td><td> <span class="ct">/* Outport: '<a class="ct blk" blk_line="1009"><Root>/pwm_compare</a>' incorporates:</span></td></tr> +<tr name="1010" id="1010"> +<td>1010</td><td><span class="ct"> * DataTypeConversion: '<a class="ct blk" blk_line="1010"><S6>/Quantize</a>'</span></td></tr> +<tr name="1011" id="1011"> +<td>1011</td><td><span class="ct"> */</span></td></tr> +<tr name="1012" id="1012"> +<td>1012</td><td> <a id="1012c7" class="tk">pwm_compare</a>[1] = 2999U;</td></tr> +<tr name="1013" id="1013"> +<td>1013</td><td> <span class="br">}</span> <span class="kw">else</span> <span class="kw">if</span> (<a id="1013c16" class="tk">electrical_angle</a> < 0.0F) <span class="br">{</span></td></tr> +<tr name="1014" id="1014"> +<td>1014</td><td> <span class="ct">/* Outport: '<a class="ct blk" blk_line="1014"><Root>/pwm_compare</a>' incorporates:</span></td></tr> +<tr name="1015" id="1015"> +<td>1015</td><td><span class="ct"> * DataTypeConversion: '<a class="ct blk" blk_line="1015"><S6>/Quantize</a>'</span></td></tr> +<tr name="1016" id="1016"> +<td>1016</td><td><span class="ct"> */</span></td></tr> +<tr name="1017" id="1017"> +<td>1017</td><td> <a id="1017c7" class="tk">pwm_compare</a>[1] = 0U;</td></tr> +<tr name="1018" id="1018"> +<td>1018</td><td> <span class="br">}</span> <span class="kw">else</span> <span class="br">{</span></td></tr> +<tr name="1019" id="1019"> +<td>1019</td><td> <span class="ct">/* Outport: '<a class="ct blk" blk_line="1019"><Root>/pwm_compare</a>' incorporates:</span></td></tr> +<tr name="1020" id="1020"> +<td>1020</td><td><span class="ct"> * DataTypeConversion: '<a class="ct blk" blk_line="1020"><S6>/Quantize</a>'</span></td></tr> +<tr name="1021" id="1021"> +<td>1021</td><td><span class="ct"> */</span></td></tr> +<tr name="1022" id="1022"> +<td>1022</td><td> <a id="1022c7" class="tk">pwm_compare</a>[1] = (<a id="1022c25" class="tk">uint16_T</a>)<a id="1022c34" class="tk">electrical_angle</a>;</td></tr> +<tr name="1023" id="1023"> +<td>1023</td><td> <span class="br">}</span></td></tr> +<tr name="1024" id="1024"> +<td>1024</td><td></td></tr> +<tr name="1025" id="1025"> +<td>1025</td><td> <span class="ct">/* Gain: '<a class="ct blk" blk_line="1025"><S6>/Voltage to PWM Compare Units</a>' */</span></td></tr> +<tr name="1026" id="1026"> +<td>1026</td><td> <a id="1026c5" class="tk">electrical_angle</a> = 125.0F * <a id="1026c33" class="tk">phase_voltages</a>[2];</td></tr> +<tr name="1027" id="1027"> +<td>1027</td><td></td></tr> +<tr name="1028" id="1028"> +<td>1028</td><td> <span class="ct">/* Saturate: '<a class="ct blk" blk_line="1028"><S6>/Saturation</a>' */</span></td></tr> +<tr name="1029" id="1029"> +<td>1029</td><td> <span class="kw">if</span> (<a id="1029c9" class="tk">electrical_angle</a> > 2999.0F) <span class="br">{</span></td></tr> +<tr name="1030" id="1030"> +<td>1030</td><td> <span class="ct">/* Outport: '<a class="ct blk" blk_line="1030"><Root>/pwm_compare</a>' incorporates:</span></td></tr> +<tr name="1031" id="1031"> +<td>1031</td><td><span class="ct"> * DataTypeConversion: '<a class="ct blk" blk_line="1031"><S6>/Quantize</a>'</span></td></tr> +<tr name="1032" id="1032"> +<td>1032</td><td><span class="ct"> */</span></td></tr> +<tr name="1033" id="1033"> +<td>1033</td><td> <a id="1033c7" class="tk">pwm_compare</a>[2] = 2999U;</td></tr> +<tr name="1034" id="1034"> +<td>1034</td><td> <span class="br">}</span> <span class="kw">else</span> <span class="kw">if</span> (<a id="1034c16" class="tk">electrical_angle</a> < 0.0F) <span class="br">{</span></td></tr> +<tr name="1035" id="1035"> +<td>1035</td><td> <span class="ct">/* Outport: '<a class="ct blk" blk_line="1035"><Root>/pwm_compare</a>' incorporates:</span></td></tr> +<tr name="1036" id="1036"> +<td>1036</td><td><span class="ct"> * DataTypeConversion: '<a class="ct blk" blk_line="1036"><S6>/Quantize</a>'</span></td></tr> +<tr name="1037" id="1037"> +<td>1037</td><td><span class="ct"> */</span></td></tr> +<tr name="1038" id="1038"> +<td>1038</td><td> <a id="1038c7" class="tk">pwm_compare</a>[2] = 0U;</td></tr> +<tr name="1039" id="1039"> +<td>1039</td><td> <span class="br">}</span> <span class="kw">else</span> <span class="br">{</span></td></tr> +<tr name="1040" id="1040"> +<td>1040</td><td> <span class="ct">/* Outport: '<a class="ct blk" blk_line="1040"><Root>/pwm_compare</a>' incorporates:</span></td></tr> +<tr name="1041" id="1041"> +<td>1041</td><td><span class="ct"> * DataTypeConversion: '<a class="ct blk" blk_line="1041"><S6>/Quantize</a>'</span></td></tr> +<tr name="1042" id="1042"> +<td>1042</td><td><span class="ct"> */</span></td></tr> +<tr name="1043" id="1043"> +<td>1043</td><td> <a id="1043c7" class="tk">pwm_compare</a>[2] = (<a id="1043c25" class="tk">uint16_T</a>)<a id="1043c34" class="tk">electrical_angle</a>;</td></tr> +<tr name="1044" id="1044"> +<td>1044</td><td> <span class="br">}</span></td></tr> +<tr name="1045" id="1045"> +<td>1045</td><td> <span class="br">}</span></td></tr> +<tr name="1046" id="1046"> +<td>1046</td><td></td></tr> +<tr name="1047" id="1047"> +<td>1047</td><td> <span class="ct">/* End of Switch: '<a class="ct blk" blk_line="1047"><S6>/Switch</a>' */</span></td></tr> +<tr name="1048" id="1048"> +<td>1048</td><td></td></tr> +<tr name="1049" id="1049"> +<td>1049</td><td> <span class="ct">/* DeadZone: '<a class="ct blk" blk_line="1049"><S19>/DeadZone</a>' */</span></td></tr> +<tr name="1050" id="1050"> +<td>1050</td><td> <span class="kw">if</span> (<a id="1050c7" class="tk">SignDeltaU</a> > 12.0F) <span class="br">{</span></td></tr> +<tr name="1051" id="1051"> +<td>1051</td><td> <a id="1051c5" class="tk">SignDeltaU</a> -= 12.0F;</td></tr> +<tr name="1052" id="1052"> +<td>1052</td><td> <span class="br">}</span> <span class="kw">else</span> <span class="kw">if</span> (<a id="1052c14" class="tk">SignDeltaU</a> >= -12.0F) <span class="br">{</span></td></tr> +<tr name="1053" id="1053"> +<td>1053</td><td> <a id="1053c5" class="tk">SignDeltaU</a> = 0.0F;</td></tr> +<tr name="1054" id="1054"> +<td>1054</td><td> <span class="br">}</span> <span class="kw">else</span> <span class="br">{</span></td></tr> +<tr name="1055" id="1055"> +<td>1055</td><td> <a id="1055c5" class="tk">SignDeltaU</a> -= -12.0F;</td></tr> +<tr name="1056" id="1056"> +<td>1056</td><td> <span class="br">}</span></td></tr> +<tr name="1057" id="1057"> +<td>1057</td><td></td></tr> +<tr name="1058" id="1058"> +<td>1058</td><td> <span class="ct">/* End of DeadZone: '<a class="ct blk" blk_line="1058"><S19>/DeadZone</a>' */</span></td></tr> +<tr name="1059" id="1059"> +<td>1059</td><td></td></tr> +<tr name="1060" id="1060"> +<td>1060</td><td> <span class="ct">/* RelationalOperator: '<a class="ct blk" blk_line="1060"><S19>/NotEqual</a>' */</span></td></tr> +<tr name="1061" id="1061"> +<td>1061</td><td> <a id="1061c3" class="tk">NotEqual_b</a> = (0.0F != <a id="1061c25" class="tk">SignDeltaU</a>);</td></tr> +<tr name="1062" id="1062"> +<td>1062</td><td></td></tr> +<tr name="1063" id="1063"> +<td>1063</td><td> <span class="ct">/* Signum: '<a class="ct blk" blk_line="1063"><S19>/SignDeltaU</a>' */</span></td></tr> +<tr name="1064" id="1064"> +<td>1064</td><td> <span class="kw">if</span> (<a id="1064c7" class="tk">SignDeltaU</a> < 0.0F) <span class="br">{</span></td></tr> +<tr name="1065" id="1065"> +<td>1065</td><td> <a id="1065c5" class="tk">SignDeltaU</a> = -1.0F;</td></tr> +<tr name="1066" id="1066"> +<td>1066</td><td> <span class="br">}</span> <span class="kw">else</span> <span class="br">{</span></td></tr> +<tr name="1067" id="1067"> +<td>1067</td><td> <span class="kw">if</span> (<a id="1067c9" class="tk">SignDeltaU</a> > 0.0F) <span class="br">{</span></td></tr> +<tr name="1068" id="1068"> +<td>1068</td><td> <a id="1068c7" class="tk">SignDeltaU</a> = 1.0F;</td></tr> +<tr name="1069" id="1069"> +<td>1069</td><td> <span class="br">}</span></td></tr> +<tr name="1070" id="1070"> +<td>1070</td><td> <span class="br">}</span></td></tr> +<tr name="1071" id="1071"> +<td>1071</td><td></td></tr> +<tr name="1072" id="1072"> +<td>1072</td><td> <span class="ct">/* End of Signum: '<a class="ct blk" blk_line="1072"><S19>/SignDeltaU</a>' */</span></td></tr> +<tr name="1073" id="1073"> +<td>1073</td><td></td></tr> +<tr name="1074" id="1074"> +<td>1074</td><td> <span class="ct">/* Gain: '<a class="ct blk" blk_line="1074"><S17>/Integral Gain</a>' */</span></td></tr> +<tr name="1075" id="1075"> +<td>1075</td><td> <a id="1075c3" class="tk">IntegralGain_j</a> = <a id="1075c20" class="tk">ctrlParams</a>.<a id="1075c31" class="tk">Current_I</a> * <a id="1075c43" class="tk">d_current_error</a>;</td></tr> +<tr name="1076" id="1076"> +<td>1076</td><td></td></tr> +<tr name="1077" id="1077"> +<td>1077</td><td> <span class="ct">/* DataTypeConversion: '<a class="ct blk" blk_line="1077"><S19>/DataTypeConv1</a>' */</span></td></tr> +<tr name="1078" id="1078"> +<td>1078</td><td> <span class="kw">if</span> (<a id="1078c7" class="tk">SignDeltaU</a> < 128.0F) <span class="br">{</span></td></tr> +<tr name="1079" id="1079"> +<td>1079</td><td> <a id="1079c5" class="tk">rtPrevAction</a> = (<a id="1079c21" class="tk">int8_T</a>)<a id="1079c28" class="tk">SignDeltaU</a>;</td></tr> +<tr name="1080" id="1080"> +<td>1080</td><td> <span class="br">}</span> <span class="kw">else</span> <span class="br">{</span></td></tr> +<tr name="1081" id="1081"> +<td>1081</td><td> <a id="1081c5" class="tk">rtPrevAction</a> = <a id="1081c20" class="tk">MAX_int8_T</a>;</td></tr> +<tr name="1082" id="1082"> +<td>1082</td><td> <span class="br">}</span></td></tr> +<tr name="1083" id="1083"> +<td>1083</td><td></td></tr> +<tr name="1084" id="1084"> +<td>1084</td><td> <span class="ct">/* End of DataTypeConversion: '<a class="ct blk" blk_line="1084"><S19>/DataTypeConv1</a>' */</span></td></tr> +<tr name="1085" id="1085"> +<td>1085</td><td></td></tr> +<tr name="1086" id="1086"> +<td>1086</td><td> <span class="ct">/* Signum: '<a class="ct blk" blk_line="1086"><S19>/SignPreIntegrator</a>' */</span></td></tr> +<tr name="1087" id="1087"> +<td>1087</td><td> <span class="kw">if</span> (<a id="1087c7" class="tk">IntegralGain_j</a> < 0.0F) <span class="br">{</span></td></tr> +<tr name="1088" id="1088"> +<td>1088</td><td> <a id="1088c5" class="tk">electrical_angle</a> = -1.0F;</td></tr> +<tr name="1089" id="1089"> +<td>1089</td><td> <span class="br">}</span> <span class="kw">else</span> <span class="kw">if</span> (<a id="1089c14" class="tk">IntegralGain_j</a> > 0.0F) <span class="br">{</span></td></tr> +<tr name="1090" id="1090"> +<td>1090</td><td> <a id="1090c5" class="tk">electrical_angle</a> = 1.0F;</td></tr> +<tr name="1091" id="1091"> +<td>1091</td><td> <span class="br">}</span> <span class="kw">else</span> <span class="br">{</span></td></tr> +<tr name="1092" id="1092"> +<td>1092</td><td> <a id="1092c5" class="tk">electrical_angle</a> = <a id="1092c24" class="tk">IntegralGain_j</a>;</td></tr> +<tr name="1093" id="1093"> +<td>1093</td><td> <span class="br">}</span></td></tr> +<tr name="1094" id="1094"> +<td>1094</td><td></td></tr> +<tr name="1095" id="1095"> +<td>1095</td><td> <span class="ct">/* Switch: '<a class="ct blk" blk_line="1095"><S17>/Switch</a>' incorporates:</span></td></tr> +<tr name="1096" id="1096"> +<td>1096</td><td><span class="ct"> * Constant: '<a class="ct blk" blk_line="1096"><S17>/Constant</a>'</span></td></tr> +<tr name="1097" id="1097"> +<td>1097</td><td><span class="ct"> * DataTypeConversion: '<a class="ct blk" blk_line="1097"><S19>/DataTypeConv2</a>'</span></td></tr> +<tr name="1098" id="1098"> +<td>1098</td><td><span class="ct"> * Logic: '<a class="ct blk" blk_line="1098"><S19>/AND</a>'</span></td></tr> +<tr name="1099" id="1099"> +<td>1099</td><td><span class="ct"> * RelationalOperator: '<a class="ct blk" blk_line="1099"><S19>/Equal</a>'</span></td></tr> +<tr name="1100" id="1100"> +<td>1100</td><td><span class="ct"> * Signum: '<a class="ct blk" blk_line="1100"><S19>/SignPreIntegrator</a>'</span></td></tr> +<tr name="1101" id="1101"> +<td>1101</td><td><span class="ct"> */</span></td></tr> +<tr name="1102" id="1102"> +<td>1102</td><td> <span class="kw">if</span> (<a id="1102c7" class="tk">NotEqual_b</a> && (<a id="1102c22" class="tk">rtPrevAction</a> == ((<a id="1102c40" class="tk">int8_T</a>)<a id="1102c47" class="tk">electrical_angle</a>))) <span class="br">{</span></td></tr> +<tr name="1103" id="1103"> +<td>1103</td><td> <a id="1103c5" class="tk">electrical_angle</a> = 0.0F;</td></tr> +<tr name="1104" id="1104"> +<td>1104</td><td> <span class="br">}</span> <span class="kw">else</span> <span class="br">{</span></td></tr> +<tr name="1105" id="1105"> +<td>1105</td><td> <a id="1105c5" class="tk">electrical_angle</a> = <a id="1105c24" class="tk">IntegralGain_j</a>;</td></tr> +<tr name="1106" id="1106"> +<td>1106</td><td> <span class="br">}</span></td></tr> +<tr name="1107" id="1107"> +<td>1107</td><td></td></tr> +<tr name="1108" id="1108"> +<td>1108</td><td> <span class="ct">/* End of Switch: '<a class="ct blk" blk_line="1108"><S17>/Switch</a>' */</span></td></tr> +<tr name="1109" id="1109"> +<td>1109</td><td></td></tr> +<tr name="1110" id="1110"> +<td>1110</td><td> <span class="ct">/* DeadZone: '<a class="ct blk" blk_line="1110"><S20>/DeadZone</a>' */</span></td></tr> +<tr name="1111" id="1111"> +<td>1111</td><td> <span class="kw">if</span> (<a id="1111c7" class="tk">SignDeltaU_b</a> > 12.0F) <span class="br">{</span></td></tr> +<tr name="1112" id="1112"> +<td>1112</td><td> <a id="1112c5" class="tk">SignDeltaU_b</a> -= 12.0F;</td></tr> +<tr name="1113" id="1113"> +<td>1113</td><td> <span class="br">}</span> <span class="kw">else</span> <span class="kw">if</span> (<a id="1113c14" class="tk">SignDeltaU_b</a> >= -12.0F) <span class="br">{</span></td></tr> +<tr name="1114" id="1114"> +<td>1114</td><td> <a id="1114c5" class="tk">SignDeltaU_b</a> = 0.0F;</td></tr> +<tr name="1115" id="1115"> +<td>1115</td><td> <span class="br">}</span> <span class="kw">else</span> <span class="br">{</span></td></tr> +<tr name="1116" id="1116"> +<td>1116</td><td> <a id="1116c5" class="tk">SignDeltaU_b</a> -= -12.0F;</td></tr> +<tr name="1117" id="1117"> +<td>1117</td><td> <span class="br">}</span></td></tr> +<tr name="1118" id="1118"> +<td>1118</td><td></td></tr> +<tr name="1119" id="1119"> +<td>1119</td><td> <span class="ct">/* End of DeadZone: '<a class="ct blk" blk_line="1119"><S20>/DeadZone</a>' */</span></td></tr> +<tr name="1120" id="1120"> +<td>1120</td><td></td></tr> +<tr name="1121" id="1121"> +<td>1121</td><td> <span class="ct">/* RelationalOperator: '<a class="ct blk" blk_line="1121"><S20>/NotEqual</a>' */</span></td></tr> +<tr name="1122" id="1122"> +<td>1122</td><td> <a id="1122c3" class="tk">NotEqual_b</a> = (0.0F != <a id="1122c25" class="tk">SignDeltaU_b</a>);</td></tr> +<tr name="1123" id="1123"> +<td>1123</td><td></td></tr> +<tr name="1124" id="1124"> +<td>1124</td><td> <span class="ct">/* Signum: '<a class="ct blk" blk_line="1124"><S20>/SignDeltaU</a>' */</span></td></tr> +<tr name="1125" id="1125"> +<td>1125</td><td> <span class="kw">if</span> (<a id="1125c7" class="tk">SignDeltaU_b</a> < 0.0F) <span class="br">{</span></td></tr> +<tr name="1126" id="1126"> +<td>1126</td><td> <a id="1126c5" class="tk">SignDeltaU_b</a> = -1.0F;</td></tr> +<tr name="1127" id="1127"> +<td>1127</td><td> <span class="br">}</span> <span class="kw">else</span> <span class="br">{</span></td></tr> +<tr name="1128" id="1128"> +<td>1128</td><td> <span class="kw">if</span> (<a id="1128c9" class="tk">SignDeltaU_b</a> > 0.0F) <span class="br">{</span></td></tr> +<tr name="1129" id="1129"> +<td>1129</td><td> <a id="1129c7" class="tk">SignDeltaU_b</a> = 1.0F;</td></tr> +<tr name="1130" id="1130"> +<td>1130</td><td> <span class="br">}</span></td></tr> +<tr name="1131" id="1131"> +<td>1131</td><td> <span class="br">}</span></td></tr> +<tr name="1132" id="1132"> +<td>1132</td><td></td></tr> +<tr name="1133" id="1133"> +<td>1133</td><td> <span class="ct">/* End of Signum: '<a class="ct blk" blk_line="1133"><S20>/SignDeltaU</a>' */</span></td></tr> +<tr name="1134" id="1134"> +<td>1134</td><td></td></tr> +<tr name="1135" id="1135"> +<td>1135</td><td> <span class="ct">/* Gain: '<a class="ct blk" blk_line="1135"><S18>/Integral Gain</a>' */</span></td></tr> +<tr name="1136" id="1136"> +<td>1136</td><td> <a id="1136c3" class="tk">IntegralGain_j</a> = <a id="1136c20" class="tk">ctrlParams</a>.<a id="1136c31" class="tk">Current_I</a> * <a id="1136c43" class="tk">q_current_error</a>;</td></tr> +<tr name="1137" id="1137"> +<td>1137</td><td> <span class="kw">if</span> (<a id="1137c7" class="tk">M</a>-><a id="1137c10" class="tk">Timing</a>.<a id="1137c17" class="tk">TaskCounters</a>.<a id="1137c30" class="tk">TID</a>[1] == 0) <span class="br">{</span></td></tr> +<tr name="1138" id="1138"> +<td>1138</td><td> <span class="ct">/* RelationalOperator: '<a class="ct blk" blk_line="1138"><S6>/Relational Operator</a>' incorporates:</span></td></tr> +<tr name="1139" id="1139"> +<td>1139</td><td><span class="ct"> * Constant: '<a class="ct blk" blk_line="1139"><S47>/Constant</a>'</span></td></tr> +<tr name="1140" id="1140"> +<td>1140</td><td><span class="ct"> */</span></td></tr> +<tr name="1141" id="1141"> +<td>1141</td><td> <a id="1141c5" class="tk">RelationalOperator</a> = (<a id="1141c27" class="tk">controller_mode</a> == <a id="1141c46" class="tk">StandBy</a>);</td></tr> +<tr name="1142" id="1142"> +<td>1142</td><td></td></tr> +<tr name="1143" id="1143"> +<td>1143</td><td> <span class="ct">/* Outputs for Enabled SubSystem: '<a class="ct blk" blk_line="1143"><S60>/Generate_Error</a>' incorporates:</span></td></tr> +<tr name="1144" id="1144"> +<td>1144</td><td><span class="ct"> * EnablePort: '<a class="ct blk" blk_line="1144"><S62>/Enable</a>'</span></td></tr> +<tr name="1145" id="1145"> +<td>1145</td><td><span class="ct"> */</span></td></tr> +<tr name="1146" id="1146"> +<td>1146</td><td> <span class="ct">/* Logic: '<a class="ct blk" blk_line="1146"><S60>/AND</a>' incorporates:</span></td></tr> +<tr name="1147" id="1147"> +<td>1147</td><td><span class="ct"> * Abs: '<a class="ct blk" blk_line="1147"><S60>/Velocity_Abs</a>'</span></td></tr> +<tr name="1148" id="1148"> +<td>1148</td><td><span class="ct"> * Constant: '<a class="ct blk" blk_line="1148"><S60>/Max_Valid_Velocity_Change</a>'</span></td></tr> +<tr name="1149" id="1149"> +<td>1149</td><td><span class="ct"> * Constant: '<a class="ct blk" blk_line="1149"><S61>/Constant</a>'</span></td></tr> +<tr name="1150" id="1150"> +<td>1150</td><td><span class="ct"> * Delay: '<a class="ct blk" blk_line="1150"><S60>/Velocity_Delay</a>'</span></td></tr> +<tr name="1151" id="1151"> +<td>1151</td><td><span class="ct"> * RelationalOperator: '<a class="ct blk" blk_line="1151"><S60>/Excessive_Velocity_Change</a>'</span></td></tr> +<tr name="1152" id="1152"> +<td>1152</td><td><span class="ct"> * RelationalOperator: '<a class="ct blk" blk_line="1152"><S60>/Relational_Operator</a>'</span></td></tr> +<tr name="1153" id="1153"> +<td>1153</td><td><span class="ct"> * Sum: '<a class="ct blk" blk_line="1153"><S60>/Velocity_Difference</a>'</span></td></tr> +<tr name="1154" id="1154"> +<td>1154</td><td><span class="ct"> */</span></td></tr> +<tr name="1155" id="1155"> +<td>1155</td><td> <span class="kw">if</span> ((<a id="1155c10" class="tk">controller_mode</a> == <a id="1155c29" class="tk">VelocityControl</a>) && (((<a id="1155c52" class="tk">real32_T</a>)<a id="1155c61" class="tk">fabs</a></td></tr> +<tr name="1156" id="1156"> +<td>1156</td><td> (<a id="1156c12" class="tk">velocity_measured</a> - <a id="1156c32" class="tk">DWork</a>.<a id="1156c38" class="tk">Velocity_Delay_DSTATE</a>)) >= 628.318542F)) <span class="br">{</span></td></tr> +<tr name="1157" id="1157"> +<td>1157</td><td> <span class="ct">/* DataStoreWrite: '<a class="ct blk" blk_line="1157"><S62>/Data_Store_Write</a>' incorporates:</span></td></tr> +<tr name="1158" id="1158"> +<td>1158</td><td><span class="ct"> * Constant: '<a class="ct blk" blk_line="1158"><S63>/Constant</a>'</span></td></tr> +<tr name="1159" id="1159"> +<td>1159</td><td><span class="ct"> */</span></td></tr> +<tr name="1160" id="1160"> +<td>1160</td><td> <a id="1160c7" class="tk">DWork</a>.<a id="1160c13" class="tk">error_l</a> = <a id="1160c23" class="tk">MeasuredVelocityError</a>;</td></tr> +<tr name="1161" id="1161"> +<td>1161</td><td> <span class="br">}</span></td></tr> +<tr name="1162" id="1162"> +<td>1162</td><td></td></tr> +<tr name="1163" id="1163"> +<td>1163</td><td> <span class="ct">/* End of Logic: '<a class="ct blk" blk_line="1163"><S60>/AND</a>' */</span></td></tr> +<tr name="1164" id="1164"> +<td>1164</td><td> <span class="ct">/* End of Outputs for SubSystem: '<a class="ct blk" blk_line="1164"><S60>/Generate_Error</a>' */</span></td></tr> +<tr name="1165" id="1165"> +<td>1165</td><td> <span class="br">}</span></td></tr> +<tr name="1166" id="1166"> +<td>1166</td><td></td></tr> +<tr name="1167" id="1167"> +<td>1167</td><td> <span class="ct">/* Outport: '<a class="ct blk" blk_line="1167"><Root>/error</a>' incorporates:</span></td></tr> +<tr name="1168" id="1168"> +<td>1168</td><td><span class="ct"> * DataStoreRead: '<a class="ct blk" blk_line="1168"><Root>/Data Store Read</a>'</span></td></tr> +<tr name="1169" id="1169"> +<td>1169</td><td><span class="ct"> */</span></td></tr> +<tr name="1170" id="1170"> +<td>1170</td><td> <a id="1170c3" class="tk">error</a> = <a id="1170c11" class="tk">DWork</a>.<a id="1170c17" class="tk">error_l</a>;</td></tr> +<tr name="1171" id="1171"> +<td>1171</td><td></td></tr> +<tr name="1172" id="1172"> +<td>1172</td><td> <span class="ct">/* Update for RateTransition: '<a class="ct blk" blk_line="1172"><S6>/Lo_to_Hi_Rate_Transition3</a>' */</span></td></tr> +<tr name="1173" id="1173"> +<td>1173</td><td> <span class="kw">if</span> (<a id="1173c7" class="tk">M</a>-><a id="1173c10" class="tk">Timing</a>.<a id="1173c17" class="tk">TaskCounters</a>.<a id="1173c30" class="tk">TID</a>[1] == 0) <span class="br">{</span></td></tr> +<tr name="1174" id="1174"> +<td>1174</td><td> <a id="1174c5" class="tk">DWork</a>.<a id="1174c11" class="tk">Lo_to_Hi_Rate_Transition3_Buffe</a> = <a id="1174c45" class="tk">RelationalOperator</a>;</td></tr> +<tr name="1175" id="1175"> +<td>1175</td><td></td></tr> +<tr name="1176" id="1176"> +<td>1176</td><td> <span class="ct">/* Update for Delay: '<a class="ct blk" blk_line="1176"><S55>/Position_Delay</a>' */</span></td></tr> +<tr name="1177" id="1177"> +<td>1177</td><td> <a id="1177c5" class="tk">DWork</a>.<a id="1177c11" class="tk">Position_Delay_DSTATE</a> = <a id="1177c35" class="tk">Wrap_To_Pi</a>;</td></tr> +<tr name="1178" id="1178"> +<td>1178</td><td> <span class="br">}</span></td></tr> +<tr name="1179" id="1179"> +<td>1179</td><td></td></tr> +<tr name="1180" id="1180"> +<td>1180</td><td> <span class="ct">/* End of Update for RateTransition: '<a class="ct blk" blk_line="1180"><S6>/Lo_to_Hi_Rate_Transition3</a>' */</span></td></tr> +<tr name="1181" id="1181"> +<td>1181</td><td></td></tr> +<tr name="1182" id="1182"> +<td>1182</td><td> <span class="ct">/* Update for UnitDelay: '<a class="ct blk" blk_line="1182"><S13>/Delay Input1</a>' */</span></td></tr> +<tr name="1183" id="1183"> +<td>1183</td><td> <a id="1183c3" class="tk">DWork</a>.<a id="1183c9" class="tk">DelayInput1_DSTATE</a> = <a id="1183c30" class="tk">Enum_To_Int</a>;</td></tr> +<tr name="1184" id="1184"> +<td>1184</td><td></td></tr> +<tr name="1185" id="1185"> +<td>1185</td><td> <span class="ct">/* Update for DiscreteIntegrator: '<a class="ct blk" blk_line="1185"><S17>/Integrator</a>' */</span></td></tr> +<tr name="1186" id="1186"> +<td>1186</td><td> <span class="kw">if</span> (<a id="1186c7" class="tk">FixPtRelationalOperator</a> == 0) <span class="br">{</span></td></tr> +<tr name="1187" id="1187"> +<td>1187</td><td> <a id="1187c5" class="tk">DWork</a>.<a id="1187c11" class="tk">Integrator_DSTATE</a> += 4.0E-5F * <a id="1187c42" class="tk">electrical_angle</a>;</td></tr> +<tr name="1188" id="1188"> +<td>1188</td><td> <span class="br">}</span></td></tr> +<tr name="1189" id="1189"> +<td>1189</td><td></td></tr> +<tr name="1190" id="1190"> +<td>1190</td><td> <span class="kw">if</span> (<a id="1190c7" class="tk">FixPtRelationalOperator</a> > 0) <span class="br">{</span></td></tr> +<tr name="1191" id="1191"> +<td>1191</td><td> <a id="1191c5" class="tk">DWork</a>.<a id="1191c11" class="tk">Integrator_PrevResetState</a> = 1;</td></tr> +<tr name="1192" id="1192"> +<td>1192</td><td> <span class="br">}</span> <span class="kw">else</span> <span class="br">{</span></td></tr> +<tr name="1193" id="1193"> +<td>1193</td><td> <a id="1193c5" class="tk">DWork</a>.<a id="1193c11" class="tk">Integrator_PrevResetState</a> = 0;</td></tr> +<tr name="1194" id="1194"> +<td>1194</td><td> <span class="br">}</span></td></tr> +<tr name="1195" id="1195"> +<td>1195</td><td></td></tr> +<tr name="1196" id="1196"> +<td>1196</td><td> <span class="ct">/* End of Update for DiscreteIntegrator: '<a class="ct blk" blk_line="1196"><S17>/Integrator</a>' */</span></td></tr> +<tr name="1197" id="1197"> +<td>1197</td><td></td></tr> +<tr name="1198" id="1198"> +<td>1198</td><td> <span class="ct">/* Update for DiscreteIntegrator: '<a class="ct blk" blk_line="1198"><S18>/Integrator</a>' */</span></td></tr> +<tr name="1199" id="1199"> +<td>1199</td><td> <span class="kw">if</span> (<a id="1199c7" class="tk">FixPtRelationalOperator</a> == 0) <span class="br">{</span></td></tr> +<tr name="1200" id="1200"> +<td>1200</td><td> <span class="ct">/* DataTypeConversion: '<a class="ct blk" blk_line="1200"><S20>/DataTypeConv1</a>' */</span></td></tr> +<tr name="1201" id="1201"> +<td>1201</td><td> <span class="kw">if</span> (<a id="1201c9" class="tk">SignDeltaU_b</a> < 128.0F) <span class="br">{</span></td></tr> +<tr name="1202" id="1202"> +<td>1202</td><td> <a id="1202c7" class="tk">rtPrevAction</a> = (<a id="1202c23" class="tk">int8_T</a>)<a id="1202c30" class="tk">SignDeltaU_b</a>;</td></tr> +<tr name="1203" id="1203"> +<td>1203</td><td> <span class="br">}</span> <span class="kw">else</span> <span class="br">{</span></td></tr> +<tr name="1204" id="1204"> +<td>1204</td><td> <a id="1204c7" class="tk">rtPrevAction</a> = <a id="1204c22" class="tk">MAX_int8_T</a>;</td></tr> +<tr name="1205" id="1205"> +<td>1205</td><td> <span class="br">}</span></td></tr> +<tr name="1206" id="1206"> +<td>1206</td><td></td></tr> +<tr name="1207" id="1207"> +<td>1207</td><td> <span class="ct">/* End of DataTypeConversion: '<a class="ct blk" blk_line="1207"><S20>/DataTypeConv1</a>' */</span></td></tr> +<tr name="1208" id="1208"> +<td>1208</td><td></td></tr> +<tr name="1209" id="1209"> +<td>1209</td><td> <span class="ct">/* Signum: '<a class="ct blk" blk_line="1209"><S20>/SignPreIntegrator</a>' */</span></td></tr> +<tr name="1210" id="1210"> +<td>1210</td><td> <span class="kw">if</span> (<a id="1210c9" class="tk">IntegralGain_j</a> < 0.0F) <span class="br">{</span></td></tr> +<tr name="1211" id="1211"> +<td>1211</td><td> <a id="1211c7" class="tk">electrical_angle</a> = -1.0F;</td></tr> +<tr name="1212" id="1212"> +<td>1212</td><td> <span class="br">}</span> <span class="kw">else</span> <span class="kw">if</span> (<a id="1212c16" class="tk">IntegralGain_j</a> > 0.0F) <span class="br">{</span></td></tr> +<tr name="1213" id="1213"> +<td>1213</td><td> <a id="1213c7" class="tk">electrical_angle</a> = 1.0F;</td></tr> +<tr name="1214" id="1214"> +<td>1214</td><td> <span class="br">}</span> <span class="kw">else</span> <span class="br">{</span></td></tr> +<tr name="1215" id="1215"> +<td>1215</td><td> <a id="1215c7" class="tk">electrical_angle</a> = <a id="1215c26" class="tk">IntegralGain_j</a>;</td></tr> +<tr name="1216" id="1216"> +<td>1216</td><td> <span class="br">}</span></td></tr> +<tr name="1217" id="1217"> +<td>1217</td><td></td></tr> +<tr name="1218" id="1218"> +<td>1218</td><td> <span class="ct">/* Switch: '<a class="ct blk" blk_line="1218"><S18>/Switch</a>' incorporates:</span></td></tr> +<tr name="1219" id="1219"> +<td>1219</td><td><span class="ct"> * Constant: '<a class="ct blk" blk_line="1219"><S18>/Constant</a>'</span></td></tr> +<tr name="1220" id="1220"> +<td>1220</td><td><span class="ct"> * DataTypeConversion: '<a class="ct blk" blk_line="1220"><S20>/DataTypeConv2</a>'</span></td></tr> +<tr name="1221" id="1221"> +<td>1221</td><td><span class="ct"> * Logic: '<a class="ct blk" blk_line="1221"><S20>/AND</a>'</span></td></tr> +<tr name="1222" id="1222"> +<td>1222</td><td><span class="ct"> * RelationalOperator: '<a class="ct blk" blk_line="1222"><S20>/Equal</a>'</span></td></tr> +<tr name="1223" id="1223"> +<td>1223</td><td><span class="ct"> * Signum: '<a class="ct blk" blk_line="1223"><S20>/SignPreIntegrator</a>'</span></td></tr> +<tr name="1224" id="1224"> +<td>1224</td><td><span class="ct"> */</span></td></tr> +<tr name="1225" id="1225"> +<td>1225</td><td> <span class="kw">if</span> (<a id="1225c9" class="tk">NotEqual_b</a> && (<a id="1225c24" class="tk">rtPrevAction</a> == ((<a id="1225c42" class="tk">int8_T</a>)<a id="1225c49" class="tk">electrical_angle</a>))) <span class="br">{</span></td></tr> +<tr name="1226" id="1226"> +<td>1226</td><td> <a id="1226c7" class="tk">IntegralGain_j</a> = 0.0F;</td></tr> +<tr name="1227" id="1227"> +<td>1227</td><td> <span class="br">}</span></td></tr> +<tr name="1228" id="1228"> +<td>1228</td><td></td></tr> +<tr name="1229" id="1229"> +<td>1229</td><td> <span class="ct">/* End of Switch: '<a class="ct blk" blk_line="1229"><S18>/Switch</a>' */</span></td></tr> +<tr name="1230" id="1230"> +<td>1230</td><td> <a id="1230c5" class="tk">DWork</a>.<a id="1230c11" class="tk">Integrator_DSTATE_l</a> += 4.0E-5F * <a id="1230c44" class="tk">IntegralGain_j</a>;</td></tr> +<tr name="1231" id="1231"> +<td>1231</td><td> <span class="br">}</span></td></tr> +<tr name="1232" id="1232"> +<td>1232</td><td></td></tr> +<tr name="1233" id="1233"> +<td>1233</td><td> <span class="kw">if</span> (<a id="1233c7" class="tk">FixPtRelationalOperator</a> > 0) <span class="br">{</span></td></tr> +<tr name="1234" id="1234"> +<td>1234</td><td> <a id="1234c5" class="tk">DWork</a>.<a id="1234c11" class="tk">Integrator_PrevResetState_c</a> = 1;</td></tr> +<tr name="1235" id="1235"> +<td>1235</td><td> <span class="br">}</span> <span class="kw">else</span> <span class="br">{</span></td></tr> +<tr name="1236" id="1236"> +<td>1236</td><td> <a id="1236c5" class="tk">DWork</a>.<a id="1236c11" class="tk">Integrator_PrevResetState_c</a> = 0;</td></tr> +<tr name="1237" id="1237"> +<td>1237</td><td> <span class="br">}</span></td></tr> +<tr name="1238" id="1238"> +<td>1238</td><td></td></tr> +<tr name="1239" id="1239"> +<td>1239</td><td> <span class="ct">/* End of Update for DiscreteIntegrator: '<a class="ct blk" blk_line="1239"><S18>/Integrator</a>' */</span></td></tr> +<tr name="1240" id="1240"> +<td>1240</td><td> <span class="kw">if</span> (<a id="1240c7" class="tk">M</a>-><a id="1240c10" class="tk">Timing</a>.<a id="1240c17" class="tk">TaskCounters</a>.<a id="1240c30" class="tk">TID</a>[1] == 0) <span class="br">{</span></td></tr> +<tr name="1241" id="1241"> +<td>1241</td><td> <span class="ct">/* Update for Delay: '<a class="ct blk" blk_line="1241"><S60>/Velocity_Delay</a>' */</span></td></tr> +<tr name="1242" id="1242"> +<td>1242</td><td> <a id="1242c5" class="tk">DWork</a>.<a id="1242c11" class="tk">Velocity_Delay_DSTATE</a> = <a id="1242c35" class="tk">velocity_measured</a>;</td></tr> +<tr name="1243" id="1243"> +<td>1243</td><td> <span class="br">}</span></td></tr> +<tr name="1244" id="1244"> +<td>1244</td><td></td></tr> +<tr name="1245" id="1245"> +<td>1245</td><td> <a id="1245c3" class="tk">rate_scheduler</a>();</td></tr> +<tr name="1246" id="1246"> +<td>1246</td><td> <span class="kw">return</span> <a id="1246c10" class="tk">error</a>;</td></tr> +<tr name="1247" id="1247"> +<td>1247</td><td><span class="br">}</span></td></tr> +<tr name="1248" id="1248"> +<td>1248</td><td></td></tr> +<tr name="1249" id="1249"> +<td>1249</td><td><span class="ct">/* Model initialize function */</span></td></tr> +<tr name="1250" id="1250"> +<td>1250</td><td><span class="kw">void</span> <a id="1250c6" class="tk">Controller_Init</a>(<span class="kw">void</span>)</td></tr> +<tr name="1251" id="1251"> +<td>1251</td><td><span class="br">{</span></td></tr> +<tr name="1252" id="1252"> +<td>1252</td><td> <span class="ct">/* Registration code */</span></td></tr> +<tr name="1253" id="1253"> +<td>1253</td><td></td></tr> +<tr name="1254" id="1254"> +<td>1254</td><td> <span class="ct">/* initialize real-time model */</span></td></tr> +<tr name="1255" id="1255"> +<td>1255</td><td> (<span class="kw">void</span>) <a id="1255c10" class="tk">memset</a>((<span class="kw">void</span> *)<a id="1255c25" class="tk">M</a>, 0,</td></tr> +<tr name="1256" id="1256"> +<td>1256</td><td> <span class="kw">sizeof</span>(<a id="1256c24" class="tk">RT_MODEL</a>));</td></tr> +<tr name="1257" id="1257"> +<td>1257</td><td></td></tr> +<tr name="1258" id="1258"> +<td>1258</td><td> <span class="ct">/* block I/O */</span></td></tr> +<tr name="1259" id="1259"> +<td>1259</td><td></td></tr> +<tr name="1260" id="1260"> +<td>1260</td><td> <span class="ct">/* exported global signals */</span></td></tr> +<tr name="1261" id="1261"> +<td>1261</td><td> <a id="1261c3" class="tk">phase_currents</a>[0] = 0.0F;</td></tr> +<tr name="1262" id="1262"> +<td>1262</td><td> <a id="1262c3" class="tk">phase_currents</a>[1] = 0.0F;</td></tr> +<tr name="1263" id="1263"> +<td>1263</td><td> <a id="1263c3" class="tk">rotor_position</a> = 0.0F;</td></tr> +<tr name="1264" id="1264"> +<td>1264</td><td> <a id="1264c3" class="tk">velocity_measured</a> = 0.0F;</td></tr> +<tr name="1265" id="1265"> +<td>1265</td><td> <a id="1265c3" class="tk">d_current_error</a> = 0.0F;</td></tr> +<tr name="1266" id="1266"> +<td>1266</td><td> <a id="1266c3" class="tk">q_current_command</a> = 0.0F;</td></tr> +<tr name="1267" id="1267"> +<td>1267</td><td> <a id="1267c3" class="tk">q_current_measured</a> = 0.0F;</td></tr> +<tr name="1268" id="1268"> +<td>1268</td><td> <a id="1268c3" class="tk">q_current_error</a> = 0.0F;</td></tr> +<tr name="1269" id="1269"> +<td>1269</td><td> <a id="1269c3" class="tk">phase_voltages</a>[0] = 0.0F;</td></tr> +<tr name="1270" id="1270"> +<td>1270</td><td> <a id="1270c3" class="tk">phase_voltages</a>[1] = 0.0F;</td></tr> +<tr name="1271" id="1271"> +<td>1271</td><td> <a id="1271c3" class="tk">phase_voltages</a>[2] = 0.0F;</td></tr> +<tr name="1272" id="1272"> +<td>1272</td><td> <a id="1272c3" class="tk">velocity_error</a> = 0.0F;</td></tr> +<tr name="1273" id="1273"> +<td>1273</td><td> <a id="1273c3" class="tk">controller_mode</a> = <a id="1273c21" class="tk">StandBy</a>;</td></tr> +<tr name="1274" id="1274"> +<td>1274</td><td></td></tr> +<tr name="1275" id="1275"> +<td>1275</td><td> <span class="ct">/* states (dwork) */</span></td></tr> +<tr name="1276" id="1276"> +<td>1276</td><td> (<span class="kw">void</span>) <a id="1276c10" class="tk">memset</a>((<span class="kw">void</span> *)&<a id="1276c26" class="tk">DWork</a>, 0,</td></tr> +<tr name="1277" id="1277"> +<td>1277</td><td> <span class="kw">sizeof</span>(<a id="1277c24" class="tk">D_Work</a>));</td></tr> +<tr name="1278" id="1278"> +<td>1278</td><td></td></tr> +<tr name="1279" id="1279"> +<td>1279</td><td> <span class="ct">/* InitializeConditions for Enabled SubSystem: '<a class="ct blk" blk_line="1279"><S51>/Open Loop Position</a>' */</span></td></tr> +<tr name="1280" id="1280"> +<td>1280</td><td> <span class="ct">/* InitializeConditions for DiscreteIntegrator: '<a class="ct blk" blk_line="1280"><S65>/Integrate_To_Position</a>' */</span></td></tr> +<tr name="1281" id="1281"> +<td>1281</td><td> <a id="1281c3" class="tk">DWork</a>.<a id="1281c9" class="tk">Integrate_To_Position_DSTATE</a> = 0.0F;</td></tr> +<tr name="1282" id="1282"> +<td>1282</td><td></td></tr> +<tr name="1283" id="1283"> +<td>1283</td><td> <span class="ct">/* InitializeConditions for DiscreteIntegrator: '<a class="ct blk" blk_line="1283"><S65>/Integrate_To_Velocity</a>' */</span></td></tr> +<tr name="1284" id="1284"> +<td>1284</td><td> <a id="1284c3" class="tk">DWork</a>.<a id="1284c9" class="tk">Integrate_To_Velocity_DSTATE</a> = 0.0F;</td></tr> +<tr name="1285" id="1285"> +<td>1285</td><td></td></tr> +<tr name="1286" id="1286"> +<td>1286</td><td> <span class="ct">/* End of InitializeConditions for SubSystem: '<a class="ct blk" blk_line="1286"><S51>/Open Loop Position</a>' */</span></td></tr> +<tr name="1287" id="1287"> +<td>1287</td><td></td></tr> +<tr name="1288" id="1288"> +<td>1288</td><td> <span class="ct">/* Start for SwitchCase: '<a class="ct blk" blk_line="1288"><S5>/Switch Case</a>' */</span></td></tr> +<tr name="1289" id="1289"> +<td>1289</td><td> <a id="1289c3" class="tk">DWork</a>.<a id="1289c9" class="tk">SwitchCase_ActiveSubsystem</a> = -1;</td></tr> +<tr name="1290" id="1290"> +<td>1290</td><td></td></tr> +<tr name="1291" id="1291"> +<td>1291</td><td> <span class="ct">/* InitializeConditions for IfAction SubSystem: '<a class="ct blk" blk_line="1291"><S5>/Velocity_Control</a>' */</span></td></tr> +<tr name="1292" id="1292"> +<td>1292</td><td> <span class="ct">/* InitializeConditions for DiscreteIntegrator: '<a class="ct blk" blk_line="1292"><S45>/Integrator</a>' */</span></td></tr> +<tr name="1293" id="1293"> +<td>1293</td><td> <a id="1293c3" class="tk">DWork</a>.<a id="1293c9" class="tk">Integrator_DSTATE_f</a> = 0.0F;</td></tr> +<tr name="1294" id="1294"> +<td>1294</td><td></td></tr> +<tr name="1295" id="1295"> +<td>1295</td><td> <span class="ct">/* End of InitializeConditions for SubSystem: '<a class="ct blk" blk_line="1295"><S5>/Velocity_Control</a>' */</span></td></tr> +<tr name="1296" id="1296"> +<td>1296</td><td></td></tr> +<tr name="1297" id="1297"> +<td>1297</td><td> <span class="ct">/* InitializeConditions for IfAction SubSystem: '<a class="ct blk" blk_line="1297"><S5>/Position_Control</a>' */</span></td></tr> +<tr name="1298" id="1298"> +<td>1298</td><td> <span class="ct">/* InitializeConditions for DiscreteIntegrator: '<a class="ct blk" blk_line="1298"><S42>/Integrator</a>' */</span></td></tr> +<tr name="1299" id="1299"> +<td>1299</td><td> <a id="1299c3" class="tk">DWork</a>.<a id="1299c9" class="tk">Integrator_DSTATE_lc</a> = 0.0F;</td></tr> +<tr name="1300" id="1300"> +<td>1300</td><td></td></tr> +<tr name="1301" id="1301"> +<td>1301</td><td> <span class="ct">/* End of InitializeConditions for SubSystem: '<a class="ct blk" blk_line="1301"><S5>/Position_Control</a>' */</span></td></tr> +<tr name="1302" id="1302"> +<td>1302</td><td></td></tr> +<tr name="1303" id="1303"> +<td>1303</td><td> <span class="ct">/* InitializeConditions for Chart: '<a class="ct blk" blk_line="1303"><S49>/Wait_For_Valid_Position</a>' */</span></td></tr> +<tr name="1304" id="1304"> +<td>1304</td><td> <a id="1304c3" class="tk">DWork</a>.<a id="1304c9" class="tk">temporalCounter_i1</a> = 0U;</td></tr> +<tr name="1305" id="1305"> +<td>1305</td><td> <a id="1305c3" class="tk">DWork</a>.<a id="1305c9" class="tk">is_active_c2_rtwdemo_pmsmfoc</a> = 0U;</td></tr> +<tr name="1306" id="1306"> +<td>1306</td><td> <a id="1306c3" class="tk">DWork</a>.<a id="1306c9" class="tk">is_c2_rtwdemo_pmsmfoc</a> = <a id="1306c33" class="tk">IN_NO_ACTIVE_CHILD</a>;</td></tr> +<tr name="1307" id="1307"> +<td>1307</td><td> <a id="1307c3" class="tk">DWork</a>.<a id="1307c9" class="tk">Position_Valid</a> = 0U;</td></tr> +<tr name="1308" id="1308"> +<td>1308</td><td></td></tr> +<tr name="1309" id="1309"> +<td>1309</td><td> <span class="ct">/* InitializeConditions for Chart: '<a class="ct blk" blk_line="1309"><S1>/Controller_Mode_Scheduler</a>' */</span></td></tr> +<tr name="1310" id="1310"> +<td>1310</td><td> <a id="1310c3" class="tk">DWork</a>.<a id="1310c9" class="tk">is_Motor_On</a> = <a id="1310c23" class="tk">IN_NO_ACTIVE_CHILD</a>;</td></tr> +<tr name="1311" id="1311"> +<td>1311</td><td> <a id="1311c3" class="tk">DWork</a>.<a id="1311c9" class="tk">is_Motor_Control</a> = <a id="1311c28" class="tk">IN_NO_ACTIVE_CHILD</a>;</td></tr> +<tr name="1312" id="1312"> +<td>1312</td><td> <a id="1312c3" class="tk">DWork</a>.<a id="1312c9" class="tk">velocity_command</a> = 0.0F;</td></tr> +<tr name="1313" id="1313"> +<td>1313</td><td> <a id="1313c3" class="tk">DWork</a>.<a id="1313c9" class="tk">position_command</a> = 0.0F;</td></tr> +<tr name="1314" id="1314"> +<td>1314</td><td> <a id="1314c3" class="tk">DWork</a>.<a id="1314c9" class="tk">torque_command</a> = 0.0F;</td></tr> +<tr name="1315" id="1315"> +<td>1315</td><td></td></tr> +<tr name="1316" id="1316"> +<td>1316</td><td> <span class="ct">/* Entry: Mode_Scheduler/Controller_Mode_Scheduler */</span></td></tr> +<tr name="1317" id="1317"> +<td>1317</td><td> <span class="ct">/* Entry Internal: Mode_Scheduler/Controller_Mode_Scheduler */</span></td></tr> +<tr name="1318" id="1318"> +<td>1318</td><td> <span class="ct">/* Transition: '<a class="ct blk" blk_line="1318"><S4>:9</a>' */</span></td></tr> +<tr name="1319" id="1319"> +<td>1319</td><td> <a id="1319c3" class="tk">DWork</a>.<a id="1319c9" class="tk">is_c1_rtwdemo_pmsmfoc</a> = <a id="1319c33" class="tk">IN_Stand_By</a>;</td></tr> +<tr name="1320" id="1320"> +<td>1320</td><td></td></tr> +<tr name="1321" id="1321"> +<td>1321</td><td> <span class="ct">/* Entry 'Stand_By': '<a class="ct blk" blk_line="1321"><S4>:154</a>' */</span></td></tr> +<tr name="1322" id="1322"> +<td>1322</td><td> <a id="1322c3" class="tk">controller_mode</a> = <a id="1322c21" class="tk">StandBy</a>;</td></tr> +<tr name="1323" id="1323"> +<td>1323</td><td></td></tr> +<tr name="1324" id="1324"> +<td>1324</td><td> <span class="ct">/* InitializeConditions for DiscreteIntegrator: '<a class="ct blk" blk_line="1324"><S17>/Integrator</a>' */</span></td></tr> +<tr name="1325" id="1325"> +<td>1325</td><td> <a id="1325c3" class="tk">DWork</a>.<a id="1325c9" class="tk">Integrator_PrevResetState</a> = 0;</td></tr> +<tr name="1326" id="1326"> +<td>1326</td><td></td></tr> +<tr name="1327" id="1327"> +<td>1327</td><td> <span class="ct">/* InitializeConditions for DiscreteIntegrator: '<a class="ct blk" blk_line="1327"><S18>/Integrator</a>' */</span></td></tr> +<tr name="1328" id="1328"> +<td>1328</td><td> <a id="1328c3" class="tk">DWork</a>.<a id="1328c9" class="tk">Integrator_PrevResetState_c</a> = 0;</td></tr> +<tr name="1329" id="1329"> +<td>1329</td><td><span class="br">}</span></td></tr> +<tr name="1330" id="1330"> +<td>1330</td><td></td></tr> +<tr name="1331" id="1331"> +<td>1331</td><td><span class="ct">/*</span></td></tr> +<tr name="1332" id="1332"> +<td>1332</td><td><span class="ct"> * File trailer for generated code.</span></td></tr> +<tr name="1333" id="1333"> +<td>1333</td><td><span class="ct"> *</span></td></tr> +<tr name="1334" id="1334"> +<td>1334</td><td><span class="ct"> * [EOF]</span></td></tr> +<tr name="1335" id="1335"> +<td>1335</td><td><span class="ct"> */</span></td></tr> +<tr name="1336" id="1336"> +<td>1336</td><td></td></tr> +</table> +</pre> +</body> +</html>
diff -r 83374f658183 -r bbc155b0b886 html/html/rtwdemo_pmsmfoc_codegen_rpt.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/html/html/rtwdemo_pmsmfoc_codegen_rpt.html Tue Nov 25 07:52:02 2014 +0000 @@ -0,0 +1,33 @@ +<html> +<head> +<meta http-equiv="X-UA-Compatible" content="IE=edge" ><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="stylesheet" type="text/css" href="rtwreport.css" /><script language="JavaScript" type="text/javascript" src="rtwhilite.js"></script><script language="JavaScript" type="text/javascript" src="rtwshrink.js"></script><script language="JavaScript" type="text/javascript">var reportModel = "rtwdemo_pmsmfoc"; </script><script language="JavaScript" type="text/javascript" src="rtwdemo_pmsmfoc_traceInfo.js"></script><script language="JavaScript" type="text/javascript" src="requirements.js"></script><script language="JavaScript" type="text/javascript" src="rtwdemo_pmsmfoc_sid_map.js"></script><script language="JavaScript" type="text/javascript" src="define.js"></script><script language="JavaScript" type="text/javascript" src="traceInfo_flag.js"></script><title> +rtwdemo_pmsmfoc Code Generation Report +</title> + +</head> +<frameset cols="25%,75%, 0%" id="main" border="2"> +<frame scrolling="auto" src="rtwdemo_pmsmfoc_contents.html" name="rtwreport_contents_frame" id="rtwreport_contents_frame"> + +</frame> +<frameset rows="0%,100%,0%" id="rtw_midFrame"> +<frame scrolling="no" src="navToolbar.html" name="rtwreport_navToolbar_frame" id="rtwreport_navToolbar_frame" noresize="noresize"> + +</frame> +<frame scrolling="auto" name="rtwreport_document_frame" id="rtwreport_document_frame"> + +</frame> +<frame scrolling="no" src="inspect.html" name="rtwreport_inspect_frame" id="rtwreport_inspect_frame" noresize="noresize"> + +</frame> + +</frameset> +<frame scrolling="no" src="nav.html" name="rtwreport_nav_frame" id="rtwreport_nav_frame" noresize="noresize"> + +</frame> + +</frameset> +<body> + +</body> + +</html>
diff -r 83374f658183 -r bbc155b0b886 html/html/rtwdemo_pmsmfoc_contents.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/html/html/rtwdemo_pmsmfoc_contents.html Tue Nov 25 07:52:02 2014 +0000 @@ -0,0 +1,289 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="stylesheet" type="text/css" href="rtwreport.css" /><script language="JavaScript" type="text/javascript" defer="defer"> + function rtwFileListShrink(o, category, numFiles) + { + var indent = document.getElementById(category + "_indent"); + var fileTable = document.getElementById(category + "_table"); + var catName = document.getElementById(category + "_name"); + if (fileTable.style.display == "none") { + fileTable.style.display = ""; + indent.style.display = ""; + o.innerHTML = '<span style="font-family:monospace" id = "' + category + '_button">[-]</span>'; + catName.innerHTML = "<b>" + category + "</b>"; + } else { + fileTable.style.display = "none"; + indent.style.display = "none"; + o.innerHTML = '<span style="font-family:monospace" id = "' + category + '_button">[+]</span>'; + catName.innerHTML = "<b>" + category + " (" + numFiles + ")" + "</b>"; + } + } +</script> + +</head> +<body bgcolor="#eeeeee" link="#0033cc" vlink="#666666" rightmargin="0"> +<table class="toc" border="1"> +<tr> +<td align="left" valign="top"> +<b> +Contents +</b> + +</td> + +</tr> +<tr> +<td align="left" valign="top"> +<a href="rtwmsg.html" id="rtwIdMsgFileLink" style="display: none" target="rtwreport_document_frame" onclick="if (top) if (top.tocHiliteMe) top.tocHiliteMe(window, this, true);" name="TOC_List"> +Block-to-code Message +</a> + +</td> + +</tr> +<tr> +<td align="left" valign="top"> +<a href="rtwdemo_pmsmfoc_survey.html" id="rtwIdSummaryPage" target="rtwreport_document_frame" onclick="if (top) if (top.tocHiliteMe) top.tocHiliteMe(window, this, true);" name="TOC_List"> +Summary +</a> + +</td> + +</tr> +<tr> +<td align="left" valign="top"> +<a href="rtwdemo_pmsmfoc_subsystems.html" id="rtwIdSubsystem" target="rtwreport_document_frame" onclick="if (top) if (top.tocHiliteMe) top.tocHiliteMe(window, this, true);" name="TOC_List"> +Subsystem Report +</a> + +</td> + +</tr> +<tr> +<td align="left" valign="top"> +<a href="rtwdemo_pmsmfoc_interface.html" id="rtwIdCodeInterface" target="rtwreport_document_frame" onclick="if (top) if (top.tocHiliteMe) top.tocHiliteMe(window, this, true);" name="TOC_List"> +Code Interface Report +</a> + +</td> + +</tr> +<tr> +<td align="left" valign="top"> +<a href="rtwdemo_pmsmfoc_trace.html" id="rtwIdTraceability" target="rtwreport_document_frame" onclick="if (top) if (top.tocHiliteMe) top.tocHiliteMe(window, this, true);" name="TOC_List"> +Traceability Report +</a> + +</td> + +</tr> +<tr> +<td align="left" valign="top"> +<a href="rtwdemo_pmsmfoc_metrics.html" id="rtwIdCodeMetrics" target="rtwreport_document_frame" onclick="if (top) if (top.tocHiliteMe) top.tocHiliteMe(window, this, true);" name="TOC_List"> +Static Code Metrics Report +</a> + +</td> + +</tr> +<tr> +<td align="left" valign="top"> +<a href="rtwdemo_pmsmfoc_replacements.html" id="rtwIdCodeReplacements" target="rtwreport_document_frame" onclick="if (top) if (top.tocHiliteMe) top.tocHiliteMe(window, this, true);" name="TOC_List"> +Code Replacements Report +</a> + +</td> + +</tr> + +</table> +<!--ADD_CODE_PROFILE_REPORT_LINK_HERE--><hr /><table cellspacing="0" cellpadding="4" width="100%" bgcolor="#ffffff" border="0"> +<tr> +<td align="left" valign="top"> +<b> +Generated Code +</b> + +</td> + +</tr> +<tr> +<td align="left" valign="top"> +<table cellspacing="0" cellpadding="1" width="100%" bgcolor="#ffffff" id="Main file" border="0"> +<tr> +<td width="0%" align="left" valign="top"> +<span style="background-color:#ffffff;width:100%;cursor:pointer;white-space:nowrap" title="Click to shrink or expand category" onclick="rtwFileListShrink(this,'Main file','1')"><span style="font-family:monospace" id = "Main file_button">[-]</span></span> +</td> +<td width="100%" align="left" valign="top"> +<span id="Main file_name"><b>Main file</b></span> +</td> + +</tr> +<tr> +<td width="0%" align="left" valign="top"> +<span id="Main file_indent"></span> +</td> +<td width="100%" align="left" valign="top"> +<table cellspacing="0" cellpadding="4" width="100%" bgcolor="#ffffff" id="Main file_table" border="0"> +<tr> +<td align="left" valign="top"> +<A HREF="ert_main_c.html" TARGET="rtwreport_document_frame" ONCLICK="if (top) if (top.tocHiliteMe) top.tocHiliteMe(window, this, false);" ID="ert_main_c.html" NAME="rtwIdGenFileLinks"> +ert_main.c +</A> +<span> </span> +</td> + +</tr> + +</table> + +</td> + +</tr> + +</table> + +</td> + +</tr> +<tr> +<td align="left" valign="top"> +<table cellspacing="0" cellpadding="1" width="100%" bgcolor="#ffffff" id="Model files" border="0"> +<tr> +<td width="0%" align="left" valign="top"> +<span style="background-color:#ffffff;width:100%;cursor:pointer;white-space:nowrap" title="Click to shrink or expand category" onclick="rtwFileListShrink(this,'Model files','2')"><span style="font-family:monospace" id = "Model files_button">[-]</span></span> +</td> +<td width="100%" align="left" valign="top"> +<span id="Model files_name"><b>Model files</b></span> +</td> + +</tr> +<tr> +<td width="0%" align="left" valign="top"> +<span id="Model files_indent"></span> +</td> +<td width="100%" align="left" valign="top"> +<table cellspacing="0" cellpadding="4" width="100%" bgcolor="#ffffff" id="Model files_table" border="0"> +<tr> +<td align="left" valign="top"> +<A HREF="rtwdemo_pmsmfoc_c.html" TARGET="rtwreport_document_frame" ONCLICK="if (top) if (top.tocHiliteMe) top.tocHiliteMe(window, this, false);" ID="rtwdemo_pmsmfoc_c.html" NAME="rtwIdGenFileLinks"> +rtwdemo_pmsmfoc.c +</A> +<span> </span> +</td> + +</tr> +<tr> +<td align="left" valign="top"> +<A HREF="rtwdemo_pmsmfoc_h.html" TARGET="rtwreport_document_frame" ONCLICK="if (top) if (top.tocHiliteMe) top.tocHiliteMe(window, this, false);" ID="rtwdemo_pmsmfoc_h.html" NAME="rtwIdGenFileLinks"> +rtwdemo_pmsmfoc.h +</A> +<span> </span> +</td> + +</tr> + +</table> + +</td> + +</tr> + +</table> + +</td> + +</tr> +<tr> +<td align="left" valign="top"> +<table cellspacing="0" cellpadding="1" width="100%" bgcolor="#ffffff" id="Utility files" border="0"> +<tr> +<td width="0%" align="left" valign="top"> +<span style="background-color:#ffffff;width:100%;cursor:pointer;white-space:nowrap" title="Click to shrink or expand category" onclick="rtwFileListShrink(this,'Utility files','1')"><span style="font-family:monospace" id = "Utility files_button">[+]</span></span> +</td> +<td width="100%" align="left" valign="top"> +<span id="Utility files_name"><b>Utility files (1)</b></span> +</td> + +</tr> +<tr> +<td width="0%" align="left" valign="top"> +<span id="Utility files_indent"></span> +</td> +<td width="100%" align="left" valign="top"> +<table cellspacing="0" cellpadding="4" width="100%" bgcolor="#ffffff" id="Utility files_table" style="display:none" border="0"> +<tr> +<td align="left" valign="top"> +<A HREF="rtwtypes_h.html" TARGET="rtwreport_document_frame" ONCLICK="if (top) if (top.tocHiliteMe) top.tocHiliteMe(window, this, false);" ID="rtwtypes_h.html" NAME="rtwIdGenFileLinks"> +rtwtypes.h +</A> +<span> </span> +</td> + +</tr> + +</table> + +</td> + +</tr> + +</table> + +</td> + +</tr> +<tr> +<td align="left" valign="top"> +<table cellspacing="0" cellpadding="1" width="100%" bgcolor="#ffffff" id="Other files" border="0"> +<tr> +<td width="0%" align="left" valign="top"> +<span style="background-color:#ffffff;width:100%;cursor:pointer;white-space:nowrap" title="Click to shrink or expand category" onclick="rtwFileListShrink(this,'Other files','2')"><span style="font-family:monospace" id = "Other files_button">[+]</span></span> +</td> +<td width="100%" align="left" valign="top"> +<span id="Other files_name"><b>Other files (2)</b></span> +</td> + +</tr> +<tr> +<td width="0%" align="left" valign="top"> +<span id="Other files_indent"></span> +</td> +<td width="100%" align="left" valign="top"> +<table cellspacing="0" cellpadding="4" width="100%" bgcolor="#ffffff" id="Other files_table" style="display:none" border="0"> +<tr> +<td align="left" valign="top"> +<A HREF="MW_target_hardware_resources_h.html" TARGET="rtwreport_document_frame" ONCLICK="if (top) if (top.tocHiliteMe) top.tocHiliteMe(window, this, false);" ID="MW_target_hardware_resources_h.html" NAME="rtwIdGenFileLinks"> +MW_target_hardware_resources.h +</A> +<span> </span> +</td> + +</tr> +<tr> +<td align="left" valign="top"> +<A HREF="mw_cmsis_h.html" TARGET="rtwreport_document_frame" ONCLICK="if (top) if (top.tocHiliteMe) top.tocHiliteMe(window, this, false);" ID="mw_cmsis_h.html" NAME="rtwIdGenFileLinks"> +mw_cmsis.h +</A> +<span> </span> +</td> + +</tr> + +</table> + +</td> + +</tr> + +</table> + +</td> + +</tr> + +</table> +<hr /> +</body> + +</html>
diff -r 83374f658183 -r bbc155b0b886 html/html/rtwdemo_pmsmfoc_h.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/html/html/rtwdemo_pmsmfoc_h.html Tue Nov 25 07:52:02 2014 +0000 @@ -0,0 +1,634 @@ +<!DOCTYPE html> +<html> +<head> +<script type="text/javascript" src="./js/coder_app.js"></script> +<meta http-equiv="content-type" content="text/html; charset=utf-8" /> +<script type="text/javascript" src="./rtwreport_utils.js"></script> +<script type="text/javascript" src="./rtwannotate.js"></script> +<link rel="stylesheet" type="text/css" href="./css/coder_app.css"/> +</head> +<body onload="srcFileOnload();"> +<pre id="code"> +<table class="code" id="codeTbl"> +<tr name="1" id="1"> +<td>1</td><td><span class="ct">/*</span></td></tr> +<tr name="2" id="2"> +<td>2</td><td><span class="ct"> * File: rtwdemo_pmsmfoc.h</span></td></tr> +<tr name="3" id="3"> +<td>3</td><td><span class="ct"> *</span></td></tr> +<tr name="4" id="4"> +<td>4</td><td><span class="ct"> * Code generated for Simulink model 'rtwdemo_pmsmfoc'.</span></td></tr> +<tr name="5" id="5"> +<td>5</td><td><span class="ct"> *</span></td></tr> +<tr name="6" id="6"> +<td>6</td><td><span class="ct"> * Model version : 1.2949</span></td></tr> +<tr name="7" id="7"> +<td>7</td><td><span class="ct"> * Simulink Coder version : 8.7 (R2014b) 11-Aug-2014</span></td></tr> +<tr name="8" id="8"> +<td>8</td><td><span class="ct"> * C/C++ source code generated on : Sat Oct 11 02:05:41 2014</span></td></tr> +<tr name="9" id="9"> +<td>9</td><td><span class="ct"> *</span></td></tr> +<tr name="10" id="10"> +<td>10</td><td><span class="ct"> * Target selection: ert.tlc</span></td></tr> +<tr name="11" id="11"> +<td>11</td><td><span class="ct"> * Embedded hardware selection: ARM Compatible->ARM Cortex</span></td></tr> +<tr name="12" id="12"> +<td>12</td><td><span class="ct"> * Code generation objective: Execution efficiency</span></td></tr> +<tr name="13" id="13"> +<td>13</td><td><span class="ct"> * Validation result: Not run</span></td></tr> +<tr name="14" id="14"> +<td>14</td><td><span class="ct"> */</span></td></tr> +<tr name="15" id="15"> +<td>15</td><td></td></tr> +<tr name="16" id="16"> +<td>16</td><td><span class="pp">#ifndef</span> <a id="16c9" class="tk">RTW_HEADER_rtwdemo_pmsmfoc_h_</a></td></tr> +<tr name="17" id="17"> +<td>17</td><td><span class="pp">#define</span> <a id="17c9" class="tk">RTW_HEADER_rtwdemo_pmsmfoc_h_</a></td></tr> +<tr name="18" id="18"> +<td>18</td><td><span class="pp">#include "rtwtypes.h"</span></td></tr> +<tr name="19" id="19"> +<td>19</td><td><span class="pp">#include <float.h></span></td></tr> +<tr name="20" id="20"> +<td>20</td><td><span class="pp">#include <math.h></span></td></tr> +<tr name="21" id="21"> +<td>21</td><td><span class="pp">#include <string.h></span></td></tr> +<tr name="22" id="22"> +<td>22</td><td><span class="pp">#include <stddef.h></span></td></tr> +<tr name="23" id="23"> +<td>23</td><td><span class="pp">#ifndef</span> <a id="23c9" class="tk">rtwdemo_pmsmfoc_COMMON_INCLUDES_</a></td></tr> +<tr name="24" id="24"> +<td>24</td><td><span class="pp"># define</span> <a id="24c10" class="tk">rtwdemo_pmsmfoc_COMMON_INCLUDES_</a></td></tr> +<tr name="25" id="25"> +<td>25</td><td><span class="pp">#include "rtwtypes.h"</span></td></tr> +<tr name="26" id="26"> +<td>26</td><td><span class="pp">#endif</span> <span class="ct">/* rtwdemo_pmsmfoc_COMMON_INCLUDES_ */</span></td></tr> +<tr name="27" id="27"> +<td>27</td><td></td></tr> +<tr name="28" id="28"> +<td>28</td><td><span class="pp">#include "MW_target_hardware_resources.h"</span></td></tr> +<tr name="29" id="29"> +<td>29</td><td><span class="pp">#include "mw_cmsis.h"</span></td></tr> +<tr name="30" id="30"> +<td>30</td><td></td></tr> +<tr name="31" id="31"> +<td>31</td><td><span class="ct">/* Macros for accessing real-time model data structure */</span></td></tr> +<tr name="32" id="32"> +<td>32</td><td></td></tr> +<tr name="33" id="33"> +<td>33</td><td><span class="ct">/* Forward declaration for rtModel */</span></td></tr> +<tr name="34" id="34"> +<td>34</td><td><span class="kw">typedef</span> <span class="kw">struct</span> <a id="34c16" class="tk">tag_RTM</a> <a id="34c24" class="tk">RT_MODEL</a>;</td></tr> +<tr name="35" id="35"> +<td>35</td><td></td></tr> +<tr name="36" id="36"> +<td>36</td><td><span class="pp">#ifndef</span> <a id="36c9" class="tk">_DEFINED_TYPEDEF_FOR_EnumErrorType_</a></td></tr> +<tr name="37" id="37"> +<td>37</td><td><span class="pp">#define</span> <a id="37c9" class="tk">_DEFINED_TYPEDEF_FOR_EnumErrorType_</a></td></tr> +<tr name="38" id="38"> +<td>38</td><td></td></tr> +<tr name="39" id="39"> +<td>39</td><td><span class="kw">typedef</span> <span class="kw">enum</span> <span class="br">{</span></td></tr> +<tr name="40" id="40"> +<td>40</td><td> <a id="40c3" class="tk">NoError</a> = 0, <span class="ct">/* Default value */</span></td></tr> +<tr name="41" id="41"> +<td>41</td><td> <a id="41c3" class="tk">MeasuredVelocityError</a></td></tr> +<tr name="42" id="42"> +<td>42</td><td><span class="br">}</span> <a id="42c3" class="tk">EnumErrorType</a>;</td></tr> +<tr name="43" id="43"> +<td>43</td><td></td></tr> +<tr name="44" id="44"> +<td>44</td><td><span class="pp">#endif</span></td></tr> +<tr name="45" id="45"> +<td>45</td><td></td></tr> +<tr name="46" id="46"> +<td>46</td><td><span class="pp">#ifndef</span> <a id="46c9" class="tk">_DEFINED_TYPEDEF_FOR_EnumCommandType_</a></td></tr> +<tr name="47" id="47"> +<td>47</td><td><span class="pp">#define</span> <a id="47c9" class="tk">_DEFINED_TYPEDEF_FOR_EnumCommandType_</a></td></tr> +<tr name="48" id="48"> +<td>48</td><td></td></tr> +<tr name="49" id="49"> +<td>49</td><td><span class="kw">typedef</span> <span class="kw">enum</span> <span class="br">{</span></td></tr> +<tr name="50" id="50"> +<td>50</td><td> <a id="50c3" class="tk">Torque</a> = 0, <span class="ct">/* Default value */</span></td></tr> +<tr name="51" id="51"> +<td>51</td><td> <a id="51c3" class="tk">Velocity</a>,</td></tr> +<tr name="52" id="52"> +<td>52</td><td> <a id="52c3" class="tk">Position</a></td></tr> +<tr name="53" id="53"> +<td>53</td><td><span class="br">}</span> <a id="53c3" class="tk">EnumCommandType</a>;</td></tr> +<tr name="54" id="54"> +<td>54</td><td></td></tr> +<tr name="55" id="55"> +<td>55</td><td><span class="pp">#endif</span></td></tr> +<tr name="56" id="56"> +<td>56</td><td></td></tr> +<tr name="57" id="57"> +<td>57</td><td><span class="pp">#ifndef</span> <a id="57c9" class="tk">_DEFINED_TYPEDEF_FOR_EnumControllerMode_</a></td></tr> +<tr name="58" id="58"> +<td>58</td><td><span class="pp">#define</span> <a id="58c9" class="tk">_DEFINED_TYPEDEF_FOR_EnumControllerMode_</a></td></tr> +<tr name="59" id="59"> +<td>59</td><td></td></tr> +<tr name="60" id="60"> +<td>60</td><td><span class="kw">typedef</span> <span class="kw">enum</span> <span class="br">{</span></td></tr> +<tr name="61" id="61"> +<td>61</td><td> <a id="61c3" class="tk">StandBy</a> = 0, <span class="ct">/* Default value */</span></td></tr> +<tr name="62" id="62"> +<td>62</td><td> <a id="62c3" class="tk">Startup</a>,</td></tr> +<tr name="63" id="63"> +<td>63</td><td> <a id="63c3" class="tk">TorqueControl</a>,</td></tr> +<tr name="64" id="64"> +<td>64</td><td> <a id="64c3" class="tk">VelocityControl</a>,</td></tr> +<tr name="65" id="65"> +<td>65</td><td> <a id="65c3" class="tk">PositionControl</a></td></tr> +<tr name="66" id="66"> +<td>66</td><td><span class="br">}</span> <a id="66c3" class="tk">EnumControllerMode</a>;</td></tr> +<tr name="67" id="67"> +<td>67</td><td></td></tr> +<tr name="68" id="68"> +<td>68</td><td><span class="pp">#endif</span></td></tr> +<tr name="69" id="69"> +<td>69</td><td></td></tr> +<tr name="70" id="70"> +<td>70</td><td><span class="pp">#ifndef</span> <a id="70c9" class="tk">_DEFINED_TYPEDEF_FOR_SENSORS_STRUCT_</a></td></tr> +<tr name="71" id="71"> +<td>71</td><td><span class="pp">#define</span> <a id="71c9" class="tk">_DEFINED_TYPEDEF_FOR_SENSORS_STRUCT_</a></td></tr> +<tr name="72" id="72"> +<td>72</td><td></td></tr> +<tr name="73" id="73"> +<td>73</td><td><span class="kw">typedef</span> <span class="kw">struct</span> <span class="br">{</span></td></tr> +<tr name="74" id="74"> +<td>74</td><td> <a id="74c3" class="tk">uint16_T</a> <a id="74c12" class="tk">adc_phase_currents</a>[2];</td></tr> +<tr name="75" id="75"> +<td>75</td><td> <a id="75c3" class="tk">uint16_T</a> <a id="75c12" class="tk">encoder_valid</a>;</td></tr> +<tr name="76" id="76"> +<td>76</td><td> <a id="76c3" class="tk">uint16_T</a> <a id="76c12" class="tk">encoder_counter</a>;</td></tr> +<tr name="77" id="77"> +<td>77</td><td><span class="br">}</span> <a id="77c3" class="tk">SENSORS_STRUCT</a>;</td></tr> +<tr name="78" id="78"> +<td>78</td><td></td></tr> +<tr name="79" id="79"> +<td>79</td><td><span class="pp">#endif</span></td></tr> +<tr name="80" id="80"> +<td>80</td><td></td></tr> +<tr name="81" id="81"> +<td>81</td><td><span class="pp">#ifndef</span> <a id="81c9" class="tk">_DEFINED_TYPEDEF_FOR_CTRLPARAMS_STRUCT_</a></td></tr> +<tr name="82" id="82"> +<td>82</td><td><span class="pp">#define</span> <a id="82c9" class="tk">_DEFINED_TYPEDEF_FOR_CTRLPARAMS_STRUCT_</a></td></tr> +<tr name="83" id="83"> +<td>83</td><td></td></tr> +<tr name="84" id="84"> +<td>84</td><td><span class="kw">typedef</span> <span class="kw">struct</span> <span class="br">{</span></td></tr> +<tr name="85" id="85"> +<td>85</td><td> <a id="85c3" class="tk">real32_T</a> <a id="85c12" class="tk">Current_P</a>;</td></tr> +<tr name="86" id="86"> +<td>86</td><td> <a id="86c3" class="tk">real32_T</a> <a id="86c12" class="tk">Current_I</a>;</td></tr> +<tr name="87" id="87"> +<td>87</td><td> <a id="87c3" class="tk">real32_T</a> <a id="87c12" class="tk">Velocity_P</a>;</td></tr> +<tr name="88" id="88"> +<td>88</td><td> <a id="88c3" class="tk">real32_T</a> <a id="88c12" class="tk">Velocity_I</a>;</td></tr> +<tr name="89" id="89"> +<td>89</td><td> <a id="89c3" class="tk">real32_T</a> <a id="89c12" class="tk">Position_P</a>;</td></tr> +<tr name="90" id="90"> +<td>90</td><td> <a id="90c3" class="tk">real32_T</a> <a id="90c12" class="tk">Position_I</a>;</td></tr> +<tr name="91" id="91"> +<td>91</td><td> <a id="91c3" class="tk">real32_T</a> <a id="91c12" class="tk">StartupAcceleration</a>;</td></tr> +<tr name="92" id="92"> +<td>92</td><td> <a id="92c3" class="tk">real32_T</a> <a id="92c12" class="tk">StartupCurrent</a>;</td></tr> +<tr name="93" id="93"> +<td>93</td><td> <a id="93c3" class="tk">real32_T</a> <a id="93c12" class="tk">RampToStopVelocity</a>;</td></tr> +<tr name="94" id="94"> +<td>94</td><td> <a id="94c3" class="tk">real32_T</a> <a id="94c12" class="tk">AdcZeroOffsetDriverUnits</a>;</td></tr> +<tr name="95" id="95"> +<td>95</td><td> <a id="95c3" class="tk">real32_T</a> <a id="95c12" class="tk">AdcDriverUnitsToAmps</a>;</td></tr> +<tr name="96" id="96"> +<td>96</td><td> <a id="96c3" class="tk">real32_T</a> <a id="96c12" class="tk">EncoderToMechanicalZeroOffsetRads</a>;</td></tr> +<tr name="97" id="97"> +<td>97</td><td> <a id="97c3" class="tk">real32_T</a> <a id="97c12" class="tk">PmsmPolePairs</a>;</td></tr> +<tr name="98" id="98"> +<td>98</td><td><span class="br">}</span> <a id="98c3" class="tk">CTRLPARAMS_STRUCT</a>;</td></tr> +<tr name="99" id="99"> +<td>99</td><td></td></tr> +<tr name="100" id="100"> +<td>100</td><td><span class="pp">#endif</span></td></tr> +<tr name="101" id="101"> +<td>101</td><td></td></tr> +<tr name="102" id="102"> +<td>102</td><td><span class="ct">/* Block signals and states (auto storage) for system '<a class="ct blk" blk_line="102"><Root></a>' */</span></td></tr> +<tr name="103" id="103"> +<td>103</td><td><span class="kw">typedef</span> <span class="kw">struct</span> <span class="br">{</span></td></tr> +<tr name="104" id="104"> +<td>104</td><td> <a id="104c3" class="tk">real32_T</a> <a id="104c12" class="tk">Merge</a>; <span class="ct">/* '<a class="ct blk" blk_line="104"><S5>/Merge</a>' */</span></td></tr> +<tr name="105" id="105"> +<td>105</td><td> <a id="105c3" class="tk">real32_T</a> <a id="105c12" class="tk">position</a>; <span class="ct">/* '<a class="ct blk" blk_line="105"><S65>/Integrate_To_Position</a>' */</span></td></tr> +<tr name="106" id="106"> +<td>106</td><td> <a id="106c3" class="tk">real32_T</a> <a id="106c12" class="tk">velocity_command</a>; <span class="ct">/* '<a class="ct blk" blk_line="106"><S1>/Controller_Mode_Scheduler</a>' */</span></td></tr> +<tr name="107" id="107"> +<td>107</td><td> <a id="107c3" class="tk">real32_T</a> <a id="107c12" class="tk">position_command</a>; <span class="ct">/* '<a class="ct blk" blk_line="107"><S1>/Controller_Mode_Scheduler</a>' */</span></td></tr> +<tr name="108" id="108"> +<td>108</td><td> <a id="108c3" class="tk">real32_T</a> <a id="108c12" class="tk">torque_command</a>; <span class="ct">/* '<a class="ct blk" blk_line="108"><S1>/Controller_Mode_Scheduler</a>' */</span></td></tr> +<tr name="109" id="109"> +<td>109</td><td> <a id="109c3" class="tk">real32_T</a> <a id="109c12" class="tk">Integrator_DSTATE</a>; <span class="ct">/* '<a class="ct blk" blk_line="109"><S17>/Integrator</a>' */</span></td></tr> +<tr name="110" id="110"> +<td>110</td><td> <a id="110c3" class="tk">real32_T</a> <a id="110c12" class="tk">Integrator_DSTATE_l</a>; <span class="ct">/* '<a class="ct blk" blk_line="110"><S18>/Integrator</a>' */</span></td></tr> +<tr name="111" id="111"> +<td>111</td><td> <a id="111c3" class="tk">real32_T</a> <a id="111c12" class="tk">Velocity_Delay_DSTATE</a>; <span class="ct">/* '<a class="ct blk" blk_line="111"><S60>/Velocity_Delay</a>' */</span></td></tr> +<tr name="112" id="112"> +<td>112</td><td> <a id="112c3" class="tk">real32_T</a> <a id="112c12" class="tk">Integrate_To_Position_DSTATE</a>;<span class="ct">/* '<a class="ct blk" blk_line="112"><S65>/Integrate_To_Position</a>' */</span></td></tr> +<tr name="113" id="113"> +<td>113</td><td> <a id="113c3" class="tk">real32_T</a> <a id="113c12" class="tk">Integrate_To_Velocity_DSTATE</a>;<span class="ct">/* '<a class="ct blk" blk_line="113"><S65>/Integrate_To_Velocity</a>' */</span></td></tr> +<tr name="114" id="114"> +<td>114</td><td> <a id="114c3" class="tk">real32_T</a> <a id="114c12" class="tk">Integrator_DSTATE_lc</a>; <span class="ct">/* '<a class="ct blk" blk_line="114"><S42>/Integrator</a>' */</span></td></tr> +<tr name="115" id="115"> +<td>115</td><td> <a id="115c3" class="tk">real32_T</a> <a id="115c12" class="tk">Integrator_DSTATE_f</a>; <span class="ct">/* '<a class="ct blk" blk_line="115"><S45>/Integrator</a>' */</span></td></tr> +<tr name="116" id="116"> +<td>116</td><td> <a id="116c3" class="tk">int32_T</a> <a id="116c11" class="tk">Position_Delay_DSTATE</a>; <span class="ct">/* '<a class="ct blk" blk_line="116"><S55>/Position_Delay</a>' */</span></td></tr> +<tr name="117" id="117"> +<td>117</td><td> <a id="117c3" class="tk">EnumErrorType</a> <a id="117c17" class="tk">error_l</a>; <span class="ct">/* '<a class="ct blk" blk_line="117"><Root>/Data Store Memory</a>' */</span></td></tr> +<tr name="118" id="118"> +<td>118</td><td> <a id="118c3" class="tk">int16_T</a> <a id="118c11" class="tk">DelayInput1_DSTATE</a>; <span class="ct">/* '<a class="ct blk" blk_line="118"><S13>/Delay Input1</a>' */</span></td></tr> +<tr name="119" id="119"> +<td>119</td><td> <a id="119c3" class="tk">uint16_T</a> <a id="119c12" class="tk">Position_Valid</a>; <span class="ct">/* '<a class="ct blk" blk_line="119"><S49>/Wait_For_Valid_Position</a>' */</span></td></tr> +<tr name="120" id="120"> +<td>120</td><td> <a id="120c3" class="tk">int8_T</a> <a id="120c10" class="tk">Integrator_PrevResetState</a>; <span class="ct">/* '<a class="ct blk" blk_line="120"><S17>/Integrator</a>' */</span></td></tr> +<tr name="121" id="121"> +<td>121</td><td> <a id="121c3" class="tk">int8_T</a> <a id="121c10" class="tk">SwitchCase_ActiveSubsystem</a>; <span class="ct">/* '<a class="ct blk" blk_line="121"><S5>/Switch Case</a>' */</span></td></tr> +<tr name="122" id="122"> +<td>122</td><td> <a id="122c3" class="tk">int8_T</a> <a id="122c10" class="tk">Integrator_PrevResetState_c</a>; <span class="ct">/* '<a class="ct blk" blk_line="122"><S18>/Integrator</a>' */</span></td></tr> +<tr name="123" id="123"> +<td>123</td><td> <a id="123c3" class="tk">uint8_T</a> <a id="123c11" class="tk">is_active_c2_rtwdemo_pmsmfoc</a>;<span class="ct">/* '<a class="ct blk" blk_line="123"><S49>/Wait_For_Valid_Position</a>' */</span></td></tr> +<tr name="124" id="124"> +<td>124</td><td> <a id="124c3" class="tk">uint8_T</a> <a id="124c11" class="tk">is_c2_rtwdemo_pmsmfoc</a>; <span class="ct">/* '<a class="ct blk" blk_line="124"><S49>/Wait_For_Valid_Position</a>' */</span></td></tr> +<tr name="125" id="125"> +<td>125</td><td> <a id="125c3" class="tk">uint8_T</a> <a id="125c11" class="tk">temporalCounter_i1</a>; <span class="ct">/* '<a class="ct blk" blk_line="125"><S49>/Wait_For_Valid_Position</a>' */</span></td></tr> +<tr name="126" id="126"> +<td>126</td><td> <a id="126c3" class="tk">uint8_T</a> <a id="126c11" class="tk">is_c1_rtwdemo_pmsmfoc</a>; <span class="ct">/* '<a class="ct blk" blk_line="126"><S1>/Controller_Mode_Scheduler</a>' */</span></td></tr> +<tr name="127" id="127"> +<td>127</td><td> <a id="127c3" class="tk">uint8_T</a> <a id="127c11" class="tk">is_Motor_On</a>; <span class="ct">/* '<a class="ct blk" blk_line="127"><S1>/Controller_Mode_Scheduler</a>' */</span></td></tr> +<tr name="128" id="128"> +<td>128</td><td> <a id="128c3" class="tk">uint8_T</a> <a id="128c11" class="tk">is_Motor_Control</a>; <span class="ct">/* '<a class="ct blk" blk_line="128"><S1>/Controller_Mode_Scheduler</a>' */</span></td></tr> +<tr name="129" id="129"> +<td>129</td><td> <a id="129c3" class="tk">boolean_T</a> <a id="129c13" class="tk">RelationalOperator_a</a>; <span class="ct">/* '<a class="ct blk" blk_line="129"><S51>/Relational Operator</a>' */</span></td></tr> +<tr name="130" id="130"> +<td>130</td><td> <a id="130c3" class="tk">boolean_T</a> <a id="130c13" class="tk">Lo_to_Hi_Rate_Transition3_Buffe</a>;<span class="ct">/* '<a class="ct blk" blk_line="130"><S6>/Lo_to_Hi_Rate_Transition3</a>' */</span></td></tr> +<tr name="131" id="131"> +<td>131</td><td> <a id="131c3" class="tk">boolean_T</a> <a id="131c13" class="tk">OpenLoopPosition_MODE</a>; <span class="ct">/* '<a class="ct blk" blk_line="131"><S51>/Open Loop Position</a>' */</span></td></tr> +<tr name="132" id="132"> +<td>132</td><td><span class="br">}</span> <a id="132c3" class="tk">D_Work</a>;</td></tr> +<tr name="133" id="133"> +<td>133</td><td></td></tr> +<tr name="134" id="134"> +<td>134</td><td><span class="ct">/* Constant parameters (auto storage) */</span></td></tr> +<tr name="135" id="135"> +<td>135</td><td><span class="kw">typedef</span> <span class="kw">struct</span> <span class="br">{</span></td></tr> +<tr name="136" id="136"> +<td>136</td><td> <span class="ct">/* Computed Parameter: Lookup_Table_table</span></td></tr> +<tr name="137" id="137"> +<td>137</td><td><span class="ct"> * Referenced by: '<a class="ct blk" blk_line="137"><S28>/Lookup_Table</a>'</span></td></tr> +<tr name="138" id="138"> +<td>138</td><td><span class="ct"> */</span></td></tr> +<tr name="139" id="139"> +<td>139</td><td> <a id="139c3" class="tk">uint16_T</a> <a id="139c12" class="tk">Lookup_Table_table</a>[7];</td></tr> +<tr name="140" id="140"> +<td>140</td><td><span class="br">}</span> <a id="140c3" class="tk">ConstParam</a>;</td></tr> +<tr name="141" id="141"> +<td>141</td><td></td></tr> +<tr name="142" id="142"> +<td>142</td><td><span class="ct">/* Real-time Model Data Structure */</span></td></tr> +<tr name="143" id="143"> +<td>143</td><td><span class="kw">struct</span> <a id="143c8" class="tk">tag_RTM</a> <span class="br">{</span></td></tr> +<tr name="144" id="144"> +<td>144</td><td> <span class="ct">/*</span></td></tr> +<tr name="145" id="145"> +<td>145</td><td><span class="ct"> * Timing:</span></td></tr> +<tr name="146" id="146"> +<td>146</td><td><span class="ct"> * The following substructure contains information regarding</span></td></tr> +<tr name="147" id="147"> +<td>147</td><td><span class="ct"> * the timing information for the model.</span></td></tr> +<tr name="148" id="148"> +<td>148</td><td><span class="ct"> */</span></td></tr> +<tr name="149" id="149"> +<td>149</td><td> <span class="kw">struct</span> <span class="br">{</span></td></tr> +<tr name="150" id="150"> +<td>150</td><td> <span class="kw">struct</span> <span class="br">{</span></td></tr> +<tr name="151" id="151"> +<td>151</td><td> <a id="151c7" class="tk">uint8_T</a> <a id="151c15" class="tk">TID</a>[2];</td></tr> +<tr name="152" id="152"> +<td>152</td><td> <span class="br">}</span> <a id="152c7" class="tk">TaskCounters</a>;</td></tr> +<tr name="153" id="153"> +<td>153</td><td> <span class="br">}</span> <a id="153c5" class="tk">Timing</a>;</td></tr> +<tr name="154" id="154"> +<td>154</td><td><span class="br">}</span>;</td></tr> +<tr name="155" id="155"> +<td>155</td><td></td></tr> +<tr name="156" id="156"> +<td>156</td><td><span class="ct">/* Block signals and states (auto storage) */</span></td></tr> +<tr name="157" id="157"> +<td>157</td><td><span class="kw">extern</span> <a id="157c8" class="tk">D_Work</a> <a id="157c15" class="tk">DWork</a>;</td></tr> +<tr name="158" id="158"> +<td>158</td><td></td></tr> +<tr name="159" id="159"> +<td>159</td><td><span class="ct">/* Constant parameters (auto storage) */</span></td></tr> +<tr name="160" id="160"> +<td>160</td><td><span class="kw">extern</span> <span class="kw">const</span> <a id="160c14" class="tk">ConstParam</a> <a id="160c25" class="tk">ConstP</a>;</td></tr> +<tr name="161" id="161"> +<td>161</td><td></td></tr> +<tr name="162" id="162"> +<td>162</td><td><span class="ct">/*</span></td></tr> +<tr name="163" id="163"> +<td>163</td><td><span class="ct"> * Exported Global Signals</span></td></tr> +<tr name="164" id="164"> +<td>164</td><td><span class="ct"> *</span></td></tr> +<tr name="165" id="165"> +<td>165</td><td><span class="ct"> * Note: Exported global signals are block signals with an exported global</span></td></tr> +<tr name="166" id="166"> +<td>166</td><td><span class="ct"> * storage class designation. Code generation will declare the memory for</span></td></tr> +<tr name="167" id="167"> +<td>167</td><td><span class="ct"> * these signals and export their symbols.</span></td></tr> +<tr name="168" id="168"> +<td>168</td><td><span class="ct"> *</span></td></tr> +<tr name="169" id="169"> +<td>169</td><td><span class="ct"> */</span></td></tr> +<tr name="170" id="170"> +<td>170</td><td><span class="kw">extern</span> <a id="170c8" class="tk">real32_T</a> <a id="170c17" class="tk">phase_currents</a>[2]; <span class="ct">/* '<a class="ct blk" blk_line="170"><S48>/Product</a>' */</span></td></tr> +<tr name="171" id="171"> +<td>171</td><td><span class="kw">extern</span> <a id="171c8" class="tk">real32_T</a> <a id="171c17" class="tk">rotor_position</a>; <span class="ct">/* '<a class="ct blk" blk_line="171"><S49>/Add</a>' */</span></td></tr> +<tr name="172" id="172"> +<td>172</td><td><span class="kw">extern</span> <a id="172c8" class="tk">real32_T</a> <a id="172c17" class="tk">velocity_measured</a>; <span class="ct">/* '<a class="ct blk" blk_line="172"><S55>/Scale_Output</a>' */</span></td></tr> +<tr name="173" id="173"> +<td>173</td><td><span class="kw">extern</span> <a id="173c8" class="tk">real32_T</a> <a id="173c17" class="tk">d_current_error</a>; <span class="ct">/* '<a class="ct blk" blk_line="173"><S12>/Sum2</a>' */</span></td></tr> +<tr name="174" id="174"> +<td>174</td><td><span class="kw">extern</span> <a id="174c8" class="tk">real32_T</a> <a id="174c17" class="tk">q_current_command</a>; <span class="ct">/* '<a class="ct blk" blk_line="174"><S5>/Lo_to_Hi_Rate_Transition1</a>' */</span></td></tr> +<tr name="175" id="175"> +<td>175</td><td><span class="kw">extern</span> <a id="175c8" class="tk">real32_T</a> <a id="175c17" class="tk">q_current_measured</a>; <span class="ct">/* '<a class="ct blk" blk_line="175"><S22>/Add</a>' */</span></td></tr> +<tr name="176" id="176"> +<td>176</td><td><span class="kw">extern</span> <a id="176c8" class="tk">real32_T</a> <a id="176c17" class="tk">q_current_error</a>; <span class="ct">/* '<a class="ct blk" blk_line="176"><S12>/Sum</a>' */</span></td></tr> +<tr name="177" id="177"> +<td>177</td><td><span class="kw">extern</span> <a id="177c8" class="tk">real32_T</a> <a id="177c17" class="tk">phase_voltages</a>[3]; <span class="ct">/* '<a class="ct blk" blk_line="177"><S27>/Select_Sector</a>' */</span></td></tr> +<tr name="178" id="178"> +<td>178</td><td><span class="kw">extern</span> <a id="178c8" class="tk">real32_T</a> <a id="178c17" class="tk">velocity_error</a>; <span class="ct">/* '<a class="ct blk" blk_line="178"><S11>/Sum2</a>' */</span></td></tr> +<tr name="179" id="179"> +<td>179</td><td><span class="kw">extern</span> <a id="179c8" class="tk">EnumControllerMode</a> <a id="179c27" class="tk">controller_mode</a>;<span class="ct">/* '<a class="ct blk" blk_line="179"><S1>/Controller_Mode_Scheduler</a>' */</span></td></tr> +<tr name="180" id="180"> +<td>180</td><td></td></tr> +<tr name="181" id="181"> +<td>181</td><td><span class="ct">/*</span></td></tr> +<tr name="182" id="182"> +<td>182</td><td><span class="ct"> * Exported Global Parameters</span></td></tr> +<tr name="183" id="183"> +<td>183</td><td><span class="ct"> *</span></td></tr> +<tr name="184" id="184"> +<td>184</td><td><span class="ct"> * Note: Exported global parameters are tunable parameters with an exported</span></td></tr> +<tr name="185" id="185"> +<td>185</td><td><span class="ct"> * global storage class designation. Code generation will declare the memory for</span></td></tr> +<tr name="186" id="186"> +<td>186</td><td><span class="ct"> * these parameters and exports their symbols.</span></td></tr> +<tr name="187" id="187"> +<td>187</td><td><span class="ct"> *</span></td></tr> +<tr name="188" id="188"> +<td>188</td><td><span class="ct"> */</span></td></tr> +<tr name="189" id="189"> +<td>189</td><td><span class="kw">extern</span> <a id="189c8" class="tk">CTRLPARAMS_STRUCT</a> <a id="189c26" class="tk">ctrlParams</a>; <span class="ct">/* Variable: ctrlParams</span></td></tr> +<tr name="190" id="190"> +<td>190</td><td><span class="ct"> * Referenced by:</span></td></tr> +<tr name="191" id="191"> +<td>191</td><td><span class="ct"> * '<a class="ct blk" blk_line="191"><S1>/Controller_Mode_Scheduler</a>'</span></td></tr> +<tr name="192" id="192"> +<td>192</td><td><span class="ct"> * '<a class="ct blk" blk_line="192"><S48>/ADC_Driver_Units_To_Amps</a>'</span></td></tr> +<tr name="193" id="193"> +<td>193</td><td><span class="ct"> * '<a class="ct blk" blk_line="193"><S48>/ADC_Zero_Offset</a>'</span></td></tr> +<tr name="194" id="194"> +<td>194</td><td><span class="ct"> * '<a class="ct blk" blk_line="194"><S49>/Offset_Between_Encoder_Zero_And_Mechanical_Zero</a>'</span></td></tr> +<tr name="195" id="195"> +<td>195</td><td><span class="ct"> * '<a class="ct blk" blk_line="195"><S14>/number_of_pole_pairs</a>'</span></td></tr> +<tr name="196" id="196"> +<td>196</td><td><span class="ct"> * '<a class="ct blk" blk_line="196"><S42>/Integral Gain</a>'</span></td></tr> +<tr name="197" id="197"> +<td>197</td><td><span class="ct"> * '<a class="ct blk" blk_line="197"><S42>/Proportional Gain</a>'</span></td></tr> +<tr name="198" id="198"> +<td>198</td><td><span class="ct"> * '<a class="ct blk" blk_line="198"><S45>/Integral Gain</a>'</span></td></tr> +<tr name="199" id="199"> +<td>199</td><td><span class="ct"> * '<a class="ct blk" blk_line="199"><S45>/Proportional Gain</a>'</span></td></tr> +<tr name="200" id="200"> +<td>200</td><td><span class="ct"> * '<a class="ct blk" blk_line="200"><S65>/Startup_Acceleration_Constant</a>'</span></td></tr> +<tr name="201" id="201"> +<td>201</td><td><span class="ct"> * '<a class="ct blk" blk_line="201"><S17>/Integral Gain</a>'</span></td></tr> +<tr name="202" id="202"> +<td>202</td><td><span class="ct"> * '<a class="ct blk" blk_line="202"><S17>/Proportional Gain</a>'</span></td></tr> +<tr name="203" id="203"> +<td>203</td><td><span class="ct"> * '<a class="ct blk" blk_line="203"><S18>/Integral Gain</a>'</span></td></tr> +<tr name="204" id="204"> +<td>204</td><td><span class="ct"> * '<a class="ct blk" blk_line="204"><S18>/Proportional Gain</a>'</span></td></tr> +<tr name="205" id="205"> +<td>205</td><td><span class="ct"> */</span></td></tr> +<tr name="206" id="206"> +<td>206</td><td></td></tr> +<tr name="207" id="207"> +<td>207</td><td><span class="ct">/* Model entry point functions */</span></td></tr> +<tr name="208" id="208"> +<td>208</td><td><span class="kw">extern</span> <span class="kw">void</span> <a id="208c13" class="tk">Controller_Init</a>(<span class="kw">void</span>);</td></tr> +<tr name="209" id="209"> +<td>209</td><td></td></tr> +<tr name="210" id="210"> +<td>210</td><td><span class="ct">/* Customized model step function */</span></td></tr> +<tr name="211" id="211"> +<td>211</td><td><span class="kw">extern</span> <a id="211c8" class="tk">EnumErrorType</a> <a id="211c22" class="tk">Controller</a>(<a id="211c33" class="tk">uint16_T</a> <a id="211c42" class="tk">motor_on</a>, <a id="211c52" class="tk">EnumCommandType</a> <a id="211c68" class="tk">command_type</a>,</td></tr> +<tr name="212" id="212"> +<td>212</td><td> <a id="212c3" class="tk">real32_T</a> <a id="212c12" class="tk">current_request</a>, <a id="212c29" class="tk">SENSORS_STRUCT</a> *<a id="212c45" class="tk">sensors</a>, <a id="212c54" class="tk">uint16_T</a> <a id="212c63" class="tk">pwm_compare</a>[3]);</td></tr> +<tr name="213" id="213"> +<td>213</td><td></td></tr> +<tr name="214" id="214"> +<td>214</td><td><span class="ct">/* Real-time Model object */</span></td></tr> +<tr name="215" id="215"> +<td>215</td><td><span class="kw">extern</span> <a id="215c8" class="tk">RT_MODEL</a> *<span class="kw">const</span> <a id="215c24" class="tk">M</a>;</td></tr> +<tr name="216" id="216"> +<td>216</td><td></td></tr> +<tr name="217" id="217"> +<td>217</td><td><span class="ct">/*-</span></td></tr> +<tr name="218" id="218"> +<td>218</td><td><span class="ct"> * The generated code includes comments that allow you to trace directly</span></td></tr> +<tr name="219" id="219"> +<td>219</td><td><span class="ct"> * back to the appropriate location in the model. The basic format</span></td></tr> +<tr name="220" id="220"> +<td>220</td><td><span class="ct"> * is <system>/block_name, where system is the system number (uniquely</span></td></tr> +<tr name="221" id="221"> +<td>221</td><td><span class="ct"> * assigned by Simulink) and block_name is the name of the block.</span></td></tr> +<tr name="222" id="222"> +<td>222</td><td><span class="ct"> *</span></td></tr> +<tr name="223" id="223"> +<td>223</td><td><span class="ct"> * Use the MATLAB hilite_system command to trace the generated code back</span></td></tr> +<tr name="224" id="224"> +<td>224</td><td><span class="ct"> * to the model. For example,</span></td></tr> +<tr name="225" id="225"> +<td>225</td><td><span class="ct"> *</span></td></tr> +<tr name="226" id="226"> +<td>226</td><td><span class="ct"> * hilite_system('<a class="ct blk" blk_line="226"><S3></a>') - opens system 3</span></td></tr> +<tr name="227" id="227"> +<td>227</td><td><span class="ct"> * hilite_system('<a class="ct blk" blk_line="227"><S3>/Kp</a>') - opens and selects block Kp which resides in S3</span></td></tr> +<tr name="228" id="228"> +<td>228</td><td><span class="ct"> *</span></td></tr> +<tr name="229" id="229"> +<td>229</td><td><span class="ct"> * Here is the system hierarchy for this model</span></td></tr> +<tr name="230" id="230"> +<td>230</td><td><span class="ct"> *</span></td></tr> +<tr name="231" id="231"> +<td>231</td><td><span class="ct"> * '<a class="ct blk" blk_line="231"><Root></a>' : 'rtwdemo_pmsmfoc'</span></td></tr> +<tr name="232" id="232"> +<td>232</td><td><span class="ct"> * '<a class="ct blk" blk_line="232"><S1></a>' : 'rtwdemo_pmsmfoc/Mode_Scheduler'</span></td></tr> +<tr name="233" id="233"> +<td>233</td><td><span class="ct"> * '<a class="ct blk" blk_line="233"><S2></a>' : 'rtwdemo_pmsmfoc/Model Info'</span></td></tr> +<tr name="234" id="234"> +<td>234</td><td><span class="ct"> * '<a class="ct blk" blk_line="234"><S3></a>' : 'rtwdemo_pmsmfoc/Motor_Control'</span></td></tr> +<tr name="235" id="235"> +<td>235</td><td><span class="ct"> * '<a class="ct blk" blk_line="235"><S4></a>' : 'rtwdemo_pmsmfoc/Mode_Scheduler/Controller_Mode_Scheduler'</span></td></tr> +<tr name="236" id="236"> +<td>236</td><td><span class="ct"> * '<a class="ct blk" blk_line="236"><S5></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller'</span></td></tr> +<tr name="237" id="237"> +<td>237</td><td><span class="ct"> * '<a class="ct blk" blk_line="237"><S6></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Phase_Voltages_to_PWM_Compare_Values'</span></td></tr> +<tr name="238" id="238"> +<td>238</td><td><span class="ct"> * '<a class="ct blk" blk_line="238"><S7></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units'</span></td></tr> +<tr name="239" id="239"> +<td>239</td><td><span class="ct"> * '<a class="ct blk" blk_line="239"><S8></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control'</span></td></tr> +<tr name="240" id="240"> +<td>240</td><td><span class="ct"> * '<a class="ct blk" blk_line="240"><S9></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Position_Control'</span></td></tr> +<tr name="241" id="241"> +<td>241</td><td><span class="ct"> * '<a class="ct blk" blk_line="241"><S10></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Torque_Control'</span></td></tr> +<tr name="242" id="242"> +<td>242</td><td><span class="ct"> * '<a class="ct blk" blk_line="242"><S11></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Velocity_Control'</span></td></tr> +<tr name="243" id="243"> +<td>243</td><td><span class="ct"> * '<a class="ct blk" blk_line="243"><S12></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Current_Controllers'</span></td></tr> +<tr name="244" id="244"> +<td>244</td><td><span class="ct"> * '<a class="ct blk" blk_line="244"><S13></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Detect_Change'</span></td></tr> +<tr name="245" id="245"> +<td>245</td><td><span class="ct"> * '<a class="ct blk" blk_line="245"><S14></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Rotation_Coefficients_Sin_Cos'</span></td></tr> +<tr name="246" id="246"> +<td>246</td><td><span class="ct"> * '<a class="ct blk" blk_line="246"><S15></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_ABC_to_dq'</span></td></tr> +<tr name="247" id="247"> +<td>247</td><td><span class="ct"> * '<a class="ct blk" blk_line="247"><S16></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC'</span></td></tr> +<tr name="248" id="248"> +<td>248</td><td><span class="ct"> * '<a class="ct blk" blk_line="248"><S17></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Current_Controllers/Direct_Current_Control'</span></td></tr> +<tr name="249" id="249"> +<td>249</td><td><span class="ct"> * '<a class="ct blk" blk_line="249"><S18></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Current_Controllers/Quadrature_Current_Control'</span></td></tr> +<tr name="250" id="250"> +<td>250</td><td><span class="ct"> * '<a class="ct blk" blk_line="250"><S19></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Current_Controllers/Direct_Current_Control/Clamping circuit'</span></td></tr> +<tr name="251" id="251"> +<td>251</td><td><span class="ct"> * '<a class="ct blk" blk_line="251"><S20></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Current_Controllers/Quadrature_Current_Control/Clamping circuit'</span></td></tr> +<tr name="252" id="252"> +<td>252</td><td><span class="ct"> * '<a class="ct blk" blk_line="252"><S21></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_ABC_to_dq/Clarke_Transform'</span></td></tr> +<tr name="253" id="253"> +<td>253</td><td><span class="ct"> * '<a class="ct blk" blk_line="253"><S22></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_ABC_to_dq/Park_Transform'</span></td></tr> +<tr name="254" id="254"> +<td>254</td><td><span class="ct"> * '<a class="ct blk" blk_line="254"><S23></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC'</span></td></tr> +<tr name="255" id="255"> +<td>255</td><td><span class="ct"> * '<a class="ct blk" blk_line="255"><S24></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Inverse_Park_Transform'</span></td></tr> +<tr name="256" id="256"> +<td>256</td><td><span class="ct"> * '<a class="ct blk" blk_line="256"><S25></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Inverse_Clarke_Transform'</span></td></tr> +<tr name="257" id="257"> +<td>257</td><td><span class="ct"> * '<a class="ct blk" blk_line="257"><S26></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation'</span></td></tr> +<tr name="258" id="258"> +<td>258</td><td><span class="ct"> * '<a class="ct blk" blk_line="258"><S27></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Calculate_Phase_Voltages'</span></td></tr> +<tr name="259" id="259"> +<td>259</td><td><span class="ct"> * '<a class="ct blk" blk_line="259"><S28></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Determine_Sector'</span></td></tr> +<tr name="260" id="260"> +<td>260</td><td><span class="ct"> * '<a class="ct blk" blk_line="260"><S29></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Phase_Advanced_Inverse_Clarke'</span></td></tr> +<tr name="261" id="261"> +<td>261</td><td><span class="ct"> * '<a class="ct blk" blk_line="261"><S30></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Calculate_Phase_Voltages/Va_Sectors_1_and_4'</span></td></tr> +<tr name="262" id="262"> +<td>262</td><td><span class="ct"> * '<a class="ct blk" blk_line="262"><S31></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Calculate_Phase_Voltages/Va_Sectors_2_and_5'</span></td></tr> +<tr name="263" id="263"> +<td>263</td><td><span class="ct"> * '<a class="ct blk" blk_line="263"><S32></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Calculate_Phase_Voltages/Va_Sectors_3_and_6'</span></td></tr> +<tr name="264" id="264"> +<td>264</td><td><span class="ct"> * '<a class="ct blk" blk_line="264"><S33></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Calculate_Phase_Voltages/Vb_Sectors_1_and_4'</span></td></tr> +<tr name="265" id="265"> +<td>265</td><td><span class="ct"> * '<a class="ct blk" blk_line="265"><S34></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Calculate_Phase_Voltages/Vb_Sectors_2_and_5'</span></td></tr> +<tr name="266" id="266"> +<td>266</td><td><span class="ct"> * '<a class="ct blk" blk_line="266"><S35></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Calculate_Phase_Voltages/Vb_Sectors_3_and_6'</span></td></tr> +<tr name="267" id="267"> +<td>267</td><td><span class="ct"> * '<a class="ct blk" blk_line="267"><S36></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Calculate_Phase_Voltages/Vc_Sectors_1_and_4'</span></td></tr> +<tr name="268" id="268"> +<td>268</td><td><span class="ct"> * '<a class="ct blk" blk_line="268"><S37></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Calculate_Phase_Voltages/Vc_Sectors_2_and_5'</span></td></tr> +<tr name="269" id="269"> +<td>269</td><td><span class="ct"> * '<a class="ct blk" blk_line="269"><S38></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Calculate_Phase_Voltages/Vc_Sectors_3_and_6'</span></td></tr> +<tr name="270" id="270"> +<td>270</td><td><span class="ct"> * '<a class="ct blk" blk_line="270"><S39></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Determine_Sector/Compare_VA_To_Zero'</span></td></tr> +<tr name="271" id="271"> +<td>271</td><td><span class="ct"> * '<a class="ct blk" blk_line="271"><S40></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Determine_Sector/Compare_VB_To_Zero'</span></td></tr> +<tr name="272" id="272"> +<td>272</td><td><span class="ct"> * '<a class="ct blk" blk_line="272"><S41></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Determine_Sector/Compare_VC_To_Zero'</span></td></tr> +<tr name="273" id="273"> +<td>273</td><td><span class="ct"> * '<a class="ct blk" blk_line="273"><S42></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Position_Control/Position_Control'</span></td></tr> +<tr name="274" id="274"> +<td>274</td><td><span class="ct"> * '<a class="ct blk" blk_line="274"><S43></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Position_Control/Wrap_Error_pi'</span></td></tr> +<tr name="275" id="275"> +<td>275</td><td><span class="ct"> * '<a class="ct blk" blk_line="275"><S44></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Position_Control/Position_Control/Clamping circuit'</span></td></tr> +<tr name="276" id="276"> +<td>276</td><td><span class="ct"> * '<a class="ct blk" blk_line="276"><S45></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Velocity_Control/Rotor_Speed_Control'</span></td></tr> +<tr name="277" id="277"> +<td>277</td><td><span class="ct"> * '<a class="ct blk" blk_line="277"><S46></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Velocity_Control/Rotor_Speed_Control/Clamping circuit'</span></td></tr> +<tr name="278" id="278"> +<td>278</td><td><span class="ct"> * '<a class="ct blk" blk_line="278"><S47></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Phase_Voltages_to_PWM_Compare_Values/Enumerated_Constant'</span></td></tr> +<tr name="279" id="279"> +<td>279</td><td><span class="ct"> * '<a class="ct blk" blk_line="279"><S48></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/ADC_Level_to_Phase_Current'</span></td></tr> +<tr name="280" id="280"> +<td>280</td><td><span class="ct"> * '<a class="ct blk" blk_line="280"><S49></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Encoder_To_Position'</span></td></tr> +<tr name="281" id="281"> +<td>281</td><td><span class="ct"> * '<a class="ct blk" blk_line="281"><S50></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity'</span></td></tr> +<tr name="282" id="282"> +<td>282</td><td><span class="ct"> * '<a class="ct blk" blk_line="282"><S51></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Startup_Open_Loop_Control'</span></td></tr> +<tr name="283" id="283"> +<td>283</td><td><span class="ct"> * '<a class="ct blk" blk_line="283"><S52></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Encoder_To_Position/Wait_For_Valid_Position'</span></td></tr> +<tr name="284" id="284"> +<td>284</td><td><span class="ct"> * '<a class="ct blk" blk_line="284"><S53></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Explicit_Angle_Wrap'</span></td></tr> +<tr name="285" id="285"> +<td>285</td><td><span class="ct"> * '<a class="ct blk" blk_line="285"><S54></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Explicit_Angle_Wrap_With_Error'</span></td></tr> +<tr name="286" id="286"> +<td>286</td><td><span class="ct"> * '<a class="ct blk" blk_line="286"><S55></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Implicit_Integer_Wrap_With_Error'</span></td></tr> +<tr name="287" id="287"> +<td>287</td><td><span class="ct"> * '<a class="ct blk" blk_line="287"><S56></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Explicit_Angle_Wrap_With_Error/Detect_Velocity_Error'</span></td></tr> +<tr name="288" id="288"> +<td>288</td><td><span class="ct"> * '<a class="ct blk" blk_line="288"><S57></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Explicit_Angle_Wrap_With_Error/Detect_Velocity_Error/Enumerated_Constant'</span></td></tr> +<tr name="289" id="289"> +<td>289</td><td><span class="ct"> * '<a class="ct blk" blk_line="289"><S58></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Explicit_Angle_Wrap_With_Error/Detect_Velocity_Error/Generate_Error'</span></td></tr> +<tr name="290" id="290"> +<td>290</td><td><span class="ct"> * '<a class="ct blk" blk_line="290"><S59></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Explicit_Angle_Wrap_With_Error/Detect_Velocity_Error/Generate_Error/Enumerated_Constant'</span></td></tr> +<tr name="291" id="291"> +<td>291</td><td><span class="ct"> * '<a class="ct blk" blk_line="291"><S60></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Implicit_Integer_Wrap_With_Error/Detect_Velocity_Error'</span></td></tr> +<tr name="292" id="292"> +<td>292</td><td><span class="ct"> * '<a class="ct blk" blk_line="292"><S61></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Implicit_Integer_Wrap_With_Error/Detect_Velocity_Error/Enumerated_Constant'</span></td></tr> +<tr name="293" id="293"> +<td>293</td><td><span class="ct"> * '<a class="ct blk" blk_line="293"><S62></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Implicit_Integer_Wrap_With_Error/Detect_Velocity_Error/Generate_Error'</span></td></tr> +<tr name="294" id="294"> +<td>294</td><td><span class="ct"> * '<a class="ct blk" blk_line="294"><S63></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Implicit_Integer_Wrap_With_Error/Detect_Velocity_Error/Generate_Error/Enumerated_Constant'</span></td></tr> +<tr name="295" id="295"> +<td>295</td><td><span class="ct"> * '<a class="ct blk" blk_line="295"><S64></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Startup_Open_Loop_Control/Enumerated Constant'</span></td></tr> +<tr name="296" id="296"> +<td>296</td><td><span class="ct"> * '<a class="ct blk" blk_line="296"><S65></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Startup_Open_Loop_Control/Open Loop Position'</span></td></tr> +<tr name="297" id="297"> +<td>297</td><td><span class="ct"> */</span></td></tr> +<tr name="298" id="298"> +<td>298</td><td></td></tr> +<tr name="299" id="299"> +<td>299</td><td><span class="ct">/*-</span></td></tr> +<tr name="300" id="300"> +<td>300</td><td><span class="ct"> * Requirements for '<a class="ct blk" blk_line="300"><Root></a>': rtwdemo_pmsmfoc</span></td></tr> +<tr name="301" id="301"> +<td>301</td><td><span class="ct"> */</span></td></tr> +<tr name="302" id="302"> +<td>302</td><td><span class="pp">#endif</span> <span class="ct">/* RTW_HEADER_rtwdemo_pmsmfoc_h_ */</span></td></tr> +<tr name="303" id="303"> +<td>303</td><td></td></tr> +<tr name="304" id="304"> +<td>304</td><td><span class="ct">/*</span></td></tr> +<tr name="305" id="305"> +<td>305</td><td><span class="ct"> * File trailer for generated code.</span></td></tr> +<tr name="306" id="306"> +<td>306</td><td><span class="ct"> *</span></td></tr> +<tr name="307" id="307"> +<td>307</td><td><span class="ct"> * [EOF]</span></td></tr> +<tr name="308" id="308"> +<td>308</td><td><span class="ct"> */</span></td></tr> +<tr name="309" id="309"> +<td>309</td><td></td></tr> +</table> +</pre> +</body> +</html>
diff -r 83374f658183 -r bbc155b0b886 html/html/rtwdemo_pmsmfoc_interface.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/html/html/rtwdemo_pmsmfoc_interface.html Tue Nov 25 07:52:02 2014 +0000 @@ -0,0 +1,555 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="stylesheet" type="text/css" href="rtwreport.css" /><script language="JavaScript" type="text/javascript">function rtwTableShrink(o) {var t = o.nextSibling;if (t.nodeType != 1) {t = t.nextSibling;}if (t.style.display == "none") {t.style.display = "";o.innerHTML = "[-]"} else {t.style.display = "none";o.innerHTML = "[+] ... "}}</script><script language="JavaScript" type="text/javascript" src="rtwreport_utils.js"></script><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title> +Code Interface Report for rtwdemo_pmsmfoc +</title> + +</head> +<body ONLOAD="try {if (top) {if (top.rtwPageOnLoad) top.rtwPageOnLoad('rtwIdCodeInterface'); else local_onload();}} catch(err) {};"> +<h1> +Code Interface Report for rtwdemo_pmsmfoc +</h1> +<h3> +Table of Contents +</h3> +<ul> +<li> +<a href="#sec_Entry_Point_Functions"> +Entry Point Functions +</a> + +</li> +<li> +<a href="#sec_Inports"> +Inports +</a> + +</li> +<li> +<a href="#sec_Outports"> +Outports +</a> + +</li> +<li> +<a href="#sec_Interface_Parameters"> +Interface Parameters +</a> + +</li> +<li> +<a href="#sec_Data_Stores"> +Data Stores +</a> + +</li> + +</ul> +<h3> +<a name="sec_Entry_Point_Functions"> +Entry Point Functions +</a> + +</h3> +<p> +Function: <a href="rtwdemo_pmsmfoc_c.html#fcn_Controller_Init">Controller_Init</a> +</p> +<table width="100%" class="AltRow" cellspacing="0"> +<tr class="even"> +<td width="25%" align="left" valign="top"> +Prototype +</td> +<td width="75%" align="left" valign="top"> +<b> +void Controller_Init(void) +</b> + +</td> + +</tr> +<tr class="odd"> +<td width="25%" align="left" valign="top"> +Description +</td> +<td width="75%" align="left" valign="top"> +Initialization entry point of generated code +</td> + +</tr> +<tr class="even"> +<td width="25%" align="left" valign="top"> +Timing +</td> +<td width="75%" align="left" valign="top"> +Must be called exactly once +</td> + +</tr> +<tr class="odd"> +<td width="25%" align="left" valign="top"> +Arguments +</td> +<td width="75%" align="left" valign="top"> +None +</td> + +</tr> +<tr class="even"> +<td width="25%" align="left" valign="top"> +Return value +</td> +<td width="75%" align="left" valign="top"> +None +</td> + +</tr> +<tr class="odd"> +<td width="25%" align="left" valign="top"> +Header file +</td> +<td width="75%" align="left" valign="top"> +<a href="rtwdemo_pmsmfoc_h.html">rtwdemo_pmsmfoc.h</a> +</td> + +</tr> + +</table> +<p> +Function: <a href="rtwdemo_pmsmfoc_c.html#fcn_Controller">Controller</a> +</p> +<table width="100%" class="AltRow" cellspacing="0"> +<tr class="even"> +<td width="25%" align="left" valign="top"> +Prototype +</td> +<td width="75%" align="left" valign="top"> +<b> +EnumErrorType Controller(uint16_T motor_on, EnumCommandType command_type, real32_T current_request, SENSORS_STRUCT *sensors, uint16_T pwm_compare[3]) +</b> + +</td> + +</tr> +<tr class="odd"> +<td width="25%" align="left" valign="top"> +Description +</td> +<td width="75%" align="left" valign="top"> +Output entry point of generated code +</td> + +</tr> +<tr class="even"> +<td width="25%" align="left" valign="top"> +Timing +</td> +<td width="75%" align="left" valign="top"> +Must be called periodically, every 4e-05 seconds +</td> + +</tr> +<tr class="odd"> +<td width="25%" align="left" valign="top"> +Arguments +</td> +<td width="75%" align="left" valign="top"> +<span title="Click to shrink or expand table" onclick="rtwTableShrink(this)">[-]</span><table class="AltRow FirstColumn" cellspacing="0"> +<tr class="heading"> +<th align="left" valign="top"> +<b> +# +</b> + +</th> +<th align="left" valign="top"> +<b> +Name +</b> + +</th> +<th align="left" valign="top"> +<b> +Data Type +</b> + +</th> +<th align="left" valign="top"> +<b> +Description +</b> + +</th> + +</tr> +<tr class="even"> +<td align="right" valign="top"> +1 +</td> +<td align="left" valign="top"> +motor_on +</td> +<td align="left" valign="top"> +uint16_T +</td> +<td align="left" valign="top"> +<a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:2783')" name="code2model" class="code2model"><Root>/motor_on</a> +</td> + +</tr> +<tr class="odd"> +<td align="right" valign="top"> +2 +</td> +<td align="left" valign="top"> +command_type +</td> +<td align="left" valign="top"> +EnumCommandType +</td> +<td align="left" valign="top"> +<a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4806')" name="code2model" class="code2model"><Root>/command_type</a> +</td> + +</tr> +<tr class="even"> +<td align="right" valign="top"> +3 +</td> +<td align="left" valign="top"> +current_request +</td> +<td align="left" valign="top"> +real32_T +</td> +<td align="left" valign="top"> +<a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4807')" name="code2model" class="code2model"><Root>/command_value</a> +</td> + +</tr> +<tr class="odd"> +<td align="right" valign="top"> +4 +</td> +<td align="left" valign="top"> +sensors +</td> +<td align="left" valign="top"> +SENSORS_STRUCT * +</td> +<td align="left" valign="top"> +<a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:198')" name="code2model" class="code2model"><Root>/sensors</a> +</td> + +</tr> +<tr class="even"> +<td align="right" valign="top"> +5 +</td> +<td align="left" valign="top"> +pwm_compare +</td> +<td align="left" valign="top"> +uint16_T +</td> +<td align="left" valign="top"> +<a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4811')" name="code2model" class="code2model"><Root>/pwm_compare</a> +</td> + +</tr> + +</table> + +</td> + +</tr> +<tr class="even"> +<td width="25%" align="left" valign="top"> +Return value +</td> +<td width="75%" align="left" valign="top"> +<table class="AltRow FirstColumn" cellspacing="0"> +<tr class="heading"> +<th align="left" valign="top"> +<b> +Data Type +</b> + +</th> +<th align="left" valign="top"> +<b> +Description +</b> + +</th> + +</tr> +<tr class="even"> +<td align="left" valign="top"> +EnumErrorType +</td> +<td align="left" valign="top"> +<a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5907')" name="code2model" class="code2model"><Root>/error</a> +</td> + +</tr> + +</table> + +</td> + +</tr> +<tr class="odd"> +<td width="25%" align="left" valign="top"> +Header file +</td> +<td width="75%" align="left" valign="top"> +<a href="rtwdemo_pmsmfoc_h.html">rtwdemo_pmsmfoc.h</a> +</td> + +</tr> + +</table> +<h3> +<a name="sec_Inports"> +Inports +</a> + +</h3> +<span title="Click to shrink or expand table" onclick="rtwTableShrink(this)">[-]</span><table width="100%" class="AltRow FirstColumn" cellspacing="0"> +<tr class="heading"> +<th width="40%" align="left" valign="top"> +<b> +Block Name +</b> + +</th> +<th width="25%" align="left" valign="top"> +<b> +Code Identifier +</b> + +</th> +<th width="25%" align="left" valign="top"> +<b> +Data Type +</b> + +</th> +<th width="10%" align="right" valign="top"> +<b> +Dimension +</b> + +</th> + +</tr> +<tr class="even"> +<td width="40%" align="left" valign="top"> +<a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:2783')" name="code2model" class="code2model"><Root>/motor_on</a> +</td> +<td width="25%" align="left" valign="top"> +<i> +Defined externally +</i> + +</td> +<td width="25%" align="left" valign="top"> +uint16_T +</td> +<td width="10%" align="right" valign="top"> +1 +</td> + +</tr> +<tr class="odd"> +<td width="40%" align="left" valign="top"> +<a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4806')" name="code2model" class="code2model"><Root>/command_type</a> +</td> +<td width="25%" align="left" valign="top"> +<i> +Defined externally +</i> + +</td> +<td width="25%" align="left" valign="top"> +EnumCommandType +</td> +<td width="10%" align="right" valign="top"> +1 +</td> + +</tr> +<tr class="even"> +<td width="40%" align="left" valign="top"> +<a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4807')" name="code2model" class="code2model"><Root>/command_value</a> +</td> +<td width="25%" align="left" valign="top"> +<i> +Defined externally +</i> + +</td> +<td width="25%" align="left" valign="top"> +real32_T +</td> +<td width="10%" align="right" valign="top"> +1 +</td> + +</tr> +<tr class="odd"> +<td width="40%" align="left" valign="top"> +<a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:198')" name="code2model" class="code2model"><Root>/sensors</a> +</td> +<td width="25%" align="left" valign="top"> +<i> +Defined externally +</i> + +</td> +<td width="25%" align="left" valign="top"> +SENSORS_STRUCT +</td> +<td width="10%" align="right" valign="top"> +1 +</td> + +</tr> + +</table> +<h3> +<a name="sec_Outports"> +Outports +</a> + +</h3> +<table width="100%" class="AltRow FirstColumn" cellspacing="0"> +<tr class="heading"> +<th width="40%" align="left" valign="top"> +<b> +Block Name +</b> + +</th> +<th width="25%" align="left" valign="top"> +<b> +Code Identifier +</b> + +</th> +<th width="25%" align="left" valign="top"> +<b> +Data Type +</b> + +</th> +<th width="10%" align="right" valign="top"> +<b> +Dimension +</b> + +</th> + +</tr> +<tr class="even"> +<td width="40%" align="left" valign="top"> +<a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4811')" name="code2model" class="code2model"><Root>/pwm_compare</a> +</td> +<td width="25%" align="left" valign="top"> +<i> +Defined externally +</i> + +</td> +<td width="25%" align="left" valign="top"> +uint16_T +</td> +<td width="10%" align="right" valign="top"> +[3] +</td> + +</tr> +<tr class="odd"> +<td width="40%" align="left" valign="top"> +<a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5907')" name="code2model" class="code2model"><Root>/error</a> +</td> +<td width="25%" align="left" valign="top"> +<i> +Defined externally +</i> + +</td> +<td width="25%" align="left" valign="top"> +EnumErrorType +</td> +<td width="10%" align="right" valign="top"> +1 +</td> + +</tr> + +</table> +<h3> +<a name="sec_Interface_Parameters"> +Interface Parameters +</a> + +</h3> +<table width="100%" class="AltRow FirstColumn" cellspacing="0"> +<tr class="heading"> +<th width="40%" align="left" valign="top"> +<b> +Parameter Source +</b> + +</th> +<th width="25%" align="left" valign="top"> +<b> +Code Identifier +</b> + +</th> +<th width="25%" align="left" valign="top"> +<b> +Data Type +</b> + +</th> +<th width="10%" align="right" valign="top"> +<b> +Dimension +</b> + +</th> + +</tr> +<tr class="even"> +<td width="40%" align="left" valign="top"> +ctrlParams +</td> +<td width="25%" align="left" valign="top"> +ctrlParams +</td> +<td width="25%" align="left" valign="top"> +CTRLPARAMS_STRUCT +</td> +<td width="10%" align="right" valign="top"> +1 +</td> + +</tr> + +</table> +<h3> +<a name="sec_Data_Stores"> +Data Stores +</a> + +</h3> +<p> +No data stores in the model; note that this report lists only data stores with non-auto storage class and global data stores +</p> + +</body> + +</html>
diff -r 83374f658183 -r bbc155b0b886 html/html/rtwdemo_pmsmfoc_metrics.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/html/html/rtwdemo_pmsmfoc_metrics.html Tue Nov 25 07:52:02 2014 +0000 @@ -0,0 +1,7 @@ +<HTML><HEAD><TITLE>Static Code Metrics Report for rtwdemo_pmsmfoc</TITLE> +<LINK rel="stylesheet" type="text/css" href="rtwreport.css" /> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> +</HEAD><BODY ONLOAD="try {if (top) {if (top.rtwPageOnLoad) top.rtwPageOnLoad('rtwIdCodeMetrics'); else local_onload();}} catch(err) {};"> +<H1>Static Code Metrics Report for rtwdemo_pmsmfoc</H1> +<P><IMG src="hilite_warning.png" />Static Code Metrics report is not generated. On the <b>Configuration Parameters > Code Generation > Report</b> pane, select <b>Static code metrics</b>. On the model diagram window, select <b>Code > C/C++ Code > Code Generation Report > Open Model Report</b> or rebuild the model.</P> +</BODY></HTML> \ No newline at end of file
diff -r 83374f658183 -r bbc155b0b886 html/html/rtwdemo_pmsmfoc_replacements.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/html/html/rtwdemo_pmsmfoc_replacements.html Tue Nov 25 07:52:02 2014 +0000 @@ -0,0 +1,123 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="stylesheet" type="text/css" href="rtwreport.css" /><title> +Code replacements in rtwdemo_pmsmfoc +</title> + +</head> +<body onload="try {if (top) {if (top.rtwPageOnLoad) top.rtwPageOnLoad('rtwIdCodeReplacements'); else local_onload();}} catch(err) {};"> +<h1> +Code replacements in rtwdemo_pmsmfoc +</h1> +<div> + +</div> +<div> + +</div> +<p> +Code replacements for library 'ARM Cortex-M'. The library comprises:<ul> +<li> +ARM Cortex-M<ul> +<li> +crl_table_cmsis.mat +</li> + +</ul> + +</li> + +</ul> + +</p> +<p> +To see the replacements and misses in the Code Replacement Viewer, look <a href="matlab: rtwprivate invokeViewerForReport 'rtwdemo_pmsmfoc' 'ARM Cortex-M'" class="callMATLAB" name="callMATLAB">here</a>. +</p> +<h3 name="sec_Function_replacements_in_rtwdemo_pmsmfoc" id="sec_Function_replacements_in_rtwdemo_pmsmfoc"> +1. Function replacements in rtwdemo_pmsmfoc <span title="Click to shrink or expand section" style="cursor:pointer;font-weight:normal;" id="rtwIdCodeReplacements_table_001_control" onclick ="if (top) if (top.rtwTableShrink) top.rtwTableShrink(window.document, this, 'rtwIdCodeReplacements_table_001', false)"><span class="shrink-button">[<u>hide</u>]</span></span> +</h3> +<table width="100%" name="rtwIdCodeReplacements_table_001" id="rtwIdCodeReplacements_table_001" border="0"> +<tr> +<td align="left" valign="top"> +<p> +The following table provides a mapping from the functions used from the selected Code Replacement Library to the blocks in the model that triggered the replacement. <br /> +</p> + +</td> + +</tr> +<tr> +<td align="left" valign="top"> +<table width="100%" cellpadding="2" border="1"> +<tr style="background-color: #eeeeff"> +<td width="50%" align="left" valign="top" style="border-style: none"> +<b> +Function +</b> + +</td> +<td width="50%" align="left" valign="top" style="border-style: none"> +<b> +Block +</b> + +</td> + +</tr> +<tr style="background-color: #ffffff"> +<td width="50%" align="left" valign="top" style="border-style: none"> +fabs +</td> +<td width="50%" align="left" valign="top" style="border-style: none"> +<a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4451:169:2-5')" name="code2model" class="code2model"><S4>:169</a><br /><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5974')" name="code2model" class="code2model"><S60>/Velocity_Abs</a><br />Unknown +</td> + +</tr> +<tr style="background-color: #eeeeff"> +<td width="50%" align="left" valign="top" style="border-style: none"> +ceil +</td> +<td width="50%" align="left" valign="top" style="border-style: none"> +Unknown +</td> + +</tr> +<tr style="background-color: #ffffff"> +<td width="50%" align="left" valign="top" style="border-style: none"> +arm_cos_f32 +</td> +<td width="50%" align="left" valign="top" style="border-style: none"> +<a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4499')" name="code2model" class="code2model"><S14>/sine_cosine</a> +</td> + +</tr> +<tr style="background-color: #eeeeff"> +<td width="50%" align="left" valign="top" style="border-style: none"> +floor +</td> +<td width="50%" align="left" valign="top" style="border-style: none"> +Unknown +</td> + +</tr> +<tr style="background-color: #ffffff"> +<td width="50%" align="left" valign="top" style="border-style: none"> +arm_sin_f32 +</td> +<td width="50%" align="left" valign="top" style="border-style: none"> +<a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4499')" name="code2model" class="code2model"><S14>/sine_cosine</a> +</td> + +</tr> + +</table> + +</td> + +</tr> + +</table> + +</body> + +</html>
diff -r 83374f658183 -r bbc155b0b886 html/html/rtwdemo_pmsmfoc_subsystems.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/html/html/rtwdemo_pmsmfoc_subsystems.html Tue Nov 25 07:52:02 2014 +0000 @@ -0,0 +1,219 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="stylesheet" type="text/css" href="rtwreport.css" /><title> +Non-virtual subsystems in rtwdemo_pmsmfoc +</title> + +</head> +<body onload="try {if (top) {if (top.rtwPageOnLoad) top.rtwPageOnLoad('rtwIdSubsystem'); else local_onload();}} catch(err) {};"> +<h1> +Non-virtual subsystems in rtwdemo_pmsmfoc +</h1> +<div> + +</div> +<div> + +</div> +<h3 name="sec_Code_Mapping" id="sec_Code_Mapping"> +1. Code Mapping <span title="Click to shrink or expand section" style="cursor:pointer;font-weight:normal;" id="rtwIdSubsystem_table_001_control" onclick ="if (top) if (top.rtwTableShrink) top.rtwTableShrink(window.document, this, 'rtwIdSubsystem_table_001', false)"><span class="shrink-button">[<u>hide</u>]</span></span> +</h3> +<table width="100%" name="rtwIdSubsystem_table_001" id="rtwIdSubsystem_table_001" border="0"> +<tr> +<td align="left" valign="top"> +<p> +The following table: <br /><ul> +<li> +provides a mapping from the non-virtual subsystems in the model to functions or reusable functions in the generated code and +</li> +<li> +notes exceptions that caused some non-virtual subsystems to not reuse code even though they were assigned a function packaging setting ('Function packaging' entry on the Subsystem Block Dialog) of 'Auto' or 'Reusable function'. +</li> + +</ul> + +</p> + +</td> + +</tr> +<tr> +<td align="left" valign="top"> +<table class="AltRow FirstColumn" cellspacing="0"> +<tr class="heading"> +<th align="left" valign="top"> +<b> +Subsystem +</b> + +</th> +<th align="left" valign="top"> +<b> +Reuse Setting +</b> + +</th> +<th align="left" valign="top"> +<b> +Reuse Outcome +</b> + +</th> +<th align="left" valign="top"> +<b> +Outcome Diagnostic +</b> + +</th> + +</tr> +<tr class="even"> +<td align="left" valign="top"> +<a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4451')" name="code2model" class="code2model"><S4></a> +</td> +<td align="left" valign="top"> +Auto +</td> +<td align="left" valign="top"> +Inline +</td> +<td align="left" valign="top"> +<FONT COLOR="green">normal</FONT> +</td> + +</tr> +<tr class="odd"> +<td align="left" valign="top"> +<a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5584')" name="code2model" class="code2model"><S11></a> +</td> +<td align="left" valign="top"> +Auto +</td> +<td align="left" valign="top"> +Inline +</td> +<td align="left" valign="top"> +<FONT COLOR="green">normal</FONT> +</td> + +</tr> +<tr class="even"> +<td align="left" valign="top"> +<a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5589')" name="code2model" class="code2model"><S9></a> +</td> +<td align="left" valign="top"> +Auto +</td> +<td align="left" valign="top"> +Inline +</td> +<td align="left" valign="top"> +<FONT COLOR="green">normal</FONT> +</td> + +</tr> +<tr class="odd"> +<td align="left" valign="top"> +<a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5593')" name="code2model" class="code2model"><S10></a> +</td> +<td align="left" valign="top"> +Auto +</td> +<td align="left" valign="top"> +Inline +</td> +<td align="left" valign="top"> +<FONT COLOR="green">normal</FONT> +</td> + +</tr> +<tr class="even"> +<td align="left" valign="top"> +<a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6311')" name="code2model" class="code2model"><S52></a> +</td> +<td align="left" valign="top"> +Auto +</td> +<td align="left" valign="top"> +Inline +</td> +<td align="left" valign="top"> +<FONT COLOR="green">normal</FONT> +</td> + +</tr> +<tr class="odd"> +<td align="left" valign="top"> +<a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5969')" name="code2model" class="code2model"><S62></a> +</td> +<td align="left" valign="top"> +Auto +</td> +<td align="left" valign="top"> +Inline +</td> +<td align="left" valign="top"> +<FONT COLOR="green">normal</FONT> +</td> + +</tr> +<tr class="even"> +<td align="left" valign="top"> +<a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5254')" name="code2model" class="code2model"><S65></a> +</td> +<td align="left" valign="top"> +Auto +</td> +<td align="left" valign="top"> +Inline +</td> +<td align="left" valign="top"> +<FONT COLOR="green">normal</FONT> +</td> + +</tr> + +</table> + +</td> + +</tr> + +</table> +<h3 name="sec_Code_Reuse_Exceptions" id="sec_Code_Reuse_Exceptions"> +2. Code Reuse Exceptions <span title="Click to shrink or expand section" style="cursor:pointer;font-weight:normal;" id="rtwIdSubsystem_table_002_control" onclick ="if (top) if (top.rtwTableShrink) top.rtwTableShrink(window.document, this, 'rtwIdSubsystem_table_002', false)"><span class="shrink-button">[<u>hide</u>]</span></span> +</h3> +<table width="100%" name="rtwIdSubsystem_table_002" id="rtwIdSubsystem_table_002" border="0"> +<tr> +<td align="left" valign="top"> +<p> +The following section provides details on each exception that caused a non-virtual subsystem with a function packaging setting of<br /><ul> +<li> +'Auto' to become an inlined code segment, +</li> +<li> +'Auto' to become a non-reusable function without arguments, or +</li> +<li> +'Reusable function' to become a non-reusable function without arguments. +</li> + +</ul> +<b>Note:</b>This section does not report graphically identical non-virtual subsystems marked as 'Auto' that were not reused due to differences in their functional properties (such as dimensions, datatypes, work vectors, parameters, etc.). You may identify reasons for non-reuse in such cases by inspecting the differences in the functional attributes of the subsystems in the model or in the inlined generated code. +</p> + +</td> + +</tr> +<tr> +<td align="left" valign="top"> +<br /><b>No reuse exception in model</b> +</td> + +</tr> + +</table> + +</body> + +</html>
diff -r 83374f658183 -r bbc155b0b886 html/html/rtwdemo_pmsmfoc_survey.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/html/html/rtwdemo_pmsmfoc_survey.html Tue Nov 25 07:52:02 2014 +0000 @@ -0,0 +1,99 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="stylesheet" type="text/css" href="rtwreport.css" /><title> +Code Generation Report for 'rtwdemo_pmsmfoc' +</title> + +</head> +<body onload="try {if (top) {if (top.rtwPageOnLoad) top.rtwPageOnLoad('rtwIdSummaryPage'); else local_onload();}} catch(err) {};"> +<h1> +Code Generation Report for 'rtwdemo_pmsmfoc' +</h1> +<div> + +</div> +<div> + +</div> +<h3 name="sec_Summary" id="sec_Summary"> +Summary +</h3> +<table width="100%" border="0"> +<tr> +<td align="left" valign="top"> +Code generation for model "rtwdemo_pmsmfoc" +</td> + +</tr> +<tr> +<td align="left" valign="top"> +<p> +<br /><table class="AltRow" cellspacing="0"> +<tr class="even"> +<td align="left" valign="top"> +Model version +</td> +<td align="left" valign="top"> +1.2949 +</td> + +</tr> +<tr class="odd"> +<td align="left" valign="top"> +Simulink Coder version +</td> +<td align="left" valign="top"> +8.7 (R2014b) 11-Aug-2014 +</td> + +</tr> +<tr class="even"> +<td align="left" valign="top"> +C source code generated on +</td> +<td align="left" valign="top"> +Sat Oct 11 02:05:41 2014 +</td> + +</tr> + +</table> +<br /><table cellpadding="0" border="0"> +<tr> +<td align="left" valign="top"> +Configuration settings at the time of code generation: <a href="../../slprj/ert/rtwdemo_pmsmfoc/tmwinternal/binfo.mat?rtwdemo_pmsmfoc" id="linkToCS"> +click to open +</a> +<span style="display:none" id="linkToCS_disabled" title="Link to configuration set is only available in MATLAB browser"> +click to open +</span> + +</td> + +</tr> +<tr> +<td align="left" valign="top"> +Code generation objective: Execution efficiency +</td> + +</tr> +<tr> +<td align="left" valign="top"> +Validation result: Not run +</td> + +</tr> + +</table> + +</p> + +</td> + +</tr> + +</table> + +</body> + +</html>
diff -r 83374f658183 -r bbc155b0b886 html/html/rtwdemo_pmsmfoc_trace.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/html/html/rtwdemo_pmsmfoc_trace.html Tue Nov 25 07:52:02 2014 +0000 @@ -0,0 +1,77 @@ +<HTML><HEAD><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><TITLE>Traceability Report for rtwdemo_pmsmfoc</TITLE><LINK rel="stylesheet" type="text/css" href="rtwreport.css" /><STYLE type="text/css">TABLE { border-style: outset; border-width: 1px; width: 100% } P { margin-top: 0; margin-bottom: 0 } PRE { margin: 0 }</STYLE><SCRIPT type="text/javascript" language="JavaScript" src="slwebview.js"></SCRIPT> +<SCRIPT type="text/javascript" language="JavaScript" src="id_mapping.js"></SCRIPT> + +<SCRIPT language="JavaScript" type="text/javascript"> +<!-- +function rtwTraceHilite(file,ext,ln) { + function loc_hilite(file,ext,ln) { + if (top.rtwMainReloadNoPanel) top.rtwMainReloadNoPanel(file+"."+ext+":"+ln); + else window.location = file+"_"+ext+".html#"+ln; + } + var webviewFrame = top.document.getElementById('rtw_webviewMidFrame'); + if (webviewFrame) { + loc_hilite(file,ext,ln); + return; + } else { + if (top && top.rtwreport_document_frame) + top.rtwreport_document_frame.location.href = file+"_"+ext+".html#"+ln; + } +} +//--> +</SCRIPT></HEAD><BODY ONLOAD="try {if (top) {if (top.rtwPageOnLoad) top.rtwPageOnLoad('rtwIdTraceability'); else local_onload();}} catch(err) {};"><DIV class="title" id="title"><H1>Traceability Report for rtwdemo_pmsmfoc</H1> +<P align="right"><A style="text-decoration: none;" title="Generates a XLS file that contains a traceability matrix" href="matlab:RTW.TraceInfoBase.htmlExportTraceLaunch('rtwdemo_pmsmfoc')"><BUTTON name="MATLAB_link">Generate Traceability Matrix</BUTTON></A></P> +<DIV class="toc" id="toc"><H3>Table of Contents</H3><OL><LI><A href="#href_untraceable">Eliminated / Virtual Blocks</A></LI><LI><A href="#href_traceable">Traceable Simulink Blocks / Stateflow Objects / MATLAB Functions</A><UL class="toc_systems" id="toc_systems"><LI><A href="#href_sys0">rtwdemo_pmsmfoc</A></LI><LI><A href="#href_sys1">rtwdemo_pmsmfoc/Mode_Scheduler</A></LI><LI><A href="#href_sys2">rtwdemo_pmsmfoc/Model Info</A></LI><LI><A href="#href_sys3">rtwdemo_pmsmfoc/Motor_Control</A></LI><LI><A href="#href_sys4">rtwdemo_pmsmfoc/Mode_Scheduler/Controller_Mode_Scheduler</A></LI><LI><A href="#href_sys5">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller</A></LI><LI><A href="#href_sys6">rtwdemo_pmsmfoc/Motor_Control/Phase_Voltages_to_PWM_Compare_Values</A></LI><LI><A href="#href_sys7">rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units</A></LI><LI><A href="#href_sys8">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control</A></LI><LI><A href="#href_sys9">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Position_Control</A></LI><LI><A href="#href_sys10">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Torque_Control</A></LI><LI><A href="#href_sys11">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Velocity_Control</A></LI><LI><A href="#href_sys12">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Current_Controllers</A></LI><LI><A href="#href_sys13">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Detect_Change</A></LI><LI><A href="#href_sys14">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Rotation_Coefficients_Sin_Cos</A></LI><LI><A href="#href_sys15">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_ABC_to_dq</A></LI><LI><A href="#href_sys16">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC</A></LI><LI><A href="#href_sys17">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Current_Controllers/Direct_Current_Control</A></LI><LI><A href="#href_sys18">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Current_Controllers/Quadrature_Current_Control</A></LI><LI><A href="#href_sys19">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Current_Controllers/Direct_Current_Control/Clamping circuit</A></LI><LI><A href="#href_sys20">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Current_Controllers/Quadrature_Current_Control/Clamping circuit</A></LI><LI><A href="#href_sys21">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_ABC_to_dq/Clarke_Transform</A></LI><LI><A href="#href_sys22">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_ABC_to_dq/Park_Transform</A></LI><LI><A href="#href_sys23">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC</A></LI><LI><A href="#href_sys24">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Inverse_Park_Transform</A></LI><LI><A href="#href_sys25">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Inverse_Clarke_Transform</A></LI><LI><A href="#href_sys26">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation</A></LI><LI><A href="#href_sys27">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Calculate_Phase_Voltages</A></LI><LI><A href="#href_sys28">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Determine_Sector</A></LI><LI><A href="#href_sys29">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Phase_Advanced_Inverse_Clarke</A></LI><LI><A href="#href_sys30">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Calculate_Phase_Voltages/Va_Sectors_1_and_4</A></LI><LI><A href="#href_sys31">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Calculate_Phase_Voltages/Va_Sectors_2_and_5</A></LI><LI><A href="#href_sys32">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Calculate_Phase_Voltages/Va_Sectors_3_and_6</A></LI><LI><A href="#href_sys33">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Calculate_Phase_Voltages/Vb_Sectors_1_and_4</A></LI><LI><A href="#href_sys34">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Calculate_Phase_Voltages/Vb_Sectors_2_and_5</A></LI><LI><A href="#href_sys35">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Calculate_Phase_Voltages/Vb_Sectors_3_and_6</A></LI><LI><A href="#href_sys36">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Calculate_Phase_Voltages/Vc_Sectors_1_and_4</A></LI><LI><A href="#href_sys37">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Calculate_Phase_Voltages/Vc_Sectors_2_and_5</A></LI><LI><A href="#href_sys38">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Calculate_Phase_Voltages/Vc_Sectors_3_and_6</A></LI><LI><A href="#href_sys39">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Determine_Sector/Compare_VA_To_Zero</A></LI><LI><A href="#href_sys40">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Determine_Sector/Compare_VB_To_Zero</A></LI><LI><A href="#href_sys41">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Determine_Sector/Compare_VC_To_Zero</A></LI><LI><A href="#href_sys42">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Position_Control/Position_Control</A></LI><LI><A href="#href_sys43">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Position_Control/Wrap_Error_pi</A></LI><LI><A href="#href_sys44">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Position_Control/Position_Control/Clamping circuit</A></LI><LI><A href="#href_sys45">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Velocity_Control/Rotor_Speed_Control</A></LI><LI><A href="#href_sys46">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Velocity_Control/Rotor_Speed_Control/Clamping circuit</A></LI><LI><A href="#href_sys47">rtwdemo_pmsmfoc/Motor_Control/Phase_Voltages_to_PWM_Compare_Values/Enumerated_Constant</A></LI><LI><A href="#href_sys48">rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/ADC_Level_to_Phase_Current</A></LI><LI><A href="#href_sys49">rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Encoder_To_Position</A></LI><LI><A href="#href_sys50">rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity</A></LI><LI><A href="#href_sys51">rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Startup_Open_Loop_Control</A></LI><LI><A href="#href_sys52">rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Encoder_To_Position/Wait_For_Valid_Position</A></LI><LI><A href="#href_sys53">rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Explicit_Angle_Wrap</A></LI><LI><A href="#href_sys54">rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Explicit_Angle_Wrap_With_Error</A></LI><LI><A href="#href_sys55">rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Implicit_Integer_Wrap_With_Error</A></LI><LI><A href="#href_sys56">rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Explicit_Angle_Wrap_With_Error/Detect_Velocity_Error</A></LI><LI><A href="#href_sys57">rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Explicit_Angle_Wrap_With_Error/Detect_Velocity_Error/Enumerated_Constant</A></LI><LI><A href="#href_sys58">rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Explicit_Angle_Wrap_With_Error/Detect_Velocity_Error/Generate_Error</A></LI><LI><A href="#href_sys59">rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Explicit_Angle_Wrap_With_Error/Detect_Velocity_Error/Generate_Error/Enumerated_Constant</A></LI><LI><A href="#href_sys60">rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Implicit_Integer_Wrap_With_Error/Detect_Velocity_Error</A></LI><LI><A href="#href_sys61">rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Implicit_Integer_Wrap_With_Error/Detect_Velocity_Error/Enumerated_Constant</A></LI><LI><A href="#href_sys62">rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Implicit_Integer_Wrap_With_Error/Detect_Velocity_Error/Generate_Error</A></LI><LI><A href="#href_sys63">rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Implicit_Integer_Wrap_With_Error/Detect_Velocity_Error/Generate_Error/Enumerated_Constant</A></LI><LI><A href="#href_sys64">rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Startup_Open_Loop_Control/Enumerated +Constant</A></LI><LI><A href="#href_sys65">rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Startup_Open_Loop_Control/Open Loop Position</A></LI></UL></LI></OL></DIV></DIV><DIV class="contents" id="contents"><DIV class="section1" id="sec_eliminated_virtual"><H3><A id="href_untraceable">Eliminated / Virtual Blocks</A></H3><TABLE class="AltRow" cellspacing="0"><TR><TH>Block Name</TH><TH>Comment</TH></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5797')" name="code2model"><font color="#117755"><i><Root>/Mode_Scheduler</i></font></a></TD><TD><P>Masked SubSystem</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:1714')" name="code2model"><font color="#117755"><i><Root>/Model Info</i></font></a></TD><TD><P>Masked SubSystem</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4452')" name="code2model"><font color="#117755"><i><Root>/Motor_Control</i></font></a></TD><TD><P>Masked SubSystem</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5798')" name="code2model"><font color="#117755"><i><S1>/position_valid</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5800')" name="code2model"><font color="#117755"><i><S1>/velocity</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5802')" name="code2model"><font color="#117755"><i><S1>/motor_on</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5804')" name="code2model"><font color="#117755"><i><S1>/command_type</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5806')" name="code2model"><font color="#117755"><i><S1>/command</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5807')" name="code2model"><font color="#117755"><i><S1>/Signal +Conversion</i></font></a></TD><TD><P>Eliminated by code generation optimization</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5808')" name="code2model"><font color="#117755"><i><S1>/Signal +Conversion1</i></font></a></TD><TD><P>Eliminated by code generation optimization</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5809')" name="code2model"><font color="#117755"><i><S1>/Signal +Conversion2</i></font></a></TD><TD><P>Eliminated by code generation optimization</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5799')" name="code2model"><font color="#117755"><i><S1>/controller_mode</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5801')" name="code2model"><font color="#117755"><i><S1>/velocity_command</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5803')" name="code2model"><font color="#117755"><i><S1>/position_command</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5805')" name="code2model"><font color="#117755"><i><S1>/torque_command</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:1714:1')" name="code2model"><font color="#117755"><i><S2>/EmptySubsystem</i></font></a></TD><TD><P>Empty SubSystem</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5338')" name="code2model"><font color="#117755"><i><S3>/controller_mode</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4454')" name="code2model"><font color="#117755"><i><S3>/velocity_command</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5627')" name="code2model"><font color="#117755"><i><S3>/position_command</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4809')" name="code2model"><font color="#117755"><i><S3>/torque_command</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4455')" name="code2model"><font color="#117755"><i><S3>/sensors</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4465')" name="code2model"><font color="#117755"><i><S3>/Field_Oriented_Controller</i></font></a></TD><TD><P>Virtual SubSystem</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4793')" name="code2model"><font color="#117755"><i><S3>/Phase_Voltages_to_PWM_Compare_Values</i></font></a></TD><TD><P>Masked SubSystem</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5551')" name="code2model"><font color="#117755"><i><S3>/Sensors_To_Engineering_Units</i></font></a></TD><TD><P>Masked SubSystem</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5633')" name="code2model"><font color="#117755"><i><S3>/controller_mode +(duplicate)</i></font></a></TD><TD><P>InportShadow</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4812')" name="code2model"><font color="#117755"><i><S3>/position_valid</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5628')" name="code2model"><font color="#117755"><i><S3>/velocity</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4803')" name="code2model"><font color="#117755"><i><S3>/pwm_compare</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5333')" name="code2model"><font color="#117755"><i><S5>/controller_mode</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5604')" name="code2model"><font color="#117755"><i><S5>/velocity_command</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5607')" name="code2model"><font color="#117755"><i><S5>/position_command</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5611')" name="code2model"><font color="#117755"><i><S5>/torque_command</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4468')" name="code2model"><font color="#117755"><i><S5>/phase_currents</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5608')" name="code2model"><font color="#117755"><i><S5>/position_measured</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5606')" name="code2model"><font color="#117755"><i><S5>/velocity_measured</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4475')" name="code2model"><font color="#117755"><i><S5>/Current_Control</i></font></a></TD><TD><P>Virtual SubSystem</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5615')" name="code2model"><font color="#117755"><i><S5>/From</i></font></a></TD><TD><P>From</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5616')" name="code2model"><font color="#117755"><i><S5>/From1</i></font></a></TD><TD><P>From</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5617')" name="code2model"><font color="#117755"><i><S5>/From2</i></font></a></TD><TD><P>From</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5612')" name="code2model"><font color="#117755"><i><S5>/Goto</i></font></a></TD><TD><P>Goto</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5613')" name="code2model"><font color="#117755"><i><S5>/Goto1</i></font></a></TD><TD><P>Goto</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5614')" name="code2model"><font color="#117755"><i><S5>/Goto2</i></font></a></TD><TD><P>Goto</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5668')" name="code2model"><font color="#117755"><i><S5>/Lo_to_Hi_Rate_Transition2</i></font></a></TD><TD><P>Eliminated since input and output rates are identical</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5666')" name="code2model"><font color="#117755"><i><S5>/Lo_to_Hi_Rate_Transition3</i></font></a></TD><TD><P>Eliminated since input and output rates are identical</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5603')" name="code2model"><font color="#117755"><i><S5>/controller_mode +(duplicate)</i></font></a></TD><TD><P>InportShadow</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5632')" name="code2model"><font color="#117755"><i><S5>/position_measured +(duplicate)</i></font></a></TD><TD><P>InportShadow</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4783')" name="code2model"><font color="#117755"><i><S5>/phase_voltages</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4795')" name="code2model"><font color="#117755"><i><S6>/Enable</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4794')" name="code2model"><font color="#117755"><i><S6>/phase_voltages</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4796')" name="code2model"><font color="#117755"><i><S6>/Constant</i></font></a></TD><TD><P>Eliminated by code generation optimization</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5624')" name="code2model"><font color="#117755"><i><S6>/Enumerated_Constant</i></font></a></TD><TD><P>Masked SubSystem</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4800')" name="code2model"><font color="#117755"><i><S6>/pwm_compare</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5568')" name="code2model"><font color="#117755"><i><S7>/controller_mode</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5552')" name="code2model"><font color="#117755"><i><S7>/sensors</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4457')" name="code2model"><font color="#117755"><i><S7>/ADC_Level_to_Phase_Current</i></font></a></TD><TD><P>Masked SubSystem</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5635')" name="code2model"><font color="#117755"><i><S7>/Encoder_To_Position</i></font></a></TD><TD><P>Masked SubSystem</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5665')" name="code2model"><font color="#117755"><i><S7>/Lo_to_Hi_Rate_Transition3</i></font></a></TD><TD><P>Eliminated since input and output rates are identical</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5791')" name="code2model"><font color="#117755"><i><S7>/Position_To_Velocity</i></font></a></TD><TD><P>Virtual SubSystem</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5318')" name="code2model"><font color="#117755"><i><S7>/Startup_Open_Loop_Control</i></font></a></TD><TD><P>Masked SubSystem</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5553')" name="code2model"><font color="#117755"><i><S7>/phase_currents</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5554')" name="code2model"><font color="#117755"><i><S7>/rotor_position</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5626')" name="code2model"><font color="#117755"><i><S7>/rotor_velocity</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5555')" name="code2model"><font color="#117755"><i><S7>/position_valid</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4476')" name="code2model"><font color="#117755"><i><S8>/controller_mode</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4479')" name="code2model"><font color="#117755"><i><S8>/rotor_position +(rads)</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4477')" name="code2model"><font color="#117755"><i><S8>/phase_currents +(A)</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5202')" name="code2model"><font color="#117755"><i><S8>/q_current_command +(A)</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4480')" name="code2model"><font color="#117755"><i><S8>/Current_Controllers</i></font></a></TD><TD><P>Virtual SubSystem</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5600')" name="code2model"><font color="#117755"><i><S8>/Detect_Change</i></font></a></TD><TD><P>Masked SubSystem</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4495')" name="code2model"><font color="#117755"><i><S8>/Rotation_Coefficients_Sin_Cos</i></font></a></TD><TD><P>Masked SubSystem</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4501')" name="code2model"><font color="#117755"><i><S8>/Transform_Coordinates_ABC_to_dq</i></font></a></TD><TD><P>Masked SubSystem</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4532')" name="code2model"><font color="#117755"><i><S8>/Transform_Coordinates_dq_to_ABC</i></font></a></TD><TD><P>Masked SubSystem</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4684')" name="code2model"><font color="#117755"><i><S8>/phase_voltages +(V)</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5618')" name="code2model"><font color="#117755"><i><S9>/position_command</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5619')" name="code2model"><font color="#117755"><i><S9>/position_measured</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5621')" name="code2model"><font color="#117755"><i><S9>/Position_Control</i></font></a></TD><TD><P>Masked SubSystem</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6205')" name="code2model"><font color="#117755"><i><S9>/Wrap_Error_pi</i></font></a></TD><TD><P>Virtual SubSystem</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5623')" name="code2model"><font color="#117755"><i><S9>/q_current</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5596')" name="code2model"><font color="#117755"><i><S10>/q_current</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5585')" name="code2model"><font color="#117755"><i><S11>/velocity_command</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5597')" name="code2model"><font color="#117755"><i><S11>/velocity_measured</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4768')" name="code2model"><font color="#117755"><i><S11>/Rotor_Speed_Control</i></font></a></TD><TD><P>Masked SubSystem</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5587')" name="code2model"><font color="#117755"><i><S11>/q_current</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4481')" name="code2model"><font color="#117755"><i><S12>/reset_integrators</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4493')" name="code2model"><font color="#117755"><i><S12>/q_current_command +(A)</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4483')" name="code2model"><font color="#117755"><i><S12>/d_current_measured +(A)</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5420')" name="code2model"><font color="#117755"><i><S12>/q_current_measured +(A)</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4484')" name="code2model"><font color="#117755"><i><S12>/Bus +Creator</i></font></a></TD><TD><P>BusCreator</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4489')" name="code2model"><font color="#117755"><i><S12>/Direct_Current_Control</i></font></a></TD><TD><P>Masked SubSystem</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4490')" name="code2model"><font color="#117755"><i><S12>/Quadrature_Current_Control</i></font></a></TD><TD><P>Masked SubSystem</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4494')" name="code2model"><font color="#117755"><i><S12>/dq_axis_voltages +(V)</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5600:1')" name="code2model"><font color="#117755"><i><S13>/U</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5600:4')" name="code2model"><font color="#117755"><i><S13>/Y</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4496')" name="code2model"><font color="#117755"><i><S14>/rotor_position</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4497')" name="code2model"><font color="#117755"><i><S14>/Bus +Creator</i></font></a></TD><TD><P>BusCreator</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4500')" name="code2model"><font color="#117755"><i><S14>/sin_cos</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4502')" name="code2model"><font color="#117755"><i><S15>/phase_currents</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4503')" name="code2model"><font color="#117755"><i><S15>/rotation_coefficients</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4504')" name="code2model"><font color="#117755"><i><S15>/Clarke_Transform</i></font></a></TD><TD><P>Virtual SubSystem</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4513')" name="code2model"><font color="#117755"><i><S15>/Park_Transform</i></font></a></TD><TD><P>Virtual SubSystem</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4531')" name="code2model"><font color="#117755"><i><S15>/d_current</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5419')" name="code2model"><font color="#117755"><i><S15>/q_current</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4533')" name="code2model"><font color="#117755"><i><S16>/dq_voltages</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4534')" name="code2model"><font color="#117755"><i><S16>/rotation_coefficients</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5421')" name="code2model"><font color="#117755"><i><S16>/Alpha_Beta_to_ABC</i></font></a></TD><TD><P>Virtual SubSystem</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4549')" name="code2model"><font color="#117755"><i><S16>/Inverse_Park_Transform</i></font></a></TD><TD><P>Virtual SubSystem</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4683')" name="code2model"><font color="#117755"><i><S16>/phase_voltages</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4489:1')" name="code2model"><font color="#117755"><i><S17>/u</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4489:1665')" name="code2model"><font color="#117755"><i><S17>/RESET</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4489:1671')" name="code2model"><font color="#117755"><i><S17>/Clamping circuit</i></font></a></TD><TD><P>Virtual SubSystem</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4489:10')" name="code2model"><font color="#117755"><i><S17>/y</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4490:1')" name="code2model"><font color="#117755"><i><S18>/u</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4490:1665')" name="code2model"><font color="#117755"><i><S18>/RESET</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4490:1671')" name="code2model"><font color="#117755"><i><S18>/Clamping circuit</i></font></a></TD><TD><P>Virtual SubSystem</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4490:10')" name="code2model"><font color="#117755"><i><S18>/y</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4489:1672')" name="code2model"><font color="#117755"><i><S19>/preSat</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4489:1673')" name="code2model"><font color="#117755"><i><S19>/preIntegrator</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4489:1677')" name="code2model"><font color="#117755"><i><S19>/ZeroGain</i></font></a></TD><TD><P>Eliminated by code generation optimization</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4489:1674')" name="code2model"><font color="#117755"><i><S19>/Clamp</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4490:1672')" name="code2model"><font color="#117755"><i><S20>/preSat</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4490:1673')" name="code2model"><font color="#117755"><i><S20>/preIntegrator</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4490:1677')" name="code2model"><font color="#117755"><i><S20>/ZeroGain</i></font></a></TD><TD><P>Eliminated by code generation optimization</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4490:1674')" name="code2model"><font color="#117755"><i><S20>/Clamp</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4505')" name="code2model"><font color="#117755"><i><S21>/phase_currents</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4506')" name="code2model"><font color="#117755"><i><S21>/A_phase_current</i></font></a></TD><TD><P>Selector</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4509')" name="code2model"><font color="#117755"><i><S21>/B_phase_current</i></font></a></TD><TD><P>Selector</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4511')" name="code2model"><font color="#117755"><i><S21>/alpha_current</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4512')" name="code2model"><font color="#117755"><i><S21>/beta_current</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4514')" name="code2model"><font color="#117755"><i><S22>/rotation_coefficients</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4515')" name="code2model"><font color="#117755"><i><S22>/alpha_current</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4516')" name="code2model"><font color="#117755"><i><S22>/beta_current</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4520')" name="code2model"><font color="#117755"><i><S22>/Bus +Selector5</i></font></a></TD><TD><P>BusSelector</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4521')" name="code2model"><font color="#117755"><i><S22>/Bus +Selector6</i></font></a></TD><TD><P>BusSelector</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4522')" name="code2model"><font color="#117755"><i><S22>/Bus +Selector7</i></font></a></TD><TD><P>BusSelector</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4523')" name="code2model"><font color="#117755"><i><S22>/Bus +Selector8</i></font></a></TD><TD><P>BusSelector</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4528')" name="code2model"><font color="#117755"><i><S22>/alpha_current (Duplicate)</i></font></a></TD><TD><P>InportShadow</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4529')" name="code2model"><font color="#117755"><i><S22>/beta_current (Duplicate)</i></font></a></TD><TD><P>InportShadow</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4530')" name="code2model"><font color="#117755"><i><S22>/direct_current</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5418')" name="code2model"><font color="#117755"><i><S22>/quadrature_current</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5422')" name="code2model"><font color="#117755"><i><S23>/alpha_voltage</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5550')" name="code2model"><font color="#117755"><i><S23>/beta_voltage</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5424')" name="code2model"><font color="#117755"><i><S23>/Inverse_Clarke_Transform</i></font></a></TD><TD><P>Virtual SubSystem</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5438')" name="code2model"><font color="#117755"><i><S23>/Space_Vector_Modulation</i></font></a></TD><TD><P>Virtual SubSystem</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5423')" name="code2model"><font color="#117755"><i><S23>/phase_voltages</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4550')" name="code2model"><font color="#117755"><i><S24>/rotation_coefficients</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4551')" name="code2model"><font color="#117755"><i><S24>/dq_voltages</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4554')" name="code2model"><font color="#117755"><i><S24>/Bus +Creator1</i></font></a></TD><TD><P>BusCreator</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4555')" name="code2model"><font color="#117755"><i><S24>/Bus +Selector1</i></font></a></TD><TD><P>BusSelector</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4556')" name="code2model"><font color="#117755"><i><S24>/Bus +Selector2</i></font></a></TD><TD><P>BusSelector</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4557')" name="code2model"><font color="#117755"><i><S24>/Bus +Selector3</i></font></a></TD><TD><P>BusSelector</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4558')" name="code2model"><font color="#117755"><i><S24>/Bus +Selector4</i></font></a></TD><TD><P>BusSelector</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4559')" name="code2model"><font color="#117755"><i><S24>/Bus +Selector5</i></font></a></TD><TD><P>BusSelector</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4560')" name="code2model"><font color="#117755"><i><S24>/Bus +Selector6</i></font></a></TD><TD><P>BusSelector</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4561')" name="code2model"><font color="#117755"><i><S24>/Bus +Selector7</i></font></a></TD><TD><P>BusSelector</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4562')" name="code2model"><font color="#117755"><i><S24>/Bus +Selector8</i></font></a></TD><TD><P>BusSelector</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4567')" name="code2model"><font color="#117755"><i><S24>/alpha_voltage</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4568')" name="code2model"><font color="#117755"><i><S24>/beta_voltage</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5425')" name="code2model"><font color="#117755"><i><S25>/alpha_voltage</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5426')" name="code2model"><font color="#117755"><i><S25>/beta_voltage</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5427')" name="code2model"><font color="#117755"><i><S25>/Add</i></font></a></TD><TD><P>Not traceable</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5428')" name="code2model"><font color="#117755"><i><S25>/Add1</i></font></a></TD><TD><P>Not traceable</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5429')" name="code2model"><font color="#117755"><i><S25>/Add2</i></font></a></TD><TD><P>Not traceable</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5431')" name="code2model"><font color="#117755"><i><S25>/Gain</i></font></a></TD><TD><P>Not traceable</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5432')" name="code2model"><font color="#117755"><i><S25>/Gain1</i></font></a></TD><TD><P>Not traceable</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5430')" name="code2model"><font color="#117755"><i><S25>/Half_Bus_Voltage</i></font></a></TD><TD><P>Not traceable</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5435')" name="code2model"><font color="#117755"><i><S25>/Mux</i></font></a></TD><TD><P>Mux</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5814')" name="code2model"><font color="#117755"><i><S25>/Signal +Conversion</i></font></a></TD><TD><P>Not traceable</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5437')" name="code2model"><font color="#117755"><i><S25>/phase_voltages</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5439')" name="code2model"><font color="#117755"><i><S26>/alpha_voltage</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5440')" name="code2model"><font color="#117755"><i><S26>/beta_voltage</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5441')" name="code2model"><font color="#117755"><i><S26>/Calculate_Phase_Voltages</i></font></a></TD><TD><P>Virtual SubSystem</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5523')" name="code2model"><font color="#117755"><i><S26>/Determine_Sector</i></font></a></TD><TD><P>Virtual SubSystem</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5537')" name="code2model"><font color="#117755"><i><S26>/Phase_Advanced_Inverse_Clarke</i></font></a></TD><TD><P>Virtual SubSystem</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5547')" name="code2model"><font color="#117755"><i><S26>/alpha_voltage +(Duplicate)</i></font></a></TD><TD><P>InportShadow</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5548')" name="code2model"><font color="#117755"><i><S26>/beta_voltage +(Duplicate)</i></font></a></TD><TD><P>InportShadow</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5549')" name="code2model"><font color="#117755"><i><S26>/phase_voltages</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5442')" name="code2model"><font color="#117755"><i><S27>/Sector</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5443')" name="code2model"><font color="#117755"><i><S27>/alpha_voltage</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5444')" name="code2model"><font color="#117755"><i><S27>/beta_voltage</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5445')" name="code2model"><font color="#117755"><i><S27>/Bus +Creator</i></font></a></TD><TD><P>BusCreator</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5447')" name="code2model"><font color="#117755"><i><S27>/Sectors_1_and_4</i></font></a></TD><TD><P>Eliminated by code generation optimization</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5448')" name="code2model"><font color="#117755"><i><S27>/Sectors_2_and_5</i></font></a></TD><TD><P>Eliminated by code generation optimization</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5449')" name="code2model"><font color="#117755"><i><S27>/Sectors_3_and_6</i></font></a></TD><TD><P>Eliminated by code generation optimization</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5451')" name="code2model"><font color="#117755"><i><S27>/Va_Sectors_1_and_4</i></font></a></TD><TD><P>Virtual SubSystem</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5459')" name="code2model"><font color="#117755"><i><S27>/Va_Sectors_2_and_5</i></font></a></TD><TD><P>Virtual SubSystem</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5466')" name="code2model"><font color="#117755"><i><S27>/Va_Sectors_3_and_6</i></font></a></TD><TD><P>Virtual SubSystem</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5474')" name="code2model"><font color="#117755"><i><S27>/Vb_Sectors_1_and_4</i></font></a></TD><TD><P>Virtual SubSystem</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5483')" name="code2model"><font color="#117755"><i><S27>/Vb_Sectors_2_and_5</i></font></a></TD><TD><P>Virtual SubSystem</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5490')" name="code2model"><font color="#117755"><i><S27>/Vb_Sectors_3_and_6</i></font></a></TD><TD><P>Virtual SubSystem</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5498')" name="code2model"><font color="#117755"><i><S27>/Vc_Sectors_1_and_4</i></font></a></TD><TD><P>Virtual SubSystem</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5506')" name="code2model"><font color="#117755"><i><S27>/Vc_Sectors_2_and_5</i></font></a></TD><TD><P>Virtual SubSystem</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5513')" name="code2model"><font color="#117755"><i><S27>/Vc_Sectors_3_and_6</i></font></a></TD><TD><P>Virtual SubSystem</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5522')" name="code2model"><font color="#117755"><i><S27>/phase_voltages</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5524')" name="code2model"><font color="#117755"><i><S28>/VA</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5525')" name="code2model"><font color="#117755"><i><S28>/VB</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5526')" name="code2model"><font color="#117755"><i><S28>/VC</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5529')" name="code2model"><font color="#117755"><i><S28>/Compare_VA_To_Zero</i></font></a></TD><TD><P>Masked SubSystem</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5530')" name="code2model"><font color="#117755"><i><S28>/Compare_VB_To_Zero</i></font></a></TD><TD><P>Masked SubSystem</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5531')" name="code2model"><font color="#117755"><i><S28>/Compare_VC_To_Zero</i></font></a></TD><TD><P>Masked SubSystem</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5536')" name="code2model"><font color="#117755"><i><S28>/sector</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5538')" name="code2model"><font color="#117755"><i><S29>/alpha_voltage</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5539')" name="code2model"><font color="#117755"><i><S29>/beta_voltage</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5544')" name="code2model"><font color="#117755"><i><S29>/ VA</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5545')" name="code2model"><font color="#117755"><i><S29>/VB</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5546')" name="code2model"><font color="#117755"><i><S29>/VC</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5452')" name="code2model"><font color="#117755"><i><S30>/bus_alpha_beta</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5455')" name="code2model"><font color="#117755"><i><S30>/Bus +Selector</i></font></a></TD><TD><P>BusSelector</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5456')" name="code2model"><font color="#117755"><i><S30>/Bus_Gain</i></font></a></TD><TD><P>Eliminated by code generation optimization</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5458')" name="code2model"><font color="#117755"><i><S30>/Va</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5460')" name="code2model"><font color="#117755"><i><S31>/bus_alpha_beta</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5463')" name="code2model"><font color="#117755"><i><S31>/Bus +Selector</i></font></a></TD><TD><P>BusSelector</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5465')" name="code2model"><font color="#117755"><i><S31>/Va</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5467')" name="code2model"><font color="#117755"><i><S32>/bus_alpha_beta</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5470')" name="code2model"><font color="#117755"><i><S32>/Bus +Selector</i></font></a></TD><TD><P>BusSelector</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5471')" name="code2model"><font color="#117755"><i><S32>/Bus_Gain</i></font></a></TD><TD><P>Eliminated by code generation optimization</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5473')" name="code2model"><font color="#117755"><i><S32>/Va</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5475')" name="code2model"><font color="#117755"><i><S33>/bus_alpha_beta</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5479')" name="code2model"><font color="#117755"><i><S33>/Bus +Selector</i></font></a></TD><TD><P>BusSelector</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5480')" name="code2model"><font color="#117755"><i><S33>/Bus_Gain</i></font></a></TD><TD><P>Eliminated by code generation optimization</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5482')" name="code2model"><font color="#117755"><i><S33>/Vb</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5484')" name="code2model"><font color="#117755"><i><S34>/bus_alpha_beta</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5487')" name="code2model"><font color="#117755"><i><S34>/Bus +Selector</i></font></a></TD><TD><P>BusSelector</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5489')" name="code2model"><font color="#117755"><i><S34>/Vb</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5491')" name="code2model"><font color="#117755"><i><S35>/bus_alpha_beta</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5494')" name="code2model"><font color="#117755"><i><S35>/Bus +Selector</i></font></a></TD><TD><P>BusSelector</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5495')" name="code2model"><font color="#117755"><i><S35>/Bus_Gain</i></font></a></TD><TD><P>Eliminated by code generation optimization</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5497')" name="code2model"><font color="#117755"><i><S35>/Vb</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5499')" name="code2model"><font color="#117755"><i><S36>/bus_alpha_beta</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5502')" name="code2model"><font color="#117755"><i><S36>/Bus +Selector</i></font></a></TD><TD><P>BusSelector</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5503')" name="code2model"><font color="#117755"><i><S36>/Bus_Gain</i></font></a></TD><TD><P>Eliminated by code generation optimization</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5505')" name="code2model"><font color="#117755"><i><S36>/Vc</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5507')" name="code2model"><font color="#117755"><i><S37>/bus_alpha_beta</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5510')" name="code2model"><font color="#117755"><i><S37>/Bus +Selector</i></font></a></TD><TD><P>BusSelector</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5512')" name="code2model"><font color="#117755"><i><S37>/Vc</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5514')" name="code2model"><font color="#117755"><i><S38>/bus_alpha_beta</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5518')" name="code2model"><font color="#117755"><i><S38>/Bus +Selector</i></font></a></TD><TD><P>BusSelector</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5519')" name="code2model"><font color="#117755"><i><S38>/Bus_Gain</i></font></a></TD><TD><P>Eliminated by code generation optimization</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5521')" name="code2model"><font color="#117755"><i><S38>/Vc</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5529:1')" name="code2model"><font color="#117755"><i><S39>/u</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5529:5')" name="code2model"><font color="#117755"><i><S39>/y</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5530:1')" name="code2model"><font color="#117755"><i><S40>/u</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5530:5')" name="code2model"><font color="#117755"><i><S40>/y</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5531:1')" name="code2model"><font color="#117755"><i><S41>/u</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5531:5')" name="code2model"><font color="#117755"><i><S41>/y</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5621:1')" name="code2model"><font color="#117755"><i><S42>/u</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5621:1670')" name="code2model"><font color="#117755"><i><S42>/Clamping circuit</i></font></a></TD><TD><P>Virtual SubSystem</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5621:10')" name="code2model"><font color="#117755"><i><S42>/y</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6206')" name="code2model"><font color="#117755"><i><S43>/Error</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6207')" name="code2model"><font color="#117755"><i><S43>/Wrap</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5621:1671')" name="code2model"><font color="#117755"><i><S44>/preSat</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5621:1672')" name="code2model"><font color="#117755"><i><S44>/preIntegrator</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5621:1676')" name="code2model"><font color="#117755"><i><S44>/ZeroGain</i></font></a></TD><TD><P>Eliminated by code generation optimization</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5621:1673')" name="code2model"><font color="#117755"><i><S44>/Clamp</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4768:1')" name="code2model"><font color="#117755"><i><S45>/u</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4768:1670')" name="code2model"><font color="#117755"><i><S45>/Clamping circuit</i></font></a></TD><TD><P>Virtual SubSystem</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4768:10')" name="code2model"><font color="#117755"><i><S45>/y</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4768:1671')" name="code2model"><font color="#117755"><i><S46>/preSat</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4768:1672')" name="code2model"><font color="#117755"><i><S46>/preIntegrator</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4768:1676')" name="code2model"><font color="#117755"><i><S46>/ZeroGain</i></font></a></TD><TD><P>Eliminated by code generation optimization</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4768:1673')" name="code2model"><font color="#117755"><i><S46>/Clamp</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5624:159')" name="code2model"><font color="#117755"><i><S47>/Out</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4458')" name="code2model"><font color="#117755"><i><S48>/sensors</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4459')" name="code2model"><font color="#117755"><i><S48>/Bus +Selector</i></font></a></TD><TD><P>BusSelector</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4463')" name="code2model"><font color="#117755"><i><S48>/phase_currents</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5636')" name="code2model"><font color="#117755"><i><S49>/sensors</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5657')" name="code2model"><font color="#117755"><i><S49>/Bus +Selector</i></font></a></TD><TD><P>BusSelector</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5204')" name="code2model"><font color="#117755"><i><S49>/Lo_to_Hi_Rate_Transition1</i></font></a></TD><TD><P>Eliminated since input and output rates are identical</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5320')" name="code2model"><font color="#117755"><i><S49>/position_valid</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5639')" name="code2model"><font color="#117755"><i><S49>/rotor_position</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5792')" name="code2model"><font color="#117755"><i><S50>/position</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6034')" name="code2model"><font color="#117755"><i><S50>/controller_mode</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5761')" name="code2model"><font color="#117755"><i><S50>/Explicit_Angle_Wrap</i></font></a></TD><TD><P>Virtual SubSystem</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5941')" name="code2model"><font color="#117755"><i><S50>/Explicit_Angle_Wrap_With_Error</i></font></a></TD><TD><P>Virtual SubSystem</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5780')" name="code2model"><font color="#117755"><i><S50>/Implicit_Integer_Wrap_With_Error</i></font></a></TD><TD><P>Virtual SubSystem</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5793')" name="code2model"><font color="#117755"><i><S50>/velocity</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5339')" name="code2model"><font color="#117755"><i><S51>/controller_mode</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5323')" name="code2model"><font color="#117755"><i><S51>/default_rotor_position</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5662')" name="code2model"><font color="#117755"><i><S51>/Enumerated +Constant</i></font></a></TD><TD><P>Masked SubSystem</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5291')" name="code2model"><font color="#117755"><i><S51>/Lo_to_Hi_Rate_Transition2</i></font></a></TD><TD><P>Eliminated since input and output rates are identical</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5322')" name="code2model"><font color="#117755"><i><S51>/rotor_position</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5818')" name="code2model"><font color="#117755"><i><S53>/position</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6032')" name="code2model"><font color="#117755"><i><S53>/controller_mode</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5820')" name="code2model"><font color="#117755"><i><S53>/Add</i></font></a></TD><TD><P>Not traceable</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5980')" name="code2model"><font color="#117755"><i><S53>/Delay_Position</i></font></a></TD><TD><P>Not traceable</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5827')" name="code2model"><font color="#117755"><i><S53>/Difference</i></font></a></TD><TD><P>Not traceable</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5836')" name="code2model"><font color="#117755"><i><S53>/Greater_Than</i></font></a></TD><TD><P>Not traceable</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5834')" name="code2model"><font color="#117755"><i><S53>/Less_Than</i></font></a></TD><TD><P>Not traceable</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5829')" name="code2model"><font color="#117755"><i><S53>/Modulus</i></font></a></TD><TD><P>Not traceable</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5835')" name="code2model"><font color="#117755"><i><S53>/Neg_Pi_Constant</i></font></a></TD><TD><P>Not traceable</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5828')" name="code2model"><font color="#117755"><i><S53>/OR</i></font></a></TD><TD><P>Not traceable</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5825')" name="code2model"><font color="#117755"><i><S53>/Pi_Constant_1</i></font></a></TD><TD><P>Not traceable</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5824')" name="code2model"><font color="#117755"><i><S53>/Pi_Constant_2</i></font></a></TD><TD><P>Not traceable</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5837')" name="code2model"><font color="#117755"><i><S53>/Pi_Constant_3</i></font></a></TD><TD><P>Not traceable</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5830')" name="code2model"><font color="#117755"><i><S53>/Scale_Time</i></font></a></TD><TD><P>Not traceable</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5831')" name="code2model"><font color="#117755"><i><S53>/Select_Angle</i></font></a></TD><TD><P>Not traceable</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5819')" name="code2model"><font color="#117755"><i><S53>/Subtract</i></font></a></TD><TD><P>Not traceable</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6033')" name="code2model"><font color="#117755"><i><S53>/Terminator</i></font></a></TD><TD><P>Terminator</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5823')" name="code2model"><font color="#117755"><i><S53>/Two_Pi_Constant</i></font></a></TD><TD><P>Not traceable</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5832')" name="code2model"><font color="#117755"><i><S53>/velocity</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5942')" name="code2model"><font color="#117755"><i><S54>/position</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6016')" name="code2model"><font color="#117755"><i><S54>/controller_mode</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5943')" name="code2model"><font color="#117755"><i><S54>/Add</i></font></a></TD><TD><P>Not traceable</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5979')" name="code2model"><font color="#117755"><i><S54>/Delay_Position</i></font></a></TD><TD><P>Not traceable</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6017')" name="code2model"><font color="#117755"><i><S54>/Detect_Velocity_Error</i></font></a></TD><TD><P>Virtual SubSystem</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5946')" name="code2model"><font color="#117755"><i><S54>/Difference</i></font></a></TD><TD><P>Not traceable</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5951')" name="code2model"><font color="#117755"><i><S54>/Greater_Than</i></font></a></TD><TD><P>Not traceable</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5952')" name="code2model"><font color="#117755"><i><S54>/Less_Than</i></font></a></TD><TD><P>Not traceable</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5953')" name="code2model"><font color="#117755"><i><S54>/Modulus</i></font></a></TD><TD><P>Not traceable</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5954')" name="code2model"><font color="#117755"><i><S54>/Neg_Pi_Constant</i></font></a></TD><TD><P>Not traceable</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5955')" name="code2model"><font color="#117755"><i><S54>/OR</i></font></a></TD><TD><P>Not traceable</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5956')" name="code2model"><font color="#117755"><i><S54>/Pi_Constant_1</i></font></a></TD><TD><P>Not traceable</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5957')" name="code2model"><font color="#117755"><i><S54>/Pi_Constant_2</i></font></a></TD><TD><P>Not traceable</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5958')" name="code2model"><font color="#117755"><i><S54>/Pi_Constant_3</i></font></a></TD><TD><P>Not traceable</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5960')" name="code2model"><font color="#117755"><i><S54>/Scale_Time</i></font></a></TD><TD><P>Not traceable</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5961')" name="code2model"><font color="#117755"><i><S54>/Select_Angle</i></font></a></TD><TD><P>Not traceable</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5962')" name="code2model"><font color="#117755"><i><S54>/Subtract</i></font></a></TD><TD><P>Not traceable</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5963')" name="code2model"><font color="#117755"><i><S54>/Two_Pi_Constant</i></font></a></TD><TD><P>Not traceable</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5967')" name="code2model"><font color="#117755"><i><S54>/velocity</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5838')" name="code2model"><font color="#117755"><i><S55>/position</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6007')" name="code2model"><font color="#117755"><i><S55>/controller_mode</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6008')" name="code2model"><font color="#117755"><i><S55>/Detect_Velocity_Error</i></font></a></TD><TD><P>Virtual SubSystem</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5847')" name="code2model"><font color="#117755"><i><S55>/velocity</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6018')" name="code2model"><font color="#117755"><i><S56>/V</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6019')" name="code2model"><font color="#117755"><i><S56>/M</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6020')" name="code2model"><font color="#117755"><i><S56>/AND</i></font></a></TD><TD><P>Not traceable</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6021')" name="code2model"><font color="#117755"><i><S56>/Enumerated_Constant</i></font></a></TD><TD><P>Masked SubSystem</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6022')" name="code2model"><font color="#117755"><i><S56>/Excessive_Velocity_Change</i></font></a></TD><TD><P>Not traceable</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6023')" name="code2model"><font color="#117755"><i><S56>/Generate_Error</i></font></a></TD><TD><P>Not traceable</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6027')" name="code2model"><font color="#117755"><i><S56>/Max_Valid_Velocity_Change</i></font></a></TD><TD><P>Not traceable</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6028')" name="code2model"><font color="#117755"><i><S56>/Relational_Operator</i></font></a></TD><TD><P>Not traceable</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6029')" name="code2model"><font color="#117755"><i><S56>/Velocity_Abs</i></font></a></TD><TD><P>Not traceable</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6030')" name="code2model"><font color="#117755"><i><S56>/Velocity_Delay</i></font></a></TD><TD><P>Not traceable</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6031')" name="code2model"><font color="#117755"><i><S56>/Velocity_Difference</i></font></a></TD><TD><P>Not traceable</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6021:158')" name="code2model"><font color="#117755"><i><S57>/Constant</i></font></a></TD><TD><P>Not traceable</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6021:159')" name="code2model"><font color="#117755"><i><S57>/Out</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6024')" name="code2model"><font color="#117755"><i><S58>/Enable</i></font></a></TD><TD><P>EnablePort</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6025')" name="code2model"><font color="#117755"><i><S58>/Data_Store_Write</i></font></a></TD><TD><P>Not traceable</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6026')" name="code2model"><font color="#117755"><i><S58>/Enumerated_Constant</i></font></a></TD><TD><P>Masked SubSystem</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6026:158')" name="code2model"><font color="#117755"><i><S59>/Constant</i></font></a></TD><TD><P>Not traceable</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6026:159')" name="code2model"><font color="#117755"><i><S59>/Out</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6010')" name="code2model"><font color="#117755"><i><S60>/V</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6011')" name="code2model"><font color="#117755"><i><S60>/M</i></font></a></TD><TD><P>Inport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6014')" name="code2model"><font color="#117755"><i><S60>/Enumerated_Constant</i></font></a></TD><TD><P>Masked SubSystem</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6014:159')" name="code2model"><font color="#117755"><i><S61>/Out</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5992')" name="code2model"><font color="#117755"><i><S62>/Enumerated_Constant</i></font></a></TD><TD><P>Masked SubSystem</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5992:159')" name="code2model"><font color="#117755"><i><S63>/Out</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5662:159')" name="code2model"><font color="#117755"><i><S64>/Out</i></font></a></TD><TD><P>Outport</P></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5266')" name="code2model"><font color="#117755"><i><S65>/rotor_position</i></font></a></TD><TD><P>Outport</P></TD></TR></TABLE></DIV><DIV class="section1" id="sec_traceable"><H3><A id="href_traceable">Traceable Simulink Blocks / Stateflow Objects / MATLAB Functions</A></H3><DIV class="section2" id="sec_traceable_1"><H4>Root system: <A id="href_sys0"><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc')" name="code2model">rtwdemo_pmsmfoc</a></A></H4><TABLE class="AltRow" cellspacing="0"><TR><TH>Object Name</TH><TH>Code Location</TH></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:2783')" name="code2model"><font color="#117755"><i><Root>/motor_on</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('ert_main','c','23');">ert_main.c:23</A><BR /><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','272');">rtwdemo_pmsmfoc.c:272</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4806')" name="code2model"><font color="#117755"><i><Root>/command_type</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('ert_main','c','26');">ert_main.c:26</A><BR /><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','270');">rtwdemo_pmsmfoc.c:270</A></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4807')" name="code2model"><font color="#117755"><i><Root>/command_value</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('ert_main','c','29');">ert_main.c:29</A><BR /><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','271');">rtwdemo_pmsmfoc.c:271</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:198')" name="code2model"><font color="#117755"><i><Root>/sensors</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('ert_main','c','32');">ert_main.c:32</A><BR /><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','184');">rtwdemo_pmsmfoc.c:184</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','195');">195</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','250');">250</A></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5905')" name="code2model"><font color="#117755"><i><Root>/Data Store +Memory</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','h','117');">rtwdemo_pmsmfoc.h:117</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5906')" name="code2model"><font color="#117755"><i><Root>/Data Store +Read</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1168');">rtwdemo_pmsmfoc.c:1168</A></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4811')" name="code2model"><font color="#117755"><i><Root>/pwm_compare</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('ert_main','c','44');">ert_main.c:44</A><BR /><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','978');">rtwdemo_pmsmfoc.c:978</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','988');">988</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','993');">993</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','998');">998</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1009');">1009</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1014');">1014</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1019');">1019</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1030');">1030</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1035');">1035</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1040');">1040</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5907')" name="code2model"><font color="#117755"><i><Root>/error</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('ert_main','c','41');">ert_main.c:41</A><BR /><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1167');">rtwdemo_pmsmfoc.c:1167</A></TD></TR></TABLE></DIV><DIV class="section2" id="sec_traceable_2"><H4>Subsystem: <A id="href_sys1"><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5797')" name="code2model">rtwdemo_pmsmfoc/Mode_Scheduler</a></A></H4><TABLE class="AltRow" cellspacing="0"><TR><TH>Object Name</TH><TH>Code Location</TH></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4451')" name="code2model"><font color="#117755"><i><S1>/Controller_Mode_Scheduler</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','18');">rtwdemo_pmsmfoc.c:18</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','45');">45</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','64');">64</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','269');">269</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','428');">428</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1309');">1309</A><BR /><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','h','106');">rtwdemo_pmsmfoc.h:106</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','h','107');">107</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','h','108');">108</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','h','126');">126</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','h','127');">127</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','h','128');">128</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','h','179');">179</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','h','191');">191</A></TD></TR></TABLE></DIV><DIV class="section2" id="sec_traceable_3"><H4>Subsystem: <A id="href_sys2"><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:1714')" name="code2model">rtwdemo_pmsmfoc/Model Info</a></A></H4><P>No traceable objects in this Subsystem.</P></DIV><DIV class="section2" id="sec_traceable_4"><H4>Subsystem: <A id="href_sys3"><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4452')" name="code2model">rtwdemo_pmsmfoc/Motor_Control</a></A></H4><P>No traceable objects in this Subsystem.</P></DIV><DIV class="section2" id="sec_traceable_5"><H4>Chart: <A id="href_sys4"><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4451')" name="code2model">rtwdemo_pmsmfoc/Mode_Scheduler/Controller_Mode_Scheduler</a></A></H4><TABLE class="AltRow" cellspacing="0"><TR><TH>Object Name</TH><TH>Code Location</TH></TR><TR class="even"><TD>State 'Motor_On' <a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4451:338')" name="code2model"><font color="#117755"><i><S4>:338</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','277');">rtwdemo_pmsmfoc.c:277</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','281');">281</A></TD></TR><TR class="odd"><TD>State 'Motor_Control' <a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4451:344')" name="code2model"><font color="#117755"><i><S4>:344</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','282');">rtwdemo_pmsmfoc.c:282</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','290');">290</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','293');">293</A></TD></TR><TR class="even"><TD>State 'Position_Control' <a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4451:226')" name="code2model"><font color="#117755"><i><S4>:226</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','304');">rtwdemo_pmsmfoc.c:304</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','328');">328</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','406');">406</A></TD></TR><TR class="odd"><TD>State 'Startup_Open_Loop_Control' <a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4451:103')" name="code2model"><font color="#117755"><i><S4>:103</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','309');">rtwdemo_pmsmfoc.c:309</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','381');">381</A></TD></TR><TR class="even"><TD>State 'Torque_Control' <a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4451:220')" name="code2model"><font color="#117755"><i><S4>:220</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','339');">rtwdemo_pmsmfoc.c:339</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','348');">348</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','419');">419</A></TD></TR><TR class="odd"><TD>State 'Velocity_Control' <a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4451:108')" name="code2model"><font color="#117755"><i><S4>:108</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','318');">rtwdemo_pmsmfoc.c:318</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','353');">353</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','394');">394</A></TD></TR><TR class="even"><TD>State 'Ramp_To_Stop' <a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4451:270')" name="code2model"><font color="#117755"><i><S4>:270</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','297');">rtwdemo_pmsmfoc.c:297</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','359');">359</A></TD></TR><TR class="odd"><TD>State 'Stand_By' <a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4451:154')" name="code2model"><font color="#117755"><i><S4>:154</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','287');">rtwdemo_pmsmfoc.c:287</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','367');">367</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','372');">372</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1321');">1321</A></TD></TR><TR class="even"><TD>Transition <a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4451:9')" name="code2model"><font color="#117755"><i><S4>:9</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1318');">rtwdemo_pmsmfoc.c:1318</A></TD></TR><TR class="odd"><TD>Transition <a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4451:164')" name="code2model"><font color="#117755"><i><S4>:164</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','374');">rtwdemo_pmsmfoc.c:374</A></TD></TR><TR class="even"><TD>Transition <a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4451:355')" name="code2model"><font color="#117755"><i><S4>:355</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','363');">rtwdemo_pmsmfoc.c:363</A></TD></TR><TR class="odd"><TD>Transition <a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4451:353')" name="code2model"><font color="#117755"><i><S4>:353</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','280');">rtwdemo_pmsmfoc.c:280</A></TD></TR><TR class="even"><TD>Transition <a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4451:339')" name="code2model"><font color="#117755"><i><S4>:339</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','279');">rtwdemo_pmsmfoc.c:279</A></TD></TR><TR class="odd"><TD>Transition <a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4451:169')" name="code2model"><font color="#117755"><i><S4>:169</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','362');">rtwdemo_pmsmfoc.c:362</A></TD></TR><TR class="even"><TD>Transition <a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4451:282')" name="code2model"><font color="#117755"><i><S4>:282</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','292');">rtwdemo_pmsmfoc.c:292</A></TD></TR><TR class="odd"><TD>Transition <a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4451:133')" name="code2model"><font color="#117755"><i><S4>:133</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','376');">rtwdemo_pmsmfoc.c:376</A></TD></TR><TR class="even"><TD>Transition <a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4451:137')" name="code2model"><font color="#117755"><i><S4>:137</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','385');">rtwdemo_pmsmfoc.c:385</A></TD></TR><TR class="odd"><TD>Transition <a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4451:157')" name="code2model"><font color="#117755"><i><S4>:157</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','311');">rtwdemo_pmsmfoc.c:311</A></TD></TR><TR class="even"><TD>Transition <a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4451:233')" name="code2model"><font color="#117755"><i><S4>:233</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','312');">rtwdemo_pmsmfoc.c:312</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','386');">386</A></TD></TR><TR class="odd"><TD>Transition <a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4451:162')" name="code2model"><font color="#117755"><i><S4>:162</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','315');">rtwdemo_pmsmfoc.c:315</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','389');">389</A></TD></TR><TR class="even"><TD>Transition <a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4451:235')" name="code2model"><font color="#117755"><i><S4>:235</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','324');">rtwdemo_pmsmfoc.c:324</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','400');">400</A></TD></TR><TR class="odd"><TD>Transition <a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4451:234')" name="code2model"><font color="#117755"><i><S4>:234</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','325');">rtwdemo_pmsmfoc.c:325</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','401');">401</A></TD></TR><TR class="even"><TD>Transition <a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4451:237')" name="code2model"><font color="#117755"><i><S4>:237</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','334');">rtwdemo_pmsmfoc.c:334</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','412');">412</A></TD></TR><TR class="odd"><TD>Transition <a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4451:158')" name="code2model"><font color="#117755"><i><S4>:158</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','335');">rtwdemo_pmsmfoc.c:335</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','413');">413</A></TD></TR></TABLE></DIV><DIV class="section2" id="sec_traceable_6"><H4>Subsystem: <A id="href_sys5"><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4465')" name="code2model">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller</a></A></H4><TABLE class="AltRow" cellspacing="0"><TR><TH>Object Name</TH><TH>Code Location</TH></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5667')" name="code2model"><font color="#117755"><i><S5>/Lo_to_Hi_Rate_Transition1</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','40');">rtwdemo_pmsmfoc.c:40</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','795');">795</A><BR /><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','h','174');">rtwdemo_pmsmfoc.h:174</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5602')" name="code2model"><font color="#117755"><i><S5>/Merge</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','h','104');">rtwdemo_pmsmfoc.h:104</A></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5589')" name="code2model"><font color="#117755"><i><S5>/Position_Control</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','660');">rtwdemo_pmsmfoc.c:660</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','668');">668</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','671');">671</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','779');">779</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1297');">1297</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1301');">1301</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5588')" name="code2model"><font color="#117755"><i><S5>/Switch Case</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','534');">rtwdemo_pmsmfoc.c:534</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','558');">558</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','663');">663</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','792');">792</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1288');">1288</A><BR /><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','h','121');">rtwdemo_pmsmfoc.h:121</A></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5593')" name="code2model"><font color="#117755"><i><S5>/Torque_Control</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','783');">rtwdemo_pmsmfoc.c:783</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','788');">788</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5584')" name="code2model"><font color="#117755"><i><S5>/Velocity_Control</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','555');">rtwdemo_pmsmfoc.c:555</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','563');">563</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','566');">566</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','655');">655</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1291');">1291</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1295');">1295</A></TD></TR></TABLE></DIV><DIV class="section2" id="sec_traceable_7"><H4>Subsystem: <A id="href_sys6"><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4793')" name="code2model">rtwdemo_pmsmfoc/Motor_Control/Phase_Voltages_to_PWM_Compare_Values</a></A></H4><TABLE class="AltRow" cellspacing="0"><TR><TH>Object Name</TH><TH>Code Location</TH></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5370')" name="code2model"><font color="#117755"><i><S6>/Lo_to_Hi_Rate_Transition3</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1172');">rtwdemo_pmsmfoc.c:1172</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1180');">1180</A><BR /><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','h','130');">rtwdemo_pmsmfoc.h:130</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6035')" name="code2model"><font color="#117755"><i><S6>/Quantize</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','989');">rtwdemo_pmsmfoc.c:989</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','994');">994</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','999');">999</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1010');">1010</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1015');">1015</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1020');">1020</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1031');">1031</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1036');">1036</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1041');">1041</A></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5625')" name="code2model"><font color="#117755"><i><S6>/Relational +Operator</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1138');">rtwdemo_pmsmfoc.c:1138</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4799')" name="code2model"><font color="#117755"><i><S6>/Saturation</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','986');">rtwdemo_pmsmfoc.c:986</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1007');">1007</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1028');">1028</A></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5354')" name="code2model"><font color="#117755"><i><S6>/Switch</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','976');">rtwdemo_pmsmfoc.c:976</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1047');">1047</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4797')" name="code2model"><font color="#117755"><i><S6>/Voltage to PWM Compare Units</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','983');">rtwdemo_pmsmfoc.c:983</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1004');">1004</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1025');">1025</A></TD></TR></TABLE></DIV><DIV class="section2" id="sec_traceable_8"><H4>Subsystem: <A id="href_sys7"><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5551')" name="code2model">rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units</a></A></H4><P>No traceable objects in this Subsystem.</P></DIV><DIV class="section2" id="sec_traceable_9"><H4>Subsystem: <A id="href_sys8"><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4475')" name="code2model">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control</a></A></H4><TABLE class="AltRow" cellspacing="0"><TR><TH>Object Name</TH><TH>Code Location</TH></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5669')" name="code2model"><font color="#117755"><i><S8>/Enum_To_Int</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','502');">rtwdemo_pmsmfoc.c:502</A></TD></TR></TABLE></DIV><DIV class="section2" id="sec_traceable_10"><H4>Subsystem: <A id="href_sys9"><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5589')" name="code2model">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Position_Control</a></A></H4><TABLE class="AltRow" cellspacing="0"><TR><TH>Object Name</TH><TH>Code Location</TH></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5620')" name="code2model"><font color="#117755"><i><S9>/Action Port</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','661');">rtwdemo_pmsmfoc.c:661</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','672');">672</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6208')" name="code2model"><font color="#117755"><i><S9>/Isolate_For_Merge</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','705');">rtwdemo_pmsmfoc.c:705</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','708');">708</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','711');">711</A></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5622')" name="code2model"><font color="#117755"><i><S9>/Sum2</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','674');">rtwdemo_pmsmfoc.c:674</A></TD></TR></TABLE></DIV><DIV class="section2" id="sec_traceable_11"><H4>Subsystem: <A id="href_sys10"><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5593')" name="code2model">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Torque_Control</a></A></H4><TABLE class="AltRow" cellspacing="0"><TR><TH>Object Name</TH><TH>Code Location</TH></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5594')" name="code2model"><font color="#117755"><i><S10>/torque_command</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','535');">rtwdemo_pmsmfoc.c:535</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5595')" name="code2model"><font color="#117755"><i><S10>/Action Port</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','784');">rtwdemo_pmsmfoc.c:784</A></TD></TR></TABLE></DIV><DIV class="section2" id="sec_traceable_12"><H4>Subsystem: <A id="href_sys11"><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5584')" name="code2model">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Velocity_Control</a></A></H4><TABLE class="AltRow" cellspacing="0"><TR><TH>Object Name</TH><TH>Code Location</TH></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5586')" name="code2model"><font color="#117755"><i><S11>/Action Port</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','556');">rtwdemo_pmsmfoc.c:556</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','567');">567</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6036')" name="code2model"><font color="#117755"><i><S11>/Isolate_For_Merge</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','581');">rtwdemo_pmsmfoc.c:581</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','584');">584</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','587');">587</A></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4769')" name="code2model"><font color="#117755"><i><S11>/Sum2</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','44');">rtwdemo_pmsmfoc.c:44</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','569');">569</A><BR /><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','h','178');">rtwdemo_pmsmfoc.h:178</A></TD></TR></TABLE></DIV><DIV class="section2" id="sec_traceable_13"><H4>Subsystem: <A id="href_sys12"><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4480')" name="code2model">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Current_Controllers</a></A></H4><TABLE class="AltRow" cellspacing="0"><TR><TH>Object Name</TH><TH>Code Location</TH></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4491')" name="code2model"><font color="#117755"><i><S12>/Sum</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','42');">rtwdemo_pmsmfoc.c:42</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','805');">805</A><BR /><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','h','176');">rtwdemo_pmsmfoc.h:176</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4492')" name="code2model"><font color="#117755"><i><S12>/Sum2</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','39');">rtwdemo_pmsmfoc.c:39</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','493');">493</A><BR /><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','h','173');">rtwdemo_pmsmfoc.h:173</A></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5203')" name="code2model"><font color="#117755"><i><S12>/d_current_command +(A)</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','494');">rtwdemo_pmsmfoc.c:494</A></TD></TR></TABLE></DIV><DIV class="section2" id="sec_traceable_14"><H4>Subsystem: <A id="href_sys13"><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5600')" name="code2model">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Detect_Change</a></A></H4><TABLE class="AltRow" cellspacing="0"><TR><TH>Object Name</TH><TH>Code Location</TH></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5600:2')" name="code2model"><font color="#117755"><i><S13>/Delay Input1</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','506');">rtwdemo_pmsmfoc.c:506</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1182');">1182</A><BR /><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','h','118');">rtwdemo_pmsmfoc.h:118</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5600:3')" name="code2model"><font color="#117755"><i><S13>/FixPt +Relational +Operator</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','505');">rtwdemo_pmsmfoc.c:505</A></TD></TR></TABLE></DIV><DIV class="section2" id="sec_traceable_15"><H4>Subsystem: <A id="href_sys14"><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4495')" name="code2model">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Rotation_Coefficients_Sin_Cos</a></A></H4><TABLE class="AltRow" cellspacing="0"><TR><TH>Object Name</TH><TH>Code Location</TH></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4498')" name="code2model"><font color="#117755"><i><S14>/number_of_pole_pairs</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','68');">rtwdemo_pmsmfoc.c:68</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','480');">480</A><BR /><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','h','195');">rtwdemo_pmsmfoc.h:195</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4499')" name="code2model"><font color="#117755"><i><S14>/sine_cosine</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','483');">rtwdemo_pmsmfoc.c:483</A></TD></TR></TABLE></DIV><DIV class="section2" id="sec_traceable_16"><H4>Subsystem: <A id="href_sys15"><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4501')" name="code2model">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_ABC_to_dq</a></A></H4><P>No traceable objects in this Subsystem.</P></DIV><DIV class="section2" id="sec_traceable_17"><H4>Subsystem: <A id="href_sys16"><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4532')" name="code2model">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC</a></A></H4><P>No traceable objects in this Subsystem.</P></DIV><DIV class="section2" id="sec_traceable_18"><H4>Subsystem: <A id="href_sys17"><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4489')" name="code2model">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Current_Controllers/Direct_Current_Control</a></A></H4><TABLE class="AltRow" cellspacing="0"><TR><TH>Object Name</TH><TH>Code Location</TH></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4489:1685')" name="code2model"><font color="#117755"><i><S17>/Constant</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1096');">rtwdemo_pmsmfoc.c:1096</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4489:1668')" name="code2model"><font color="#117755"><i><S17>/Integral Gain</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','74');">rtwdemo_pmsmfoc.c:74</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1074');">1074</A><BR /><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','h','201');">rtwdemo_pmsmfoc.h:201</A></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4489:1669')" name="code2model"><font color="#117755"><i><S17>/Integrator</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','510');">rtwdemo_pmsmfoc.c:510</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','517');">517</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1185');">1185</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1196');">1196</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1324');">1324</A><BR /><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','h','109');">rtwdemo_pmsmfoc.h:109</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','h','120');">120</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4489:1667')" name="code2model"><font color="#117755"><i><S17>/Proportional Gain</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','75');">rtwdemo_pmsmfoc.c:75</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','518');">518</A><BR /><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','h','202');">rtwdemo_pmsmfoc.h:202</A></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4489:1670')" name="code2model"><font color="#117755"><i><S17>/Saturate</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','523');">rtwdemo_pmsmfoc.c:523</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','532');">532</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4489:1666')" name="code2model"><font color="#117755"><i><S17>/Sum</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','516');">rtwdemo_pmsmfoc.c:516</A></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4489:1684')" name="code2model"><font color="#117755"><i><S17>/Switch</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1095');">rtwdemo_pmsmfoc.c:1095</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1108');">1108</A></TD></TR></TABLE></DIV><DIV class="section2" id="sec_traceable_19"><H4>Subsystem: <A id="href_sys18"><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4490')" name="code2model">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Current_Controllers/Quadrature_Current_Control</a></A></H4><TABLE class="AltRow" cellspacing="0"><TR><TH>Object Name</TH><TH>Code Location</TH></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4490:1685')" name="code2model"><font color="#117755"><i><S18>/Constant</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1219');">rtwdemo_pmsmfoc.c:1219</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4490:1668')" name="code2model"><font color="#117755"><i><S18>/Integral Gain</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','76');">rtwdemo_pmsmfoc.c:76</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1135');">1135</A><BR /><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','h','203');">rtwdemo_pmsmfoc.h:203</A></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4490:1669')" name="code2model"><font color="#117755"><i><S18>/Integrator</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','808');">rtwdemo_pmsmfoc.c:808</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','815');">815</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1198');">1198</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1239');">1239</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1327');">1327</A><BR /><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','h','110');">rtwdemo_pmsmfoc.h:110</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','h','122');">122</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4490:1667')" name="code2model"><font color="#117755"><i><S18>/Proportional Gain</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','77');">rtwdemo_pmsmfoc.c:77</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','816');">816</A><BR /><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','h','204');">rtwdemo_pmsmfoc.h:204</A></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4490:1670')" name="code2model"><font color="#117755"><i><S18>/Saturate</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','821');">rtwdemo_pmsmfoc.c:821</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','830');">830</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4490:1666')" name="code2model"><font color="#117755"><i><S18>/Sum</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','814');">rtwdemo_pmsmfoc.c:814</A></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4490:1684')" name="code2model"><font color="#117755"><i><S18>/Switch</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1218');">rtwdemo_pmsmfoc.c:1218</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1229');">1229</A></TD></TR></TABLE></DIV><DIV class="section2" id="sec_traceable_20"><H4>Subsystem: <A id="href_sys19"><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4489:1671')" name="code2model">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Current_Controllers/Direct_Current_Control/Clamping circuit</a></A></H4><TABLE class="AltRow" cellspacing="0"><TR><TH>Object Name</TH><TH>Code Location</TH></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4489:1683')" name="code2model"><font color="#117755"><i><S19>/AND</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1098');">rtwdemo_pmsmfoc.c:1098</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4489:1675')" name="code2model"><font color="#117755"><i><S19>/DataTypeConv1</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1077');">rtwdemo_pmsmfoc.c:1077</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1084');">1084</A></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4489:1676')" name="code2model"><font color="#117755"><i><S19>/DataTypeConv2</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1097');">rtwdemo_pmsmfoc.c:1097</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4489:1678')" name="code2model"><font color="#117755"><i><S19>/DeadZone</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1049');">rtwdemo_pmsmfoc.c:1049</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1058');">1058</A></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4489:1682')" name="code2model"><font color="#117755"><i><S19>/Equal</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1099');">rtwdemo_pmsmfoc.c:1099</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4489:1680')" name="code2model"><font color="#117755"><i><S19>/NotEqual</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1060');">rtwdemo_pmsmfoc.c:1060</A></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4489:1679')" name="code2model"><font color="#117755"><i><S19>/SignDeltaU</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1063');">rtwdemo_pmsmfoc.c:1063</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1072');">1072</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4489:1681')" name="code2model"><font color="#117755"><i><S19>/SignPreIntegrator</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1086');">rtwdemo_pmsmfoc.c:1086</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1100');">1100</A></TD></TR></TABLE></DIV><DIV class="section2" id="sec_traceable_21"><H4>Subsystem: <A id="href_sys20"><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4490:1671')" name="code2model">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Current_Controllers/Quadrature_Current_Control/Clamping circuit</a></A></H4><TABLE class="AltRow" cellspacing="0"><TR><TH>Object Name</TH><TH>Code Location</TH></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4490:1683')" name="code2model"><font color="#117755"><i><S20>/AND</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1221');">rtwdemo_pmsmfoc.c:1221</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4490:1675')" name="code2model"><font color="#117755"><i><S20>/DataTypeConv1</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1200');">rtwdemo_pmsmfoc.c:1200</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1207');">1207</A></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4490:1676')" name="code2model"><font color="#117755"><i><S20>/DataTypeConv2</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1220');">rtwdemo_pmsmfoc.c:1220</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4490:1678')" name="code2model"><font color="#117755"><i><S20>/DeadZone</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1110');">rtwdemo_pmsmfoc.c:1110</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1119');">1119</A></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4490:1682')" name="code2model"><font color="#117755"><i><S20>/Equal</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1222');">rtwdemo_pmsmfoc.c:1222</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4490:1680')" name="code2model"><font color="#117755"><i><S20>/NotEqual</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1121');">rtwdemo_pmsmfoc.c:1121</A></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4490:1679')" name="code2model"><font color="#117755"><i><S20>/SignDeltaU</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1124');">rtwdemo_pmsmfoc.c:1124</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1133');">1133</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4490:1681')" name="code2model"><font color="#117755"><i><S20>/SignPreIntegrator</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1209');">rtwdemo_pmsmfoc.c:1209</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1223');">1223</A></TD></TR></TABLE></DIV><DIV class="section2" id="sec_traceable_22"><H4>Subsystem: <A id="href_sys21"><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4504')" name="code2model">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_ABC_to_dq/Clarke_Transform</a></A></H4><TABLE class="AltRow" cellspacing="0"><TR><TH>Object Name</TH><TH>Code Location</TH></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4507')" name="code2model"><font color="#117755"><i><S21>/Add</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','489');">rtwdemo_pmsmfoc.c:489</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4508')" name="code2model"><font color="#117755"><i><S21>/B_Gain</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','488');">rtwdemo_pmsmfoc.c:488</A></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4510')" name="code2model"><font color="#117755"><i><S21>/Beta_Gain</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','487');">rtwdemo_pmsmfoc.c:487</A></TD></TR></TABLE></DIV><DIV class="section2" id="sec_traceable_23"><H4>Subsystem: <A id="href_sys22"><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4513')" name="code2model">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_ABC_to_dq/Park_Transform</a></A></H4><TABLE class="AltRow" cellspacing="0"><TR><TH>Object Name</TH><TH>Code Location</TH></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4517')" name="code2model"><font color="#117755"><i><S22>/Add</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','41');">rtwdemo_pmsmfoc.c:41</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','798');">798</A><BR /><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','h','175');">rtwdemo_pmsmfoc.h:175</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4518')" name="code2model"><font color="#117755"><i><S22>/Add1</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','497');">rtwdemo_pmsmfoc.c:497</A></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4524')" name="code2model"><font color="#117755"><i><S22>/Product</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','799');">rtwdemo_pmsmfoc.c:799</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4525')" name="code2model"><font color="#117755"><i><S22>/Product1</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','800');">rtwdemo_pmsmfoc.c:800</A></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4526')" name="code2model"><font color="#117755"><i><S22>/Product2</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','495');">rtwdemo_pmsmfoc.c:495</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4527')" name="code2model"><font color="#117755"><i><S22>/Product3</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','496');">rtwdemo_pmsmfoc.c:496</A></TD></TR></TABLE></DIV><DIV class="section2" id="sec_traceable_24"><H4>Subsystem: <A id="href_sys23"><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5421')" name="code2model">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC</a></A></H4><P>No traceable objects in this Subsystem.</P></DIV><DIV class="section2" id="sec_traceable_25"><H4>Subsystem: <A id="href_sys24"><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4549')" name="code2model">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Inverse_Park_Transform</a></A></H4><TABLE class="AltRow" cellspacing="0"><TR><TH>Object Name</TH><TH>Code Location</TH></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4552')" name="code2model"><font color="#117755"><i><S24>/Add</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','832');">rtwdemo_pmsmfoc.c:832</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4553')" name="code2model"><font color="#117755"><i><S24>/Add1</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','842');">rtwdemo_pmsmfoc.c:842</A></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4563')" name="code2model"><font color="#117755"><i><S24>/Product</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','833');">rtwdemo_pmsmfoc.c:833</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4564')" name="code2model"><font color="#117755"><i><S24>/Product1</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','834');">rtwdemo_pmsmfoc.c:834</A></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4565')" name="code2model"><font color="#117755"><i><S24>/Product2</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','843');">rtwdemo_pmsmfoc.c:843</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4566')" name="code2model"><font color="#117755"><i><S24>/Product3</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','844');">rtwdemo_pmsmfoc.c:844</A></TD></TR></TABLE></DIV><DIV class="section2" id="sec_traceable_26"><H4>Subsystem: <A id="href_sys25"><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5424')" name="code2model">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Inverse_Clarke_Transform</a></A></H4><P>No traceable objects in this Subsystem.</P></DIV><DIV class="section2" id="sec_traceable_27"><H4>Subsystem: <A id="href_sys26"><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5438')" name="code2model">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation</a></A></H4><P>No traceable objects in this Subsystem.</P></DIV><DIV class="section2" id="sec_traceable_28"><H4>Subsystem: <A id="href_sys27"><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5441')" name="code2model">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Calculate_Phase_Voltages</a></A></H4><TABLE class="AltRow" cellspacing="0"><TR><TH>Object Name</TH><TH>Code Location</TH></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5446')" name="code2model"><font color="#117755"><i><S27>/Bus_Voltage</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','874');">rtwdemo_pmsmfoc.c:874</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','881');">881</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','888');">888</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5450')" name="code2model"><font color="#117755"><i><S27>/Select_Sector</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','43');">rtwdemo_pmsmfoc.c:43</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','939');">939</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','974');">974</A><BR /><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','h','177');">rtwdemo_pmsmfoc.h:177</A></TD></TR></TABLE></DIV><DIV class="section2" id="sec_traceable_29"><H4>Subsystem: <A id="href_sys28"><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5523')" name="code2model">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Determine_Sector</a></A></H4><TABLE class="AltRow" cellspacing="0"><TR><TH>Object Name</TH><TH>Code Location</TH></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5528')" name="code2model"><font color="#117755"><i><S28>/Calculate_Phase_Advanced_Sector</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','925');">rtwdemo_pmsmfoc.c:925</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5532')" name="code2model"><font color="#117755"><i><S28>/Lookup_Table</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','83');">rtwdemo_pmsmfoc.c:83</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','916');">916</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','929');">929</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','940');">940</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','942');">942</A><BR /><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','h','137');">rtwdemo_pmsmfoc.h:137</A></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5534')" name="code2model"><font color="#117755"><i><S28>/Sector_Gain_VB</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','920');">rtwdemo_pmsmfoc.c:920</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5535')" name="code2model"><font color="#117755"><i><S28>/Sector_Gain_VC</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','921');">rtwdemo_pmsmfoc.c:921</A></TD></TR></TABLE></DIV><DIV class="section2" id="sec_traceable_30"><H4>Subsystem: <A id="href_sys29"><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5537')" name="code2model">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Phase_Advanced_Inverse_Clarke</a></A></H4><TABLE class="AltRow" cellspacing="0"><TR><TH>Object Name</TH><TH>Code Location</TH></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5540')" name="code2model"><font color="#117755"><i><S29>/Add</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','926');">rtwdemo_pmsmfoc.c:926</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5541')" name="code2model"><font color="#117755"><i><S29>/Add1</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','927');">rtwdemo_pmsmfoc.c:927</A></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5542')" name="code2model"><font color="#117755"><i><S29>/Gain</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','839');">rtwdemo_pmsmfoc.c:839</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5543')" name="code2model"><font color="#117755"><i><S29>/Gain1</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','848');">rtwdemo_pmsmfoc.c:848</A></TD></TR></TABLE></DIV><DIV class="section2" id="sec_traceable_31"><H4>Subsystem: <A id="href_sys30"><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5451')" name="code2model">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Calculate_Phase_Voltages/Va_Sectors_1_and_4</a></A></H4><TABLE class="AltRow" cellspacing="0"><TR><TH>Object Name</TH><TH>Code Location</TH></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5453')" name="code2model"><font color="#117755"><i><S30>/Add</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','853');">rtwdemo_pmsmfoc.c:853</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5454')" name="code2model"><font color="#117755"><i><S30>/Alpha_Gain</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','852');">rtwdemo_pmsmfoc.c:852</A></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5457')" name="code2model"><font color="#117755"><i><S30>/Space_Vector_Gain</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','851');">rtwdemo_pmsmfoc.c:851</A></TD></TR></TABLE></DIV><DIV class="section2" id="sec_traceable_32"><H4>Subsystem: <A id="href_sys31"><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5459')" name="code2model">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Calculate_Phase_Voltages/Va_Sectors_2_and_5</a></A></H4><TABLE class="AltRow" cellspacing="0"><TR><TH>Object Name</TH><TH>Code Location</TH></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5461')" name="code2model"><font color="#117755"><i><S31>/Add</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','876');">rtwdemo_pmsmfoc.c:876</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5462')" name="code2model"><font color="#117755"><i><S31>/Alpha_Gain</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','875');">rtwdemo_pmsmfoc.c:875</A></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5464')" name="code2model"><font color="#117755"><i><S31>/Space_Vector_Gain</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','873');">rtwdemo_pmsmfoc.c:873</A></TD></TR></TABLE></DIV><DIV class="section2" id="sec_traceable_33"><H4>Subsystem: <A id="href_sys32"><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5466')" name="code2model">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Calculate_Phase_Voltages/Va_Sectors_3_and_6</a></A></H4><TABLE class="AltRow" cellspacing="0"><TR><TH>Object Name</TH><TH>Code Location</TH></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5468')" name="code2model"><font color="#117755"><i><S32>/Add</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','896');">rtwdemo_pmsmfoc.c:896</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5469')" name="code2model"><font color="#117755"><i><S32>/Alpha_Gain</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','895');">rtwdemo_pmsmfoc.c:895</A></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5472')" name="code2model"><font color="#117755"><i><S32>/Space_Vector_Gain</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','894');">rtwdemo_pmsmfoc.c:894</A></TD></TR></TABLE></DIV><DIV class="section2" id="sec_traceable_34"><H4>Subsystem: <A id="href_sys33"><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5474')" name="code2model">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Calculate_Phase_Voltages/Vb_Sectors_1_and_4</a></A></H4><TABLE class="AltRow" cellspacing="0"><TR><TH>Object Name</TH><TH>Code Location</TH></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5476')" name="code2model"><font color="#117755"><i><S33>/Add</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','861');">rtwdemo_pmsmfoc.c:861</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5477')" name="code2model"><font color="#117755"><i><S33>/Alpha_Gain</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','859');">rtwdemo_pmsmfoc.c:859</A></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5478')" name="code2model"><font color="#117755"><i><S33>/Beta_Gain</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','860');">rtwdemo_pmsmfoc.c:860</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5481')" name="code2model"><font color="#117755"><i><S33>/Va_Gain</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','858');">rtwdemo_pmsmfoc.c:858</A></TD></TR></TABLE></DIV><DIV class="section2" id="sec_traceable_35"><H4>Subsystem: <A id="href_sys34"><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5483')" name="code2model">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Calculate_Phase_Voltages/Vb_Sectors_2_and_5</a></A></H4><TABLE class="AltRow" cellspacing="0"><TR><TH>Object Name</TH><TH>Code Location</TH></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5485')" name="code2model"><font color="#117755"><i><S34>/Add</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','883');">rtwdemo_pmsmfoc.c:883</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5486')" name="code2model"><font color="#117755"><i><S34>/Beta_Gain</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','882');">rtwdemo_pmsmfoc.c:882</A></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5488')" name="code2model"><font color="#117755"><i><S34>/Va_Gain</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','880');">rtwdemo_pmsmfoc.c:880</A></TD></TR></TABLE></DIV><DIV class="section2" id="sec_traceable_36"><H4>Subsystem: <A id="href_sys35"><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5490')" name="code2model">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Calculate_Phase_Voltages/Vb_Sectors_3_and_6</a></A></H4><TABLE class="AltRow" cellspacing="0"><TR><TH>Object Name</TH><TH>Code Location</TH></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5492')" name="code2model"><font color="#117755"><i><S35>/Add</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','903');">rtwdemo_pmsmfoc.c:903</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5493')" name="code2model"><font color="#117755"><i><S35>/Alpha_Gain</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','902');">rtwdemo_pmsmfoc.c:902</A></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5496')" name="code2model"><font color="#117755"><i><S35>/Va_Gain</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','901');">rtwdemo_pmsmfoc.c:901</A></TD></TR></TABLE></DIV><DIV class="section2" id="sec_traceable_37"><H4>Subsystem: <A id="href_sys36"><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5498')" name="code2model">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Calculate_Phase_Voltages/Vc_Sectors_1_and_4</a></A></H4><TABLE class="AltRow" cellspacing="0"><TR><TH>Object Name</TH><TH>Code Location</TH></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5500')" name="code2model"><font color="#117755"><i><S36>/Add</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','868');">rtwdemo_pmsmfoc.c:868</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5501')" name="code2model"><font color="#117755"><i><S36>/Alpha_Gain</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','867');">rtwdemo_pmsmfoc.c:867</A></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5504')" name="code2model"><font color="#117755"><i><S36>/Space_Vector_Gain</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','866');">rtwdemo_pmsmfoc.c:866</A></TD></TR></TABLE></DIV><DIV class="section2" id="sec_traceable_38"><H4>Subsystem: <A id="href_sys37"><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5506')" name="code2model">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Calculate_Phase_Voltages/Vc_Sectors_2_and_5</a></A></H4><TABLE class="AltRow" cellspacing="0"><TR><TH>Object Name</TH><TH>Code Location</TH></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5508')" name="code2model"><font color="#117755"><i><S37>/Add</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','890');">rtwdemo_pmsmfoc.c:890</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5509')" name="code2model"><font color="#117755"><i><S37>/Beta_Gain</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','889');">rtwdemo_pmsmfoc.c:889</A></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5511')" name="code2model"><font color="#117755"><i><S37>/Space_Vector_Gain</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','887');">rtwdemo_pmsmfoc.c:887</A></TD></TR></TABLE></DIV><DIV class="section2" id="sec_traceable_39"><H4>Subsystem: <A id="href_sys38"><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5513')" name="code2model">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Calculate_Phase_Voltages/Vc_Sectors_3_and_6</a></A></H4><TABLE class="AltRow" cellspacing="0"><TR><TH>Object Name</TH><TH>Code Location</TH></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5515')" name="code2model"><font color="#117755"><i><S38>/Add</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','911');">rtwdemo_pmsmfoc.c:911</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5516')" name="code2model"><font color="#117755"><i><S38>/Alpha_Gain</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','909');">rtwdemo_pmsmfoc.c:909</A></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5517')" name="code2model"><font color="#117755"><i><S38>/Beta_Gain</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','910');">rtwdemo_pmsmfoc.c:910</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5520')" name="code2model"><font color="#117755"><i><S38>/Space_Vector_Gain</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','908');">rtwdemo_pmsmfoc.c:908</A></TD></TR></TABLE></DIV><DIV class="section2" id="sec_traceable_40"><H4>Subsystem: <A id="href_sys39"><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5529')" name="code2model">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Determine_Sector/Compare_VA_To_Zero</a></A></H4><TABLE class="AltRow" cellspacing="0"><TR><TH>Object Name</TH><TH>Code Location</TH></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5529:2')" name="code2model"><font color="#117755"><i><S39>/Compare</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','922');">rtwdemo_pmsmfoc.c:922</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5529:3')" name="code2model"><font color="#117755"><i><S39>/Constant</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','917');">rtwdemo_pmsmfoc.c:917</A></TD></TR></TABLE></DIV><DIV class="section2" id="sec_traceable_41"><H4>Subsystem: <A id="href_sys40"><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5530')" name="code2model">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Determine_Sector/Compare_VB_To_Zero</a></A></H4><TABLE class="AltRow" cellspacing="0"><TR><TH>Object Name</TH><TH>Code Location</TH></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5530:2')" name="code2model"><font color="#117755"><i><S40>/Compare</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','923');">rtwdemo_pmsmfoc.c:923</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5530:3')" name="code2model"><font color="#117755"><i><S40>/Constant</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','918');">rtwdemo_pmsmfoc.c:918</A></TD></TR></TABLE></DIV><DIV class="section2" id="sec_traceable_42"><H4>Subsystem: <A id="href_sys41"><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5531')" name="code2model">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Determine_Sector/Compare_VC_To_Zero</a></A></H4><TABLE class="AltRow" cellspacing="0"><TR><TH>Object Name</TH><TH>Code Location</TH></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5531:2')" name="code2model"><font color="#117755"><i><S41>/Compare</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','924');">rtwdemo_pmsmfoc.c:924</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5531:3')" name="code2model"><font color="#117755"><i><S41>/Constant</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','919');">rtwdemo_pmsmfoc.c:919</A></TD></TR></TABLE></DIV><DIV class="section2" id="sec_traceable_43"><H4>Subsystem: <A id="href_sys42"><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5621')" name="code2model">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Position_Control/Position_Control</a></A></H4><TABLE class="AltRow" cellspacing="0"><TR><TH>Object Name</TH><TH>Code Location</TH></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5621:1684')" name="code2model"><font color="#117755"><i><S42>/Constant</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','764');">rtwdemo_pmsmfoc.c:764</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5621:1667')" name="code2model"><font color="#117755"><i><S42>/Integral Gain</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','69');">rtwdemo_pmsmfoc.c:69</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','742');">742</A><BR /><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','h','196');">rtwdemo_pmsmfoc.h:196</A></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5621:1668')" name="code2model"><font color="#117755"><i><S42>/Integrator</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','664');">rtwdemo_pmsmfoc.c:664</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','697');">697</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','776');">776</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1298');">1298</A><BR /><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','h','114');">rtwdemo_pmsmfoc.h:114</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5621:1666')" name="code2model"><font color="#117755"><i><S42>/Proportional Gain</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','70');">rtwdemo_pmsmfoc.c:70</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','698');">698</A><BR /><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','h','197');">rtwdemo_pmsmfoc.h:197</A></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5621:1669')" name="code2model"><font color="#117755"><i><S42>/Saturate</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','703');">rtwdemo_pmsmfoc.c:703</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','715');">715</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5621:1665')" name="code2model"><font color="#117755"><i><S42>/Sum</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','696');">rtwdemo_pmsmfoc.c:696</A></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5621:1683')" name="code2model"><font color="#117755"><i><S42>/Switch</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','763');">rtwdemo_pmsmfoc.c:763</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','774');">774</A></TD></TR></TABLE></DIV><DIV class="section2" id="sec_traceable_44"><H4>Subsystem: <A id="href_sys43"><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6205')" name="code2model">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Position_Control/Wrap_Error_pi</a></A></H4><TABLE class="AltRow" cellspacing="0"><TR><TH>Object Name</TH><TH>Code Location</TH></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6193')" name="code2model"><font color="#117755"><i><S43>/Add</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','687');">rtwdemo_pmsmfoc.c:687</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6194')" name="code2model"><font color="#117755"><i><S43>/Greater_Than</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','685');">rtwdemo_pmsmfoc.c:685</A></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6195')" name="code2model"><font color="#117755"><i><S43>/Less_Than</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','686');">rtwdemo_pmsmfoc.c:686</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6196')" name="code2model"><font color="#117755"><i><S43>/Modulus</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','684');">rtwdemo_pmsmfoc.c:684</A></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6197')" name="code2model"><font color="#117755"><i><S43>/Neg_Pi_Constant</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','678');">rtwdemo_pmsmfoc.c:678</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6198')" name="code2model"><font color="#117755"><i><S43>/OR</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','683');">rtwdemo_pmsmfoc.c:683</A></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6199')" name="code2model"><font color="#117755"><i><S43>/Pi_Constant_1</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','679');">rtwdemo_pmsmfoc.c:679</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6200')" name="code2model"><font color="#117755"><i><S43>/Pi_Constant_2</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','680');">rtwdemo_pmsmfoc.c:680</A></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6201')" name="code2model"><font color="#117755"><i><S43>/Pi_Constant_3</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','681');">rtwdemo_pmsmfoc.c:681</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6202')" name="code2model"><font color="#117755"><i><S43>/Select_Angle</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','677');">rtwdemo_pmsmfoc.c:677</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','694');">694</A></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6203')" name="code2model"><font color="#117755"><i><S43>/Subtract</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','688');">rtwdemo_pmsmfoc.c:688</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6204')" name="code2model"><font color="#117755"><i><S43>/Two_Pi_Constant</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','682');">rtwdemo_pmsmfoc.c:682</A></TD></TR></TABLE></DIV><DIV class="section2" id="sec_traceable_45"><H4>Subsystem: <A id="href_sys44"><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5621:1670')" name="code2model">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Position_Control/Position_Control/Clamping circuit</a></A></H4><TABLE class="AltRow" cellspacing="0"><TR><TH>Object Name</TH><TH>Code Location</TH></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5621:1682')" name="code2model"><font color="#117755"><i><S44>/AND</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','766');">rtwdemo_pmsmfoc.c:766</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5621:1674')" name="code2model"><font color="#117755"><i><S44>/DataTypeConv1</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','745');">rtwdemo_pmsmfoc.c:745</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','752');">752</A></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5621:1675')" name="code2model"><font color="#117755"><i><S44>/DataTypeConv2</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','765');">rtwdemo_pmsmfoc.c:765</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5621:1677')" name="code2model"><font color="#117755"><i><S44>/DeadZone</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','717');">rtwdemo_pmsmfoc.c:717</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','726');">726</A></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5621:1681')" name="code2model"><font color="#117755"><i><S44>/Equal</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','767');">rtwdemo_pmsmfoc.c:767</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5621:1679')" name="code2model"><font color="#117755"><i><S44>/NotEqual</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','728');">rtwdemo_pmsmfoc.c:728</A></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5621:1678')" name="code2model"><font color="#117755"><i><S44>/SignDeltaU</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','731');">rtwdemo_pmsmfoc.c:731</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','740');">740</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5621:1680')" name="code2model"><font color="#117755"><i><S44>/SignPreIntegrator</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','754');">rtwdemo_pmsmfoc.c:754</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','768');">768</A></TD></TR></TABLE></DIV><DIV class="section2" id="sec_traceable_46"><H4>Subsystem: <A id="href_sys45"><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4768')" name="code2model">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Velocity_Control/Rotor_Speed_Control</a></A></H4><TABLE class="AltRow" cellspacing="0"><TR><TH>Object Name</TH><TH>Code Location</TH></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4768:1684')" name="code2model"><font color="#117755"><i><S45>/Constant</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','640');">rtwdemo_pmsmfoc.c:640</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4768:1667')" name="code2model"><font color="#117755"><i><S45>/Integral Gain</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','71');">rtwdemo_pmsmfoc.c:71</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','618');">618</A><BR /><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','h','198');">rtwdemo_pmsmfoc.h:198</A></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4768:1668')" name="code2model"><font color="#117755"><i><S45>/Integrator</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','559');">rtwdemo_pmsmfoc.c:559</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','573');">573</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','652');">652</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1292');">1292</A><BR /><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','h','115');">rtwdemo_pmsmfoc.h:115</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4768:1666')" name="code2model"><font color="#117755"><i><S45>/Proportional Gain</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','72');">rtwdemo_pmsmfoc.c:72</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','574');">574</A><BR /><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','h','199');">rtwdemo_pmsmfoc.h:199</A></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4768:1669')" name="code2model"><font color="#117755"><i><S45>/Saturate</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','579');">rtwdemo_pmsmfoc.c:579</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','591');">591</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4768:1665')" name="code2model"><font color="#117755"><i><S45>/Sum</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','572');">rtwdemo_pmsmfoc.c:572</A></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4768:1683')" name="code2model"><font color="#117755"><i><S45>/Switch</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','639');">rtwdemo_pmsmfoc.c:639</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','650');">650</A></TD></TR></TABLE></DIV><DIV class="section2" id="sec_traceable_47"><H4>Subsystem: <A id="href_sys46"><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4768:1670')" name="code2model">rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Velocity_Control/Rotor_Speed_Control/Clamping circuit</a></A></H4><TABLE class="AltRow" cellspacing="0"><TR><TH>Object Name</TH><TH>Code Location</TH></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4768:1682')" name="code2model"><font color="#117755"><i><S46>/AND</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','642');">rtwdemo_pmsmfoc.c:642</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4768:1674')" name="code2model"><font color="#117755"><i><S46>/DataTypeConv1</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','621');">rtwdemo_pmsmfoc.c:621</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','628');">628</A></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4768:1675')" name="code2model"><font color="#117755"><i><S46>/DataTypeConv2</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','641');">rtwdemo_pmsmfoc.c:641</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4768:1677')" name="code2model"><font color="#117755"><i><S46>/DeadZone</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','593');">rtwdemo_pmsmfoc.c:593</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','602');">602</A></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4768:1681')" name="code2model"><font color="#117755"><i><S46>/Equal</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','643');">rtwdemo_pmsmfoc.c:643</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4768:1679')" name="code2model"><font color="#117755"><i><S46>/NotEqual</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','604');">rtwdemo_pmsmfoc.c:604</A></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4768:1678')" name="code2model"><font color="#117755"><i><S46>/SignDeltaU</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','607');">rtwdemo_pmsmfoc.c:607</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','616');">616</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4768:1680')" name="code2model"><font color="#117755"><i><S46>/SignPreIntegrator</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','630');">rtwdemo_pmsmfoc.c:630</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','644');">644</A></TD></TR></TABLE></DIV><DIV class="section2" id="sec_traceable_48"><H4>Subsystem: <A id="href_sys47"><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5624')" name="code2model">rtwdemo_pmsmfoc/Motor_Control/Phase_Voltages_to_PWM_Compare_Values/Enumerated_Constant</a></A></H4><TABLE class="AltRow" cellspacing="0"><TR><TH>Object Name</TH><TH>Code Location</TH></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5624:158')" name="code2model"><font color="#117755"><i><S47>/Constant</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1139');">rtwdemo_pmsmfoc.c:1139</A></TD></TR></TABLE></DIV><DIV class="section2" id="sec_traceable_49"><H4>Subsystem: <A id="href_sys48"><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:4457')" name="code2model">rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/ADC_Level_to_Phase_Current</a></A></H4><TABLE class="AltRow" cellspacing="0"><TR><TH>Object Name</TH><TH>Code Location</TH></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6047')" name="code2model"><font color="#117755"><i><S48>/ADC_Driver_Units_To_Amps</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','65');">rtwdemo_pmsmfoc.c:65</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','182');">182</A><BR /><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','h','192');">rtwdemo_pmsmfoc.h:192</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6046')" name="code2model"><font color="#117755"><i><S48>/ADC_Zero_Offset</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','66');">rtwdemo_pmsmfoc.c:66</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','183');">183</A><BR /><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','h','193');">rtwdemo_pmsmfoc.h:193</A></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6048')" name="code2model"><font color="#117755"><i><S48>/Add</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','185');">rtwdemo_pmsmfoc.c:185</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6049')" name="code2model"><font color="#117755"><i><S48>/Product</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','36');">rtwdemo_pmsmfoc.c:36</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','181');">181</A><BR /><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','h','170');">rtwdemo_pmsmfoc.h:170</A></TD></TR></TABLE></DIV><DIV class="section2" id="sec_traceable_50"><H4>Subsystem: <A id="href_sys49"><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5635')" name="code2model">rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Encoder_To_Position</a></A></H4><TABLE class="AltRow" cellspacing="0"><TR><TH>Object Name</TH><TH>Code Location</TH></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6003')" name="code2model"><font color="#117755"><i><S49>/Add</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','37');">rtwdemo_pmsmfoc.c:37</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','247');">247</A><BR /><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','h','171');">rtwdemo_pmsmfoc.h:171</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6002')" name="code2model"><font color="#117755"><i><S49>/Offset_Between_Encoder_Zero_And_Mechanical_Zero</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','67');">rtwdemo_pmsmfoc.c:67</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','248');">248</A><BR /><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','h','194');">rtwdemo_pmsmfoc.h:194</A></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6311')" name="code2model"><font color="#117755"><i><S49>/Wait_For_Valid_Position</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','29');">rtwdemo_pmsmfoc.c:29</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','194');">194</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','245');">245</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1303');">1303</A><BR /><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','h','119');">rtwdemo_pmsmfoc.h:119</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','h','123');">123</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','h','124');">124</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','h','125');">125</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5638')" name="code2model"><font color="#117755"><i><S49>/radians_per_counts</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','249');">rtwdemo_pmsmfoc.c:249</A></TD></TR></TABLE></DIV><DIV class="section2" id="sec_traceable_51"><H4>Subsystem: <A id="href_sys50"><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5791')" name="code2model">rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity</a></A></H4><P>No traceable objects in this Subsystem.</P></DIV><DIV class="section2" id="sec_traceable_52"><H4>Subsystem: <A id="href_sys51"><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5318')" name="code2model">rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Startup_Open_Loop_Control</a></A></H4><TABLE class="AltRow" cellspacing="0"><TR><TH>Object Name</TH><TH>Code Location</TH></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5254')" name="code2model"><font color="#117755"><i><S51>/Open Loop Position</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','436');">rtwdemo_pmsmfoc.c:436</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','469');">469</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1279');">1279</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1286');">1286</A><BR /><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','h','131');">rtwdemo_pmsmfoc.h:131</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5663')" name="code2model"><font color="#117755"><i><S51>/Relational +Operator</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','430');">rtwdemo_pmsmfoc.c:430</A><BR /><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','h','129');">rtwdemo_pmsmfoc.h:129</A></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5375')" name="code2model"><font color="#117755"><i><S51>/Switch</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','471');">rtwdemo_pmsmfoc.c:471</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','478');">478</A></TD></TR></TABLE></DIV><DIV class="section2" id="sec_traceable_53"><H4>Chart: <A id="href_sys52"><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6311')" name="code2model">rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Encoder_To_Position/Wait_For_Valid_Position</a></A></H4><TABLE class="AltRow" cellspacing="0"><TR><TH>Object Name</TH><TH>Code Location</TH></TR><TR class="even"><TD>State 'Position_Valid' <a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6311:25')" name="code2model"><font color="#117755"><i><S52>:25</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','222');">rtwdemo_pmsmfoc.c:222</A></TD></TR><TR class="odd"><TD>State 'Wait_For_Valid_Position' <a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6311:99')" name="code2model"><font color="#117755"><i><S52>:99</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','226');">rtwdemo_pmsmfoc.c:226</A></TD></TR><TR class="even"><TD>State 'Wait_For_Valid_Velocity' <a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6311:101')" name="code2model"><font color="#117755"><i><S52>:101</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','235');">rtwdemo_pmsmfoc.c:235</A></TD></TR><TR class="odd"><TD>Transition <a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6311:113')" name="code2model"><font color="#117755"><i><S52>:113</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','208');">rtwdemo_pmsmfoc.c:208</A></TD></TR><TR class="even"><TD>Transition <a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6311:114')" name="code2model"><font color="#117755"><i><S52>:114</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','210');">rtwdemo_pmsmfoc.c:210</A></TD></TR><TR class="odd"><TD>Transition <a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6311:120')" name="code2model"><font color="#117755"><i><S52>:120</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','214');">rtwdemo_pmsmfoc.c:214</A></TD></TR><TR class="even"><TD>Transition <a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6311:115')" name="code2model"><font color="#117755"><i><S52>:115</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','211');">rtwdemo_pmsmfoc.c:211</A></TD></TR><TR class="odd"><TD>Transition <a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6311:100')" name="code2model"><font color="#117755"><i><S52>:100</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','228');">rtwdemo_pmsmfoc.c:228</A></TD></TR><TR class="even"><TD>Transition <a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6311:102')" name="code2model"><font color="#117755"><i><S52>:102</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','237');">rtwdemo_pmsmfoc.c:237</A></TD></TR><TR class="odd"><TD>Transition <a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6311:119')" name="code2model"><font color="#117755"><i><S52>:119</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','215');">rtwdemo_pmsmfoc.c:215</A></TD></TR></TABLE></DIV><DIV class="section2" id="sec_traceable_54"><H4>Subsystem: <A id="href_sys53"><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5761')" name="code2model">rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Explicit_Angle_Wrap</a></A></H4><P>No traceable objects in this Subsystem.</P></DIV><DIV class="section2" id="sec_traceable_55"><H4>Subsystem: <A id="href_sys54"><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5941')" name="code2model">rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Explicit_Angle_Wrap_With_Error</a></A></H4><P>No traceable objects in this Subsystem.</P></DIV><DIV class="section2" id="sec_traceable_56"><H4>Subsystem: <A id="href_sys55"><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5780')" name="code2model">rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Implicit_Integer_Wrap_With_Error</a></A></H4><TABLE class="AltRow" cellspacing="0"><TR><TH>Object Name</TH><TH>Code Location</TH></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5841')" name="code2model"><font color="#117755"><i><S55>/Convert_to_Uint32</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','256');">rtwdemo_pmsmfoc.c:256</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5839')" name="code2model"><font color="#117755"><i><S55>/Difference_Wrap</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','264');">rtwdemo_pmsmfoc.c:264</A></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5840')" name="code2model"><font color="#117755"><i><S55>/Difference_to_Single</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','262');">rtwdemo_pmsmfoc.c:262</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5977')" name="code2model"><font color="#117755"><i><S55>/Position_Delay</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','263');">rtwdemo_pmsmfoc.c:263</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1176');">1176</A><BR /><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','h','116');">rtwdemo_pmsmfoc.h:116</A></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5844')" name="code2model"><font color="#117755"><i><S55>/Scale_Input</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','257');">rtwdemo_pmsmfoc.c:257</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5845')" name="code2model"><font color="#117755"><i><S55>/Scale_Output</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','38');">rtwdemo_pmsmfoc.c:38</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','261');">261</A><BR /><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','h','172');">rtwdemo_pmsmfoc.h:172</A></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6006')" name="code2model"><font color="#117755"><i><S55>/Wrap_To_Pi</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','255');">rtwdemo_pmsmfoc.c:255</A></TD></TR></TABLE></DIV><DIV class="section2" id="sec_traceable_57"><H4>Subsystem: <A id="href_sys56"><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6017')" name="code2model">rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Explicit_Angle_Wrap_With_Error/Detect_Velocity_Error</a></A></H4><P>No traceable objects in this Subsystem.</P></DIV><DIV class="section2" id="sec_traceable_58"><H4>Subsystem: <A id="href_sys57"><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6021')" name="code2model">rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Explicit_Angle_Wrap_With_Error/Detect_Velocity_Error/Enumerated_Constant</a></A></H4><P>No traceable objects in this Subsystem.</P></DIV><DIV class="section2" id="sec_traceable_59"><H4>Subsystem: <A id="href_sys58"><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6023')" name="code2model">rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Explicit_Angle_Wrap_With_Error/Detect_Velocity_Error/Generate_Error</a></A></H4><P>No traceable objects in this Subsystem.</P></DIV><DIV class="section2" id="sec_traceable_60"><H4>Subsystem: <A id="href_sys59"><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6026')" name="code2model">rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Explicit_Angle_Wrap_With_Error/Detect_Velocity_Error/Generate_Error/Enumerated_Constant</a></A></H4><P>No traceable objects in this Subsystem.</P></DIV><DIV class="section2" id="sec_traceable_61"><H4>Subsystem: <A id="href_sys60"><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6008')" name="code2model">rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Implicit_Integer_Wrap_With_Error/Detect_Velocity_Error</a></A></H4><TABLE class="AltRow" cellspacing="0"><TR><TH>Object Name</TH><TH>Code Location</TH></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6015')" name="code2model"><font color="#117755"><i><S60>/AND</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1146');">rtwdemo_pmsmfoc.c:1146</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1163');">1163</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5968')" name="code2model"><font color="#117755"><i><S60>/Excessive_Velocity_Change</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1151');">rtwdemo_pmsmfoc.c:1151</A></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5969')" name="code2model"><font color="#117755"><i><S60>/Generate_Error</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1143');">rtwdemo_pmsmfoc.c:1143</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1164');">1164</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5973')" name="code2model"><font color="#117755"><i><S60>/Max_Valid_Velocity_Change</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1148');">rtwdemo_pmsmfoc.c:1148</A></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6012')" name="code2model"><font color="#117755"><i><S60>/Relational_Operator</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1152');">rtwdemo_pmsmfoc.c:1152</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5974')" name="code2model"><font color="#117755"><i><S60>/Velocity_Abs</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1147');">rtwdemo_pmsmfoc.c:1147</A></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5975')" name="code2model"><font color="#117755"><i><S60>/Velocity_Delay</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1150');">rtwdemo_pmsmfoc.c:1150</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1241');">1241</A><BR /><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','h','111');">rtwdemo_pmsmfoc.h:111</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5976')" name="code2model"><font color="#117755"><i><S60>/Velocity_Difference</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1153');">rtwdemo_pmsmfoc.c:1153</A></TD></TR></TABLE></DIV><DIV class="section2" id="sec_traceable_62"><H4>Subsystem: <A id="href_sys61"><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6014')" name="code2model">rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Implicit_Integer_Wrap_With_Error/Detect_Velocity_Error/Enumerated_Constant</a></A></H4><TABLE class="AltRow" cellspacing="0"><TR><TH>Object Name</TH><TH>Code Location</TH></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6014:158')" name="code2model"><font color="#117755"><i><S61>/Constant</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1149');">rtwdemo_pmsmfoc.c:1149</A></TD></TR></TABLE></DIV><DIV class="section2" id="sec_traceable_63"><H4>Subsystem: <A id="href_sys62"><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5969')" name="code2model">rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Implicit_Integer_Wrap_With_Error/Detect_Velocity_Error/Generate_Error</a></A></H4><TABLE class="AltRow" cellspacing="0"><TR><TH>Object Name</TH><TH>Code Location</TH></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5970')" name="code2model"><font color="#117755"><i><S62>/Enable</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1144');">rtwdemo_pmsmfoc.c:1144</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5991')" name="code2model"><font color="#117755"><i><S62>/Data_Store_Write</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1157');">rtwdemo_pmsmfoc.c:1157</A></TD></TR></TABLE></DIV><DIV class="section2" id="sec_traceable_64"><H4>Subsystem: <A id="href_sys63"><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5992')" name="code2model">rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Implicit_Integer_Wrap_With_Error/Detect_Velocity_Error/Generate_Error/Enumerated_Constant</a></A></H4><TABLE class="AltRow" cellspacing="0"><TR><TH>Object Name</TH><TH>Code Location</TH></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5992:158')" name="code2model"><font color="#117755"><i><S63>/Constant</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1158');">rtwdemo_pmsmfoc.c:1158</A></TD></TR></TABLE></DIV><DIV class="section2" id="sec_traceable_65"><H4>Subsystem: <A id="href_sys64"><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5662')" name="code2model">rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Startup_Open_Loop_Control/Enumerated +Constant</a></A></H4><TABLE class="AltRow" cellspacing="0"><TR><TH>Object Name</TH><TH>Code Location</TH></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5662:158')" name="code2model"><font color="#117755"><i><S64>/Constant</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','431');">rtwdemo_pmsmfoc.c:431</A></TD></TR></TABLE></DIV><DIV class="section2" id="sec_traceable_66"><H4>Subsystem: <A id="href_sys65"><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5254')" name="code2model">rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Startup_Open_Loop_Control/Open Loop Position</a></A></H4><TABLE class="AltRow" cellspacing="0"><TR><TH>Object Name</TH><TH>Code Location</TH></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:5376')" name="code2model"><font color="#117755"><i><S65>/Enable</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','437');">rtwdemo_pmsmfoc.c:437</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6045')" name="code2model"><font color="#117755"><i><S65>/Integrate_To_Position</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','441');">rtwdemo_pmsmfoc.c:441</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','449');">449</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','452');">452</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1280');">1280</A><BR /><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','h','105');">rtwdemo_pmsmfoc.h:105</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','h','112');">112</A></TD></TR><TR class="even"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6044')" name="code2model"><font color="#117755"><i><S65>/Integrate_To_Velocity</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','444');">rtwdemo_pmsmfoc.c:444</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','453');">453</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','458');">458</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','1283');">1283</A><BR /><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','h','113');">rtwdemo_pmsmfoc.h:113</A></TD></TR><TR class="odd"><TD><a href="matlab:coder.internal.code2model('rtwdemo_pmsmfoc:6041')" name="code2model"><font color="#117755"><i><S65>/Startup_Acceleration_Constant</i></font></a></TD><TD><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','73');">rtwdemo_pmsmfoc.c:73</A>, <A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','c','459');">459</A><BR /><A href="javascript:rtwTraceHilite('rtwdemo_pmsmfoc','h','200');">rtwdemo_pmsmfoc.h:200</A></TD></TR></TABLE></DIV></DIV></DIV></BODY></HTML> \ No newline at end of file
diff -r 83374f658183 -r bbc155b0b886 html/html/rtwdemo_pmsmfoc_traceInfo.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/html/html/rtwdemo_pmsmfoc_traceInfo.js Tue Nov 25 07:52:02 2014 +0000 @@ -0,0 +1,1947 @@ +function RTW_Sid2UrlHash() { + this.urlHashMap = new Array(); + /* <Root>/motor_on */ + this.urlHashMap["rtwdemo_pmsmfoc:2783"] = "ert_main.c:23&rtwdemo_pmsmfoc.c:272"; + /* <Root>/command_type */ + this.urlHashMap["rtwdemo_pmsmfoc:4806"] = "ert_main.c:26&rtwdemo_pmsmfoc.c:270"; + /* <Root>/command_value */ + this.urlHashMap["rtwdemo_pmsmfoc:4807"] = "ert_main.c:29&rtwdemo_pmsmfoc.c:271"; + /* <Root>/sensors */ + this.urlHashMap["rtwdemo_pmsmfoc:198"] = "ert_main.c:32&rtwdemo_pmsmfoc.c:184,195,250"; + /* <Root>/Data Store +Memory */ + this.urlHashMap["rtwdemo_pmsmfoc:5905"] = "rtwdemo_pmsmfoc.h:117"; + /* <Root>/Data Store +Read */ + this.urlHashMap["rtwdemo_pmsmfoc:5906"] = "rtwdemo_pmsmfoc.c:1168"; + /* <Root>/pwm_compare */ + this.urlHashMap["rtwdemo_pmsmfoc:4811"] = "ert_main.c:44&rtwdemo_pmsmfoc.c:978,988,993,998,1009,1014,1019,1030,1035,1040"; + /* <Root>/error */ + this.urlHashMap["rtwdemo_pmsmfoc:5907"] = "ert_main.c:41&rtwdemo_pmsmfoc.c:1167"; + /* <S1>/Controller_Mode_Scheduler */ + this.urlHashMap["rtwdemo_pmsmfoc:4451"] = "rtwdemo_pmsmfoc.c:18,45,64,269,428,1309&rtwdemo_pmsmfoc.h:106,107,108,126,127,128,179,191"; + /* <S1>/Signal +Conversion */ + this.urlHashMap["rtwdemo_pmsmfoc:5807"] = "msg=rtwMsg_CodeGenerationReducedBlock&block=rtwdemo_pmsmfoc/Mode_Scheduler/Signal%20Conversion"; + /* <S1>/Signal +Conversion1 */ + this.urlHashMap["rtwdemo_pmsmfoc:5808"] = "msg=rtwMsg_CodeGenerationReducedBlock&block=rtwdemo_pmsmfoc/Mode_Scheduler/Signal%20Conversion1"; + /* <S1>/Signal +Conversion2 */ + this.urlHashMap["rtwdemo_pmsmfoc:5809"] = "msg=rtwMsg_CodeGenerationReducedBlock&block=rtwdemo_pmsmfoc/Mode_Scheduler/Signal%20Conversion2"; + /* <S4>:338 */ + this.urlHashMap["rtwdemo_pmsmfoc:4451:338"] = "rtwdemo_pmsmfoc.c:277,281"; + /* <S4>:344 */ + this.urlHashMap["rtwdemo_pmsmfoc:4451:344"] = "rtwdemo_pmsmfoc.c:282,290,293"; + /* <S4>:226 */ + this.urlHashMap["rtwdemo_pmsmfoc:4451:226"] = "rtwdemo_pmsmfoc.c:304,328,406"; + /* <S4>:103 */ + this.urlHashMap["rtwdemo_pmsmfoc:4451:103"] = "rtwdemo_pmsmfoc.c:309,381"; + /* <S4>:220 */ + this.urlHashMap["rtwdemo_pmsmfoc:4451:220"] = "rtwdemo_pmsmfoc.c:339,348,419"; + /* <S4>:108 */ + this.urlHashMap["rtwdemo_pmsmfoc:4451:108"] = "rtwdemo_pmsmfoc.c:318,353,394"; + /* <S4>:270 */ + this.urlHashMap["rtwdemo_pmsmfoc:4451:270"] = "rtwdemo_pmsmfoc.c:297,359"; + /* <S4>:154 */ + this.urlHashMap["rtwdemo_pmsmfoc:4451:154"] = "rtwdemo_pmsmfoc.c:287,367,372,1321"; + /* <S4>:9 */ + this.urlHashMap["rtwdemo_pmsmfoc:4451:9"] = "rtwdemo_pmsmfoc.c:1318"; + /* <S4>:164 */ + this.urlHashMap["rtwdemo_pmsmfoc:4451:164"] = "rtwdemo_pmsmfoc.c:374"; + /* <S4>:355 */ + this.urlHashMap["rtwdemo_pmsmfoc:4451:355"] = "rtwdemo_pmsmfoc.c:363"; + /* <S4>:353 */ + this.urlHashMap["rtwdemo_pmsmfoc:4451:353"] = "rtwdemo_pmsmfoc.c:280"; + /* <S4>:339 */ + this.urlHashMap["rtwdemo_pmsmfoc:4451:339"] = "rtwdemo_pmsmfoc.c:279"; + /* <S4>:169 */ + this.urlHashMap["rtwdemo_pmsmfoc:4451:169"] = "rtwdemo_pmsmfoc.c:362"; + /* <S4>:282 */ + this.urlHashMap["rtwdemo_pmsmfoc:4451:282"] = "rtwdemo_pmsmfoc.c:292"; + /* <S4>:133 */ + this.urlHashMap["rtwdemo_pmsmfoc:4451:133"] = "rtwdemo_pmsmfoc.c:376"; + /* <S4>:137 */ + this.urlHashMap["rtwdemo_pmsmfoc:4451:137"] = "rtwdemo_pmsmfoc.c:385"; + /* <S4>:157 */ + this.urlHashMap["rtwdemo_pmsmfoc:4451:157"] = "rtwdemo_pmsmfoc.c:311"; + /* <S4>:233 */ + this.urlHashMap["rtwdemo_pmsmfoc:4451:233"] = "rtwdemo_pmsmfoc.c:312,386"; + /* <S4>:162 */ + this.urlHashMap["rtwdemo_pmsmfoc:4451:162"] = "rtwdemo_pmsmfoc.c:315,389"; + /* <S4>:235 */ + this.urlHashMap["rtwdemo_pmsmfoc:4451:235"] = "rtwdemo_pmsmfoc.c:324,400"; + /* <S4>:234 */ + this.urlHashMap["rtwdemo_pmsmfoc:4451:234"] = "rtwdemo_pmsmfoc.c:325,401"; + /* <S4>:237 */ + this.urlHashMap["rtwdemo_pmsmfoc:4451:237"] = "rtwdemo_pmsmfoc.c:334,412"; + /* <S4>:158 */ + this.urlHashMap["rtwdemo_pmsmfoc:4451:158"] = "rtwdemo_pmsmfoc.c:335,413"; + /* <S5>/Lo_to_Hi_Rate_Transition1 */ + this.urlHashMap["rtwdemo_pmsmfoc:5667"] = "rtwdemo_pmsmfoc.c:40,795&rtwdemo_pmsmfoc.h:174"; + /* <S5>/Lo_to_Hi_Rate_Transition2 */ + this.urlHashMap["rtwdemo_pmsmfoc:5668"] = "msg=rtwMsg_reducedBlock&block=rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Lo_to_Hi_Rate_Transition2"; + /* <S5>/Lo_to_Hi_Rate_Transition3 */ + this.urlHashMap["rtwdemo_pmsmfoc:5666"] = "msg=rtwMsg_reducedBlock&block=rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Lo_to_Hi_Rate_Transition3"; + /* <S5>/Merge */ + this.urlHashMap["rtwdemo_pmsmfoc:5602"] = "rtwdemo_pmsmfoc.h:104"; + /* <S5>/Position_Control */ + this.urlHashMap["rtwdemo_pmsmfoc:5589"] = "rtwdemo_pmsmfoc.c:660,668,671,779,1297,1301"; + /* <S5>/Switch Case */ + this.urlHashMap["rtwdemo_pmsmfoc:5588"] = "rtwdemo_pmsmfoc.c:534,558,663,792,1288&rtwdemo_pmsmfoc.h:121"; + /* <S5>/Torque_Control */ + this.urlHashMap["rtwdemo_pmsmfoc:5593"] = "rtwdemo_pmsmfoc.c:783,788"; + /* <S5>/Velocity_Control */ + this.urlHashMap["rtwdemo_pmsmfoc:5584"] = "rtwdemo_pmsmfoc.c:555,563,566,655,1291,1295"; + /* <S6>/Constant */ + this.urlHashMap["rtwdemo_pmsmfoc:4796"] = "msg=rtwMsg_CodeGenerationReducedBlock&block=rtwdemo_pmsmfoc/Motor_Control/Phase_Voltages_to_PWM_Compare_Values/Constant"; + /* <S6>/Lo_to_Hi_Rate_Transition3 */ + this.urlHashMap["rtwdemo_pmsmfoc:5370"] = "rtwdemo_pmsmfoc.c:1172,1180&rtwdemo_pmsmfoc.h:130"; + /* <S6>/Quantize */ + this.urlHashMap["rtwdemo_pmsmfoc:6035"] = "rtwdemo_pmsmfoc.c:989,994,999,1010,1015,1020,1031,1036,1041"; + /* <S6>/Relational +Operator */ + this.urlHashMap["rtwdemo_pmsmfoc:5625"] = "rtwdemo_pmsmfoc.c:1138"; + /* <S6>/Saturation */ + this.urlHashMap["rtwdemo_pmsmfoc:4799"] = "rtwdemo_pmsmfoc.c:986,1007,1028"; + /* <S6>/Switch */ + this.urlHashMap["rtwdemo_pmsmfoc:5354"] = "rtwdemo_pmsmfoc.c:976,1047"; + /* <S6>/Voltage to PWM Compare Units */ + this.urlHashMap["rtwdemo_pmsmfoc:4797"] = "rtwdemo_pmsmfoc.c:983,1004,1025"; + /* <S7>/Lo_to_Hi_Rate_Transition3 */ + this.urlHashMap["rtwdemo_pmsmfoc:5665"] = "msg=rtwMsg_reducedBlock&block=rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Lo_to_Hi_Rate_Transition3"; + /* <S8>/Enum_To_Int */ + this.urlHashMap["rtwdemo_pmsmfoc:5669"] = "rtwdemo_pmsmfoc.c:502"; + /* <S9>/Action Port */ + this.urlHashMap["rtwdemo_pmsmfoc:5620"] = "rtwdemo_pmsmfoc.c:661,672"; + /* <S9>/Isolate_For_Merge */ + this.urlHashMap["rtwdemo_pmsmfoc:6208"] = "rtwdemo_pmsmfoc.c:705,708,711"; + /* <S9>/Sum2 */ + this.urlHashMap["rtwdemo_pmsmfoc:5622"] = "rtwdemo_pmsmfoc.c:674"; + /* <S10>/torque_command */ + this.urlHashMap["rtwdemo_pmsmfoc:5594"] = "rtwdemo_pmsmfoc.c:535"; + /* <S10>/Action Port */ + this.urlHashMap["rtwdemo_pmsmfoc:5595"] = "rtwdemo_pmsmfoc.c:784"; + /* <S11>/Action Port */ + this.urlHashMap["rtwdemo_pmsmfoc:5586"] = "rtwdemo_pmsmfoc.c:556,567"; + /* <S11>/Isolate_For_Merge */ + this.urlHashMap["rtwdemo_pmsmfoc:6036"] = "rtwdemo_pmsmfoc.c:581,584,587"; + /* <S11>/Sum2 */ + this.urlHashMap["rtwdemo_pmsmfoc:4769"] = "rtwdemo_pmsmfoc.c:44,569&rtwdemo_pmsmfoc.h:178"; + /* <S12>/Sum */ + this.urlHashMap["rtwdemo_pmsmfoc:4491"] = "rtwdemo_pmsmfoc.c:42,805&rtwdemo_pmsmfoc.h:176"; + /* <S12>/Sum2 */ + this.urlHashMap["rtwdemo_pmsmfoc:4492"] = "rtwdemo_pmsmfoc.c:39,493&rtwdemo_pmsmfoc.h:173"; + /* <S12>/d_current_command +(A) */ + this.urlHashMap["rtwdemo_pmsmfoc:5203"] = "rtwdemo_pmsmfoc.c:494"; + /* <S13>/Delay Input1 */ + this.urlHashMap["rtwdemo_pmsmfoc:5600:2"] = "rtwdemo_pmsmfoc.c:506,1182&rtwdemo_pmsmfoc.h:118"; + /* <S13>/FixPt +Relational +Operator */ + this.urlHashMap["rtwdemo_pmsmfoc:5600:3"] = "rtwdemo_pmsmfoc.c:505"; + /* <S14>/number_of_pole_pairs */ + this.urlHashMap["rtwdemo_pmsmfoc:4498"] = "rtwdemo_pmsmfoc.c:68,480&rtwdemo_pmsmfoc.h:195"; + /* <S14>/sine_cosine */ + this.urlHashMap["rtwdemo_pmsmfoc:4499"] = "rtwdemo_pmsmfoc.c:483"; + /* <S17>/Constant */ + this.urlHashMap["rtwdemo_pmsmfoc:4489:1685"] = "rtwdemo_pmsmfoc.c:1096"; + /* <S17>/Integral Gain */ + this.urlHashMap["rtwdemo_pmsmfoc:4489:1668"] = "rtwdemo_pmsmfoc.c:74,1074&rtwdemo_pmsmfoc.h:201"; + /* <S17>/Integrator */ + this.urlHashMap["rtwdemo_pmsmfoc:4489:1669"] = "rtwdemo_pmsmfoc.c:510,517,1185,1196,1324&rtwdemo_pmsmfoc.h:109,120"; + /* <S17>/Proportional Gain */ + this.urlHashMap["rtwdemo_pmsmfoc:4489:1667"] = "rtwdemo_pmsmfoc.c:75,518&rtwdemo_pmsmfoc.h:202"; + /* <S17>/Saturate */ + this.urlHashMap["rtwdemo_pmsmfoc:4489:1670"] = "rtwdemo_pmsmfoc.c:523,532"; + /* <S17>/Sum */ + this.urlHashMap["rtwdemo_pmsmfoc:4489:1666"] = "rtwdemo_pmsmfoc.c:516"; + /* <S17>/Switch */ + this.urlHashMap["rtwdemo_pmsmfoc:4489:1684"] = "rtwdemo_pmsmfoc.c:1095,1108"; + /* <S18>/Constant */ + this.urlHashMap["rtwdemo_pmsmfoc:4490:1685"] = "rtwdemo_pmsmfoc.c:1219"; + /* <S18>/Integral Gain */ + this.urlHashMap["rtwdemo_pmsmfoc:4490:1668"] = "rtwdemo_pmsmfoc.c:76,1135&rtwdemo_pmsmfoc.h:203"; + /* <S18>/Integrator */ + this.urlHashMap["rtwdemo_pmsmfoc:4490:1669"] = "rtwdemo_pmsmfoc.c:808,815,1198,1239,1327&rtwdemo_pmsmfoc.h:110,122"; + /* <S18>/Proportional Gain */ + this.urlHashMap["rtwdemo_pmsmfoc:4490:1667"] = "rtwdemo_pmsmfoc.c:77,816&rtwdemo_pmsmfoc.h:204"; + /* <S18>/Saturate */ + this.urlHashMap["rtwdemo_pmsmfoc:4490:1670"] = "rtwdemo_pmsmfoc.c:821,830"; + /* <S18>/Sum */ + this.urlHashMap["rtwdemo_pmsmfoc:4490:1666"] = "rtwdemo_pmsmfoc.c:814"; + /* <S18>/Switch */ + this.urlHashMap["rtwdemo_pmsmfoc:4490:1684"] = "rtwdemo_pmsmfoc.c:1218,1229"; + /* <S19>/AND */ + this.urlHashMap["rtwdemo_pmsmfoc:4489:1683"] = "rtwdemo_pmsmfoc.c:1098"; + /* <S19>/DataTypeConv1 */ + this.urlHashMap["rtwdemo_pmsmfoc:4489:1675"] = "rtwdemo_pmsmfoc.c:1077,1084"; + /* <S19>/DataTypeConv2 */ + this.urlHashMap["rtwdemo_pmsmfoc:4489:1676"] = "rtwdemo_pmsmfoc.c:1097"; + /* <S19>/DeadZone */ + this.urlHashMap["rtwdemo_pmsmfoc:4489:1678"] = "rtwdemo_pmsmfoc.c:1049,1058"; + /* <S19>/Equal */ + this.urlHashMap["rtwdemo_pmsmfoc:4489:1682"] = "rtwdemo_pmsmfoc.c:1099"; + /* <S19>/NotEqual */ + this.urlHashMap["rtwdemo_pmsmfoc:4489:1680"] = "rtwdemo_pmsmfoc.c:1060"; + /* <S19>/SignDeltaU */ + this.urlHashMap["rtwdemo_pmsmfoc:4489:1679"] = "rtwdemo_pmsmfoc.c:1063,1072"; + /* <S19>/SignPreIntegrator */ + this.urlHashMap["rtwdemo_pmsmfoc:4489:1681"] = "rtwdemo_pmsmfoc.c:1086,1100"; + /* <S19>/ZeroGain */ + this.urlHashMap["rtwdemo_pmsmfoc:4489:1677"] = "msg=rtwMsg_CodeGenerationReducedBlock&block=rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Current_Controllers/Direct_Current_Control/Clamping%20circuit/ZeroGain"; + /* <S20>/AND */ + this.urlHashMap["rtwdemo_pmsmfoc:4490:1683"] = "rtwdemo_pmsmfoc.c:1221"; + /* <S20>/DataTypeConv1 */ + this.urlHashMap["rtwdemo_pmsmfoc:4490:1675"] = "rtwdemo_pmsmfoc.c:1200,1207"; + /* <S20>/DataTypeConv2 */ + this.urlHashMap["rtwdemo_pmsmfoc:4490:1676"] = "rtwdemo_pmsmfoc.c:1220"; + /* <S20>/DeadZone */ + this.urlHashMap["rtwdemo_pmsmfoc:4490:1678"] = "rtwdemo_pmsmfoc.c:1110,1119"; + /* <S20>/Equal */ + this.urlHashMap["rtwdemo_pmsmfoc:4490:1682"] = "rtwdemo_pmsmfoc.c:1222"; + /* <S20>/NotEqual */ + this.urlHashMap["rtwdemo_pmsmfoc:4490:1680"] = "rtwdemo_pmsmfoc.c:1121"; + /* <S20>/SignDeltaU */ + this.urlHashMap["rtwdemo_pmsmfoc:4490:1679"] = "rtwdemo_pmsmfoc.c:1124,1133"; + /* <S20>/SignPreIntegrator */ + this.urlHashMap["rtwdemo_pmsmfoc:4490:1681"] = "rtwdemo_pmsmfoc.c:1209,1223"; + /* <S20>/ZeroGain */ + this.urlHashMap["rtwdemo_pmsmfoc:4490:1677"] = "msg=rtwMsg_CodeGenerationReducedBlock&block=rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Current_Controllers/Quadrature_Current_Control/Clamping%20circuit/ZeroGain"; + /* <S21>/Add */ + this.urlHashMap["rtwdemo_pmsmfoc:4507"] = "rtwdemo_pmsmfoc.c:489"; + /* <S21>/B_Gain */ + this.urlHashMap["rtwdemo_pmsmfoc:4508"] = "rtwdemo_pmsmfoc.c:488"; + /* <S21>/Beta_Gain */ + this.urlHashMap["rtwdemo_pmsmfoc:4510"] = "rtwdemo_pmsmfoc.c:487"; + /* <S22>/Add */ + this.urlHashMap["rtwdemo_pmsmfoc:4517"] = "rtwdemo_pmsmfoc.c:41,798&rtwdemo_pmsmfoc.h:175"; + /* <S22>/Add1 */ + this.urlHashMap["rtwdemo_pmsmfoc:4518"] = "rtwdemo_pmsmfoc.c:497"; + /* <S22>/Product */ + this.urlHashMap["rtwdemo_pmsmfoc:4524"] = "rtwdemo_pmsmfoc.c:799"; + /* <S22>/Product1 */ + this.urlHashMap["rtwdemo_pmsmfoc:4525"] = "rtwdemo_pmsmfoc.c:800"; + /* <S22>/Product2 */ + this.urlHashMap["rtwdemo_pmsmfoc:4526"] = "rtwdemo_pmsmfoc.c:495"; + /* <S22>/Product3 */ + this.urlHashMap["rtwdemo_pmsmfoc:4527"] = "rtwdemo_pmsmfoc.c:496"; + /* <S24>/Add */ + this.urlHashMap["rtwdemo_pmsmfoc:4552"] = "rtwdemo_pmsmfoc.c:832"; + /* <S24>/Add1 */ + this.urlHashMap["rtwdemo_pmsmfoc:4553"] = "rtwdemo_pmsmfoc.c:842"; + /* <S24>/Product */ + this.urlHashMap["rtwdemo_pmsmfoc:4563"] = "rtwdemo_pmsmfoc.c:833"; + /* <S24>/Product1 */ + this.urlHashMap["rtwdemo_pmsmfoc:4564"] = "rtwdemo_pmsmfoc.c:834"; + /* <S24>/Product2 */ + this.urlHashMap["rtwdemo_pmsmfoc:4565"] = "rtwdemo_pmsmfoc.c:843"; + /* <S24>/Product3 */ + this.urlHashMap["rtwdemo_pmsmfoc:4566"] = "rtwdemo_pmsmfoc.c:844"; + /* <S25>/Add */ + this.urlHashMap["rtwdemo_pmsmfoc:5427"] = "msg=rtwMsg_notTraceable&block=rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Inverse_Clarke_Transform/Add"; + /* <S25>/Add1 */ + this.urlHashMap["rtwdemo_pmsmfoc:5428"] = "msg=rtwMsg_notTraceable&block=rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Inverse_Clarke_Transform/Add1"; + /* <S25>/Add2 */ + this.urlHashMap["rtwdemo_pmsmfoc:5429"] = "msg=rtwMsg_notTraceable&block=rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Inverse_Clarke_Transform/Add2"; + /* <S25>/Gain */ + this.urlHashMap["rtwdemo_pmsmfoc:5431"] = "msg=rtwMsg_notTraceable&block=rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Inverse_Clarke_Transform/Gain"; + /* <S25>/Gain1 */ + this.urlHashMap["rtwdemo_pmsmfoc:5432"] = "msg=rtwMsg_notTraceable&block=rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Inverse_Clarke_Transform/Gain1"; + /* <S25>/Half_Bus_Voltage */ + this.urlHashMap["rtwdemo_pmsmfoc:5430"] = "msg=rtwMsg_notTraceable&block=rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Inverse_Clarke_Transform/Half_Bus_Voltage"; + /* <S25>/Signal +Conversion */ + this.urlHashMap["rtwdemo_pmsmfoc:5814"] = "msg=rtwMsg_notTraceable&block=rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Inverse_Clarke_Transform/Signal%20Conversion"; + /* <S27>/Bus_Voltage */ + this.urlHashMap["rtwdemo_pmsmfoc:5446"] = "rtwdemo_pmsmfoc.c:874,881,888"; + /* <S27>/Sectors_1_and_4 */ + this.urlHashMap["rtwdemo_pmsmfoc:5447"] = "msg=rtwMsg_CodeGenerationReducedBlock&block=rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Calculate_Phase_Voltages/Sectors_1_and_4"; + /* <S27>/Sectors_2_and_5 */ + this.urlHashMap["rtwdemo_pmsmfoc:5448"] = "msg=rtwMsg_CodeGenerationReducedBlock&block=rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Calculate_Phase_Voltages/Sectors_2_and_5"; + /* <S27>/Sectors_3_and_6 */ + this.urlHashMap["rtwdemo_pmsmfoc:5449"] = "msg=rtwMsg_CodeGenerationReducedBlock&block=rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Calculate_Phase_Voltages/Sectors_3_and_6"; + /* <S27>/Select_Sector */ + this.urlHashMap["rtwdemo_pmsmfoc:5450"] = "rtwdemo_pmsmfoc.c:43,939,974&rtwdemo_pmsmfoc.h:177"; + /* <S28>/Calculate_Phase_Advanced_Sector */ + this.urlHashMap["rtwdemo_pmsmfoc:5528"] = "rtwdemo_pmsmfoc.c:925"; + /* <S28>/Lookup_Table */ + this.urlHashMap["rtwdemo_pmsmfoc:5532"] = "rtwdemo_pmsmfoc.c:83,916,929,940,942&rtwdemo_pmsmfoc.h:137"; + /* <S28>/Sector_Gain_VB */ + this.urlHashMap["rtwdemo_pmsmfoc:5534"] = "rtwdemo_pmsmfoc.c:920"; + /* <S28>/Sector_Gain_VC */ + this.urlHashMap["rtwdemo_pmsmfoc:5535"] = "rtwdemo_pmsmfoc.c:921"; + /* <S29>/Add */ + this.urlHashMap["rtwdemo_pmsmfoc:5540"] = "rtwdemo_pmsmfoc.c:926"; + /* <S29>/Add1 */ + this.urlHashMap["rtwdemo_pmsmfoc:5541"] = "rtwdemo_pmsmfoc.c:927"; + /* <S29>/Gain */ + this.urlHashMap["rtwdemo_pmsmfoc:5542"] = "rtwdemo_pmsmfoc.c:839"; + /* <S29>/Gain1 */ + this.urlHashMap["rtwdemo_pmsmfoc:5543"] = "rtwdemo_pmsmfoc.c:848"; + /* <S30>/Add */ + this.urlHashMap["rtwdemo_pmsmfoc:5453"] = "rtwdemo_pmsmfoc.c:853"; + /* <S30>/Alpha_Gain */ + this.urlHashMap["rtwdemo_pmsmfoc:5454"] = "rtwdemo_pmsmfoc.c:852"; + /* <S30>/Bus_Gain */ + this.urlHashMap["rtwdemo_pmsmfoc:5456"] = "msg=rtwMsg_CodeGenerationReducedBlock&block=rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Calculate_Phase_Voltages/Va_Sectors_1_and_4/Bus_Gain"; + /* <S30>/Space_Vector_Gain */ + this.urlHashMap["rtwdemo_pmsmfoc:5457"] = "rtwdemo_pmsmfoc.c:851"; + /* <S31>/Add */ + this.urlHashMap["rtwdemo_pmsmfoc:5461"] = "rtwdemo_pmsmfoc.c:876"; + /* <S31>/Alpha_Gain */ + this.urlHashMap["rtwdemo_pmsmfoc:5462"] = "rtwdemo_pmsmfoc.c:875"; + /* <S31>/Space_Vector_Gain */ + this.urlHashMap["rtwdemo_pmsmfoc:5464"] = "rtwdemo_pmsmfoc.c:873"; + /* <S32>/Add */ + this.urlHashMap["rtwdemo_pmsmfoc:5468"] = "rtwdemo_pmsmfoc.c:896"; + /* <S32>/Alpha_Gain */ + this.urlHashMap["rtwdemo_pmsmfoc:5469"] = "rtwdemo_pmsmfoc.c:895"; + /* <S32>/Bus_Gain */ + this.urlHashMap["rtwdemo_pmsmfoc:5471"] = "msg=rtwMsg_CodeGenerationReducedBlock&block=rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Calculate_Phase_Voltages/Va_Sectors_3_and_6/Bus_Gain"; + /* <S32>/Space_Vector_Gain */ + this.urlHashMap["rtwdemo_pmsmfoc:5472"] = "rtwdemo_pmsmfoc.c:894"; + /* <S33>/Add */ + this.urlHashMap["rtwdemo_pmsmfoc:5476"] = "rtwdemo_pmsmfoc.c:861"; + /* <S33>/Alpha_Gain */ + this.urlHashMap["rtwdemo_pmsmfoc:5477"] = "rtwdemo_pmsmfoc.c:859"; + /* <S33>/Beta_Gain */ + this.urlHashMap["rtwdemo_pmsmfoc:5478"] = "rtwdemo_pmsmfoc.c:860"; + /* <S33>/Bus_Gain */ + this.urlHashMap["rtwdemo_pmsmfoc:5480"] = "msg=rtwMsg_CodeGenerationReducedBlock&block=rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Calculate_Phase_Voltages/Vb_Sectors_1_and_4/Bus_Gain"; + /* <S33>/Va_Gain */ + this.urlHashMap["rtwdemo_pmsmfoc:5481"] = "rtwdemo_pmsmfoc.c:858"; + /* <S34>/Add */ + this.urlHashMap["rtwdemo_pmsmfoc:5485"] = "rtwdemo_pmsmfoc.c:883"; + /* <S34>/Beta_Gain */ + this.urlHashMap["rtwdemo_pmsmfoc:5486"] = "rtwdemo_pmsmfoc.c:882"; + /* <S34>/Va_Gain */ + this.urlHashMap["rtwdemo_pmsmfoc:5488"] = "rtwdemo_pmsmfoc.c:880"; + /* <S35>/Add */ + this.urlHashMap["rtwdemo_pmsmfoc:5492"] = "rtwdemo_pmsmfoc.c:903"; + /* <S35>/Alpha_Gain */ + this.urlHashMap["rtwdemo_pmsmfoc:5493"] = "rtwdemo_pmsmfoc.c:902"; + /* <S35>/Bus_Gain */ + this.urlHashMap["rtwdemo_pmsmfoc:5495"] = "msg=rtwMsg_CodeGenerationReducedBlock&block=rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Calculate_Phase_Voltages/Vb_Sectors_3_and_6/Bus_Gain"; + /* <S35>/Va_Gain */ + this.urlHashMap["rtwdemo_pmsmfoc:5496"] = "rtwdemo_pmsmfoc.c:901"; + /* <S36>/Add */ + this.urlHashMap["rtwdemo_pmsmfoc:5500"] = "rtwdemo_pmsmfoc.c:868"; + /* <S36>/Alpha_Gain */ + this.urlHashMap["rtwdemo_pmsmfoc:5501"] = "rtwdemo_pmsmfoc.c:867"; + /* <S36>/Bus_Gain */ + this.urlHashMap["rtwdemo_pmsmfoc:5503"] = "msg=rtwMsg_CodeGenerationReducedBlock&block=rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Calculate_Phase_Voltages/Vc_Sectors_1_and_4/Bus_Gain"; + /* <S36>/Space_Vector_Gain */ + this.urlHashMap["rtwdemo_pmsmfoc:5504"] = "rtwdemo_pmsmfoc.c:866"; + /* <S37>/Add */ + this.urlHashMap["rtwdemo_pmsmfoc:5508"] = "rtwdemo_pmsmfoc.c:890"; + /* <S37>/Beta_Gain */ + this.urlHashMap["rtwdemo_pmsmfoc:5509"] = "rtwdemo_pmsmfoc.c:889"; + /* <S37>/Space_Vector_Gain */ + this.urlHashMap["rtwdemo_pmsmfoc:5511"] = "rtwdemo_pmsmfoc.c:887"; + /* <S38>/Add */ + this.urlHashMap["rtwdemo_pmsmfoc:5515"] = "rtwdemo_pmsmfoc.c:911"; + /* <S38>/Alpha_Gain */ + this.urlHashMap["rtwdemo_pmsmfoc:5516"] = "rtwdemo_pmsmfoc.c:909"; + /* <S38>/Beta_Gain */ + this.urlHashMap["rtwdemo_pmsmfoc:5517"] = "rtwdemo_pmsmfoc.c:910"; + /* <S38>/Bus_Gain */ + this.urlHashMap["rtwdemo_pmsmfoc:5519"] = "msg=rtwMsg_CodeGenerationReducedBlock&block=rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Calculate_Phase_Voltages/Vc_Sectors_3_and_6/Bus_Gain"; + /* <S38>/Space_Vector_Gain */ + this.urlHashMap["rtwdemo_pmsmfoc:5520"] = "rtwdemo_pmsmfoc.c:908"; + /* <S39>/Compare */ + this.urlHashMap["rtwdemo_pmsmfoc:5529:2"] = "rtwdemo_pmsmfoc.c:922"; + /* <S39>/Constant */ + this.urlHashMap["rtwdemo_pmsmfoc:5529:3"] = "rtwdemo_pmsmfoc.c:917"; + /* <S40>/Compare */ + this.urlHashMap["rtwdemo_pmsmfoc:5530:2"] = "rtwdemo_pmsmfoc.c:923"; + /* <S40>/Constant */ + this.urlHashMap["rtwdemo_pmsmfoc:5530:3"] = "rtwdemo_pmsmfoc.c:918"; + /* <S41>/Compare */ + this.urlHashMap["rtwdemo_pmsmfoc:5531:2"] = "rtwdemo_pmsmfoc.c:924"; + /* <S41>/Constant */ + this.urlHashMap["rtwdemo_pmsmfoc:5531:3"] = "rtwdemo_pmsmfoc.c:919"; + /* <S42>/Constant */ + this.urlHashMap["rtwdemo_pmsmfoc:5621:1684"] = "rtwdemo_pmsmfoc.c:764"; + /* <S42>/Integral Gain */ + this.urlHashMap["rtwdemo_pmsmfoc:5621:1667"] = "rtwdemo_pmsmfoc.c:69,742&rtwdemo_pmsmfoc.h:196"; + /* <S42>/Integrator */ + this.urlHashMap["rtwdemo_pmsmfoc:5621:1668"] = "rtwdemo_pmsmfoc.c:664,697,776,1298&rtwdemo_pmsmfoc.h:114"; + /* <S42>/Proportional Gain */ + this.urlHashMap["rtwdemo_pmsmfoc:5621:1666"] = "rtwdemo_pmsmfoc.c:70,698&rtwdemo_pmsmfoc.h:197"; + /* <S42>/Saturate */ + this.urlHashMap["rtwdemo_pmsmfoc:5621:1669"] = "rtwdemo_pmsmfoc.c:703,715"; + /* <S42>/Sum */ + this.urlHashMap["rtwdemo_pmsmfoc:5621:1665"] = "rtwdemo_pmsmfoc.c:696"; + /* <S42>/Switch */ + this.urlHashMap["rtwdemo_pmsmfoc:5621:1683"] = "rtwdemo_pmsmfoc.c:763,774"; + /* <S43>/Add */ + this.urlHashMap["rtwdemo_pmsmfoc:6193"] = "rtwdemo_pmsmfoc.c:687"; + /* <S43>/Greater_Than */ + this.urlHashMap["rtwdemo_pmsmfoc:6194"] = "rtwdemo_pmsmfoc.c:685"; + /* <S43>/Less_Than */ + this.urlHashMap["rtwdemo_pmsmfoc:6195"] = "rtwdemo_pmsmfoc.c:686"; + /* <S43>/Modulus */ + this.urlHashMap["rtwdemo_pmsmfoc:6196"] = "rtwdemo_pmsmfoc.c:684"; + /* <S43>/Neg_Pi_Constant */ + this.urlHashMap["rtwdemo_pmsmfoc:6197"] = "rtwdemo_pmsmfoc.c:678"; + /* <S43>/OR */ + this.urlHashMap["rtwdemo_pmsmfoc:6198"] = "rtwdemo_pmsmfoc.c:683"; + /* <S43>/Pi_Constant_1 */ + this.urlHashMap["rtwdemo_pmsmfoc:6199"] = "rtwdemo_pmsmfoc.c:679"; + /* <S43>/Pi_Constant_2 */ + this.urlHashMap["rtwdemo_pmsmfoc:6200"] = "rtwdemo_pmsmfoc.c:680"; + /* <S43>/Pi_Constant_3 */ + this.urlHashMap["rtwdemo_pmsmfoc:6201"] = "rtwdemo_pmsmfoc.c:681"; + /* <S43>/Select_Angle */ + this.urlHashMap["rtwdemo_pmsmfoc:6202"] = "rtwdemo_pmsmfoc.c:677,694"; + /* <S43>/Subtract */ + this.urlHashMap["rtwdemo_pmsmfoc:6203"] = "rtwdemo_pmsmfoc.c:688"; + /* <S43>/Two_Pi_Constant */ + this.urlHashMap["rtwdemo_pmsmfoc:6204"] = "rtwdemo_pmsmfoc.c:682"; + /* <S44>/AND */ + this.urlHashMap["rtwdemo_pmsmfoc:5621:1682"] = "rtwdemo_pmsmfoc.c:766"; + /* <S44>/DataTypeConv1 */ + this.urlHashMap["rtwdemo_pmsmfoc:5621:1674"] = "rtwdemo_pmsmfoc.c:745,752"; + /* <S44>/DataTypeConv2 */ + this.urlHashMap["rtwdemo_pmsmfoc:5621:1675"] = "rtwdemo_pmsmfoc.c:765"; + /* <S44>/DeadZone */ + this.urlHashMap["rtwdemo_pmsmfoc:5621:1677"] = "rtwdemo_pmsmfoc.c:717,726"; + /* <S44>/Equal */ + this.urlHashMap["rtwdemo_pmsmfoc:5621:1681"] = "rtwdemo_pmsmfoc.c:767"; + /* <S44>/NotEqual */ + this.urlHashMap["rtwdemo_pmsmfoc:5621:1679"] = "rtwdemo_pmsmfoc.c:728"; + /* <S44>/SignDeltaU */ + this.urlHashMap["rtwdemo_pmsmfoc:5621:1678"] = "rtwdemo_pmsmfoc.c:731,740"; + /* <S44>/SignPreIntegrator */ + this.urlHashMap["rtwdemo_pmsmfoc:5621:1680"] = "rtwdemo_pmsmfoc.c:754,768"; + /* <S44>/ZeroGain */ + this.urlHashMap["rtwdemo_pmsmfoc:5621:1676"] = "msg=rtwMsg_CodeGenerationReducedBlock&block=rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Position_Control/Position_Control/Clamping%20circuit/ZeroGain"; + /* <S45>/Constant */ + this.urlHashMap["rtwdemo_pmsmfoc:4768:1684"] = "rtwdemo_pmsmfoc.c:640"; + /* <S45>/Integral Gain */ + this.urlHashMap["rtwdemo_pmsmfoc:4768:1667"] = "rtwdemo_pmsmfoc.c:71,618&rtwdemo_pmsmfoc.h:198"; + /* <S45>/Integrator */ + this.urlHashMap["rtwdemo_pmsmfoc:4768:1668"] = "rtwdemo_pmsmfoc.c:559,573,652,1292&rtwdemo_pmsmfoc.h:115"; + /* <S45>/Proportional Gain */ + this.urlHashMap["rtwdemo_pmsmfoc:4768:1666"] = "rtwdemo_pmsmfoc.c:72,574&rtwdemo_pmsmfoc.h:199"; + /* <S45>/Saturate */ + this.urlHashMap["rtwdemo_pmsmfoc:4768:1669"] = "rtwdemo_pmsmfoc.c:579,591"; + /* <S45>/Sum */ + this.urlHashMap["rtwdemo_pmsmfoc:4768:1665"] = "rtwdemo_pmsmfoc.c:572"; + /* <S45>/Switch */ + this.urlHashMap["rtwdemo_pmsmfoc:4768:1683"] = "rtwdemo_pmsmfoc.c:639,650"; + /* <S46>/AND */ + this.urlHashMap["rtwdemo_pmsmfoc:4768:1682"] = "rtwdemo_pmsmfoc.c:642"; + /* <S46>/DataTypeConv1 */ + this.urlHashMap["rtwdemo_pmsmfoc:4768:1674"] = "rtwdemo_pmsmfoc.c:621,628"; + /* <S46>/DataTypeConv2 */ + this.urlHashMap["rtwdemo_pmsmfoc:4768:1675"] = "rtwdemo_pmsmfoc.c:641"; + /* <S46>/DeadZone */ + this.urlHashMap["rtwdemo_pmsmfoc:4768:1677"] = "rtwdemo_pmsmfoc.c:593,602"; + /* <S46>/Equal */ + this.urlHashMap["rtwdemo_pmsmfoc:4768:1681"] = "rtwdemo_pmsmfoc.c:643"; + /* <S46>/NotEqual */ + this.urlHashMap["rtwdemo_pmsmfoc:4768:1679"] = "rtwdemo_pmsmfoc.c:604"; + /* <S46>/SignDeltaU */ + this.urlHashMap["rtwdemo_pmsmfoc:4768:1678"] = "rtwdemo_pmsmfoc.c:607,616"; + /* <S46>/SignPreIntegrator */ + this.urlHashMap["rtwdemo_pmsmfoc:4768:1680"] = "rtwdemo_pmsmfoc.c:630,644"; + /* <S46>/ZeroGain */ + this.urlHashMap["rtwdemo_pmsmfoc:4768:1676"] = "msg=rtwMsg_CodeGenerationReducedBlock&block=rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Velocity_Control/Rotor_Speed_Control/Clamping%20circuit/ZeroGain"; + /* <S47>/Constant */ + this.urlHashMap["rtwdemo_pmsmfoc:5624:158"] = "rtwdemo_pmsmfoc.c:1139"; + /* <S48>/ADC_Driver_Units_To_Amps */ + this.urlHashMap["rtwdemo_pmsmfoc:6047"] = "rtwdemo_pmsmfoc.c:65,182&rtwdemo_pmsmfoc.h:192"; + /* <S48>/ADC_Zero_Offset */ + this.urlHashMap["rtwdemo_pmsmfoc:6046"] = "rtwdemo_pmsmfoc.c:66,183&rtwdemo_pmsmfoc.h:193"; + /* <S48>/Add */ + this.urlHashMap["rtwdemo_pmsmfoc:6048"] = "rtwdemo_pmsmfoc.c:185"; + /* <S48>/Product */ + this.urlHashMap["rtwdemo_pmsmfoc:6049"] = "rtwdemo_pmsmfoc.c:36,181&rtwdemo_pmsmfoc.h:170"; + /* <S49>/Add */ + this.urlHashMap["rtwdemo_pmsmfoc:6003"] = "rtwdemo_pmsmfoc.c:37,247&rtwdemo_pmsmfoc.h:171"; + /* <S49>/Lo_to_Hi_Rate_Transition1 */ + this.urlHashMap["rtwdemo_pmsmfoc:5204"] = "msg=rtwMsg_reducedBlock&block=rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Encoder_To_Position/Lo_to_Hi_Rate_Transition1"; + /* <S49>/Offset_Between_Encoder_Zero_And_Mechanical_Zero */ + this.urlHashMap["rtwdemo_pmsmfoc:6002"] = "rtwdemo_pmsmfoc.c:67,248&rtwdemo_pmsmfoc.h:194"; + /* <S49>/Wait_For_Valid_Position */ + this.urlHashMap["rtwdemo_pmsmfoc:6311"] = "rtwdemo_pmsmfoc.c:29,194,245,1303&rtwdemo_pmsmfoc.h:119,123,124,125"; + /* <S49>/radians_per_counts */ + this.urlHashMap["rtwdemo_pmsmfoc:5638"] = "rtwdemo_pmsmfoc.c:249"; + /* <S51>/Lo_to_Hi_Rate_Transition2 */ + this.urlHashMap["rtwdemo_pmsmfoc:5291"] = "msg=rtwMsg_reducedBlock&block=rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Startup_Open_Loop_Control/Lo_to_Hi_Rate_Transition2"; + /* <S51>/Open Loop Position */ + this.urlHashMap["rtwdemo_pmsmfoc:5254"] = "rtwdemo_pmsmfoc.c:436,469,1279,1286&rtwdemo_pmsmfoc.h:131"; + /* <S51>/Relational +Operator */ + this.urlHashMap["rtwdemo_pmsmfoc:5663"] = "rtwdemo_pmsmfoc.c:430&rtwdemo_pmsmfoc.h:129"; + /* <S51>/Switch */ + this.urlHashMap["rtwdemo_pmsmfoc:5375"] = "rtwdemo_pmsmfoc.c:471,478"; + /* <S52>:25 */ + this.urlHashMap["rtwdemo_pmsmfoc:6311:25"] = "rtwdemo_pmsmfoc.c:222"; + /* <S52>:99 */ + this.urlHashMap["rtwdemo_pmsmfoc:6311:99"] = "rtwdemo_pmsmfoc.c:226"; + /* <S52>:101 */ + this.urlHashMap["rtwdemo_pmsmfoc:6311:101"] = "rtwdemo_pmsmfoc.c:235"; + /* <S52>:113 */ + this.urlHashMap["rtwdemo_pmsmfoc:6311:113"] = "rtwdemo_pmsmfoc.c:208"; + /* <S52>:114 */ + this.urlHashMap["rtwdemo_pmsmfoc:6311:114"] = "rtwdemo_pmsmfoc.c:210"; + /* <S52>:120 */ + this.urlHashMap["rtwdemo_pmsmfoc:6311:120"] = "rtwdemo_pmsmfoc.c:214"; + /* <S52>:115 */ + this.urlHashMap["rtwdemo_pmsmfoc:6311:115"] = "rtwdemo_pmsmfoc.c:211"; + /* <S52>:100 */ + this.urlHashMap["rtwdemo_pmsmfoc:6311:100"] = "rtwdemo_pmsmfoc.c:228"; + /* <S52>:102 */ + this.urlHashMap["rtwdemo_pmsmfoc:6311:102"] = "rtwdemo_pmsmfoc.c:237"; + /* <S52>:119 */ + this.urlHashMap["rtwdemo_pmsmfoc:6311:119"] = "rtwdemo_pmsmfoc.c:215"; + /* <S53>/Add */ + this.urlHashMap["rtwdemo_pmsmfoc:5820"] = "msg=rtwMsg_notTraceable&block=rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Explicit_Angle_Wrap/Add"; + /* <S53>/Delay_Position */ + this.urlHashMap["rtwdemo_pmsmfoc:5980"] = "msg=rtwMsg_notTraceable&block=rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Explicit_Angle_Wrap/Delay_Position"; + /* <S53>/Difference */ + this.urlHashMap["rtwdemo_pmsmfoc:5827"] = "msg=rtwMsg_notTraceable&block=rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Explicit_Angle_Wrap/Difference"; + /* <S53>/Greater_Than */ + this.urlHashMap["rtwdemo_pmsmfoc:5836"] = "msg=rtwMsg_notTraceable&block=rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Explicit_Angle_Wrap/Greater_Than"; + /* <S53>/Less_Than */ + this.urlHashMap["rtwdemo_pmsmfoc:5834"] = "msg=rtwMsg_notTraceable&block=rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Explicit_Angle_Wrap/Less_Than"; + /* <S53>/Modulus */ + this.urlHashMap["rtwdemo_pmsmfoc:5829"] = "msg=rtwMsg_notTraceable&block=rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Explicit_Angle_Wrap/Modulus"; + /* <S53>/Neg_Pi_Constant */ + this.urlHashMap["rtwdemo_pmsmfoc:5835"] = "msg=rtwMsg_notTraceable&block=rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Explicit_Angle_Wrap/Neg_Pi_Constant"; + /* <S53>/OR */ + this.urlHashMap["rtwdemo_pmsmfoc:5828"] = "msg=rtwMsg_notTraceable&block=rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Explicit_Angle_Wrap/OR"; + /* <S53>/Pi_Constant_1 */ + this.urlHashMap["rtwdemo_pmsmfoc:5825"] = "msg=rtwMsg_notTraceable&block=rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Explicit_Angle_Wrap/Pi_Constant_1"; + /* <S53>/Pi_Constant_2 */ + this.urlHashMap["rtwdemo_pmsmfoc:5824"] = "msg=rtwMsg_notTraceable&block=rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Explicit_Angle_Wrap/Pi_Constant_2"; + /* <S53>/Pi_Constant_3 */ + this.urlHashMap["rtwdemo_pmsmfoc:5837"] = "msg=rtwMsg_notTraceable&block=rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Explicit_Angle_Wrap/Pi_Constant_3"; + /* <S53>/Scale_Time */ + this.urlHashMap["rtwdemo_pmsmfoc:5830"] = "msg=rtwMsg_notTraceable&block=rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Explicit_Angle_Wrap/Scale_Time"; + /* <S53>/Select_Angle */ + this.urlHashMap["rtwdemo_pmsmfoc:5831"] = "msg=rtwMsg_notTraceable&block=rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Explicit_Angle_Wrap/Select_Angle"; + /* <S53>/Subtract */ + this.urlHashMap["rtwdemo_pmsmfoc:5819"] = "msg=rtwMsg_notTraceable&block=rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Explicit_Angle_Wrap/Subtract"; + /* <S53>/Two_Pi_Constant */ + this.urlHashMap["rtwdemo_pmsmfoc:5823"] = "msg=rtwMsg_notTraceable&block=rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Explicit_Angle_Wrap/Two_Pi_Constant"; + /* <S54>/Add */ + this.urlHashMap["rtwdemo_pmsmfoc:5943"] = "msg=rtwMsg_notTraceable&block=rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Explicit_Angle_Wrap_With_Error/Add"; + /* <S54>/Delay_Position */ + this.urlHashMap["rtwdemo_pmsmfoc:5979"] = "msg=rtwMsg_notTraceable&block=rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Explicit_Angle_Wrap_With_Error/Delay_Position"; + /* <S54>/Difference */ + this.urlHashMap["rtwdemo_pmsmfoc:5946"] = "msg=rtwMsg_notTraceable&block=rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Explicit_Angle_Wrap_With_Error/Difference"; + /* <S54>/Greater_Than */ + this.urlHashMap["rtwdemo_pmsmfoc:5951"] = "msg=rtwMsg_notTraceable&block=rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Explicit_Angle_Wrap_With_Error/Greater_Than"; + /* <S54>/Less_Than */ + this.urlHashMap["rtwdemo_pmsmfoc:5952"] = "msg=rtwMsg_notTraceable&block=rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Explicit_Angle_Wrap_With_Error/Less_Than"; + /* <S54>/Modulus */ + this.urlHashMap["rtwdemo_pmsmfoc:5953"] = "msg=rtwMsg_notTraceable&block=rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Explicit_Angle_Wrap_With_Error/Modulus"; + /* <S54>/Neg_Pi_Constant */ + this.urlHashMap["rtwdemo_pmsmfoc:5954"] = "msg=rtwMsg_notTraceable&block=rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Explicit_Angle_Wrap_With_Error/Neg_Pi_Constant"; + /* <S54>/OR */ + this.urlHashMap["rtwdemo_pmsmfoc:5955"] = "msg=rtwMsg_notTraceable&block=rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Explicit_Angle_Wrap_With_Error/OR"; + /* <S54>/Pi_Constant_1 */ + this.urlHashMap["rtwdemo_pmsmfoc:5956"] = "msg=rtwMsg_notTraceable&block=rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Explicit_Angle_Wrap_With_Error/Pi_Constant_1"; + /* <S54>/Pi_Constant_2 */ + this.urlHashMap["rtwdemo_pmsmfoc:5957"] = "msg=rtwMsg_notTraceable&block=rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Explicit_Angle_Wrap_With_Error/Pi_Constant_2"; + /* <S54>/Pi_Constant_3 */ + this.urlHashMap["rtwdemo_pmsmfoc:5958"] = "msg=rtwMsg_notTraceable&block=rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Explicit_Angle_Wrap_With_Error/Pi_Constant_3"; + /* <S54>/Scale_Time */ + this.urlHashMap["rtwdemo_pmsmfoc:5960"] = "msg=rtwMsg_notTraceable&block=rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Explicit_Angle_Wrap_With_Error/Scale_Time"; + /* <S54>/Select_Angle */ + this.urlHashMap["rtwdemo_pmsmfoc:5961"] = "msg=rtwMsg_notTraceable&block=rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Explicit_Angle_Wrap_With_Error/Select_Angle"; + /* <S54>/Subtract */ + this.urlHashMap["rtwdemo_pmsmfoc:5962"] = "msg=rtwMsg_notTraceable&block=rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Explicit_Angle_Wrap_With_Error/Subtract"; + /* <S54>/Two_Pi_Constant */ + this.urlHashMap["rtwdemo_pmsmfoc:5963"] = "msg=rtwMsg_notTraceable&block=rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Explicit_Angle_Wrap_With_Error/Two_Pi_Constant"; + /* <S55>/Convert_to_Uint32 */ + this.urlHashMap["rtwdemo_pmsmfoc:5841"] = "rtwdemo_pmsmfoc.c:256"; + /* <S55>/Difference_Wrap */ + this.urlHashMap["rtwdemo_pmsmfoc:5839"] = "rtwdemo_pmsmfoc.c:264"; + /* <S55>/Difference_to_Single */ + this.urlHashMap["rtwdemo_pmsmfoc:5840"] = "rtwdemo_pmsmfoc.c:262"; + /* <S55>/Position_Delay */ + this.urlHashMap["rtwdemo_pmsmfoc:5977"] = "rtwdemo_pmsmfoc.c:263,1176&rtwdemo_pmsmfoc.h:116"; + /* <S55>/Scale_Input */ + this.urlHashMap["rtwdemo_pmsmfoc:5844"] = "rtwdemo_pmsmfoc.c:257"; + /* <S55>/Scale_Output */ + this.urlHashMap["rtwdemo_pmsmfoc:5845"] = "rtwdemo_pmsmfoc.c:38,261&rtwdemo_pmsmfoc.h:172"; + /* <S55>/Wrap_To_Pi */ + this.urlHashMap["rtwdemo_pmsmfoc:6006"] = "rtwdemo_pmsmfoc.c:255"; + /* <S56>/AND */ + this.urlHashMap["rtwdemo_pmsmfoc:6020"] = "msg=rtwMsg_notTraceable&block=rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Explicit_Angle_Wrap_With_Error/Detect_Velocity_Error/AND"; + /* <S56>/Excessive_Velocity_Change */ + this.urlHashMap["rtwdemo_pmsmfoc:6022"] = "msg=rtwMsg_notTraceable&block=rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Explicit_Angle_Wrap_With_Error/Detect_Velocity_Error/Excessive_Velocity_Change"; + /* <S56>/Generate_Error */ + this.urlHashMap["rtwdemo_pmsmfoc:6023"] = "msg=rtwMsg_notTraceable&block=rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Explicit_Angle_Wrap_With_Error/Detect_Velocity_Error/Generate_Error"; + /* <S56>/Max_Valid_Velocity_Change */ + this.urlHashMap["rtwdemo_pmsmfoc:6027"] = "msg=rtwMsg_notTraceable&block=rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Explicit_Angle_Wrap_With_Error/Detect_Velocity_Error/Max_Valid_Velocity_Change"; + /* <S56>/Relational_Operator */ + this.urlHashMap["rtwdemo_pmsmfoc:6028"] = "msg=rtwMsg_notTraceable&block=rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Explicit_Angle_Wrap_With_Error/Detect_Velocity_Error/Relational_Operator"; + /* <S56>/Velocity_Abs */ + this.urlHashMap["rtwdemo_pmsmfoc:6029"] = "msg=rtwMsg_notTraceable&block=rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Explicit_Angle_Wrap_With_Error/Detect_Velocity_Error/Velocity_Abs"; + /* <S56>/Velocity_Delay */ + this.urlHashMap["rtwdemo_pmsmfoc:6030"] = "msg=rtwMsg_notTraceable&block=rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Explicit_Angle_Wrap_With_Error/Detect_Velocity_Error/Velocity_Delay"; + /* <S56>/Velocity_Difference */ + this.urlHashMap["rtwdemo_pmsmfoc:6031"] = "msg=rtwMsg_notTraceable&block=rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Explicit_Angle_Wrap_With_Error/Detect_Velocity_Error/Velocity_Difference"; + /* <S57>/Constant */ + this.urlHashMap["rtwdemo_pmsmfoc:6021:158"] = "msg=rtwMsg_notTraceable&block=rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Explicit_Angle_Wrap_With_Error/Detect_Velocity_Error/Enumerated_Constant/Constant"; + /* <S58>/Data_Store_Write */ + this.urlHashMap["rtwdemo_pmsmfoc:6025"] = "msg=rtwMsg_notTraceable&block=rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Explicit_Angle_Wrap_With_Error/Detect_Velocity_Error/Generate_Error/Data_Store_Write"; + /* <S59>/Constant */ + this.urlHashMap["rtwdemo_pmsmfoc:6026:158"] = "msg=rtwMsg_notTraceable&block=rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Explicit_Angle_Wrap_With_Error/Detect_Velocity_Error/Generate_Error/Enumerated_Constant/Constant"; + /* <S60>/AND */ + this.urlHashMap["rtwdemo_pmsmfoc:6015"] = "rtwdemo_pmsmfoc.c:1146,1163"; + /* <S60>/Excessive_Velocity_Change */ + this.urlHashMap["rtwdemo_pmsmfoc:5968"] = "rtwdemo_pmsmfoc.c:1151"; + /* <S60>/Generate_Error */ + this.urlHashMap["rtwdemo_pmsmfoc:5969"] = "rtwdemo_pmsmfoc.c:1143,1164"; + /* <S60>/Max_Valid_Velocity_Change */ + this.urlHashMap["rtwdemo_pmsmfoc:5973"] = "rtwdemo_pmsmfoc.c:1148"; + /* <S60>/Relational_Operator */ + this.urlHashMap["rtwdemo_pmsmfoc:6012"] = "rtwdemo_pmsmfoc.c:1152"; + /* <S60>/Velocity_Abs */ + this.urlHashMap["rtwdemo_pmsmfoc:5974"] = "rtwdemo_pmsmfoc.c:1147"; + /* <S60>/Velocity_Delay */ + this.urlHashMap["rtwdemo_pmsmfoc:5975"] = "rtwdemo_pmsmfoc.c:1150,1241&rtwdemo_pmsmfoc.h:111"; + /* <S60>/Velocity_Difference */ + this.urlHashMap["rtwdemo_pmsmfoc:5976"] = "rtwdemo_pmsmfoc.c:1153"; + /* <S61>/Constant */ + this.urlHashMap["rtwdemo_pmsmfoc:6014:158"] = "rtwdemo_pmsmfoc.c:1149"; + /* <S62>/Enable */ + this.urlHashMap["rtwdemo_pmsmfoc:5970"] = "rtwdemo_pmsmfoc.c:1144"; + /* <S62>/Data_Store_Write */ + this.urlHashMap["rtwdemo_pmsmfoc:5991"] = "rtwdemo_pmsmfoc.c:1157"; + /* <S63>/Constant */ + this.urlHashMap["rtwdemo_pmsmfoc:5992:158"] = "rtwdemo_pmsmfoc.c:1158"; + /* <S64>/Constant */ + this.urlHashMap["rtwdemo_pmsmfoc:5662:158"] = "rtwdemo_pmsmfoc.c:431"; + /* <S65>/Enable */ + this.urlHashMap["rtwdemo_pmsmfoc:5376"] = "rtwdemo_pmsmfoc.c:437"; + /* <S65>/Integrate_To_Position */ + this.urlHashMap["rtwdemo_pmsmfoc:6045"] = "rtwdemo_pmsmfoc.c:441,449,452,1280&rtwdemo_pmsmfoc.h:105,112"; + /* <S65>/Integrate_To_Velocity */ + this.urlHashMap["rtwdemo_pmsmfoc:6044"] = "rtwdemo_pmsmfoc.c:444,453,458,1283&rtwdemo_pmsmfoc.h:113"; + /* <S65>/Startup_Acceleration_Constant */ + this.urlHashMap["rtwdemo_pmsmfoc:6041"] = "rtwdemo_pmsmfoc.c:73,459&rtwdemo_pmsmfoc.h:200"; + this.getUrlHash = function(sid) { return this.urlHashMap[sid];} +} +RTW_Sid2UrlHash.instance = new RTW_Sid2UrlHash(); +function RTW_rtwnameSIDMap() { + this.rtwnameHashMap = new Array(); + this.sidHashMap = new Array(); + this.rtwnameHashMap["<Root>"] = {sid: "rtwdemo_pmsmfoc"}; + this.sidHashMap["rtwdemo_pmsmfoc"] = {rtwname: "<Root>"}; + this.rtwnameHashMap["<S1>"] = {sid: "rtwdemo_pmsmfoc:5797"}; + this.sidHashMap["rtwdemo_pmsmfoc:5797"] = {rtwname: "<S1>"}; + this.rtwnameHashMap["<S2>"] = {sid: "rtwdemo_pmsmfoc:1714"}; + this.sidHashMap["rtwdemo_pmsmfoc:1714"] = {rtwname: "<S2>"}; + this.rtwnameHashMap["<S3>"] = {sid: "rtwdemo_pmsmfoc:4452"}; + this.sidHashMap["rtwdemo_pmsmfoc:4452"] = {rtwname: "<S3>"}; + this.rtwnameHashMap["<S4>"] = {sid: "rtwdemo_pmsmfoc:4451"}; + this.sidHashMap["rtwdemo_pmsmfoc:4451"] = {rtwname: "<S4>"}; + this.rtwnameHashMap["<S5>"] = {sid: "rtwdemo_pmsmfoc:4465"}; + this.sidHashMap["rtwdemo_pmsmfoc:4465"] = {rtwname: "<S5>"}; + this.rtwnameHashMap["<S6>"] = {sid: "rtwdemo_pmsmfoc:4793"}; + this.sidHashMap["rtwdemo_pmsmfoc:4793"] = {rtwname: "<S6>"}; + this.rtwnameHashMap["<S7>"] = {sid: "rtwdemo_pmsmfoc:5551"}; + this.sidHashMap["rtwdemo_pmsmfoc:5551"] = {rtwname: "<S7>"}; + this.rtwnameHashMap["<S8>"] = {sid: "rtwdemo_pmsmfoc:4475"}; + this.sidHashMap["rtwdemo_pmsmfoc:4475"] = {rtwname: "<S8>"}; + this.rtwnameHashMap["<S9>"] = {sid: "rtwdemo_pmsmfoc:5589"}; + this.sidHashMap["rtwdemo_pmsmfoc:5589"] = {rtwname: "<S9>"}; + this.rtwnameHashMap["<S10>"] = {sid: "rtwdemo_pmsmfoc:5593"}; + this.sidHashMap["rtwdemo_pmsmfoc:5593"] = {rtwname: "<S10>"}; + this.rtwnameHashMap["<S11>"] = {sid: "rtwdemo_pmsmfoc:5584"}; + this.sidHashMap["rtwdemo_pmsmfoc:5584"] = {rtwname: "<S11>"}; + this.rtwnameHashMap["<S12>"] = {sid: "rtwdemo_pmsmfoc:4480"}; + this.sidHashMap["rtwdemo_pmsmfoc:4480"] = {rtwname: "<S12>"}; + this.rtwnameHashMap["<S13>"] = {sid: "rtwdemo_pmsmfoc:5600"}; + this.sidHashMap["rtwdemo_pmsmfoc:5600"] = {rtwname: "<S13>"}; + this.rtwnameHashMap["<S14>"] = {sid: "rtwdemo_pmsmfoc:4495"}; + this.sidHashMap["rtwdemo_pmsmfoc:4495"] = {rtwname: "<S14>"}; + this.rtwnameHashMap["<S15>"] = {sid: "rtwdemo_pmsmfoc:4501"}; + this.sidHashMap["rtwdemo_pmsmfoc:4501"] = {rtwname: "<S15>"}; + this.rtwnameHashMap["<S16>"] = {sid: "rtwdemo_pmsmfoc:4532"}; + this.sidHashMap["rtwdemo_pmsmfoc:4532"] = {rtwname: "<S16>"}; + this.rtwnameHashMap["<S17>"] = {sid: "rtwdemo_pmsmfoc:4489"}; + this.sidHashMap["rtwdemo_pmsmfoc:4489"] = {rtwname: "<S17>"}; + this.rtwnameHashMap["<S18>"] = {sid: "rtwdemo_pmsmfoc:4490"}; + this.sidHashMap["rtwdemo_pmsmfoc:4490"] = {rtwname: "<S18>"}; + this.rtwnameHashMap["<S19>"] = {sid: "rtwdemo_pmsmfoc:4489:1671"}; + this.sidHashMap["rtwdemo_pmsmfoc:4489:1671"] = {rtwname: "<S19>"}; + this.rtwnameHashMap["<S20>"] = {sid: "rtwdemo_pmsmfoc:4490:1671"}; + this.sidHashMap["rtwdemo_pmsmfoc:4490:1671"] = {rtwname: "<S20>"}; + this.rtwnameHashMap["<S21>"] = {sid: "rtwdemo_pmsmfoc:4504"}; + this.sidHashMap["rtwdemo_pmsmfoc:4504"] = {rtwname: "<S21>"}; + this.rtwnameHashMap["<S22>"] = {sid: "rtwdemo_pmsmfoc:4513"}; + this.sidHashMap["rtwdemo_pmsmfoc:4513"] = {rtwname: "<S22>"}; + this.rtwnameHashMap["<S23>"] = {sid: "rtwdemo_pmsmfoc:5421"}; + this.sidHashMap["rtwdemo_pmsmfoc:5421"] = {rtwname: "<S23>"}; + this.rtwnameHashMap["<S24>"] = {sid: "rtwdemo_pmsmfoc:4549"}; + this.sidHashMap["rtwdemo_pmsmfoc:4549"] = {rtwname: "<S24>"}; + this.rtwnameHashMap["<S25>"] = {sid: "rtwdemo_pmsmfoc:5424"}; + this.sidHashMap["rtwdemo_pmsmfoc:5424"] = {rtwname: "<S25>"}; + this.rtwnameHashMap["<S26>"] = {sid: "rtwdemo_pmsmfoc:5438"}; + this.sidHashMap["rtwdemo_pmsmfoc:5438"] = {rtwname: "<S26>"}; + this.rtwnameHashMap["<S27>"] = {sid: "rtwdemo_pmsmfoc:5441"}; + this.sidHashMap["rtwdemo_pmsmfoc:5441"] = {rtwname: "<S27>"}; + this.rtwnameHashMap["<S28>"] = {sid: "rtwdemo_pmsmfoc:5523"}; + this.sidHashMap["rtwdemo_pmsmfoc:5523"] = {rtwname: "<S28>"}; + this.rtwnameHashMap["<S29>"] = {sid: "rtwdemo_pmsmfoc:5537"}; + this.sidHashMap["rtwdemo_pmsmfoc:5537"] = {rtwname: "<S29>"}; + this.rtwnameHashMap["<S30>"] = {sid: "rtwdemo_pmsmfoc:5451"}; + this.sidHashMap["rtwdemo_pmsmfoc:5451"] = {rtwname: "<S30>"}; + this.rtwnameHashMap["<S31>"] = {sid: "rtwdemo_pmsmfoc:5459"}; + this.sidHashMap["rtwdemo_pmsmfoc:5459"] = {rtwname: "<S31>"}; + this.rtwnameHashMap["<S32>"] = {sid: "rtwdemo_pmsmfoc:5466"}; + this.sidHashMap["rtwdemo_pmsmfoc:5466"] = {rtwname: "<S32>"}; + this.rtwnameHashMap["<S33>"] = {sid: "rtwdemo_pmsmfoc:5474"}; + this.sidHashMap["rtwdemo_pmsmfoc:5474"] = {rtwname: "<S33>"}; + this.rtwnameHashMap["<S34>"] = {sid: "rtwdemo_pmsmfoc:5483"}; + this.sidHashMap["rtwdemo_pmsmfoc:5483"] = {rtwname: "<S34>"}; + this.rtwnameHashMap["<S35>"] = {sid: "rtwdemo_pmsmfoc:5490"}; + this.sidHashMap["rtwdemo_pmsmfoc:5490"] = {rtwname: "<S35>"}; + this.rtwnameHashMap["<S36>"] = {sid: "rtwdemo_pmsmfoc:5498"}; + this.sidHashMap["rtwdemo_pmsmfoc:5498"] = {rtwname: "<S36>"}; + this.rtwnameHashMap["<S37>"] = {sid: "rtwdemo_pmsmfoc:5506"}; + this.sidHashMap["rtwdemo_pmsmfoc:5506"] = {rtwname: "<S37>"}; + this.rtwnameHashMap["<S38>"] = {sid: "rtwdemo_pmsmfoc:5513"}; + this.sidHashMap["rtwdemo_pmsmfoc:5513"] = {rtwname: "<S38>"}; + this.rtwnameHashMap["<S39>"] = {sid: "rtwdemo_pmsmfoc:5529"}; + this.sidHashMap["rtwdemo_pmsmfoc:5529"] = {rtwname: "<S39>"}; + this.rtwnameHashMap["<S40>"] = {sid: "rtwdemo_pmsmfoc:5530"}; + this.sidHashMap["rtwdemo_pmsmfoc:5530"] = {rtwname: "<S40>"}; + this.rtwnameHashMap["<S41>"] = {sid: "rtwdemo_pmsmfoc:5531"}; + this.sidHashMap["rtwdemo_pmsmfoc:5531"] = {rtwname: "<S41>"}; + this.rtwnameHashMap["<S42>"] = {sid: "rtwdemo_pmsmfoc:5621"}; + this.sidHashMap["rtwdemo_pmsmfoc:5621"] = {rtwname: "<S42>"}; + this.rtwnameHashMap["<S43>"] = {sid: "rtwdemo_pmsmfoc:6205"}; + this.sidHashMap["rtwdemo_pmsmfoc:6205"] = {rtwname: "<S43>"}; + this.rtwnameHashMap["<S44>"] = {sid: "rtwdemo_pmsmfoc:5621:1670"}; + this.sidHashMap["rtwdemo_pmsmfoc:5621:1670"] = {rtwname: "<S44>"}; + this.rtwnameHashMap["<S45>"] = {sid: "rtwdemo_pmsmfoc:4768"}; + this.sidHashMap["rtwdemo_pmsmfoc:4768"] = {rtwname: "<S45>"}; + this.rtwnameHashMap["<S46>"] = {sid: "rtwdemo_pmsmfoc:4768:1670"}; + this.sidHashMap["rtwdemo_pmsmfoc:4768:1670"] = {rtwname: "<S46>"}; + this.rtwnameHashMap["<S47>"] = {sid: "rtwdemo_pmsmfoc:5624"}; + this.sidHashMap["rtwdemo_pmsmfoc:5624"] = {rtwname: "<S47>"}; + this.rtwnameHashMap["<S48>"] = {sid: "rtwdemo_pmsmfoc:4457"}; + this.sidHashMap["rtwdemo_pmsmfoc:4457"] = {rtwname: "<S48>"}; + this.rtwnameHashMap["<S49>"] = {sid: "rtwdemo_pmsmfoc:5635"}; + this.sidHashMap["rtwdemo_pmsmfoc:5635"] = {rtwname: "<S49>"}; + this.rtwnameHashMap["<S50>"] = {sid: "rtwdemo_pmsmfoc:5791"}; + this.sidHashMap["rtwdemo_pmsmfoc:5791"] = {rtwname: "<S50>"}; + this.rtwnameHashMap["<S51>"] = {sid: "rtwdemo_pmsmfoc:5318"}; + this.sidHashMap["rtwdemo_pmsmfoc:5318"] = {rtwname: "<S51>"}; + this.rtwnameHashMap["<S52>"] = {sid: "rtwdemo_pmsmfoc:6311"}; + this.sidHashMap["rtwdemo_pmsmfoc:6311"] = {rtwname: "<S52>"}; + this.rtwnameHashMap["<S53>"] = {sid: "rtwdemo_pmsmfoc:5761"}; + this.sidHashMap["rtwdemo_pmsmfoc:5761"] = {rtwname: "<S53>"}; + this.rtwnameHashMap["<S54>"] = {sid: "rtwdemo_pmsmfoc:5941"}; + this.sidHashMap["rtwdemo_pmsmfoc:5941"] = {rtwname: "<S54>"}; + this.rtwnameHashMap["<S55>"] = {sid: "rtwdemo_pmsmfoc:5780"}; + this.sidHashMap["rtwdemo_pmsmfoc:5780"] = {rtwname: "<S55>"}; + this.rtwnameHashMap["<S56>"] = {sid: "rtwdemo_pmsmfoc:6017"}; + this.sidHashMap["rtwdemo_pmsmfoc:6017"] = {rtwname: "<S56>"}; + this.rtwnameHashMap["<S57>"] = {sid: "rtwdemo_pmsmfoc:6021"}; + this.sidHashMap["rtwdemo_pmsmfoc:6021"] = {rtwname: "<S57>"}; + this.rtwnameHashMap["<S58>"] = {sid: "rtwdemo_pmsmfoc:6023"}; + this.sidHashMap["rtwdemo_pmsmfoc:6023"] = {rtwname: "<S58>"}; + this.rtwnameHashMap["<S59>"] = {sid: "rtwdemo_pmsmfoc:6026"}; + this.sidHashMap["rtwdemo_pmsmfoc:6026"] = {rtwname: "<S59>"}; + this.rtwnameHashMap["<S60>"] = {sid: "rtwdemo_pmsmfoc:6008"}; + this.sidHashMap["rtwdemo_pmsmfoc:6008"] = {rtwname: "<S60>"}; + this.rtwnameHashMap["<S61>"] = {sid: "rtwdemo_pmsmfoc:6014"}; + this.sidHashMap["rtwdemo_pmsmfoc:6014"] = {rtwname: "<S61>"}; + this.rtwnameHashMap["<S62>"] = {sid: "rtwdemo_pmsmfoc:5969"}; + this.sidHashMap["rtwdemo_pmsmfoc:5969"] = {rtwname: "<S62>"}; + this.rtwnameHashMap["<S63>"] = {sid: "rtwdemo_pmsmfoc:5992"}; + this.sidHashMap["rtwdemo_pmsmfoc:5992"] = {rtwname: "<S63>"}; + this.rtwnameHashMap["<S64>"] = {sid: "rtwdemo_pmsmfoc:5662"}; + this.sidHashMap["rtwdemo_pmsmfoc:5662"] = {rtwname: "<S64>"}; + this.rtwnameHashMap["<S65>"] = {sid: "rtwdemo_pmsmfoc:5254"}; + this.sidHashMap["rtwdemo_pmsmfoc:5254"] = {rtwname: "<S65>"}; + this.rtwnameHashMap["<Root>/motor_on"] = {sid: "rtwdemo_pmsmfoc:2783"}; + this.sidHashMap["rtwdemo_pmsmfoc:2783"] = {rtwname: "<Root>/motor_on"}; + this.rtwnameHashMap["<Root>/command_type"] = {sid: "rtwdemo_pmsmfoc:4806"}; + this.sidHashMap["rtwdemo_pmsmfoc:4806"] = {rtwname: "<Root>/command_type"}; + this.rtwnameHashMap["<Root>/command_value"] = {sid: "rtwdemo_pmsmfoc:4807"}; + this.sidHashMap["rtwdemo_pmsmfoc:4807"] = {rtwname: "<Root>/command_value"}; + this.rtwnameHashMap["<Root>/sensors"] = {sid: "rtwdemo_pmsmfoc:198"}; + this.sidHashMap["rtwdemo_pmsmfoc:198"] = {rtwname: "<Root>/sensors"}; + this.rtwnameHashMap["<Root>/Data Store Memory"] = {sid: "rtwdemo_pmsmfoc:5905"}; + this.sidHashMap["rtwdemo_pmsmfoc:5905"] = {rtwname: "<Root>/Data Store Memory"}; + this.rtwnameHashMap["<Root>/Data Store Read"] = {sid: "rtwdemo_pmsmfoc:5906"}; + this.sidHashMap["rtwdemo_pmsmfoc:5906"] = {rtwname: "<Root>/Data Store Read"}; + this.rtwnameHashMap["<Root>/Mode_Scheduler"] = {sid: "rtwdemo_pmsmfoc:5797"}; + this.sidHashMap["rtwdemo_pmsmfoc:5797"] = {rtwname: "<Root>/Mode_Scheduler"}; + this.rtwnameHashMap["<Root>/Model Info"] = {sid: "rtwdemo_pmsmfoc:1714"}; + this.sidHashMap["rtwdemo_pmsmfoc:1714"] = {rtwname: "<Root>/Model Info"}; + this.rtwnameHashMap["<Root>/Motor_Control"] = {sid: "rtwdemo_pmsmfoc:4452"}; + this.sidHashMap["rtwdemo_pmsmfoc:4452"] = {rtwname: "<Root>/Motor_Control"}; + this.rtwnameHashMap["<Root>/pwm_compare"] = {sid: "rtwdemo_pmsmfoc:4811"}; + this.sidHashMap["rtwdemo_pmsmfoc:4811"] = {rtwname: "<Root>/pwm_compare"}; + this.rtwnameHashMap["<Root>/error"] = {sid: "rtwdemo_pmsmfoc:5907"}; + this.sidHashMap["rtwdemo_pmsmfoc:5907"] = {rtwname: "<Root>/error"}; + this.rtwnameHashMap["<S1>/position_valid"] = {sid: "rtwdemo_pmsmfoc:5798"}; + this.sidHashMap["rtwdemo_pmsmfoc:5798"] = {rtwname: "<S1>/position_valid"}; + this.rtwnameHashMap["<S1>/velocity"] = {sid: "rtwdemo_pmsmfoc:5800"}; + this.sidHashMap["rtwdemo_pmsmfoc:5800"] = {rtwname: "<S1>/velocity"}; + this.rtwnameHashMap["<S1>/motor_on"] = {sid: "rtwdemo_pmsmfoc:5802"}; + this.sidHashMap["rtwdemo_pmsmfoc:5802"] = {rtwname: "<S1>/motor_on"}; + this.rtwnameHashMap["<S1>/command_type"] = {sid: "rtwdemo_pmsmfoc:5804"}; + this.sidHashMap["rtwdemo_pmsmfoc:5804"] = {rtwname: "<S1>/command_type"}; + this.rtwnameHashMap["<S1>/command"] = {sid: "rtwdemo_pmsmfoc:5806"}; + this.sidHashMap["rtwdemo_pmsmfoc:5806"] = {rtwname: "<S1>/command"}; + this.rtwnameHashMap["<S1>/Controller_Mode_Scheduler"] = {sid: "rtwdemo_pmsmfoc:4451"}; + this.sidHashMap["rtwdemo_pmsmfoc:4451"] = {rtwname: "<S1>/Controller_Mode_Scheduler"}; + this.rtwnameHashMap["<S1>/Signal Conversion"] = {sid: "rtwdemo_pmsmfoc:5807"}; + this.sidHashMap["rtwdemo_pmsmfoc:5807"] = {rtwname: "<S1>/Signal Conversion"}; + this.rtwnameHashMap["<S1>/Signal Conversion1"] = {sid: "rtwdemo_pmsmfoc:5808"}; + this.sidHashMap["rtwdemo_pmsmfoc:5808"] = {rtwname: "<S1>/Signal Conversion1"}; + this.rtwnameHashMap["<S1>/Signal Conversion2"] = {sid: "rtwdemo_pmsmfoc:5809"}; + this.sidHashMap["rtwdemo_pmsmfoc:5809"] = {rtwname: "<S1>/Signal Conversion2"}; + this.rtwnameHashMap["<S1>/controller_mode"] = {sid: "rtwdemo_pmsmfoc:5799"}; + this.sidHashMap["rtwdemo_pmsmfoc:5799"] = {rtwname: "<S1>/controller_mode"}; + this.rtwnameHashMap["<S1>/velocity_command"] = {sid: "rtwdemo_pmsmfoc:5801"}; + this.sidHashMap["rtwdemo_pmsmfoc:5801"] = {rtwname: "<S1>/velocity_command"}; + this.rtwnameHashMap["<S1>/position_command"] = {sid: "rtwdemo_pmsmfoc:5803"}; + this.sidHashMap["rtwdemo_pmsmfoc:5803"] = {rtwname: "<S1>/position_command"}; + this.rtwnameHashMap["<S1>/torque_command"] = {sid: "rtwdemo_pmsmfoc:5805"}; + this.sidHashMap["rtwdemo_pmsmfoc:5805"] = {rtwname: "<S1>/torque_command"}; + this.rtwnameHashMap["<S2>/EmptySubsystem"] = {sid: "rtwdemo_pmsmfoc:1714:1"}; + this.sidHashMap["rtwdemo_pmsmfoc:1714:1"] = {rtwname: "<S2>/EmptySubsystem"}; + this.rtwnameHashMap["<S3>/controller_mode"] = {sid: "rtwdemo_pmsmfoc:5338"}; + this.sidHashMap["rtwdemo_pmsmfoc:5338"] = {rtwname: "<S3>/controller_mode"}; + this.rtwnameHashMap["<S3>/velocity_command"] = {sid: "rtwdemo_pmsmfoc:4454"}; + this.sidHashMap["rtwdemo_pmsmfoc:4454"] = {rtwname: "<S3>/velocity_command"}; + this.rtwnameHashMap["<S3>/position_command"] = {sid: "rtwdemo_pmsmfoc:5627"}; + this.sidHashMap["rtwdemo_pmsmfoc:5627"] = {rtwname: "<S3>/position_command"}; + this.rtwnameHashMap["<S3>/torque_command"] = {sid: "rtwdemo_pmsmfoc:4809"}; + this.sidHashMap["rtwdemo_pmsmfoc:4809"] = {rtwname: "<S3>/torque_command"}; + this.rtwnameHashMap["<S3>/sensors"] = {sid: "rtwdemo_pmsmfoc:4455"}; + this.sidHashMap["rtwdemo_pmsmfoc:4455"] = {rtwname: "<S3>/sensors"}; + this.rtwnameHashMap["<S3>/Field_Oriented_Controller"] = {sid: "rtwdemo_pmsmfoc:4465"}; + this.sidHashMap["rtwdemo_pmsmfoc:4465"] = {rtwname: "<S3>/Field_Oriented_Controller"}; + this.rtwnameHashMap["<S3>/Phase_Voltages_to_PWM_Compare_Values"] = {sid: "rtwdemo_pmsmfoc:4793"}; + this.sidHashMap["rtwdemo_pmsmfoc:4793"] = {rtwname: "<S3>/Phase_Voltages_to_PWM_Compare_Values"}; + this.rtwnameHashMap["<S3>/Sensors_To_Engineering_Units"] = {sid: "rtwdemo_pmsmfoc:5551"}; + this.sidHashMap["rtwdemo_pmsmfoc:5551"] = {rtwname: "<S3>/Sensors_To_Engineering_Units"}; + this.rtwnameHashMap["<S3>/controller_mode (duplicate)"] = {sid: "rtwdemo_pmsmfoc:5633"}; + this.sidHashMap["rtwdemo_pmsmfoc:5633"] = {rtwname: "<S3>/controller_mode (duplicate)"}; + this.rtwnameHashMap["<S3>/position_valid"] = {sid: "rtwdemo_pmsmfoc:4812"}; + this.sidHashMap["rtwdemo_pmsmfoc:4812"] = {rtwname: "<S3>/position_valid"}; + this.rtwnameHashMap["<S3>/velocity"] = {sid: "rtwdemo_pmsmfoc:5628"}; + this.sidHashMap["rtwdemo_pmsmfoc:5628"] = {rtwname: "<S3>/velocity"}; + this.rtwnameHashMap["<S3>/pwm_compare"] = {sid: "rtwdemo_pmsmfoc:4803"}; + this.sidHashMap["rtwdemo_pmsmfoc:4803"] = {rtwname: "<S3>/pwm_compare"}; + this.rtwnameHashMap["<S4>:338"] = {sid: "rtwdemo_pmsmfoc:4451:338"}; + this.sidHashMap["rtwdemo_pmsmfoc:4451:338"] = {rtwname: "<S4>:338"}; + this.rtwnameHashMap["<S4>:344"] = {sid: "rtwdemo_pmsmfoc:4451:344"}; + this.sidHashMap["rtwdemo_pmsmfoc:4451:344"] = {rtwname: "<S4>:344"}; + this.rtwnameHashMap["<S4>:226"] = {sid: "rtwdemo_pmsmfoc:4451:226"}; + this.sidHashMap["rtwdemo_pmsmfoc:4451:226"] = {rtwname: "<S4>:226"}; + this.rtwnameHashMap["<S4>:103"] = {sid: "rtwdemo_pmsmfoc:4451:103"}; + this.sidHashMap["rtwdemo_pmsmfoc:4451:103"] = {rtwname: "<S4>:103"}; + this.rtwnameHashMap["<S4>:220"] = {sid: "rtwdemo_pmsmfoc:4451:220"}; + this.sidHashMap["rtwdemo_pmsmfoc:4451:220"] = {rtwname: "<S4>:220"}; + this.rtwnameHashMap["<S4>:108"] = {sid: "rtwdemo_pmsmfoc:4451:108"}; + this.sidHashMap["rtwdemo_pmsmfoc:4451:108"] = {rtwname: "<S4>:108"}; + this.rtwnameHashMap["<S4>:270"] = {sid: "rtwdemo_pmsmfoc:4451:270"}; + this.sidHashMap["rtwdemo_pmsmfoc:4451:270"] = {rtwname: "<S4>:270"}; + this.rtwnameHashMap["<S4>:154"] = {sid: "rtwdemo_pmsmfoc:4451:154"}; + this.sidHashMap["rtwdemo_pmsmfoc:4451:154"] = {rtwname: "<S4>:154"}; + this.rtwnameHashMap["<S4>:9"] = {sid: "rtwdemo_pmsmfoc:4451:9"}; + this.sidHashMap["rtwdemo_pmsmfoc:4451:9"] = {rtwname: "<S4>:9"}; + this.rtwnameHashMap["<S4>:164"] = {sid: "rtwdemo_pmsmfoc:4451:164"}; + this.sidHashMap["rtwdemo_pmsmfoc:4451:164"] = {rtwname: "<S4>:164"}; + this.rtwnameHashMap["<S4>:355"] = {sid: "rtwdemo_pmsmfoc:4451:355"}; + this.sidHashMap["rtwdemo_pmsmfoc:4451:355"] = {rtwname: "<S4>:355"}; + this.rtwnameHashMap["<S4>:353"] = {sid: "rtwdemo_pmsmfoc:4451:353"}; + this.sidHashMap["rtwdemo_pmsmfoc:4451:353"] = {rtwname: "<S4>:353"}; + this.rtwnameHashMap["<S4>:339"] = {sid: "rtwdemo_pmsmfoc:4451:339"}; + this.sidHashMap["rtwdemo_pmsmfoc:4451:339"] = {rtwname: "<S4>:339"}; + this.rtwnameHashMap["<S4>:169"] = {sid: "rtwdemo_pmsmfoc:4451:169"}; + this.sidHashMap["rtwdemo_pmsmfoc:4451:169"] = {rtwname: "<S4>:169"}; + this.rtwnameHashMap["<S4>:282"] = {sid: "rtwdemo_pmsmfoc:4451:282"}; + this.sidHashMap["rtwdemo_pmsmfoc:4451:282"] = {rtwname: "<S4>:282"}; + this.rtwnameHashMap["<S4>:133"] = {sid: "rtwdemo_pmsmfoc:4451:133"}; + this.sidHashMap["rtwdemo_pmsmfoc:4451:133"] = {rtwname: "<S4>:133"}; + this.rtwnameHashMap["<S4>:137"] = {sid: "rtwdemo_pmsmfoc:4451:137"}; + this.sidHashMap["rtwdemo_pmsmfoc:4451:137"] = {rtwname: "<S4>:137"}; + this.rtwnameHashMap["<S4>:157"] = {sid: "rtwdemo_pmsmfoc:4451:157"}; + this.sidHashMap["rtwdemo_pmsmfoc:4451:157"] = {rtwname: "<S4>:157"}; + this.rtwnameHashMap["<S4>:233"] = {sid: "rtwdemo_pmsmfoc:4451:233"}; + this.sidHashMap["rtwdemo_pmsmfoc:4451:233"] = {rtwname: "<S4>:233"}; + this.rtwnameHashMap["<S4>:162"] = {sid: "rtwdemo_pmsmfoc:4451:162"}; + this.sidHashMap["rtwdemo_pmsmfoc:4451:162"] = {rtwname: "<S4>:162"}; + this.rtwnameHashMap["<S4>:235"] = {sid: "rtwdemo_pmsmfoc:4451:235"}; + this.sidHashMap["rtwdemo_pmsmfoc:4451:235"] = {rtwname: "<S4>:235"}; + this.rtwnameHashMap["<S4>:234"] = {sid: "rtwdemo_pmsmfoc:4451:234"}; + this.sidHashMap["rtwdemo_pmsmfoc:4451:234"] = {rtwname: "<S4>:234"}; + this.rtwnameHashMap["<S4>:237"] = {sid: "rtwdemo_pmsmfoc:4451:237"}; + this.sidHashMap["rtwdemo_pmsmfoc:4451:237"] = {rtwname: "<S4>:237"}; + this.rtwnameHashMap["<S4>:158"] = {sid: "rtwdemo_pmsmfoc:4451:158"}; + this.sidHashMap["rtwdemo_pmsmfoc:4451:158"] = {rtwname: "<S4>:158"}; + this.rtwnameHashMap["<S5>/controller_mode"] = {sid: "rtwdemo_pmsmfoc:5333"}; + this.sidHashMap["rtwdemo_pmsmfoc:5333"] = {rtwname: "<S5>/controller_mode"}; + this.rtwnameHashMap["<S5>/velocity_command"] = {sid: "rtwdemo_pmsmfoc:5604"}; + this.sidHashMap["rtwdemo_pmsmfoc:5604"] = {rtwname: "<S5>/velocity_command"}; + this.rtwnameHashMap["<S5>/position_command"] = {sid: "rtwdemo_pmsmfoc:5607"}; + this.sidHashMap["rtwdemo_pmsmfoc:5607"] = {rtwname: "<S5>/position_command"}; + this.rtwnameHashMap["<S5>/torque_command"] = {sid: "rtwdemo_pmsmfoc:5611"}; + this.sidHashMap["rtwdemo_pmsmfoc:5611"] = {rtwname: "<S5>/torque_command"}; + this.rtwnameHashMap["<S5>/phase_currents"] = {sid: "rtwdemo_pmsmfoc:4468"}; + this.sidHashMap["rtwdemo_pmsmfoc:4468"] = {rtwname: "<S5>/phase_currents"}; + this.rtwnameHashMap["<S5>/position_measured"] = {sid: "rtwdemo_pmsmfoc:5608"}; + this.sidHashMap["rtwdemo_pmsmfoc:5608"] = {rtwname: "<S5>/position_measured"}; + this.rtwnameHashMap["<S5>/velocity_measured"] = {sid: "rtwdemo_pmsmfoc:5606"}; + this.sidHashMap["rtwdemo_pmsmfoc:5606"] = {rtwname: "<S5>/velocity_measured"}; + this.rtwnameHashMap["<S5>/Current_Control"] = {sid: "rtwdemo_pmsmfoc:4475"}; + this.sidHashMap["rtwdemo_pmsmfoc:4475"] = {rtwname: "<S5>/Current_Control"}; + this.rtwnameHashMap["<S5>/From"] = {sid: "rtwdemo_pmsmfoc:5615"}; + this.sidHashMap["rtwdemo_pmsmfoc:5615"] = {rtwname: "<S5>/From"}; + this.rtwnameHashMap["<S5>/From1"] = {sid: "rtwdemo_pmsmfoc:5616"}; + this.sidHashMap["rtwdemo_pmsmfoc:5616"] = {rtwname: "<S5>/From1"}; + this.rtwnameHashMap["<S5>/From2"] = {sid: "rtwdemo_pmsmfoc:5617"}; + this.sidHashMap["rtwdemo_pmsmfoc:5617"] = {rtwname: "<S5>/From2"}; + this.rtwnameHashMap["<S5>/Goto"] = {sid: "rtwdemo_pmsmfoc:5612"}; + this.sidHashMap["rtwdemo_pmsmfoc:5612"] = {rtwname: "<S5>/Goto"}; + this.rtwnameHashMap["<S5>/Goto1"] = {sid: "rtwdemo_pmsmfoc:5613"}; + this.sidHashMap["rtwdemo_pmsmfoc:5613"] = {rtwname: "<S5>/Goto1"}; + this.rtwnameHashMap["<S5>/Goto2"] = {sid: "rtwdemo_pmsmfoc:5614"}; + this.sidHashMap["rtwdemo_pmsmfoc:5614"] = {rtwname: "<S5>/Goto2"}; + this.rtwnameHashMap["<S5>/Lo_to_Hi_Rate_Transition1"] = {sid: "rtwdemo_pmsmfoc:5667"}; + this.sidHashMap["rtwdemo_pmsmfoc:5667"] = {rtwname: "<S5>/Lo_to_Hi_Rate_Transition1"}; + this.rtwnameHashMap["<S5>/Lo_to_Hi_Rate_Transition2"] = {sid: "rtwdemo_pmsmfoc:5668"}; + this.sidHashMap["rtwdemo_pmsmfoc:5668"] = {rtwname: "<S5>/Lo_to_Hi_Rate_Transition2"}; + this.rtwnameHashMap["<S5>/Lo_to_Hi_Rate_Transition3"] = {sid: "rtwdemo_pmsmfoc:5666"}; + this.sidHashMap["rtwdemo_pmsmfoc:5666"] = {rtwname: "<S5>/Lo_to_Hi_Rate_Transition3"}; + this.rtwnameHashMap["<S5>/Merge"] = {sid: "rtwdemo_pmsmfoc:5602"}; + this.sidHashMap["rtwdemo_pmsmfoc:5602"] = {rtwname: "<S5>/Merge"}; + this.rtwnameHashMap["<S5>/Position_Control"] = {sid: "rtwdemo_pmsmfoc:5589"}; + this.sidHashMap["rtwdemo_pmsmfoc:5589"] = {rtwname: "<S5>/Position_Control"}; + this.rtwnameHashMap["<S5>/Switch Case"] = {sid: "rtwdemo_pmsmfoc:5588"}; + this.sidHashMap["rtwdemo_pmsmfoc:5588"] = {rtwname: "<S5>/Switch Case"}; + this.rtwnameHashMap["<S5>/Torque_Control"] = {sid: "rtwdemo_pmsmfoc:5593"}; + this.sidHashMap["rtwdemo_pmsmfoc:5593"] = {rtwname: "<S5>/Torque_Control"}; + this.rtwnameHashMap["<S5>/Velocity_Control"] = {sid: "rtwdemo_pmsmfoc:5584"}; + this.sidHashMap["rtwdemo_pmsmfoc:5584"] = {rtwname: "<S5>/Velocity_Control"}; + this.rtwnameHashMap["<S5>/controller_mode (duplicate)"] = {sid: "rtwdemo_pmsmfoc:5603"}; + this.sidHashMap["rtwdemo_pmsmfoc:5603"] = {rtwname: "<S5>/controller_mode (duplicate)"}; + this.rtwnameHashMap["<S5>/position_measured (duplicate)"] = {sid: "rtwdemo_pmsmfoc:5632"}; + this.sidHashMap["rtwdemo_pmsmfoc:5632"] = {rtwname: "<S5>/position_measured (duplicate)"}; + this.rtwnameHashMap["<S5>/phase_voltages"] = {sid: "rtwdemo_pmsmfoc:4783"}; + this.sidHashMap["rtwdemo_pmsmfoc:4783"] = {rtwname: "<S5>/phase_voltages"}; + this.rtwnameHashMap["<S6>/Enable"] = {sid: "rtwdemo_pmsmfoc:4795"}; + this.sidHashMap["rtwdemo_pmsmfoc:4795"] = {rtwname: "<S6>/Enable"}; + this.rtwnameHashMap["<S6>/phase_voltages"] = {sid: "rtwdemo_pmsmfoc:4794"}; + this.sidHashMap["rtwdemo_pmsmfoc:4794"] = {rtwname: "<S6>/phase_voltages"}; + this.rtwnameHashMap["<S6>/Constant"] = {sid: "rtwdemo_pmsmfoc:4796"}; + this.sidHashMap["rtwdemo_pmsmfoc:4796"] = {rtwname: "<S6>/Constant"}; + this.rtwnameHashMap["<S6>/Enumerated_Constant"] = {sid: "rtwdemo_pmsmfoc:5624"}; + this.sidHashMap["rtwdemo_pmsmfoc:5624"] = {rtwname: "<S6>/Enumerated_Constant"}; + this.rtwnameHashMap["<S6>/Lo_to_Hi_Rate_Transition3"] = {sid: "rtwdemo_pmsmfoc:5370"}; + this.sidHashMap["rtwdemo_pmsmfoc:5370"] = {rtwname: "<S6>/Lo_to_Hi_Rate_Transition3"}; + this.rtwnameHashMap["<S6>/Quantize"] = {sid: "rtwdemo_pmsmfoc:6035"}; + this.sidHashMap["rtwdemo_pmsmfoc:6035"] = {rtwname: "<S6>/Quantize"}; + this.rtwnameHashMap["<S6>/Relational Operator"] = {sid: "rtwdemo_pmsmfoc:5625"}; + this.sidHashMap["rtwdemo_pmsmfoc:5625"] = {rtwname: "<S6>/Relational Operator"}; + this.rtwnameHashMap["<S6>/Saturation"] = {sid: "rtwdemo_pmsmfoc:4799"}; + this.sidHashMap["rtwdemo_pmsmfoc:4799"] = {rtwname: "<S6>/Saturation"}; + this.rtwnameHashMap["<S6>/Switch"] = {sid: "rtwdemo_pmsmfoc:5354"}; + this.sidHashMap["rtwdemo_pmsmfoc:5354"] = {rtwname: "<S6>/Switch"}; + this.rtwnameHashMap["<S6>/Voltage to PWM Compare Units"] = {sid: "rtwdemo_pmsmfoc:4797"}; + this.sidHashMap["rtwdemo_pmsmfoc:4797"] = {rtwname: "<S6>/Voltage to PWM Compare Units"}; + this.rtwnameHashMap["<S6>/pwm_compare"] = {sid: "rtwdemo_pmsmfoc:4800"}; + this.sidHashMap["rtwdemo_pmsmfoc:4800"] = {rtwname: "<S6>/pwm_compare"}; + this.rtwnameHashMap["<S7>/controller_mode"] = {sid: "rtwdemo_pmsmfoc:5568"}; + this.sidHashMap["rtwdemo_pmsmfoc:5568"] = {rtwname: "<S7>/controller_mode"}; + this.rtwnameHashMap["<S7>/sensors"] = {sid: "rtwdemo_pmsmfoc:5552"}; + this.sidHashMap["rtwdemo_pmsmfoc:5552"] = {rtwname: "<S7>/sensors"}; + this.rtwnameHashMap["<S7>/ADC_Level_to_Phase_Current"] = {sid: "rtwdemo_pmsmfoc:4457"}; + this.sidHashMap["rtwdemo_pmsmfoc:4457"] = {rtwname: "<S7>/ADC_Level_to_Phase_Current"}; + this.rtwnameHashMap["<S7>/Encoder_To_Position"] = {sid: "rtwdemo_pmsmfoc:5635"}; + this.sidHashMap["rtwdemo_pmsmfoc:5635"] = {rtwname: "<S7>/Encoder_To_Position"}; + this.rtwnameHashMap["<S7>/Lo_to_Hi_Rate_Transition3"] = {sid: "rtwdemo_pmsmfoc:5665"}; + this.sidHashMap["rtwdemo_pmsmfoc:5665"] = {rtwname: "<S7>/Lo_to_Hi_Rate_Transition3"}; + this.rtwnameHashMap["<S7>/Position_To_Velocity"] = {sid: "rtwdemo_pmsmfoc:5791"}; + this.sidHashMap["rtwdemo_pmsmfoc:5791"] = {rtwname: "<S7>/Position_To_Velocity"}; + this.rtwnameHashMap["<S7>/Startup_Open_Loop_Control"] = {sid: "rtwdemo_pmsmfoc:5318"}; + this.sidHashMap["rtwdemo_pmsmfoc:5318"] = {rtwname: "<S7>/Startup_Open_Loop_Control"}; + this.rtwnameHashMap["<S7>/phase_currents"] = {sid: "rtwdemo_pmsmfoc:5553"}; + this.sidHashMap["rtwdemo_pmsmfoc:5553"] = {rtwname: "<S7>/phase_currents"}; + this.rtwnameHashMap["<S7>/rotor_position"] = {sid: "rtwdemo_pmsmfoc:5554"}; + this.sidHashMap["rtwdemo_pmsmfoc:5554"] = {rtwname: "<S7>/rotor_position"}; + this.rtwnameHashMap["<S7>/rotor_velocity"] = {sid: "rtwdemo_pmsmfoc:5626"}; + this.sidHashMap["rtwdemo_pmsmfoc:5626"] = {rtwname: "<S7>/rotor_velocity"}; + this.rtwnameHashMap["<S7>/position_valid"] = {sid: "rtwdemo_pmsmfoc:5555"}; + this.sidHashMap["rtwdemo_pmsmfoc:5555"] = {rtwname: "<S7>/position_valid"}; + this.rtwnameHashMap["<S8>/controller_mode"] = {sid: "rtwdemo_pmsmfoc:4476"}; + this.sidHashMap["rtwdemo_pmsmfoc:4476"] = {rtwname: "<S8>/controller_mode"}; + this.rtwnameHashMap["<S8>/rotor_position (rads)"] = {sid: "rtwdemo_pmsmfoc:4479"}; + this.sidHashMap["rtwdemo_pmsmfoc:4479"] = {rtwname: "<S8>/rotor_position (rads)"}; + this.rtwnameHashMap["<S8>/phase_currents (A)"] = {sid: "rtwdemo_pmsmfoc:4477"}; + this.sidHashMap["rtwdemo_pmsmfoc:4477"] = {rtwname: "<S8>/phase_currents (A)"}; + this.rtwnameHashMap["<S8>/q_current_command (A)"] = {sid: "rtwdemo_pmsmfoc:5202"}; + this.sidHashMap["rtwdemo_pmsmfoc:5202"] = {rtwname: "<S8>/q_current_command (A)"}; + this.rtwnameHashMap["<S8>/Current_Controllers"] = {sid: "rtwdemo_pmsmfoc:4480"}; + this.sidHashMap["rtwdemo_pmsmfoc:4480"] = {rtwname: "<S8>/Current_Controllers"}; + this.rtwnameHashMap["<S8>/Detect_Change"] = {sid: "rtwdemo_pmsmfoc:5600"}; + this.sidHashMap["rtwdemo_pmsmfoc:5600"] = {rtwname: "<S8>/Detect_Change"}; + this.rtwnameHashMap["<S8>/Enum_To_Int"] = {sid: "rtwdemo_pmsmfoc:5669"}; + this.sidHashMap["rtwdemo_pmsmfoc:5669"] = {rtwname: "<S8>/Enum_To_Int"}; + this.rtwnameHashMap["<S8>/Rotation_Coefficients_Sin_Cos"] = {sid: "rtwdemo_pmsmfoc:4495"}; + this.sidHashMap["rtwdemo_pmsmfoc:4495"] = {rtwname: "<S8>/Rotation_Coefficients_Sin_Cos"}; + this.rtwnameHashMap["<S8>/Transform_Coordinates_ABC_to_dq"] = {sid: "rtwdemo_pmsmfoc:4501"}; + this.sidHashMap["rtwdemo_pmsmfoc:4501"] = {rtwname: "<S8>/Transform_Coordinates_ABC_to_dq"}; + this.rtwnameHashMap["<S8>/Transform_Coordinates_dq_to_ABC"] = {sid: "rtwdemo_pmsmfoc:4532"}; + this.sidHashMap["rtwdemo_pmsmfoc:4532"] = {rtwname: "<S8>/Transform_Coordinates_dq_to_ABC"}; + this.rtwnameHashMap["<S8>/phase_voltages (V)"] = {sid: "rtwdemo_pmsmfoc:4684"}; + this.sidHashMap["rtwdemo_pmsmfoc:4684"] = {rtwname: "<S8>/phase_voltages (V)"}; + this.rtwnameHashMap["<S9>/position_command"] = {sid: "rtwdemo_pmsmfoc:5618"}; + this.sidHashMap["rtwdemo_pmsmfoc:5618"] = {rtwname: "<S9>/position_command"}; + this.rtwnameHashMap["<S9>/position_measured"] = {sid: "rtwdemo_pmsmfoc:5619"}; + this.sidHashMap["rtwdemo_pmsmfoc:5619"] = {rtwname: "<S9>/position_measured"}; + this.rtwnameHashMap["<S9>/Action Port"] = {sid: "rtwdemo_pmsmfoc:5620"}; + this.sidHashMap["rtwdemo_pmsmfoc:5620"] = {rtwname: "<S9>/Action Port"}; + this.rtwnameHashMap["<S9>/Isolate_For_Merge"] = {sid: "rtwdemo_pmsmfoc:6208"}; + this.sidHashMap["rtwdemo_pmsmfoc:6208"] = {rtwname: "<S9>/Isolate_For_Merge"}; + this.rtwnameHashMap["<S9>/Position_Control"] = {sid: "rtwdemo_pmsmfoc:5621"}; + this.sidHashMap["rtwdemo_pmsmfoc:5621"] = {rtwname: "<S9>/Position_Control"}; + this.rtwnameHashMap["<S9>/Sum2"] = {sid: "rtwdemo_pmsmfoc:5622"}; + this.sidHashMap["rtwdemo_pmsmfoc:5622"] = {rtwname: "<S9>/Sum2"}; + this.rtwnameHashMap["<S9>/Wrap_Error_pi"] = {sid: "rtwdemo_pmsmfoc:6205"}; + this.sidHashMap["rtwdemo_pmsmfoc:6205"] = {rtwname: "<S9>/Wrap_Error_pi"}; + this.rtwnameHashMap["<S9>/q_current"] = {sid: "rtwdemo_pmsmfoc:5623"}; + this.sidHashMap["rtwdemo_pmsmfoc:5623"] = {rtwname: "<S9>/q_current"}; + this.rtwnameHashMap["<S10>/torque_command"] = {sid: "rtwdemo_pmsmfoc:5594"}; + this.sidHashMap["rtwdemo_pmsmfoc:5594"] = {rtwname: "<S10>/torque_command"}; + this.rtwnameHashMap["<S10>/Action Port"] = {sid: "rtwdemo_pmsmfoc:5595"}; + this.sidHashMap["rtwdemo_pmsmfoc:5595"] = {rtwname: "<S10>/Action Port"}; + this.rtwnameHashMap["<S10>/q_current"] = {sid: "rtwdemo_pmsmfoc:5596"}; + this.sidHashMap["rtwdemo_pmsmfoc:5596"] = {rtwname: "<S10>/q_current"}; + this.rtwnameHashMap["<S11>/velocity_command"] = {sid: "rtwdemo_pmsmfoc:5585"}; + this.sidHashMap["rtwdemo_pmsmfoc:5585"] = {rtwname: "<S11>/velocity_command"}; + this.rtwnameHashMap["<S11>/velocity_measured"] = {sid: "rtwdemo_pmsmfoc:5597"}; + this.sidHashMap["rtwdemo_pmsmfoc:5597"] = {rtwname: "<S11>/velocity_measured"}; + this.rtwnameHashMap["<S11>/Action Port"] = {sid: "rtwdemo_pmsmfoc:5586"}; + this.sidHashMap["rtwdemo_pmsmfoc:5586"] = {rtwname: "<S11>/Action Port"}; + this.rtwnameHashMap["<S11>/Isolate_For_Merge"] = {sid: "rtwdemo_pmsmfoc:6036"}; + this.sidHashMap["rtwdemo_pmsmfoc:6036"] = {rtwname: "<S11>/Isolate_For_Merge"}; + this.rtwnameHashMap["<S11>/Rotor_Speed_Control"] = {sid: "rtwdemo_pmsmfoc:4768"}; + this.sidHashMap["rtwdemo_pmsmfoc:4768"] = {rtwname: "<S11>/Rotor_Speed_Control"}; + this.rtwnameHashMap["<S11>/Sum2"] = {sid: "rtwdemo_pmsmfoc:4769"}; + this.sidHashMap["rtwdemo_pmsmfoc:4769"] = {rtwname: "<S11>/Sum2"}; + this.rtwnameHashMap["<S11>/q_current"] = {sid: "rtwdemo_pmsmfoc:5587"}; + this.sidHashMap["rtwdemo_pmsmfoc:5587"] = {rtwname: "<S11>/q_current"}; + this.rtwnameHashMap["<S12>/reset_integrators"] = {sid: "rtwdemo_pmsmfoc:4481"}; + this.sidHashMap["rtwdemo_pmsmfoc:4481"] = {rtwname: "<S12>/reset_integrators"}; + this.rtwnameHashMap["<S12>/q_current_command (A)"] = {sid: "rtwdemo_pmsmfoc:4493"}; + this.sidHashMap["rtwdemo_pmsmfoc:4493"] = {rtwname: "<S12>/q_current_command (A)"}; + this.rtwnameHashMap["<S12>/d_current_measured (A)"] = {sid: "rtwdemo_pmsmfoc:4483"}; + this.sidHashMap["rtwdemo_pmsmfoc:4483"] = {rtwname: "<S12>/d_current_measured (A)"}; + this.rtwnameHashMap["<S12>/q_current_measured (A)"] = {sid: "rtwdemo_pmsmfoc:5420"}; + this.sidHashMap["rtwdemo_pmsmfoc:5420"] = {rtwname: "<S12>/q_current_measured (A)"}; + this.rtwnameHashMap["<S12>/Bus Creator"] = {sid: "rtwdemo_pmsmfoc:4484"}; + this.sidHashMap["rtwdemo_pmsmfoc:4484"] = {rtwname: "<S12>/Bus Creator"}; + this.rtwnameHashMap["<S12>/Direct_Current_Control"] = {sid: "rtwdemo_pmsmfoc:4489"}; + this.sidHashMap["rtwdemo_pmsmfoc:4489"] = {rtwname: "<S12>/Direct_Current_Control"}; + this.rtwnameHashMap["<S12>/Quadrature_Current_Control"] = {sid: "rtwdemo_pmsmfoc:4490"}; + this.sidHashMap["rtwdemo_pmsmfoc:4490"] = {rtwname: "<S12>/Quadrature_Current_Control"}; + this.rtwnameHashMap["<S12>/Sum"] = {sid: "rtwdemo_pmsmfoc:4491"}; + this.sidHashMap["rtwdemo_pmsmfoc:4491"] = {rtwname: "<S12>/Sum"}; + this.rtwnameHashMap["<S12>/Sum2"] = {sid: "rtwdemo_pmsmfoc:4492"}; + this.sidHashMap["rtwdemo_pmsmfoc:4492"] = {rtwname: "<S12>/Sum2"}; + this.rtwnameHashMap["<S12>/d_current_command (A)"] = {sid: "rtwdemo_pmsmfoc:5203"}; + this.sidHashMap["rtwdemo_pmsmfoc:5203"] = {rtwname: "<S12>/d_current_command (A)"}; + this.rtwnameHashMap["<S12>/dq_axis_voltages (V)"] = {sid: "rtwdemo_pmsmfoc:4494"}; + this.sidHashMap["rtwdemo_pmsmfoc:4494"] = {rtwname: "<S12>/dq_axis_voltages (V)"}; + this.rtwnameHashMap["<S13>/U"] = {sid: "rtwdemo_pmsmfoc:5600:1"}; + this.sidHashMap["rtwdemo_pmsmfoc:5600:1"] = {rtwname: "<S13>/U"}; + this.rtwnameHashMap["<S13>/Delay Input1"] = {sid: "rtwdemo_pmsmfoc:5600:2"}; + this.sidHashMap["rtwdemo_pmsmfoc:5600:2"] = {rtwname: "<S13>/Delay Input1"}; + this.rtwnameHashMap["<S13>/FixPt Relational Operator"] = {sid: "rtwdemo_pmsmfoc:5600:3"}; + this.sidHashMap["rtwdemo_pmsmfoc:5600:3"] = {rtwname: "<S13>/FixPt Relational Operator"}; + this.rtwnameHashMap["<S13>/Y"] = {sid: "rtwdemo_pmsmfoc:5600:4"}; + this.sidHashMap["rtwdemo_pmsmfoc:5600:4"] = {rtwname: "<S13>/Y"}; + this.rtwnameHashMap["<S14>/rotor_position"] = {sid: "rtwdemo_pmsmfoc:4496"}; + this.sidHashMap["rtwdemo_pmsmfoc:4496"] = {rtwname: "<S14>/rotor_position"}; + this.rtwnameHashMap["<S14>/Bus Creator"] = {sid: "rtwdemo_pmsmfoc:4497"}; + this.sidHashMap["rtwdemo_pmsmfoc:4497"] = {rtwname: "<S14>/Bus Creator"}; + this.rtwnameHashMap["<S14>/number_of_pole_pairs"] = {sid: "rtwdemo_pmsmfoc:4498"}; + this.sidHashMap["rtwdemo_pmsmfoc:4498"] = {rtwname: "<S14>/number_of_pole_pairs"}; + this.rtwnameHashMap["<S14>/sine_cosine"] = {sid: "rtwdemo_pmsmfoc:4499"}; + this.sidHashMap["rtwdemo_pmsmfoc:4499"] = {rtwname: "<S14>/sine_cosine"}; + this.rtwnameHashMap["<S14>/sin_cos"] = {sid: "rtwdemo_pmsmfoc:4500"}; + this.sidHashMap["rtwdemo_pmsmfoc:4500"] = {rtwname: "<S14>/sin_cos"}; + this.rtwnameHashMap["<S15>/phase_currents"] = {sid: "rtwdemo_pmsmfoc:4502"}; + this.sidHashMap["rtwdemo_pmsmfoc:4502"] = {rtwname: "<S15>/phase_currents"}; + this.rtwnameHashMap["<S15>/rotation_coefficients"] = {sid: "rtwdemo_pmsmfoc:4503"}; + this.sidHashMap["rtwdemo_pmsmfoc:4503"] = {rtwname: "<S15>/rotation_coefficients"}; + this.rtwnameHashMap["<S15>/Clarke_Transform"] = {sid: "rtwdemo_pmsmfoc:4504"}; + this.sidHashMap["rtwdemo_pmsmfoc:4504"] = {rtwname: "<S15>/Clarke_Transform"}; + this.rtwnameHashMap["<S15>/Park_Transform"] = {sid: "rtwdemo_pmsmfoc:4513"}; + this.sidHashMap["rtwdemo_pmsmfoc:4513"] = {rtwname: "<S15>/Park_Transform"}; + this.rtwnameHashMap["<S15>/d_current"] = {sid: "rtwdemo_pmsmfoc:4531"}; + this.sidHashMap["rtwdemo_pmsmfoc:4531"] = {rtwname: "<S15>/d_current"}; + this.rtwnameHashMap["<S15>/q_current"] = {sid: "rtwdemo_pmsmfoc:5419"}; + this.sidHashMap["rtwdemo_pmsmfoc:5419"] = {rtwname: "<S15>/q_current"}; + this.rtwnameHashMap["<S16>/dq_voltages"] = {sid: "rtwdemo_pmsmfoc:4533"}; + this.sidHashMap["rtwdemo_pmsmfoc:4533"] = {rtwname: "<S16>/dq_voltages"}; + this.rtwnameHashMap["<S16>/rotation_coefficients"] = {sid: "rtwdemo_pmsmfoc:4534"}; + this.sidHashMap["rtwdemo_pmsmfoc:4534"] = {rtwname: "<S16>/rotation_coefficients"}; + this.rtwnameHashMap["<S16>/Alpha_Beta_to_ABC"] = {sid: "rtwdemo_pmsmfoc:5421"}; + this.sidHashMap["rtwdemo_pmsmfoc:5421"] = {rtwname: "<S16>/Alpha_Beta_to_ABC"}; + this.rtwnameHashMap["<S16>/Inverse_Park_Transform"] = {sid: "rtwdemo_pmsmfoc:4549"}; + this.sidHashMap["rtwdemo_pmsmfoc:4549"] = {rtwname: "<S16>/Inverse_Park_Transform"}; + this.rtwnameHashMap["<S16>/phase_voltages"] = {sid: "rtwdemo_pmsmfoc:4683"}; + this.sidHashMap["rtwdemo_pmsmfoc:4683"] = {rtwname: "<S16>/phase_voltages"}; + this.rtwnameHashMap["<S17>/u"] = {sid: "rtwdemo_pmsmfoc:4489:1"}; + this.sidHashMap["rtwdemo_pmsmfoc:4489:1"] = {rtwname: "<S17>/u"}; + this.rtwnameHashMap["<S17>/RESET"] = {sid: "rtwdemo_pmsmfoc:4489:1665"}; + this.sidHashMap["rtwdemo_pmsmfoc:4489:1665"] = {rtwname: "<S17>/RESET"}; + this.rtwnameHashMap["<S17>/Clamping circuit"] = {sid: "rtwdemo_pmsmfoc:4489:1671"}; + this.sidHashMap["rtwdemo_pmsmfoc:4489:1671"] = {rtwname: "<S17>/Clamping circuit"}; + this.rtwnameHashMap["<S17>/Constant"] = {sid: "rtwdemo_pmsmfoc:4489:1685"}; + this.sidHashMap["rtwdemo_pmsmfoc:4489:1685"] = {rtwname: "<S17>/Constant"}; + this.rtwnameHashMap["<S17>/Integral Gain"] = {sid: "rtwdemo_pmsmfoc:4489:1668"}; + this.sidHashMap["rtwdemo_pmsmfoc:4489:1668"] = {rtwname: "<S17>/Integral Gain"}; + this.rtwnameHashMap["<S17>/Integrator"] = {sid: "rtwdemo_pmsmfoc:4489:1669"}; + this.sidHashMap["rtwdemo_pmsmfoc:4489:1669"] = {rtwname: "<S17>/Integrator"}; + this.rtwnameHashMap["<S17>/Proportional Gain"] = {sid: "rtwdemo_pmsmfoc:4489:1667"}; + this.sidHashMap["rtwdemo_pmsmfoc:4489:1667"] = {rtwname: "<S17>/Proportional Gain"}; + this.rtwnameHashMap["<S17>/Saturate"] = {sid: "rtwdemo_pmsmfoc:4489:1670"}; + this.sidHashMap["rtwdemo_pmsmfoc:4489:1670"] = {rtwname: "<S17>/Saturate"}; + this.rtwnameHashMap["<S17>/Sum"] = {sid: "rtwdemo_pmsmfoc:4489:1666"}; + this.sidHashMap["rtwdemo_pmsmfoc:4489:1666"] = {rtwname: "<S17>/Sum"}; + this.rtwnameHashMap["<S17>/Switch"] = {sid: "rtwdemo_pmsmfoc:4489:1684"}; + this.sidHashMap["rtwdemo_pmsmfoc:4489:1684"] = {rtwname: "<S17>/Switch"}; + this.rtwnameHashMap["<S17>/y"] = {sid: "rtwdemo_pmsmfoc:4489:10"}; + this.sidHashMap["rtwdemo_pmsmfoc:4489:10"] = {rtwname: "<S17>/y"}; + this.rtwnameHashMap["<S18>/u"] = {sid: "rtwdemo_pmsmfoc:4490:1"}; + this.sidHashMap["rtwdemo_pmsmfoc:4490:1"] = {rtwname: "<S18>/u"}; + this.rtwnameHashMap["<S18>/RESET"] = {sid: "rtwdemo_pmsmfoc:4490:1665"}; + this.sidHashMap["rtwdemo_pmsmfoc:4490:1665"] = {rtwname: "<S18>/RESET"}; + this.rtwnameHashMap["<S18>/Clamping circuit"] = {sid: "rtwdemo_pmsmfoc:4490:1671"}; + this.sidHashMap["rtwdemo_pmsmfoc:4490:1671"] = {rtwname: "<S18>/Clamping circuit"}; + this.rtwnameHashMap["<S18>/Constant"] = {sid: "rtwdemo_pmsmfoc:4490:1685"}; + this.sidHashMap["rtwdemo_pmsmfoc:4490:1685"] = {rtwname: "<S18>/Constant"}; + this.rtwnameHashMap["<S18>/Integral Gain"] = {sid: "rtwdemo_pmsmfoc:4490:1668"}; + this.sidHashMap["rtwdemo_pmsmfoc:4490:1668"] = {rtwname: "<S18>/Integral Gain"}; + this.rtwnameHashMap["<S18>/Integrator"] = {sid: "rtwdemo_pmsmfoc:4490:1669"}; + this.sidHashMap["rtwdemo_pmsmfoc:4490:1669"] = {rtwname: "<S18>/Integrator"}; + this.rtwnameHashMap["<S18>/Proportional Gain"] = {sid: "rtwdemo_pmsmfoc:4490:1667"}; + this.sidHashMap["rtwdemo_pmsmfoc:4490:1667"] = {rtwname: "<S18>/Proportional Gain"}; + this.rtwnameHashMap["<S18>/Saturate"] = {sid: "rtwdemo_pmsmfoc:4490:1670"}; + this.sidHashMap["rtwdemo_pmsmfoc:4490:1670"] = {rtwname: "<S18>/Saturate"}; + this.rtwnameHashMap["<S18>/Sum"] = {sid: "rtwdemo_pmsmfoc:4490:1666"}; + this.sidHashMap["rtwdemo_pmsmfoc:4490:1666"] = {rtwname: "<S18>/Sum"}; + this.rtwnameHashMap["<S18>/Switch"] = {sid: "rtwdemo_pmsmfoc:4490:1684"}; + this.sidHashMap["rtwdemo_pmsmfoc:4490:1684"] = {rtwname: "<S18>/Switch"}; + this.rtwnameHashMap["<S18>/y"] = {sid: "rtwdemo_pmsmfoc:4490:10"}; + this.sidHashMap["rtwdemo_pmsmfoc:4490:10"] = {rtwname: "<S18>/y"}; + this.rtwnameHashMap["<S19>/preSat"] = {sid: "rtwdemo_pmsmfoc:4489:1672"}; + this.sidHashMap["rtwdemo_pmsmfoc:4489:1672"] = {rtwname: "<S19>/preSat"}; + this.rtwnameHashMap["<S19>/preIntegrator"] = {sid: "rtwdemo_pmsmfoc:4489:1673"}; + this.sidHashMap["rtwdemo_pmsmfoc:4489:1673"] = {rtwname: "<S19>/preIntegrator"}; + this.rtwnameHashMap["<S19>/AND"] = {sid: "rtwdemo_pmsmfoc:4489:1683"}; + this.sidHashMap["rtwdemo_pmsmfoc:4489:1683"] = {rtwname: "<S19>/AND"}; + this.rtwnameHashMap["<S19>/DataTypeConv1"] = {sid: "rtwdemo_pmsmfoc:4489:1675"}; + this.sidHashMap["rtwdemo_pmsmfoc:4489:1675"] = {rtwname: "<S19>/DataTypeConv1"}; + this.rtwnameHashMap["<S19>/DataTypeConv2"] = {sid: "rtwdemo_pmsmfoc:4489:1676"}; + this.sidHashMap["rtwdemo_pmsmfoc:4489:1676"] = {rtwname: "<S19>/DataTypeConv2"}; + this.rtwnameHashMap["<S19>/DeadZone"] = {sid: "rtwdemo_pmsmfoc:4489:1678"}; + this.sidHashMap["rtwdemo_pmsmfoc:4489:1678"] = {rtwname: "<S19>/DeadZone"}; + this.rtwnameHashMap["<S19>/Equal"] = {sid: "rtwdemo_pmsmfoc:4489:1682"}; + this.sidHashMap["rtwdemo_pmsmfoc:4489:1682"] = {rtwname: "<S19>/Equal"}; + this.rtwnameHashMap["<S19>/NotEqual"] = {sid: "rtwdemo_pmsmfoc:4489:1680"}; + this.sidHashMap["rtwdemo_pmsmfoc:4489:1680"] = {rtwname: "<S19>/NotEqual"}; + this.rtwnameHashMap["<S19>/SignDeltaU"] = {sid: "rtwdemo_pmsmfoc:4489:1679"}; + this.sidHashMap["rtwdemo_pmsmfoc:4489:1679"] = {rtwname: "<S19>/SignDeltaU"}; + this.rtwnameHashMap["<S19>/SignPreIntegrator"] = {sid: "rtwdemo_pmsmfoc:4489:1681"}; + this.sidHashMap["rtwdemo_pmsmfoc:4489:1681"] = {rtwname: "<S19>/SignPreIntegrator"}; + this.rtwnameHashMap["<S19>/ZeroGain"] = {sid: "rtwdemo_pmsmfoc:4489:1677"}; + this.sidHashMap["rtwdemo_pmsmfoc:4489:1677"] = {rtwname: "<S19>/ZeroGain"}; + this.rtwnameHashMap["<S19>/Clamp"] = {sid: "rtwdemo_pmsmfoc:4489:1674"}; + this.sidHashMap["rtwdemo_pmsmfoc:4489:1674"] = {rtwname: "<S19>/Clamp"}; + this.rtwnameHashMap["<S20>/preSat"] = {sid: "rtwdemo_pmsmfoc:4490:1672"}; + this.sidHashMap["rtwdemo_pmsmfoc:4490:1672"] = {rtwname: "<S20>/preSat"}; + this.rtwnameHashMap["<S20>/preIntegrator"] = {sid: "rtwdemo_pmsmfoc:4490:1673"}; + this.sidHashMap["rtwdemo_pmsmfoc:4490:1673"] = {rtwname: "<S20>/preIntegrator"}; + this.rtwnameHashMap["<S20>/AND"] = {sid: "rtwdemo_pmsmfoc:4490:1683"}; + this.sidHashMap["rtwdemo_pmsmfoc:4490:1683"] = {rtwname: "<S20>/AND"}; + this.rtwnameHashMap["<S20>/DataTypeConv1"] = {sid: "rtwdemo_pmsmfoc:4490:1675"}; + this.sidHashMap["rtwdemo_pmsmfoc:4490:1675"] = {rtwname: "<S20>/DataTypeConv1"}; + this.rtwnameHashMap["<S20>/DataTypeConv2"] = {sid: "rtwdemo_pmsmfoc:4490:1676"}; + this.sidHashMap["rtwdemo_pmsmfoc:4490:1676"] = {rtwname: "<S20>/DataTypeConv2"}; + this.rtwnameHashMap["<S20>/DeadZone"] = {sid: "rtwdemo_pmsmfoc:4490:1678"}; + this.sidHashMap["rtwdemo_pmsmfoc:4490:1678"] = {rtwname: "<S20>/DeadZone"}; + this.rtwnameHashMap["<S20>/Equal"] = {sid: "rtwdemo_pmsmfoc:4490:1682"}; + this.sidHashMap["rtwdemo_pmsmfoc:4490:1682"] = {rtwname: "<S20>/Equal"}; + this.rtwnameHashMap["<S20>/NotEqual"] = {sid: "rtwdemo_pmsmfoc:4490:1680"}; + this.sidHashMap["rtwdemo_pmsmfoc:4490:1680"] = {rtwname: "<S20>/NotEqual"}; + this.rtwnameHashMap["<S20>/SignDeltaU"] = {sid: "rtwdemo_pmsmfoc:4490:1679"}; + this.sidHashMap["rtwdemo_pmsmfoc:4490:1679"] = {rtwname: "<S20>/SignDeltaU"}; + this.rtwnameHashMap["<S20>/SignPreIntegrator"] = {sid: "rtwdemo_pmsmfoc:4490:1681"}; + this.sidHashMap["rtwdemo_pmsmfoc:4490:1681"] = {rtwname: "<S20>/SignPreIntegrator"}; + this.rtwnameHashMap["<S20>/ZeroGain"] = {sid: "rtwdemo_pmsmfoc:4490:1677"}; + this.sidHashMap["rtwdemo_pmsmfoc:4490:1677"] = {rtwname: "<S20>/ZeroGain"}; + this.rtwnameHashMap["<S20>/Clamp"] = {sid: "rtwdemo_pmsmfoc:4490:1674"}; + this.sidHashMap["rtwdemo_pmsmfoc:4490:1674"] = {rtwname: "<S20>/Clamp"}; + this.rtwnameHashMap["<S21>/phase_currents"] = {sid: "rtwdemo_pmsmfoc:4505"}; + this.sidHashMap["rtwdemo_pmsmfoc:4505"] = {rtwname: "<S21>/phase_currents"}; + this.rtwnameHashMap["<S21>/A_phase_current"] = {sid: "rtwdemo_pmsmfoc:4506"}; + this.sidHashMap["rtwdemo_pmsmfoc:4506"] = {rtwname: "<S21>/A_phase_current"}; + this.rtwnameHashMap["<S21>/Add"] = {sid: "rtwdemo_pmsmfoc:4507"}; + this.sidHashMap["rtwdemo_pmsmfoc:4507"] = {rtwname: "<S21>/Add"}; + this.rtwnameHashMap["<S21>/B_Gain"] = {sid: "rtwdemo_pmsmfoc:4508"}; + this.sidHashMap["rtwdemo_pmsmfoc:4508"] = {rtwname: "<S21>/B_Gain"}; + this.rtwnameHashMap["<S21>/B_phase_current"] = {sid: "rtwdemo_pmsmfoc:4509"}; + this.sidHashMap["rtwdemo_pmsmfoc:4509"] = {rtwname: "<S21>/B_phase_current"}; + this.rtwnameHashMap["<S21>/Beta_Gain"] = {sid: "rtwdemo_pmsmfoc:4510"}; + this.sidHashMap["rtwdemo_pmsmfoc:4510"] = {rtwname: "<S21>/Beta_Gain"}; + this.rtwnameHashMap["<S21>/alpha_current"] = {sid: "rtwdemo_pmsmfoc:4511"}; + this.sidHashMap["rtwdemo_pmsmfoc:4511"] = {rtwname: "<S21>/alpha_current"}; + this.rtwnameHashMap["<S21>/beta_current"] = {sid: "rtwdemo_pmsmfoc:4512"}; + this.sidHashMap["rtwdemo_pmsmfoc:4512"] = {rtwname: "<S21>/beta_current"}; + this.rtwnameHashMap["<S22>/rotation_coefficients"] = {sid: "rtwdemo_pmsmfoc:4514"}; + this.sidHashMap["rtwdemo_pmsmfoc:4514"] = {rtwname: "<S22>/rotation_coefficients"}; + this.rtwnameHashMap["<S22>/alpha_current"] = {sid: "rtwdemo_pmsmfoc:4515"}; + this.sidHashMap["rtwdemo_pmsmfoc:4515"] = {rtwname: "<S22>/alpha_current"}; + this.rtwnameHashMap["<S22>/beta_current"] = {sid: "rtwdemo_pmsmfoc:4516"}; + this.sidHashMap["rtwdemo_pmsmfoc:4516"] = {rtwname: "<S22>/beta_current"}; + this.rtwnameHashMap["<S22>/Add"] = {sid: "rtwdemo_pmsmfoc:4517"}; + this.sidHashMap["rtwdemo_pmsmfoc:4517"] = {rtwname: "<S22>/Add"}; + this.rtwnameHashMap["<S22>/Add1"] = {sid: "rtwdemo_pmsmfoc:4518"}; + this.sidHashMap["rtwdemo_pmsmfoc:4518"] = {rtwname: "<S22>/Add1"}; + this.rtwnameHashMap["<S22>/Bus Selector5"] = {sid: "rtwdemo_pmsmfoc:4520"}; + this.sidHashMap["rtwdemo_pmsmfoc:4520"] = {rtwname: "<S22>/Bus Selector5"}; + this.rtwnameHashMap["<S22>/Bus Selector6"] = {sid: "rtwdemo_pmsmfoc:4521"}; + this.sidHashMap["rtwdemo_pmsmfoc:4521"] = {rtwname: "<S22>/Bus Selector6"}; + this.rtwnameHashMap["<S22>/Bus Selector7"] = {sid: "rtwdemo_pmsmfoc:4522"}; + this.sidHashMap["rtwdemo_pmsmfoc:4522"] = {rtwname: "<S22>/Bus Selector7"}; + this.rtwnameHashMap["<S22>/Bus Selector8"] = {sid: "rtwdemo_pmsmfoc:4523"}; + this.sidHashMap["rtwdemo_pmsmfoc:4523"] = {rtwname: "<S22>/Bus Selector8"}; + this.rtwnameHashMap["<S22>/Product"] = {sid: "rtwdemo_pmsmfoc:4524"}; + this.sidHashMap["rtwdemo_pmsmfoc:4524"] = {rtwname: "<S22>/Product"}; + this.rtwnameHashMap["<S22>/Product1"] = {sid: "rtwdemo_pmsmfoc:4525"}; + this.sidHashMap["rtwdemo_pmsmfoc:4525"] = {rtwname: "<S22>/Product1"}; + this.rtwnameHashMap["<S22>/Product2"] = {sid: "rtwdemo_pmsmfoc:4526"}; + this.sidHashMap["rtwdemo_pmsmfoc:4526"] = {rtwname: "<S22>/Product2"}; + this.rtwnameHashMap["<S22>/Product3"] = {sid: "rtwdemo_pmsmfoc:4527"}; + this.sidHashMap["rtwdemo_pmsmfoc:4527"] = {rtwname: "<S22>/Product3"}; + this.rtwnameHashMap["<S22>/alpha_current (Duplicate)"] = {sid: "rtwdemo_pmsmfoc:4528"}; + this.sidHashMap["rtwdemo_pmsmfoc:4528"] = {rtwname: "<S22>/alpha_current (Duplicate)"}; + this.rtwnameHashMap["<S22>/beta_current (Duplicate)"] = {sid: "rtwdemo_pmsmfoc:4529"}; + this.sidHashMap["rtwdemo_pmsmfoc:4529"] = {rtwname: "<S22>/beta_current (Duplicate)"}; + this.rtwnameHashMap["<S22>/direct_current"] = {sid: "rtwdemo_pmsmfoc:4530"}; + this.sidHashMap["rtwdemo_pmsmfoc:4530"] = {rtwname: "<S22>/direct_current"}; + this.rtwnameHashMap["<S22>/quadrature_current"] = {sid: "rtwdemo_pmsmfoc:5418"}; + this.sidHashMap["rtwdemo_pmsmfoc:5418"] = {rtwname: "<S22>/quadrature_current"}; + this.rtwnameHashMap["<S23>/alpha_voltage"] = {sid: "rtwdemo_pmsmfoc:5422"}; + this.sidHashMap["rtwdemo_pmsmfoc:5422"] = {rtwname: "<S23>/alpha_voltage"}; + this.rtwnameHashMap["<S23>/beta_voltage"] = {sid: "rtwdemo_pmsmfoc:5550"}; + this.sidHashMap["rtwdemo_pmsmfoc:5550"] = {rtwname: "<S23>/beta_voltage"}; + this.rtwnameHashMap["<S23>/Inverse_Clarke_Transform"] = {sid: "rtwdemo_pmsmfoc:5424"}; + this.sidHashMap["rtwdemo_pmsmfoc:5424"] = {rtwname: "<S23>/Inverse_Clarke_Transform"}; + this.rtwnameHashMap["<S23>/Space_Vector_Modulation"] = {sid: "rtwdemo_pmsmfoc:5438"}; + this.sidHashMap["rtwdemo_pmsmfoc:5438"] = {rtwname: "<S23>/Space_Vector_Modulation"}; + this.rtwnameHashMap["<S23>/phase_voltages"] = {sid: "rtwdemo_pmsmfoc:5423"}; + this.sidHashMap["rtwdemo_pmsmfoc:5423"] = {rtwname: "<S23>/phase_voltages"}; + this.rtwnameHashMap["<S24>/rotation_coefficients"] = {sid: "rtwdemo_pmsmfoc:4550"}; + this.sidHashMap["rtwdemo_pmsmfoc:4550"] = {rtwname: "<S24>/rotation_coefficients"}; + this.rtwnameHashMap["<S24>/dq_voltages"] = {sid: "rtwdemo_pmsmfoc:4551"}; + this.sidHashMap["rtwdemo_pmsmfoc:4551"] = {rtwname: "<S24>/dq_voltages"}; + this.rtwnameHashMap["<S24>/Add"] = {sid: "rtwdemo_pmsmfoc:4552"}; + this.sidHashMap["rtwdemo_pmsmfoc:4552"] = {rtwname: "<S24>/Add"}; + this.rtwnameHashMap["<S24>/Add1"] = {sid: "rtwdemo_pmsmfoc:4553"}; + this.sidHashMap["rtwdemo_pmsmfoc:4553"] = {rtwname: "<S24>/Add1"}; + this.rtwnameHashMap["<S24>/Bus Creator1"] = {sid: "rtwdemo_pmsmfoc:4554"}; + this.sidHashMap["rtwdemo_pmsmfoc:4554"] = {rtwname: "<S24>/Bus Creator1"}; + this.rtwnameHashMap["<S24>/Bus Selector1"] = {sid: "rtwdemo_pmsmfoc:4555"}; + this.sidHashMap["rtwdemo_pmsmfoc:4555"] = {rtwname: "<S24>/Bus Selector1"}; + this.rtwnameHashMap["<S24>/Bus Selector2"] = {sid: "rtwdemo_pmsmfoc:4556"}; + this.sidHashMap["rtwdemo_pmsmfoc:4556"] = {rtwname: "<S24>/Bus Selector2"}; + this.rtwnameHashMap["<S24>/Bus Selector3"] = {sid: "rtwdemo_pmsmfoc:4557"}; + this.sidHashMap["rtwdemo_pmsmfoc:4557"] = {rtwname: "<S24>/Bus Selector3"}; + this.rtwnameHashMap["<S24>/Bus Selector4"] = {sid: "rtwdemo_pmsmfoc:4558"}; + this.sidHashMap["rtwdemo_pmsmfoc:4558"] = {rtwname: "<S24>/Bus Selector4"}; + this.rtwnameHashMap["<S24>/Bus Selector5"] = {sid: "rtwdemo_pmsmfoc:4559"}; + this.sidHashMap["rtwdemo_pmsmfoc:4559"] = {rtwname: "<S24>/Bus Selector5"}; + this.rtwnameHashMap["<S24>/Bus Selector6"] = {sid: "rtwdemo_pmsmfoc:4560"}; + this.sidHashMap["rtwdemo_pmsmfoc:4560"] = {rtwname: "<S24>/Bus Selector6"}; + this.rtwnameHashMap["<S24>/Bus Selector7"] = {sid: "rtwdemo_pmsmfoc:4561"}; + this.sidHashMap["rtwdemo_pmsmfoc:4561"] = {rtwname: "<S24>/Bus Selector7"}; + this.rtwnameHashMap["<S24>/Bus Selector8"] = {sid: "rtwdemo_pmsmfoc:4562"}; + this.sidHashMap["rtwdemo_pmsmfoc:4562"] = {rtwname: "<S24>/Bus Selector8"}; + this.rtwnameHashMap["<S24>/Product"] = {sid: "rtwdemo_pmsmfoc:4563"}; + this.sidHashMap["rtwdemo_pmsmfoc:4563"] = {rtwname: "<S24>/Product"}; + this.rtwnameHashMap["<S24>/Product1"] = {sid: "rtwdemo_pmsmfoc:4564"}; + this.sidHashMap["rtwdemo_pmsmfoc:4564"] = {rtwname: "<S24>/Product1"}; + this.rtwnameHashMap["<S24>/Product2"] = {sid: "rtwdemo_pmsmfoc:4565"}; + this.sidHashMap["rtwdemo_pmsmfoc:4565"] = {rtwname: "<S24>/Product2"}; + this.rtwnameHashMap["<S24>/Product3"] = {sid: "rtwdemo_pmsmfoc:4566"}; + this.sidHashMap["rtwdemo_pmsmfoc:4566"] = {rtwname: "<S24>/Product3"}; + this.rtwnameHashMap["<S24>/alpha_voltage"] = {sid: "rtwdemo_pmsmfoc:4567"}; + this.sidHashMap["rtwdemo_pmsmfoc:4567"] = {rtwname: "<S24>/alpha_voltage"}; + this.rtwnameHashMap["<S24>/beta_voltage"] = {sid: "rtwdemo_pmsmfoc:4568"}; + this.sidHashMap["rtwdemo_pmsmfoc:4568"] = {rtwname: "<S24>/beta_voltage"}; + this.rtwnameHashMap["<S25>/alpha_voltage"] = {sid: "rtwdemo_pmsmfoc:5425"}; + this.sidHashMap["rtwdemo_pmsmfoc:5425"] = {rtwname: "<S25>/alpha_voltage"}; + this.rtwnameHashMap["<S25>/beta_voltage"] = {sid: "rtwdemo_pmsmfoc:5426"}; + this.sidHashMap["rtwdemo_pmsmfoc:5426"] = {rtwname: "<S25>/beta_voltage"}; + this.rtwnameHashMap["<S25>/Add"] = {sid: "rtwdemo_pmsmfoc:5427"}; + this.sidHashMap["rtwdemo_pmsmfoc:5427"] = {rtwname: "<S25>/Add"}; + this.rtwnameHashMap["<S25>/Add1"] = {sid: "rtwdemo_pmsmfoc:5428"}; + this.sidHashMap["rtwdemo_pmsmfoc:5428"] = {rtwname: "<S25>/Add1"}; + this.rtwnameHashMap["<S25>/Add2"] = {sid: "rtwdemo_pmsmfoc:5429"}; + this.sidHashMap["rtwdemo_pmsmfoc:5429"] = {rtwname: "<S25>/Add2"}; + this.rtwnameHashMap["<S25>/Gain"] = {sid: "rtwdemo_pmsmfoc:5431"}; + this.sidHashMap["rtwdemo_pmsmfoc:5431"] = {rtwname: "<S25>/Gain"}; + this.rtwnameHashMap["<S25>/Gain1"] = {sid: "rtwdemo_pmsmfoc:5432"}; + this.sidHashMap["rtwdemo_pmsmfoc:5432"] = {rtwname: "<S25>/Gain1"}; + this.rtwnameHashMap["<S25>/Half_Bus_Voltage"] = {sid: "rtwdemo_pmsmfoc:5430"}; + this.sidHashMap["rtwdemo_pmsmfoc:5430"] = {rtwname: "<S25>/Half_Bus_Voltage"}; + this.rtwnameHashMap["<S25>/Mux"] = {sid: "rtwdemo_pmsmfoc:5435"}; + this.sidHashMap["rtwdemo_pmsmfoc:5435"] = {rtwname: "<S25>/Mux"}; + this.rtwnameHashMap["<S25>/Signal Conversion"] = {sid: "rtwdemo_pmsmfoc:5814"}; + this.sidHashMap["rtwdemo_pmsmfoc:5814"] = {rtwname: "<S25>/Signal Conversion"}; + this.rtwnameHashMap["<S25>/phase_voltages"] = {sid: "rtwdemo_pmsmfoc:5437"}; + this.sidHashMap["rtwdemo_pmsmfoc:5437"] = {rtwname: "<S25>/phase_voltages"}; + this.rtwnameHashMap["<S26>/alpha_voltage"] = {sid: "rtwdemo_pmsmfoc:5439"}; + this.sidHashMap["rtwdemo_pmsmfoc:5439"] = {rtwname: "<S26>/alpha_voltage"}; + this.rtwnameHashMap["<S26>/beta_voltage"] = {sid: "rtwdemo_pmsmfoc:5440"}; + this.sidHashMap["rtwdemo_pmsmfoc:5440"] = {rtwname: "<S26>/beta_voltage"}; + this.rtwnameHashMap["<S26>/Calculate_Phase_Voltages"] = {sid: "rtwdemo_pmsmfoc:5441"}; + this.sidHashMap["rtwdemo_pmsmfoc:5441"] = {rtwname: "<S26>/Calculate_Phase_Voltages"}; + this.rtwnameHashMap["<S26>/Determine_Sector"] = {sid: "rtwdemo_pmsmfoc:5523"}; + this.sidHashMap["rtwdemo_pmsmfoc:5523"] = {rtwname: "<S26>/Determine_Sector"}; + this.rtwnameHashMap["<S26>/Phase_Advanced_Inverse_Clarke"] = {sid: "rtwdemo_pmsmfoc:5537"}; + this.sidHashMap["rtwdemo_pmsmfoc:5537"] = {rtwname: "<S26>/Phase_Advanced_Inverse_Clarke"}; + this.rtwnameHashMap["<S26>/alpha_voltage (Duplicate)"] = {sid: "rtwdemo_pmsmfoc:5547"}; + this.sidHashMap["rtwdemo_pmsmfoc:5547"] = {rtwname: "<S26>/alpha_voltage (Duplicate)"}; + this.rtwnameHashMap["<S26>/beta_voltage (Duplicate)"] = {sid: "rtwdemo_pmsmfoc:5548"}; + this.sidHashMap["rtwdemo_pmsmfoc:5548"] = {rtwname: "<S26>/beta_voltage (Duplicate)"}; + this.rtwnameHashMap["<S26>/phase_voltages"] = {sid: "rtwdemo_pmsmfoc:5549"}; + this.sidHashMap["rtwdemo_pmsmfoc:5549"] = {rtwname: "<S26>/phase_voltages"}; + this.rtwnameHashMap["<S27>/Sector"] = {sid: "rtwdemo_pmsmfoc:5442"}; + this.sidHashMap["rtwdemo_pmsmfoc:5442"] = {rtwname: "<S27>/Sector"}; + this.rtwnameHashMap["<S27>/alpha_voltage"] = {sid: "rtwdemo_pmsmfoc:5443"}; + this.sidHashMap["rtwdemo_pmsmfoc:5443"] = {rtwname: "<S27>/alpha_voltage"}; + this.rtwnameHashMap["<S27>/beta_voltage"] = {sid: "rtwdemo_pmsmfoc:5444"}; + this.sidHashMap["rtwdemo_pmsmfoc:5444"] = {rtwname: "<S27>/beta_voltage"}; + this.rtwnameHashMap["<S27>/Bus Creator"] = {sid: "rtwdemo_pmsmfoc:5445"}; + this.sidHashMap["rtwdemo_pmsmfoc:5445"] = {rtwname: "<S27>/Bus Creator"}; + this.rtwnameHashMap["<S27>/Bus_Voltage"] = {sid: "rtwdemo_pmsmfoc:5446"}; + this.sidHashMap["rtwdemo_pmsmfoc:5446"] = {rtwname: "<S27>/Bus_Voltage"}; + this.rtwnameHashMap["<S27>/Sectors_1_and_4"] = {sid: "rtwdemo_pmsmfoc:5447"}; + this.sidHashMap["rtwdemo_pmsmfoc:5447"] = {rtwname: "<S27>/Sectors_1_and_4"}; + this.rtwnameHashMap["<S27>/Sectors_2_and_5"] = {sid: "rtwdemo_pmsmfoc:5448"}; + this.sidHashMap["rtwdemo_pmsmfoc:5448"] = {rtwname: "<S27>/Sectors_2_and_5"}; + this.rtwnameHashMap["<S27>/Sectors_3_and_6"] = {sid: "rtwdemo_pmsmfoc:5449"}; + this.sidHashMap["rtwdemo_pmsmfoc:5449"] = {rtwname: "<S27>/Sectors_3_and_6"}; + this.rtwnameHashMap["<S27>/Select_Sector"] = {sid: "rtwdemo_pmsmfoc:5450"}; + this.sidHashMap["rtwdemo_pmsmfoc:5450"] = {rtwname: "<S27>/Select_Sector"}; + this.rtwnameHashMap["<S27>/Va_Sectors_1_and_4"] = {sid: "rtwdemo_pmsmfoc:5451"}; + this.sidHashMap["rtwdemo_pmsmfoc:5451"] = {rtwname: "<S27>/Va_Sectors_1_and_4"}; + this.rtwnameHashMap["<S27>/Va_Sectors_2_and_5"] = {sid: "rtwdemo_pmsmfoc:5459"}; + this.sidHashMap["rtwdemo_pmsmfoc:5459"] = {rtwname: "<S27>/Va_Sectors_2_and_5"}; + this.rtwnameHashMap["<S27>/Va_Sectors_3_and_6"] = {sid: "rtwdemo_pmsmfoc:5466"}; + this.sidHashMap["rtwdemo_pmsmfoc:5466"] = {rtwname: "<S27>/Va_Sectors_3_and_6"}; + this.rtwnameHashMap["<S27>/Vb_Sectors_1_and_4"] = {sid: "rtwdemo_pmsmfoc:5474"}; + this.sidHashMap["rtwdemo_pmsmfoc:5474"] = {rtwname: "<S27>/Vb_Sectors_1_and_4"}; + this.rtwnameHashMap["<S27>/Vb_Sectors_2_and_5"] = {sid: "rtwdemo_pmsmfoc:5483"}; + this.sidHashMap["rtwdemo_pmsmfoc:5483"] = {rtwname: "<S27>/Vb_Sectors_2_and_5"}; + this.rtwnameHashMap["<S27>/Vb_Sectors_3_and_6"] = {sid: "rtwdemo_pmsmfoc:5490"}; + this.sidHashMap["rtwdemo_pmsmfoc:5490"] = {rtwname: "<S27>/Vb_Sectors_3_and_6"}; + this.rtwnameHashMap["<S27>/Vc_Sectors_1_and_4"] = {sid: "rtwdemo_pmsmfoc:5498"}; + this.sidHashMap["rtwdemo_pmsmfoc:5498"] = {rtwname: "<S27>/Vc_Sectors_1_and_4"}; + this.rtwnameHashMap["<S27>/Vc_Sectors_2_and_5"] = {sid: "rtwdemo_pmsmfoc:5506"}; + this.sidHashMap["rtwdemo_pmsmfoc:5506"] = {rtwname: "<S27>/Vc_Sectors_2_and_5"}; + this.rtwnameHashMap["<S27>/Vc_Sectors_3_and_6"] = {sid: "rtwdemo_pmsmfoc:5513"}; + this.sidHashMap["rtwdemo_pmsmfoc:5513"] = {rtwname: "<S27>/Vc_Sectors_3_and_6"}; + this.rtwnameHashMap["<S27>/phase_voltages"] = {sid: "rtwdemo_pmsmfoc:5522"}; + this.sidHashMap["rtwdemo_pmsmfoc:5522"] = {rtwname: "<S27>/phase_voltages"}; + this.rtwnameHashMap["<S28>/VA"] = {sid: "rtwdemo_pmsmfoc:5524"}; + this.sidHashMap["rtwdemo_pmsmfoc:5524"] = {rtwname: "<S28>/VA"}; + this.rtwnameHashMap["<S28>/VB"] = {sid: "rtwdemo_pmsmfoc:5525"}; + this.sidHashMap["rtwdemo_pmsmfoc:5525"] = {rtwname: "<S28>/VB"}; + this.rtwnameHashMap["<S28>/VC"] = {sid: "rtwdemo_pmsmfoc:5526"}; + this.sidHashMap["rtwdemo_pmsmfoc:5526"] = {rtwname: "<S28>/VC"}; + this.rtwnameHashMap["<S28>/Calculate_Phase_Advanced_Sector"] = {sid: "rtwdemo_pmsmfoc:5528"}; + this.sidHashMap["rtwdemo_pmsmfoc:5528"] = {rtwname: "<S28>/Calculate_Phase_Advanced_Sector"}; + this.rtwnameHashMap["<S28>/Compare_VA_To_Zero"] = {sid: "rtwdemo_pmsmfoc:5529"}; + this.sidHashMap["rtwdemo_pmsmfoc:5529"] = {rtwname: "<S28>/Compare_VA_To_Zero"}; + this.rtwnameHashMap["<S28>/Compare_VB_To_Zero"] = {sid: "rtwdemo_pmsmfoc:5530"}; + this.sidHashMap["rtwdemo_pmsmfoc:5530"] = {rtwname: "<S28>/Compare_VB_To_Zero"}; + this.rtwnameHashMap["<S28>/Compare_VC_To_Zero"] = {sid: "rtwdemo_pmsmfoc:5531"}; + this.sidHashMap["rtwdemo_pmsmfoc:5531"] = {rtwname: "<S28>/Compare_VC_To_Zero"}; + this.rtwnameHashMap["<S28>/Lookup_Table"] = {sid: "rtwdemo_pmsmfoc:5532"}; + this.sidHashMap["rtwdemo_pmsmfoc:5532"] = {rtwname: "<S28>/Lookup_Table"}; + this.rtwnameHashMap["<S28>/Sector_Gain_VB"] = {sid: "rtwdemo_pmsmfoc:5534"}; + this.sidHashMap["rtwdemo_pmsmfoc:5534"] = {rtwname: "<S28>/Sector_Gain_VB"}; + this.rtwnameHashMap["<S28>/Sector_Gain_VC"] = {sid: "rtwdemo_pmsmfoc:5535"}; + this.sidHashMap["rtwdemo_pmsmfoc:5535"] = {rtwname: "<S28>/Sector_Gain_VC"}; + this.rtwnameHashMap["<S28>/sector"] = {sid: "rtwdemo_pmsmfoc:5536"}; + this.sidHashMap["rtwdemo_pmsmfoc:5536"] = {rtwname: "<S28>/sector"}; + this.rtwnameHashMap["<S29>/alpha_voltage"] = {sid: "rtwdemo_pmsmfoc:5538"}; + this.sidHashMap["rtwdemo_pmsmfoc:5538"] = {rtwname: "<S29>/alpha_voltage"}; + this.rtwnameHashMap["<S29>/beta_voltage"] = {sid: "rtwdemo_pmsmfoc:5539"}; + this.sidHashMap["rtwdemo_pmsmfoc:5539"] = {rtwname: "<S29>/beta_voltage"}; + this.rtwnameHashMap["<S29>/Add"] = {sid: "rtwdemo_pmsmfoc:5540"}; + this.sidHashMap["rtwdemo_pmsmfoc:5540"] = {rtwname: "<S29>/Add"}; + this.rtwnameHashMap["<S29>/Add1"] = {sid: "rtwdemo_pmsmfoc:5541"}; + this.sidHashMap["rtwdemo_pmsmfoc:5541"] = {rtwname: "<S29>/Add1"}; + this.rtwnameHashMap["<S29>/Gain"] = {sid: "rtwdemo_pmsmfoc:5542"}; + this.sidHashMap["rtwdemo_pmsmfoc:5542"] = {rtwname: "<S29>/Gain"}; + this.rtwnameHashMap["<S29>/Gain1"] = {sid: "rtwdemo_pmsmfoc:5543"}; + this.sidHashMap["rtwdemo_pmsmfoc:5543"] = {rtwname: "<S29>/Gain1"}; + this.rtwnameHashMap["<S29>/ VA"] = {sid: "rtwdemo_pmsmfoc:5544"}; + this.sidHashMap["rtwdemo_pmsmfoc:5544"] = {rtwname: "<S29>/ VA"}; + this.rtwnameHashMap["<S29>/VB"] = {sid: "rtwdemo_pmsmfoc:5545"}; + this.sidHashMap["rtwdemo_pmsmfoc:5545"] = {rtwname: "<S29>/VB"}; + this.rtwnameHashMap["<S29>/VC"] = {sid: "rtwdemo_pmsmfoc:5546"}; + this.sidHashMap["rtwdemo_pmsmfoc:5546"] = {rtwname: "<S29>/VC"}; + this.rtwnameHashMap["<S30>/bus_alpha_beta"] = {sid: "rtwdemo_pmsmfoc:5452"}; + this.sidHashMap["rtwdemo_pmsmfoc:5452"] = {rtwname: "<S30>/bus_alpha_beta"}; + this.rtwnameHashMap["<S30>/Add"] = {sid: "rtwdemo_pmsmfoc:5453"}; + this.sidHashMap["rtwdemo_pmsmfoc:5453"] = {rtwname: "<S30>/Add"}; + this.rtwnameHashMap["<S30>/Alpha_Gain"] = {sid: "rtwdemo_pmsmfoc:5454"}; + this.sidHashMap["rtwdemo_pmsmfoc:5454"] = {rtwname: "<S30>/Alpha_Gain"}; + this.rtwnameHashMap["<S30>/Bus Selector"] = {sid: "rtwdemo_pmsmfoc:5455"}; + this.sidHashMap["rtwdemo_pmsmfoc:5455"] = {rtwname: "<S30>/Bus Selector"}; + this.rtwnameHashMap["<S30>/Bus_Gain"] = {sid: "rtwdemo_pmsmfoc:5456"}; + this.sidHashMap["rtwdemo_pmsmfoc:5456"] = {rtwname: "<S30>/Bus_Gain"}; + this.rtwnameHashMap["<S30>/Space_Vector_Gain"] = {sid: "rtwdemo_pmsmfoc:5457"}; + this.sidHashMap["rtwdemo_pmsmfoc:5457"] = {rtwname: "<S30>/Space_Vector_Gain"}; + this.rtwnameHashMap["<S30>/Va"] = {sid: "rtwdemo_pmsmfoc:5458"}; + this.sidHashMap["rtwdemo_pmsmfoc:5458"] = {rtwname: "<S30>/Va"}; + this.rtwnameHashMap["<S31>/bus_alpha_beta"] = {sid: "rtwdemo_pmsmfoc:5460"}; + this.sidHashMap["rtwdemo_pmsmfoc:5460"] = {rtwname: "<S31>/bus_alpha_beta"}; + this.rtwnameHashMap["<S31>/Add"] = {sid: "rtwdemo_pmsmfoc:5461"}; + this.sidHashMap["rtwdemo_pmsmfoc:5461"] = {rtwname: "<S31>/Add"}; + this.rtwnameHashMap["<S31>/Alpha_Gain"] = {sid: "rtwdemo_pmsmfoc:5462"}; + this.sidHashMap["rtwdemo_pmsmfoc:5462"] = {rtwname: "<S31>/Alpha_Gain"}; + this.rtwnameHashMap["<S31>/Bus Selector"] = {sid: "rtwdemo_pmsmfoc:5463"}; + this.sidHashMap["rtwdemo_pmsmfoc:5463"] = {rtwname: "<S31>/Bus Selector"}; + this.rtwnameHashMap["<S31>/Space_Vector_Gain"] = {sid: "rtwdemo_pmsmfoc:5464"}; + this.sidHashMap["rtwdemo_pmsmfoc:5464"] = {rtwname: "<S31>/Space_Vector_Gain"}; + this.rtwnameHashMap["<S31>/Va"] = {sid: "rtwdemo_pmsmfoc:5465"}; + this.sidHashMap["rtwdemo_pmsmfoc:5465"] = {rtwname: "<S31>/Va"}; + this.rtwnameHashMap["<S32>/bus_alpha_beta"] = {sid: "rtwdemo_pmsmfoc:5467"}; + this.sidHashMap["rtwdemo_pmsmfoc:5467"] = {rtwname: "<S32>/bus_alpha_beta"}; + this.rtwnameHashMap["<S32>/Add"] = {sid: "rtwdemo_pmsmfoc:5468"}; + this.sidHashMap["rtwdemo_pmsmfoc:5468"] = {rtwname: "<S32>/Add"}; + this.rtwnameHashMap["<S32>/Alpha_Gain"] = {sid: "rtwdemo_pmsmfoc:5469"}; + this.sidHashMap["rtwdemo_pmsmfoc:5469"] = {rtwname: "<S32>/Alpha_Gain"}; + this.rtwnameHashMap["<S32>/Bus Selector"] = {sid: "rtwdemo_pmsmfoc:5470"}; + this.sidHashMap["rtwdemo_pmsmfoc:5470"] = {rtwname: "<S32>/Bus Selector"}; + this.rtwnameHashMap["<S32>/Bus_Gain"] = {sid: "rtwdemo_pmsmfoc:5471"}; + this.sidHashMap["rtwdemo_pmsmfoc:5471"] = {rtwname: "<S32>/Bus_Gain"}; + this.rtwnameHashMap["<S32>/Space_Vector_Gain"] = {sid: "rtwdemo_pmsmfoc:5472"}; + this.sidHashMap["rtwdemo_pmsmfoc:5472"] = {rtwname: "<S32>/Space_Vector_Gain"}; + this.rtwnameHashMap["<S32>/Va"] = {sid: "rtwdemo_pmsmfoc:5473"}; + this.sidHashMap["rtwdemo_pmsmfoc:5473"] = {rtwname: "<S32>/Va"}; + this.rtwnameHashMap["<S33>/bus_alpha_beta"] = {sid: "rtwdemo_pmsmfoc:5475"}; + this.sidHashMap["rtwdemo_pmsmfoc:5475"] = {rtwname: "<S33>/bus_alpha_beta"}; + this.rtwnameHashMap["<S33>/Add"] = {sid: "rtwdemo_pmsmfoc:5476"}; + this.sidHashMap["rtwdemo_pmsmfoc:5476"] = {rtwname: "<S33>/Add"}; + this.rtwnameHashMap["<S33>/Alpha_Gain"] = {sid: "rtwdemo_pmsmfoc:5477"}; + this.sidHashMap["rtwdemo_pmsmfoc:5477"] = {rtwname: "<S33>/Alpha_Gain"}; + this.rtwnameHashMap["<S33>/Beta_Gain"] = {sid: "rtwdemo_pmsmfoc:5478"}; + this.sidHashMap["rtwdemo_pmsmfoc:5478"] = {rtwname: "<S33>/Beta_Gain"}; + this.rtwnameHashMap["<S33>/Bus Selector"] = {sid: "rtwdemo_pmsmfoc:5479"}; + this.sidHashMap["rtwdemo_pmsmfoc:5479"] = {rtwname: "<S33>/Bus Selector"}; + this.rtwnameHashMap["<S33>/Bus_Gain"] = {sid: "rtwdemo_pmsmfoc:5480"}; + this.sidHashMap["rtwdemo_pmsmfoc:5480"] = {rtwname: "<S33>/Bus_Gain"}; + this.rtwnameHashMap["<S33>/Va_Gain"] = {sid: "rtwdemo_pmsmfoc:5481"}; + this.sidHashMap["rtwdemo_pmsmfoc:5481"] = {rtwname: "<S33>/Va_Gain"}; + this.rtwnameHashMap["<S33>/Vb"] = {sid: "rtwdemo_pmsmfoc:5482"}; + this.sidHashMap["rtwdemo_pmsmfoc:5482"] = {rtwname: "<S33>/Vb"}; + this.rtwnameHashMap["<S34>/bus_alpha_beta"] = {sid: "rtwdemo_pmsmfoc:5484"}; + this.sidHashMap["rtwdemo_pmsmfoc:5484"] = {rtwname: "<S34>/bus_alpha_beta"}; + this.rtwnameHashMap["<S34>/Add"] = {sid: "rtwdemo_pmsmfoc:5485"}; + this.sidHashMap["rtwdemo_pmsmfoc:5485"] = {rtwname: "<S34>/Add"}; + this.rtwnameHashMap["<S34>/Beta_Gain"] = {sid: "rtwdemo_pmsmfoc:5486"}; + this.sidHashMap["rtwdemo_pmsmfoc:5486"] = {rtwname: "<S34>/Beta_Gain"}; + this.rtwnameHashMap["<S34>/Bus Selector"] = {sid: "rtwdemo_pmsmfoc:5487"}; + this.sidHashMap["rtwdemo_pmsmfoc:5487"] = {rtwname: "<S34>/Bus Selector"}; + this.rtwnameHashMap["<S34>/Va_Gain"] = {sid: "rtwdemo_pmsmfoc:5488"}; + this.sidHashMap["rtwdemo_pmsmfoc:5488"] = {rtwname: "<S34>/Va_Gain"}; + this.rtwnameHashMap["<S34>/Vb"] = {sid: "rtwdemo_pmsmfoc:5489"}; + this.sidHashMap["rtwdemo_pmsmfoc:5489"] = {rtwname: "<S34>/Vb"}; + this.rtwnameHashMap["<S35>/bus_alpha_beta"] = {sid: "rtwdemo_pmsmfoc:5491"}; + this.sidHashMap["rtwdemo_pmsmfoc:5491"] = {rtwname: "<S35>/bus_alpha_beta"}; + this.rtwnameHashMap["<S35>/Add"] = {sid: "rtwdemo_pmsmfoc:5492"}; + this.sidHashMap["rtwdemo_pmsmfoc:5492"] = {rtwname: "<S35>/Add"}; + this.rtwnameHashMap["<S35>/Alpha_Gain"] = {sid: "rtwdemo_pmsmfoc:5493"}; + this.sidHashMap["rtwdemo_pmsmfoc:5493"] = {rtwname: "<S35>/Alpha_Gain"}; + this.rtwnameHashMap["<S35>/Bus Selector"] = {sid: "rtwdemo_pmsmfoc:5494"}; + this.sidHashMap["rtwdemo_pmsmfoc:5494"] = {rtwname: "<S35>/Bus Selector"}; + this.rtwnameHashMap["<S35>/Bus_Gain"] = {sid: "rtwdemo_pmsmfoc:5495"}; + this.sidHashMap["rtwdemo_pmsmfoc:5495"] = {rtwname: "<S35>/Bus_Gain"}; + this.rtwnameHashMap["<S35>/Va_Gain"] = {sid: "rtwdemo_pmsmfoc:5496"}; + this.sidHashMap["rtwdemo_pmsmfoc:5496"] = {rtwname: "<S35>/Va_Gain"}; + this.rtwnameHashMap["<S35>/Vb"] = {sid: "rtwdemo_pmsmfoc:5497"}; + this.sidHashMap["rtwdemo_pmsmfoc:5497"] = {rtwname: "<S35>/Vb"}; + this.rtwnameHashMap["<S36>/bus_alpha_beta"] = {sid: "rtwdemo_pmsmfoc:5499"}; + this.sidHashMap["rtwdemo_pmsmfoc:5499"] = {rtwname: "<S36>/bus_alpha_beta"}; + this.rtwnameHashMap["<S36>/Add"] = {sid: "rtwdemo_pmsmfoc:5500"}; + this.sidHashMap["rtwdemo_pmsmfoc:5500"] = {rtwname: "<S36>/Add"}; + this.rtwnameHashMap["<S36>/Alpha_Gain"] = {sid: "rtwdemo_pmsmfoc:5501"}; + this.sidHashMap["rtwdemo_pmsmfoc:5501"] = {rtwname: "<S36>/Alpha_Gain"}; + this.rtwnameHashMap["<S36>/Bus Selector"] = {sid: "rtwdemo_pmsmfoc:5502"}; + this.sidHashMap["rtwdemo_pmsmfoc:5502"] = {rtwname: "<S36>/Bus Selector"}; + this.rtwnameHashMap["<S36>/Bus_Gain"] = {sid: "rtwdemo_pmsmfoc:5503"}; + this.sidHashMap["rtwdemo_pmsmfoc:5503"] = {rtwname: "<S36>/Bus_Gain"}; + this.rtwnameHashMap["<S36>/Space_Vector_Gain"] = {sid: "rtwdemo_pmsmfoc:5504"}; + this.sidHashMap["rtwdemo_pmsmfoc:5504"] = {rtwname: "<S36>/Space_Vector_Gain"}; + this.rtwnameHashMap["<S36>/Vc"] = {sid: "rtwdemo_pmsmfoc:5505"}; + this.sidHashMap["rtwdemo_pmsmfoc:5505"] = {rtwname: "<S36>/Vc"}; + this.rtwnameHashMap["<S37>/bus_alpha_beta"] = {sid: "rtwdemo_pmsmfoc:5507"}; + this.sidHashMap["rtwdemo_pmsmfoc:5507"] = {rtwname: "<S37>/bus_alpha_beta"}; + this.rtwnameHashMap["<S37>/Add"] = {sid: "rtwdemo_pmsmfoc:5508"}; + this.sidHashMap["rtwdemo_pmsmfoc:5508"] = {rtwname: "<S37>/Add"}; + this.rtwnameHashMap["<S37>/Beta_Gain"] = {sid: "rtwdemo_pmsmfoc:5509"}; + this.sidHashMap["rtwdemo_pmsmfoc:5509"] = {rtwname: "<S37>/Beta_Gain"}; + this.rtwnameHashMap["<S37>/Bus Selector"] = {sid: "rtwdemo_pmsmfoc:5510"}; + this.sidHashMap["rtwdemo_pmsmfoc:5510"] = {rtwname: "<S37>/Bus Selector"}; + this.rtwnameHashMap["<S37>/Space_Vector_Gain"] = {sid: "rtwdemo_pmsmfoc:5511"}; + this.sidHashMap["rtwdemo_pmsmfoc:5511"] = {rtwname: "<S37>/Space_Vector_Gain"}; + this.rtwnameHashMap["<S37>/Vc"] = {sid: "rtwdemo_pmsmfoc:5512"}; + this.sidHashMap["rtwdemo_pmsmfoc:5512"] = {rtwname: "<S37>/Vc"}; + this.rtwnameHashMap["<S38>/bus_alpha_beta"] = {sid: "rtwdemo_pmsmfoc:5514"}; + this.sidHashMap["rtwdemo_pmsmfoc:5514"] = {rtwname: "<S38>/bus_alpha_beta"}; + this.rtwnameHashMap["<S38>/Add"] = {sid: "rtwdemo_pmsmfoc:5515"}; + this.sidHashMap["rtwdemo_pmsmfoc:5515"] = {rtwname: "<S38>/Add"}; + this.rtwnameHashMap["<S38>/Alpha_Gain"] = {sid: "rtwdemo_pmsmfoc:5516"}; + this.sidHashMap["rtwdemo_pmsmfoc:5516"] = {rtwname: "<S38>/Alpha_Gain"}; + this.rtwnameHashMap["<S38>/Beta_Gain"] = {sid: "rtwdemo_pmsmfoc:5517"}; + this.sidHashMap["rtwdemo_pmsmfoc:5517"] = {rtwname: "<S38>/Beta_Gain"}; + this.rtwnameHashMap["<S38>/Bus Selector"] = {sid: "rtwdemo_pmsmfoc:5518"}; + this.sidHashMap["rtwdemo_pmsmfoc:5518"] = {rtwname: "<S38>/Bus Selector"}; + this.rtwnameHashMap["<S38>/Bus_Gain"] = {sid: "rtwdemo_pmsmfoc:5519"}; + this.sidHashMap["rtwdemo_pmsmfoc:5519"] = {rtwname: "<S38>/Bus_Gain"}; + this.rtwnameHashMap["<S38>/Space_Vector_Gain"] = {sid: "rtwdemo_pmsmfoc:5520"}; + this.sidHashMap["rtwdemo_pmsmfoc:5520"] = {rtwname: "<S38>/Space_Vector_Gain"}; + this.rtwnameHashMap["<S38>/Vc"] = {sid: "rtwdemo_pmsmfoc:5521"}; + this.sidHashMap["rtwdemo_pmsmfoc:5521"] = {rtwname: "<S38>/Vc"}; + this.rtwnameHashMap["<S39>/u"] = {sid: "rtwdemo_pmsmfoc:5529:1"}; + this.sidHashMap["rtwdemo_pmsmfoc:5529:1"] = {rtwname: "<S39>/u"}; + this.rtwnameHashMap["<S39>/Compare"] = {sid: "rtwdemo_pmsmfoc:5529:2"}; + this.sidHashMap["rtwdemo_pmsmfoc:5529:2"] = {rtwname: "<S39>/Compare"}; + this.rtwnameHashMap["<S39>/Constant"] = {sid: "rtwdemo_pmsmfoc:5529:3"}; + this.sidHashMap["rtwdemo_pmsmfoc:5529:3"] = {rtwname: "<S39>/Constant"}; + this.rtwnameHashMap["<S39>/y"] = {sid: "rtwdemo_pmsmfoc:5529:5"}; + this.sidHashMap["rtwdemo_pmsmfoc:5529:5"] = {rtwname: "<S39>/y"}; + this.rtwnameHashMap["<S40>/u"] = {sid: "rtwdemo_pmsmfoc:5530:1"}; + this.sidHashMap["rtwdemo_pmsmfoc:5530:1"] = {rtwname: "<S40>/u"}; + this.rtwnameHashMap["<S40>/Compare"] = {sid: "rtwdemo_pmsmfoc:5530:2"}; + this.sidHashMap["rtwdemo_pmsmfoc:5530:2"] = {rtwname: "<S40>/Compare"}; + this.rtwnameHashMap["<S40>/Constant"] = {sid: "rtwdemo_pmsmfoc:5530:3"}; + this.sidHashMap["rtwdemo_pmsmfoc:5530:3"] = {rtwname: "<S40>/Constant"}; + this.rtwnameHashMap["<S40>/y"] = {sid: "rtwdemo_pmsmfoc:5530:5"}; + this.sidHashMap["rtwdemo_pmsmfoc:5530:5"] = {rtwname: "<S40>/y"}; + this.rtwnameHashMap["<S41>/u"] = {sid: "rtwdemo_pmsmfoc:5531:1"}; + this.sidHashMap["rtwdemo_pmsmfoc:5531:1"] = {rtwname: "<S41>/u"}; + this.rtwnameHashMap["<S41>/Compare"] = {sid: "rtwdemo_pmsmfoc:5531:2"}; + this.sidHashMap["rtwdemo_pmsmfoc:5531:2"] = {rtwname: "<S41>/Compare"}; + this.rtwnameHashMap["<S41>/Constant"] = {sid: "rtwdemo_pmsmfoc:5531:3"}; + this.sidHashMap["rtwdemo_pmsmfoc:5531:3"] = {rtwname: "<S41>/Constant"}; + this.rtwnameHashMap["<S41>/y"] = {sid: "rtwdemo_pmsmfoc:5531:5"}; + this.sidHashMap["rtwdemo_pmsmfoc:5531:5"] = {rtwname: "<S41>/y"}; + this.rtwnameHashMap["<S42>/u"] = {sid: "rtwdemo_pmsmfoc:5621:1"}; + this.sidHashMap["rtwdemo_pmsmfoc:5621:1"] = {rtwname: "<S42>/u"}; + this.rtwnameHashMap["<S42>/Clamping circuit"] = {sid: "rtwdemo_pmsmfoc:5621:1670"}; + this.sidHashMap["rtwdemo_pmsmfoc:5621:1670"] = {rtwname: "<S42>/Clamping circuit"}; + this.rtwnameHashMap["<S42>/Constant"] = {sid: "rtwdemo_pmsmfoc:5621:1684"}; + this.sidHashMap["rtwdemo_pmsmfoc:5621:1684"] = {rtwname: "<S42>/Constant"}; + this.rtwnameHashMap["<S42>/Integral Gain"] = {sid: "rtwdemo_pmsmfoc:5621:1667"}; + this.sidHashMap["rtwdemo_pmsmfoc:5621:1667"] = {rtwname: "<S42>/Integral Gain"}; + this.rtwnameHashMap["<S42>/Integrator"] = {sid: "rtwdemo_pmsmfoc:5621:1668"}; + this.sidHashMap["rtwdemo_pmsmfoc:5621:1668"] = {rtwname: "<S42>/Integrator"}; + this.rtwnameHashMap["<S42>/Proportional Gain"] = {sid: "rtwdemo_pmsmfoc:5621:1666"}; + this.sidHashMap["rtwdemo_pmsmfoc:5621:1666"] = {rtwname: "<S42>/Proportional Gain"}; + this.rtwnameHashMap["<S42>/Saturate"] = {sid: "rtwdemo_pmsmfoc:5621:1669"}; + this.sidHashMap["rtwdemo_pmsmfoc:5621:1669"] = {rtwname: "<S42>/Saturate"}; + this.rtwnameHashMap["<S42>/Sum"] = {sid: "rtwdemo_pmsmfoc:5621:1665"}; + this.sidHashMap["rtwdemo_pmsmfoc:5621:1665"] = {rtwname: "<S42>/Sum"}; + this.rtwnameHashMap["<S42>/Switch"] = {sid: "rtwdemo_pmsmfoc:5621:1683"}; + this.sidHashMap["rtwdemo_pmsmfoc:5621:1683"] = {rtwname: "<S42>/Switch"}; + this.rtwnameHashMap["<S42>/y"] = {sid: "rtwdemo_pmsmfoc:5621:10"}; + this.sidHashMap["rtwdemo_pmsmfoc:5621:10"] = {rtwname: "<S42>/y"}; + this.rtwnameHashMap["<S43>/Error"] = {sid: "rtwdemo_pmsmfoc:6206"}; + this.sidHashMap["rtwdemo_pmsmfoc:6206"] = {rtwname: "<S43>/Error"}; + this.rtwnameHashMap["<S43>/Add"] = {sid: "rtwdemo_pmsmfoc:6193"}; + this.sidHashMap["rtwdemo_pmsmfoc:6193"] = {rtwname: "<S43>/Add"}; + this.rtwnameHashMap["<S43>/Greater_Than"] = {sid: "rtwdemo_pmsmfoc:6194"}; + this.sidHashMap["rtwdemo_pmsmfoc:6194"] = {rtwname: "<S43>/Greater_Than"}; + this.rtwnameHashMap["<S43>/Less_Than"] = {sid: "rtwdemo_pmsmfoc:6195"}; + this.sidHashMap["rtwdemo_pmsmfoc:6195"] = {rtwname: "<S43>/Less_Than"}; + this.rtwnameHashMap["<S43>/Modulus"] = {sid: "rtwdemo_pmsmfoc:6196"}; + this.sidHashMap["rtwdemo_pmsmfoc:6196"] = {rtwname: "<S43>/Modulus"}; + this.rtwnameHashMap["<S43>/Neg_Pi_Constant"] = {sid: "rtwdemo_pmsmfoc:6197"}; + this.sidHashMap["rtwdemo_pmsmfoc:6197"] = {rtwname: "<S43>/Neg_Pi_Constant"}; + this.rtwnameHashMap["<S43>/OR"] = {sid: "rtwdemo_pmsmfoc:6198"}; + this.sidHashMap["rtwdemo_pmsmfoc:6198"] = {rtwname: "<S43>/OR"}; + this.rtwnameHashMap["<S43>/Pi_Constant_1"] = {sid: "rtwdemo_pmsmfoc:6199"}; + this.sidHashMap["rtwdemo_pmsmfoc:6199"] = {rtwname: "<S43>/Pi_Constant_1"}; + this.rtwnameHashMap["<S43>/Pi_Constant_2"] = {sid: "rtwdemo_pmsmfoc:6200"}; + this.sidHashMap["rtwdemo_pmsmfoc:6200"] = {rtwname: "<S43>/Pi_Constant_2"}; + this.rtwnameHashMap["<S43>/Pi_Constant_3"] = {sid: "rtwdemo_pmsmfoc:6201"}; + this.sidHashMap["rtwdemo_pmsmfoc:6201"] = {rtwname: "<S43>/Pi_Constant_3"}; + this.rtwnameHashMap["<S43>/Select_Angle"] = {sid: "rtwdemo_pmsmfoc:6202"}; + this.sidHashMap["rtwdemo_pmsmfoc:6202"] = {rtwname: "<S43>/Select_Angle"}; + this.rtwnameHashMap["<S43>/Subtract"] = {sid: "rtwdemo_pmsmfoc:6203"}; + this.sidHashMap["rtwdemo_pmsmfoc:6203"] = {rtwname: "<S43>/Subtract"}; + this.rtwnameHashMap["<S43>/Two_Pi_Constant"] = {sid: "rtwdemo_pmsmfoc:6204"}; + this.sidHashMap["rtwdemo_pmsmfoc:6204"] = {rtwname: "<S43>/Two_Pi_Constant"}; + this.rtwnameHashMap["<S43>/Wrap"] = {sid: "rtwdemo_pmsmfoc:6207"}; + this.sidHashMap["rtwdemo_pmsmfoc:6207"] = {rtwname: "<S43>/Wrap"}; + this.rtwnameHashMap["<S44>/preSat"] = {sid: "rtwdemo_pmsmfoc:5621:1671"}; + this.sidHashMap["rtwdemo_pmsmfoc:5621:1671"] = {rtwname: "<S44>/preSat"}; + this.rtwnameHashMap["<S44>/preIntegrator"] = {sid: "rtwdemo_pmsmfoc:5621:1672"}; + this.sidHashMap["rtwdemo_pmsmfoc:5621:1672"] = {rtwname: "<S44>/preIntegrator"}; + this.rtwnameHashMap["<S44>/AND"] = {sid: "rtwdemo_pmsmfoc:5621:1682"}; + this.sidHashMap["rtwdemo_pmsmfoc:5621:1682"] = {rtwname: "<S44>/AND"}; + this.rtwnameHashMap["<S44>/DataTypeConv1"] = {sid: "rtwdemo_pmsmfoc:5621:1674"}; + this.sidHashMap["rtwdemo_pmsmfoc:5621:1674"] = {rtwname: "<S44>/DataTypeConv1"}; + this.rtwnameHashMap["<S44>/DataTypeConv2"] = {sid: "rtwdemo_pmsmfoc:5621:1675"}; + this.sidHashMap["rtwdemo_pmsmfoc:5621:1675"] = {rtwname: "<S44>/DataTypeConv2"}; + this.rtwnameHashMap["<S44>/DeadZone"] = {sid: "rtwdemo_pmsmfoc:5621:1677"}; + this.sidHashMap["rtwdemo_pmsmfoc:5621:1677"] = {rtwname: "<S44>/DeadZone"}; + this.rtwnameHashMap["<S44>/Equal"] = {sid: "rtwdemo_pmsmfoc:5621:1681"}; + this.sidHashMap["rtwdemo_pmsmfoc:5621:1681"] = {rtwname: "<S44>/Equal"}; + this.rtwnameHashMap["<S44>/NotEqual"] = {sid: "rtwdemo_pmsmfoc:5621:1679"}; + this.sidHashMap["rtwdemo_pmsmfoc:5621:1679"] = {rtwname: "<S44>/NotEqual"}; + this.rtwnameHashMap["<S44>/SignDeltaU"] = {sid: "rtwdemo_pmsmfoc:5621:1678"}; + this.sidHashMap["rtwdemo_pmsmfoc:5621:1678"] = {rtwname: "<S44>/SignDeltaU"}; + this.rtwnameHashMap["<S44>/SignPreIntegrator"] = {sid: "rtwdemo_pmsmfoc:5621:1680"}; + this.sidHashMap["rtwdemo_pmsmfoc:5621:1680"] = {rtwname: "<S44>/SignPreIntegrator"}; + this.rtwnameHashMap["<S44>/ZeroGain"] = {sid: "rtwdemo_pmsmfoc:5621:1676"}; + this.sidHashMap["rtwdemo_pmsmfoc:5621:1676"] = {rtwname: "<S44>/ZeroGain"}; + this.rtwnameHashMap["<S44>/Clamp"] = {sid: "rtwdemo_pmsmfoc:5621:1673"}; + this.sidHashMap["rtwdemo_pmsmfoc:5621:1673"] = {rtwname: "<S44>/Clamp"}; + this.rtwnameHashMap["<S45>/u"] = {sid: "rtwdemo_pmsmfoc:4768:1"}; + this.sidHashMap["rtwdemo_pmsmfoc:4768:1"] = {rtwname: "<S45>/u"}; + this.rtwnameHashMap["<S45>/Clamping circuit"] = {sid: "rtwdemo_pmsmfoc:4768:1670"}; + this.sidHashMap["rtwdemo_pmsmfoc:4768:1670"] = {rtwname: "<S45>/Clamping circuit"}; + this.rtwnameHashMap["<S45>/Constant"] = {sid: "rtwdemo_pmsmfoc:4768:1684"}; + this.sidHashMap["rtwdemo_pmsmfoc:4768:1684"] = {rtwname: "<S45>/Constant"}; + this.rtwnameHashMap["<S45>/Integral Gain"] = {sid: "rtwdemo_pmsmfoc:4768:1667"}; + this.sidHashMap["rtwdemo_pmsmfoc:4768:1667"] = {rtwname: "<S45>/Integral Gain"}; + this.rtwnameHashMap["<S45>/Integrator"] = {sid: "rtwdemo_pmsmfoc:4768:1668"}; + this.sidHashMap["rtwdemo_pmsmfoc:4768:1668"] = {rtwname: "<S45>/Integrator"}; + this.rtwnameHashMap["<S45>/Proportional Gain"] = {sid: "rtwdemo_pmsmfoc:4768:1666"}; + this.sidHashMap["rtwdemo_pmsmfoc:4768:1666"] = {rtwname: "<S45>/Proportional Gain"}; + this.rtwnameHashMap["<S45>/Saturate"] = {sid: "rtwdemo_pmsmfoc:4768:1669"}; + this.sidHashMap["rtwdemo_pmsmfoc:4768:1669"] = {rtwname: "<S45>/Saturate"}; + this.rtwnameHashMap["<S45>/Sum"] = {sid: "rtwdemo_pmsmfoc:4768:1665"}; + this.sidHashMap["rtwdemo_pmsmfoc:4768:1665"] = {rtwname: "<S45>/Sum"}; + this.rtwnameHashMap["<S45>/Switch"] = {sid: "rtwdemo_pmsmfoc:4768:1683"}; + this.sidHashMap["rtwdemo_pmsmfoc:4768:1683"] = {rtwname: "<S45>/Switch"}; + this.rtwnameHashMap["<S45>/y"] = {sid: "rtwdemo_pmsmfoc:4768:10"}; + this.sidHashMap["rtwdemo_pmsmfoc:4768:10"] = {rtwname: "<S45>/y"}; + this.rtwnameHashMap["<S46>/preSat"] = {sid: "rtwdemo_pmsmfoc:4768:1671"}; + this.sidHashMap["rtwdemo_pmsmfoc:4768:1671"] = {rtwname: "<S46>/preSat"}; + this.rtwnameHashMap["<S46>/preIntegrator"] = {sid: "rtwdemo_pmsmfoc:4768:1672"}; + this.sidHashMap["rtwdemo_pmsmfoc:4768:1672"] = {rtwname: "<S46>/preIntegrator"}; + this.rtwnameHashMap["<S46>/AND"] = {sid: "rtwdemo_pmsmfoc:4768:1682"}; + this.sidHashMap["rtwdemo_pmsmfoc:4768:1682"] = {rtwname: "<S46>/AND"}; + this.rtwnameHashMap["<S46>/DataTypeConv1"] = {sid: "rtwdemo_pmsmfoc:4768:1674"}; + this.sidHashMap["rtwdemo_pmsmfoc:4768:1674"] = {rtwname: "<S46>/DataTypeConv1"}; + this.rtwnameHashMap["<S46>/DataTypeConv2"] = {sid: "rtwdemo_pmsmfoc:4768:1675"}; + this.sidHashMap["rtwdemo_pmsmfoc:4768:1675"] = {rtwname: "<S46>/DataTypeConv2"}; + this.rtwnameHashMap["<S46>/DeadZone"] = {sid: "rtwdemo_pmsmfoc:4768:1677"}; + this.sidHashMap["rtwdemo_pmsmfoc:4768:1677"] = {rtwname: "<S46>/DeadZone"}; + this.rtwnameHashMap["<S46>/Equal"] = {sid: "rtwdemo_pmsmfoc:4768:1681"}; + this.sidHashMap["rtwdemo_pmsmfoc:4768:1681"] = {rtwname: "<S46>/Equal"}; + this.rtwnameHashMap["<S46>/NotEqual"] = {sid: "rtwdemo_pmsmfoc:4768:1679"}; + this.sidHashMap["rtwdemo_pmsmfoc:4768:1679"] = {rtwname: "<S46>/NotEqual"}; + this.rtwnameHashMap["<S46>/SignDeltaU"] = {sid: "rtwdemo_pmsmfoc:4768:1678"}; + this.sidHashMap["rtwdemo_pmsmfoc:4768:1678"] = {rtwname: "<S46>/SignDeltaU"}; + this.rtwnameHashMap["<S46>/SignPreIntegrator"] = {sid: "rtwdemo_pmsmfoc:4768:1680"}; + this.sidHashMap["rtwdemo_pmsmfoc:4768:1680"] = {rtwname: "<S46>/SignPreIntegrator"}; + this.rtwnameHashMap["<S46>/ZeroGain"] = {sid: "rtwdemo_pmsmfoc:4768:1676"}; + this.sidHashMap["rtwdemo_pmsmfoc:4768:1676"] = {rtwname: "<S46>/ZeroGain"}; + this.rtwnameHashMap["<S46>/Clamp"] = {sid: "rtwdemo_pmsmfoc:4768:1673"}; + this.sidHashMap["rtwdemo_pmsmfoc:4768:1673"] = {rtwname: "<S46>/Clamp"}; + this.rtwnameHashMap["<S47>/Constant"] = {sid: "rtwdemo_pmsmfoc:5624:158"}; + this.sidHashMap["rtwdemo_pmsmfoc:5624:158"] = {rtwname: "<S47>/Constant"}; + this.rtwnameHashMap["<S47>/Out"] = {sid: "rtwdemo_pmsmfoc:5624:159"}; + this.sidHashMap["rtwdemo_pmsmfoc:5624:159"] = {rtwname: "<S47>/Out"}; + this.rtwnameHashMap["<S48>/sensors"] = {sid: "rtwdemo_pmsmfoc:4458"}; + this.sidHashMap["rtwdemo_pmsmfoc:4458"] = {rtwname: "<S48>/sensors"}; + this.rtwnameHashMap["<S48>/ADC_Driver_Units_To_Amps"] = {sid: "rtwdemo_pmsmfoc:6047"}; + this.sidHashMap["rtwdemo_pmsmfoc:6047"] = {rtwname: "<S48>/ADC_Driver_Units_To_Amps"}; + this.rtwnameHashMap["<S48>/ADC_Zero_Offset"] = {sid: "rtwdemo_pmsmfoc:6046"}; + this.sidHashMap["rtwdemo_pmsmfoc:6046"] = {rtwname: "<S48>/ADC_Zero_Offset"}; + this.rtwnameHashMap["<S48>/Add"] = {sid: "rtwdemo_pmsmfoc:6048"}; + this.sidHashMap["rtwdemo_pmsmfoc:6048"] = {rtwname: "<S48>/Add"}; + this.rtwnameHashMap["<S48>/Bus Selector"] = {sid: "rtwdemo_pmsmfoc:4459"}; + this.sidHashMap["rtwdemo_pmsmfoc:4459"] = {rtwname: "<S48>/Bus Selector"}; + this.rtwnameHashMap["<S48>/Product"] = {sid: "rtwdemo_pmsmfoc:6049"}; + this.sidHashMap["rtwdemo_pmsmfoc:6049"] = {rtwname: "<S48>/Product"}; + this.rtwnameHashMap["<S48>/phase_currents"] = {sid: "rtwdemo_pmsmfoc:4463"}; + this.sidHashMap["rtwdemo_pmsmfoc:4463"] = {rtwname: "<S48>/phase_currents"}; + this.rtwnameHashMap["<S49>/sensors"] = {sid: "rtwdemo_pmsmfoc:5636"}; + this.sidHashMap["rtwdemo_pmsmfoc:5636"] = {rtwname: "<S49>/sensors"}; + this.rtwnameHashMap["<S49>/Add"] = {sid: "rtwdemo_pmsmfoc:6003"}; + this.sidHashMap["rtwdemo_pmsmfoc:6003"] = {rtwname: "<S49>/Add"}; + this.rtwnameHashMap["<S49>/Bus Selector"] = {sid: "rtwdemo_pmsmfoc:5657"}; + this.sidHashMap["rtwdemo_pmsmfoc:5657"] = {rtwname: "<S49>/Bus Selector"}; + this.rtwnameHashMap["<S49>/Lo_to_Hi_Rate_Transition1"] = {sid: "rtwdemo_pmsmfoc:5204"}; + this.sidHashMap["rtwdemo_pmsmfoc:5204"] = {rtwname: "<S49>/Lo_to_Hi_Rate_Transition1"}; + this.rtwnameHashMap["<S49>/Offset_Between_Encoder_Zero_And_Mechanical_Zero"] = {sid: "rtwdemo_pmsmfoc:6002"}; + this.sidHashMap["rtwdemo_pmsmfoc:6002"] = {rtwname: "<S49>/Offset_Between_Encoder_Zero_And_Mechanical_Zero"}; + this.rtwnameHashMap["<S49>/Wait_For_Valid_Position"] = {sid: "rtwdemo_pmsmfoc:6311"}; + this.sidHashMap["rtwdemo_pmsmfoc:6311"] = {rtwname: "<S49>/Wait_For_Valid_Position"}; + this.rtwnameHashMap["<S49>/radians_per_counts"] = {sid: "rtwdemo_pmsmfoc:5638"}; + this.sidHashMap["rtwdemo_pmsmfoc:5638"] = {rtwname: "<S49>/radians_per_counts"}; + this.rtwnameHashMap["<S49>/position_valid"] = {sid: "rtwdemo_pmsmfoc:5320"}; + this.sidHashMap["rtwdemo_pmsmfoc:5320"] = {rtwname: "<S49>/position_valid"}; + this.rtwnameHashMap["<S49>/rotor_position"] = {sid: "rtwdemo_pmsmfoc:5639"}; + this.sidHashMap["rtwdemo_pmsmfoc:5639"] = {rtwname: "<S49>/rotor_position"}; + this.rtwnameHashMap["<S50>/position"] = {sid: "rtwdemo_pmsmfoc:5792"}; + this.sidHashMap["rtwdemo_pmsmfoc:5792"] = {rtwname: "<S50>/position"}; + this.rtwnameHashMap["<S50>/controller_mode"] = {sid: "rtwdemo_pmsmfoc:6034"}; + this.sidHashMap["rtwdemo_pmsmfoc:6034"] = {rtwname: "<S50>/controller_mode"}; + this.rtwnameHashMap["<S50>/Explicit_Angle_Wrap"] = {sid: "rtwdemo_pmsmfoc:5761"}; + this.sidHashMap["rtwdemo_pmsmfoc:5761"] = {rtwname: "<S50>/Explicit_Angle_Wrap"}; + this.rtwnameHashMap["<S50>/Explicit_Angle_Wrap_With_Error"] = {sid: "rtwdemo_pmsmfoc:5941"}; + this.sidHashMap["rtwdemo_pmsmfoc:5941"] = {rtwname: "<S50>/Explicit_Angle_Wrap_With_Error"}; + this.rtwnameHashMap["<S50>/Implicit_Integer_Wrap_With_Error"] = {sid: "rtwdemo_pmsmfoc:5780"}; + this.sidHashMap["rtwdemo_pmsmfoc:5780"] = {rtwname: "<S50>/Implicit_Integer_Wrap_With_Error"}; + this.rtwnameHashMap["<S50>/velocity"] = {sid: "rtwdemo_pmsmfoc:5793"}; + this.sidHashMap["rtwdemo_pmsmfoc:5793"] = {rtwname: "<S50>/velocity"}; + this.rtwnameHashMap["<S51>/controller_mode"] = {sid: "rtwdemo_pmsmfoc:5339"}; + this.sidHashMap["rtwdemo_pmsmfoc:5339"] = {rtwname: "<S51>/controller_mode"}; + this.rtwnameHashMap["<S51>/default_rotor_position"] = {sid: "rtwdemo_pmsmfoc:5323"}; + this.sidHashMap["rtwdemo_pmsmfoc:5323"] = {rtwname: "<S51>/default_rotor_position"}; + this.rtwnameHashMap["<S51>/Enumerated Constant"] = {sid: "rtwdemo_pmsmfoc:5662"}; + this.sidHashMap["rtwdemo_pmsmfoc:5662"] = {rtwname: "<S51>/Enumerated Constant"}; + this.rtwnameHashMap["<S51>/Lo_to_Hi_Rate_Transition2"] = {sid: "rtwdemo_pmsmfoc:5291"}; + this.sidHashMap["rtwdemo_pmsmfoc:5291"] = {rtwname: "<S51>/Lo_to_Hi_Rate_Transition2"}; + this.rtwnameHashMap["<S51>/Open Loop Position"] = {sid: "rtwdemo_pmsmfoc:5254"}; + this.sidHashMap["rtwdemo_pmsmfoc:5254"] = {rtwname: "<S51>/Open Loop Position"}; + this.rtwnameHashMap["<S51>/Relational Operator"] = {sid: "rtwdemo_pmsmfoc:5663"}; + this.sidHashMap["rtwdemo_pmsmfoc:5663"] = {rtwname: "<S51>/Relational Operator"}; + this.rtwnameHashMap["<S51>/Switch"] = {sid: "rtwdemo_pmsmfoc:5375"}; + this.sidHashMap["rtwdemo_pmsmfoc:5375"] = {rtwname: "<S51>/Switch"}; + this.rtwnameHashMap["<S51>/rotor_position"] = {sid: "rtwdemo_pmsmfoc:5322"}; + this.sidHashMap["rtwdemo_pmsmfoc:5322"] = {rtwname: "<S51>/rotor_position"}; + this.rtwnameHashMap["<S52>:25"] = {sid: "rtwdemo_pmsmfoc:6311:25"}; + this.sidHashMap["rtwdemo_pmsmfoc:6311:25"] = {rtwname: "<S52>:25"}; + this.rtwnameHashMap["<S52>:99"] = {sid: "rtwdemo_pmsmfoc:6311:99"}; + this.sidHashMap["rtwdemo_pmsmfoc:6311:99"] = {rtwname: "<S52>:99"}; + this.rtwnameHashMap["<S52>:101"] = {sid: "rtwdemo_pmsmfoc:6311:101"}; + this.sidHashMap["rtwdemo_pmsmfoc:6311:101"] = {rtwname: "<S52>:101"}; + this.rtwnameHashMap["<S52>:113"] = {sid: "rtwdemo_pmsmfoc:6311:113"}; + this.sidHashMap["rtwdemo_pmsmfoc:6311:113"] = {rtwname: "<S52>:113"}; + this.rtwnameHashMap["<S52>:114"] = {sid: "rtwdemo_pmsmfoc:6311:114"}; + this.sidHashMap["rtwdemo_pmsmfoc:6311:114"] = {rtwname: "<S52>:114"}; + this.rtwnameHashMap["<S52>:120"] = {sid: "rtwdemo_pmsmfoc:6311:120"}; + this.sidHashMap["rtwdemo_pmsmfoc:6311:120"] = {rtwname: "<S52>:120"}; + this.rtwnameHashMap["<S52>:115"] = {sid: "rtwdemo_pmsmfoc:6311:115"}; + this.sidHashMap["rtwdemo_pmsmfoc:6311:115"] = {rtwname: "<S52>:115"}; + this.rtwnameHashMap["<S52>:100"] = {sid: "rtwdemo_pmsmfoc:6311:100"}; + this.sidHashMap["rtwdemo_pmsmfoc:6311:100"] = {rtwname: "<S52>:100"}; + this.rtwnameHashMap["<S52>:102"] = {sid: "rtwdemo_pmsmfoc:6311:102"}; + this.sidHashMap["rtwdemo_pmsmfoc:6311:102"] = {rtwname: "<S52>:102"}; + this.rtwnameHashMap["<S52>:119"] = {sid: "rtwdemo_pmsmfoc:6311:119"}; + this.sidHashMap["rtwdemo_pmsmfoc:6311:119"] = {rtwname: "<S52>:119"}; + this.rtwnameHashMap["<S53>/position"] = {sid: "rtwdemo_pmsmfoc:5818"}; + this.sidHashMap["rtwdemo_pmsmfoc:5818"] = {rtwname: "<S53>/position"}; + this.rtwnameHashMap["<S53>/controller_mode"] = {sid: "rtwdemo_pmsmfoc:6032"}; + this.sidHashMap["rtwdemo_pmsmfoc:6032"] = {rtwname: "<S53>/controller_mode"}; + this.rtwnameHashMap["<S53>/Add"] = {sid: "rtwdemo_pmsmfoc:5820"}; + this.sidHashMap["rtwdemo_pmsmfoc:5820"] = {rtwname: "<S53>/Add"}; + this.rtwnameHashMap["<S53>/Delay_Position"] = {sid: "rtwdemo_pmsmfoc:5980"}; + this.sidHashMap["rtwdemo_pmsmfoc:5980"] = {rtwname: "<S53>/Delay_Position"}; + this.rtwnameHashMap["<S53>/Difference"] = {sid: "rtwdemo_pmsmfoc:5827"}; + this.sidHashMap["rtwdemo_pmsmfoc:5827"] = {rtwname: "<S53>/Difference"}; + this.rtwnameHashMap["<S53>/Greater_Than"] = {sid: "rtwdemo_pmsmfoc:5836"}; + this.sidHashMap["rtwdemo_pmsmfoc:5836"] = {rtwname: "<S53>/Greater_Than"}; + this.rtwnameHashMap["<S53>/Less_Than"] = {sid: "rtwdemo_pmsmfoc:5834"}; + this.sidHashMap["rtwdemo_pmsmfoc:5834"] = {rtwname: "<S53>/Less_Than"}; + this.rtwnameHashMap["<S53>/Modulus"] = {sid: "rtwdemo_pmsmfoc:5829"}; + this.sidHashMap["rtwdemo_pmsmfoc:5829"] = {rtwname: "<S53>/Modulus"}; + this.rtwnameHashMap["<S53>/Neg_Pi_Constant"] = {sid: "rtwdemo_pmsmfoc:5835"}; + this.sidHashMap["rtwdemo_pmsmfoc:5835"] = {rtwname: "<S53>/Neg_Pi_Constant"}; + this.rtwnameHashMap["<S53>/OR"] = {sid: "rtwdemo_pmsmfoc:5828"}; + this.sidHashMap["rtwdemo_pmsmfoc:5828"] = {rtwname: "<S53>/OR"}; + this.rtwnameHashMap["<S53>/Pi_Constant_1"] = {sid: "rtwdemo_pmsmfoc:5825"}; + this.sidHashMap["rtwdemo_pmsmfoc:5825"] = {rtwname: "<S53>/Pi_Constant_1"}; + this.rtwnameHashMap["<S53>/Pi_Constant_2"] = {sid: "rtwdemo_pmsmfoc:5824"}; + this.sidHashMap["rtwdemo_pmsmfoc:5824"] = {rtwname: "<S53>/Pi_Constant_2"}; + this.rtwnameHashMap["<S53>/Pi_Constant_3"] = {sid: "rtwdemo_pmsmfoc:5837"}; + this.sidHashMap["rtwdemo_pmsmfoc:5837"] = {rtwname: "<S53>/Pi_Constant_3"}; + this.rtwnameHashMap["<S53>/Scale_Time"] = {sid: "rtwdemo_pmsmfoc:5830"}; + this.sidHashMap["rtwdemo_pmsmfoc:5830"] = {rtwname: "<S53>/Scale_Time"}; + this.rtwnameHashMap["<S53>/Select_Angle"] = {sid: "rtwdemo_pmsmfoc:5831"}; + this.sidHashMap["rtwdemo_pmsmfoc:5831"] = {rtwname: "<S53>/Select_Angle"}; + this.rtwnameHashMap["<S53>/Subtract"] = {sid: "rtwdemo_pmsmfoc:5819"}; + this.sidHashMap["rtwdemo_pmsmfoc:5819"] = {rtwname: "<S53>/Subtract"}; + this.rtwnameHashMap["<S53>/Terminator"] = {sid: "rtwdemo_pmsmfoc:6033"}; + this.sidHashMap["rtwdemo_pmsmfoc:6033"] = {rtwname: "<S53>/Terminator"}; + this.rtwnameHashMap["<S53>/Two_Pi_Constant"] = {sid: "rtwdemo_pmsmfoc:5823"}; + this.sidHashMap["rtwdemo_pmsmfoc:5823"] = {rtwname: "<S53>/Two_Pi_Constant"}; + this.rtwnameHashMap["<S53>/velocity"] = {sid: "rtwdemo_pmsmfoc:5832"}; + this.sidHashMap["rtwdemo_pmsmfoc:5832"] = {rtwname: "<S53>/velocity"}; + this.rtwnameHashMap["<S54>/position"] = {sid: "rtwdemo_pmsmfoc:5942"}; + this.sidHashMap["rtwdemo_pmsmfoc:5942"] = {rtwname: "<S54>/position"}; + this.rtwnameHashMap["<S54>/controller_mode"] = {sid: "rtwdemo_pmsmfoc:6016"}; + this.sidHashMap["rtwdemo_pmsmfoc:6016"] = {rtwname: "<S54>/controller_mode"}; + this.rtwnameHashMap["<S54>/Add"] = {sid: "rtwdemo_pmsmfoc:5943"}; + this.sidHashMap["rtwdemo_pmsmfoc:5943"] = {rtwname: "<S54>/Add"}; + this.rtwnameHashMap["<S54>/Delay_Position"] = {sid: "rtwdemo_pmsmfoc:5979"}; + this.sidHashMap["rtwdemo_pmsmfoc:5979"] = {rtwname: "<S54>/Delay_Position"}; + this.rtwnameHashMap["<S54>/Detect_Velocity_Error"] = {sid: "rtwdemo_pmsmfoc:6017"}; + this.sidHashMap["rtwdemo_pmsmfoc:6017"] = {rtwname: "<S54>/Detect_Velocity_Error"}; + this.rtwnameHashMap["<S54>/Difference"] = {sid: "rtwdemo_pmsmfoc:5946"}; + this.sidHashMap["rtwdemo_pmsmfoc:5946"] = {rtwname: "<S54>/Difference"}; + this.rtwnameHashMap["<S54>/Greater_Than"] = {sid: "rtwdemo_pmsmfoc:5951"}; + this.sidHashMap["rtwdemo_pmsmfoc:5951"] = {rtwname: "<S54>/Greater_Than"}; + this.rtwnameHashMap["<S54>/Less_Than"] = {sid: "rtwdemo_pmsmfoc:5952"}; + this.sidHashMap["rtwdemo_pmsmfoc:5952"] = {rtwname: "<S54>/Less_Than"}; + this.rtwnameHashMap["<S54>/Modulus"] = {sid: "rtwdemo_pmsmfoc:5953"}; + this.sidHashMap["rtwdemo_pmsmfoc:5953"] = {rtwname: "<S54>/Modulus"}; + this.rtwnameHashMap["<S54>/Neg_Pi_Constant"] = {sid: "rtwdemo_pmsmfoc:5954"}; + this.sidHashMap["rtwdemo_pmsmfoc:5954"] = {rtwname: "<S54>/Neg_Pi_Constant"}; + this.rtwnameHashMap["<S54>/OR"] = {sid: "rtwdemo_pmsmfoc:5955"}; + this.sidHashMap["rtwdemo_pmsmfoc:5955"] = {rtwname: "<S54>/OR"}; + this.rtwnameHashMap["<S54>/Pi_Constant_1"] = {sid: "rtwdemo_pmsmfoc:5956"}; + this.sidHashMap["rtwdemo_pmsmfoc:5956"] = {rtwname: "<S54>/Pi_Constant_1"}; + this.rtwnameHashMap["<S54>/Pi_Constant_2"] = {sid: "rtwdemo_pmsmfoc:5957"}; + this.sidHashMap["rtwdemo_pmsmfoc:5957"] = {rtwname: "<S54>/Pi_Constant_2"}; + this.rtwnameHashMap["<S54>/Pi_Constant_3"] = {sid: "rtwdemo_pmsmfoc:5958"}; + this.sidHashMap["rtwdemo_pmsmfoc:5958"] = {rtwname: "<S54>/Pi_Constant_3"}; + this.rtwnameHashMap["<S54>/Scale_Time"] = {sid: "rtwdemo_pmsmfoc:5960"}; + this.sidHashMap["rtwdemo_pmsmfoc:5960"] = {rtwname: "<S54>/Scale_Time"}; + this.rtwnameHashMap["<S54>/Select_Angle"] = {sid: "rtwdemo_pmsmfoc:5961"}; + this.sidHashMap["rtwdemo_pmsmfoc:5961"] = {rtwname: "<S54>/Select_Angle"}; + this.rtwnameHashMap["<S54>/Subtract"] = {sid: "rtwdemo_pmsmfoc:5962"}; + this.sidHashMap["rtwdemo_pmsmfoc:5962"] = {rtwname: "<S54>/Subtract"}; + this.rtwnameHashMap["<S54>/Two_Pi_Constant"] = {sid: "rtwdemo_pmsmfoc:5963"}; + this.sidHashMap["rtwdemo_pmsmfoc:5963"] = {rtwname: "<S54>/Two_Pi_Constant"}; + this.rtwnameHashMap["<S54>/velocity"] = {sid: "rtwdemo_pmsmfoc:5967"}; + this.sidHashMap["rtwdemo_pmsmfoc:5967"] = {rtwname: "<S54>/velocity"}; + this.rtwnameHashMap["<S55>/position"] = {sid: "rtwdemo_pmsmfoc:5838"}; + this.sidHashMap["rtwdemo_pmsmfoc:5838"] = {rtwname: "<S55>/position"}; + this.rtwnameHashMap["<S55>/controller_mode"] = {sid: "rtwdemo_pmsmfoc:6007"}; + this.sidHashMap["rtwdemo_pmsmfoc:6007"] = {rtwname: "<S55>/controller_mode"}; + this.rtwnameHashMap["<S55>/Convert_to_Uint32"] = {sid: "rtwdemo_pmsmfoc:5841"}; + this.sidHashMap["rtwdemo_pmsmfoc:5841"] = {rtwname: "<S55>/Convert_to_Uint32"}; + this.rtwnameHashMap["<S55>/Detect_Velocity_Error"] = {sid: "rtwdemo_pmsmfoc:6008"}; + this.sidHashMap["rtwdemo_pmsmfoc:6008"] = {rtwname: "<S55>/Detect_Velocity_Error"}; + this.rtwnameHashMap["<S55>/Difference_Wrap"] = {sid: "rtwdemo_pmsmfoc:5839"}; + this.sidHashMap["rtwdemo_pmsmfoc:5839"] = {rtwname: "<S55>/Difference_Wrap"}; + this.rtwnameHashMap["<S55>/Difference_to_Single"] = {sid: "rtwdemo_pmsmfoc:5840"}; + this.sidHashMap["rtwdemo_pmsmfoc:5840"] = {rtwname: "<S55>/Difference_to_Single"}; + this.rtwnameHashMap["<S55>/Position_Delay"] = {sid: "rtwdemo_pmsmfoc:5977"}; + this.sidHashMap["rtwdemo_pmsmfoc:5977"] = {rtwname: "<S55>/Position_Delay"}; + this.rtwnameHashMap["<S55>/Scale_Input"] = {sid: "rtwdemo_pmsmfoc:5844"}; + this.sidHashMap["rtwdemo_pmsmfoc:5844"] = {rtwname: "<S55>/Scale_Input"}; + this.rtwnameHashMap["<S55>/Scale_Output"] = {sid: "rtwdemo_pmsmfoc:5845"}; + this.sidHashMap["rtwdemo_pmsmfoc:5845"] = {rtwname: "<S55>/Scale_Output"}; + this.rtwnameHashMap["<S55>/Wrap_To_Pi"] = {sid: "rtwdemo_pmsmfoc:6006"}; + this.sidHashMap["rtwdemo_pmsmfoc:6006"] = {rtwname: "<S55>/Wrap_To_Pi"}; + this.rtwnameHashMap["<S55>/velocity"] = {sid: "rtwdemo_pmsmfoc:5847"}; + this.sidHashMap["rtwdemo_pmsmfoc:5847"] = {rtwname: "<S55>/velocity"}; + this.rtwnameHashMap["<S56>/V"] = {sid: "rtwdemo_pmsmfoc:6018"}; + this.sidHashMap["rtwdemo_pmsmfoc:6018"] = {rtwname: "<S56>/V"}; + this.rtwnameHashMap["<S56>/M"] = {sid: "rtwdemo_pmsmfoc:6019"}; + this.sidHashMap["rtwdemo_pmsmfoc:6019"] = {rtwname: "<S56>/M"}; + this.rtwnameHashMap["<S56>/AND"] = {sid: "rtwdemo_pmsmfoc:6020"}; + this.sidHashMap["rtwdemo_pmsmfoc:6020"] = {rtwname: "<S56>/AND"}; + this.rtwnameHashMap["<S56>/Enumerated_Constant"] = {sid: "rtwdemo_pmsmfoc:6021"}; + this.sidHashMap["rtwdemo_pmsmfoc:6021"] = {rtwname: "<S56>/Enumerated_Constant"}; + this.rtwnameHashMap["<S56>/Excessive_Velocity_Change"] = {sid: "rtwdemo_pmsmfoc:6022"}; + this.sidHashMap["rtwdemo_pmsmfoc:6022"] = {rtwname: "<S56>/Excessive_Velocity_Change"}; + this.rtwnameHashMap["<S56>/Generate_Error"] = {sid: "rtwdemo_pmsmfoc:6023"}; + this.sidHashMap["rtwdemo_pmsmfoc:6023"] = {rtwname: "<S56>/Generate_Error"}; + this.rtwnameHashMap["<S56>/Max_Valid_Velocity_Change"] = {sid: "rtwdemo_pmsmfoc:6027"}; + this.sidHashMap["rtwdemo_pmsmfoc:6027"] = {rtwname: "<S56>/Max_Valid_Velocity_Change"}; + this.rtwnameHashMap["<S56>/Relational_Operator"] = {sid: "rtwdemo_pmsmfoc:6028"}; + this.sidHashMap["rtwdemo_pmsmfoc:6028"] = {rtwname: "<S56>/Relational_Operator"}; + this.rtwnameHashMap["<S56>/Velocity_Abs"] = {sid: "rtwdemo_pmsmfoc:6029"}; + this.sidHashMap["rtwdemo_pmsmfoc:6029"] = {rtwname: "<S56>/Velocity_Abs"}; + this.rtwnameHashMap["<S56>/Velocity_Delay"] = {sid: "rtwdemo_pmsmfoc:6030"}; + this.sidHashMap["rtwdemo_pmsmfoc:6030"] = {rtwname: "<S56>/Velocity_Delay"}; + this.rtwnameHashMap["<S56>/Velocity_Difference"] = {sid: "rtwdemo_pmsmfoc:6031"}; + this.sidHashMap["rtwdemo_pmsmfoc:6031"] = {rtwname: "<S56>/Velocity_Difference"}; + this.rtwnameHashMap["<S57>/Constant"] = {sid: "rtwdemo_pmsmfoc:6021:158"}; + this.sidHashMap["rtwdemo_pmsmfoc:6021:158"] = {rtwname: "<S57>/Constant"}; + this.rtwnameHashMap["<S57>/Out"] = {sid: "rtwdemo_pmsmfoc:6021:159"}; + this.sidHashMap["rtwdemo_pmsmfoc:6021:159"] = {rtwname: "<S57>/Out"}; + this.rtwnameHashMap["<S58>/Enable"] = {sid: "rtwdemo_pmsmfoc:6024"}; + this.sidHashMap["rtwdemo_pmsmfoc:6024"] = {rtwname: "<S58>/Enable"}; + this.rtwnameHashMap["<S58>/Data_Store_Write"] = {sid: "rtwdemo_pmsmfoc:6025"}; + this.sidHashMap["rtwdemo_pmsmfoc:6025"] = {rtwname: "<S58>/Data_Store_Write"}; + this.rtwnameHashMap["<S58>/Enumerated_Constant"] = {sid: "rtwdemo_pmsmfoc:6026"}; + this.sidHashMap["rtwdemo_pmsmfoc:6026"] = {rtwname: "<S58>/Enumerated_Constant"}; + this.rtwnameHashMap["<S59>/Constant"] = {sid: "rtwdemo_pmsmfoc:6026:158"}; + this.sidHashMap["rtwdemo_pmsmfoc:6026:158"] = {rtwname: "<S59>/Constant"}; + this.rtwnameHashMap["<S59>/Out"] = {sid: "rtwdemo_pmsmfoc:6026:159"}; + this.sidHashMap["rtwdemo_pmsmfoc:6026:159"] = {rtwname: "<S59>/Out"}; + this.rtwnameHashMap["<S60>/V"] = {sid: "rtwdemo_pmsmfoc:6010"}; + this.sidHashMap["rtwdemo_pmsmfoc:6010"] = {rtwname: "<S60>/V"}; + this.rtwnameHashMap["<S60>/M"] = {sid: "rtwdemo_pmsmfoc:6011"}; + this.sidHashMap["rtwdemo_pmsmfoc:6011"] = {rtwname: "<S60>/M"}; + this.rtwnameHashMap["<S60>/AND"] = {sid: "rtwdemo_pmsmfoc:6015"}; + this.sidHashMap["rtwdemo_pmsmfoc:6015"] = {rtwname: "<S60>/AND"}; + this.rtwnameHashMap["<S60>/Enumerated_Constant"] = {sid: "rtwdemo_pmsmfoc:6014"}; + this.sidHashMap["rtwdemo_pmsmfoc:6014"] = {rtwname: "<S60>/Enumerated_Constant"}; + this.rtwnameHashMap["<S60>/Excessive_Velocity_Change"] = {sid: "rtwdemo_pmsmfoc:5968"}; + this.sidHashMap["rtwdemo_pmsmfoc:5968"] = {rtwname: "<S60>/Excessive_Velocity_Change"}; + this.rtwnameHashMap["<S60>/Generate_Error"] = {sid: "rtwdemo_pmsmfoc:5969"}; + this.sidHashMap["rtwdemo_pmsmfoc:5969"] = {rtwname: "<S60>/Generate_Error"}; + this.rtwnameHashMap["<S60>/Max_Valid_Velocity_Change"] = {sid: "rtwdemo_pmsmfoc:5973"}; + this.sidHashMap["rtwdemo_pmsmfoc:5973"] = {rtwname: "<S60>/Max_Valid_Velocity_Change"}; + this.rtwnameHashMap["<S60>/Relational_Operator"] = {sid: "rtwdemo_pmsmfoc:6012"}; + this.sidHashMap["rtwdemo_pmsmfoc:6012"] = {rtwname: "<S60>/Relational_Operator"}; + this.rtwnameHashMap["<S60>/Velocity_Abs"] = {sid: "rtwdemo_pmsmfoc:5974"}; + this.sidHashMap["rtwdemo_pmsmfoc:5974"] = {rtwname: "<S60>/Velocity_Abs"}; + this.rtwnameHashMap["<S60>/Velocity_Delay"] = {sid: "rtwdemo_pmsmfoc:5975"}; + this.sidHashMap["rtwdemo_pmsmfoc:5975"] = {rtwname: "<S60>/Velocity_Delay"}; + this.rtwnameHashMap["<S60>/Velocity_Difference"] = {sid: "rtwdemo_pmsmfoc:5976"}; + this.sidHashMap["rtwdemo_pmsmfoc:5976"] = {rtwname: "<S60>/Velocity_Difference"}; + this.rtwnameHashMap["<S61>/Constant"] = {sid: "rtwdemo_pmsmfoc:6014:158"}; + this.sidHashMap["rtwdemo_pmsmfoc:6014:158"] = {rtwname: "<S61>/Constant"}; + this.rtwnameHashMap["<S61>/Out"] = {sid: "rtwdemo_pmsmfoc:6014:159"}; + this.sidHashMap["rtwdemo_pmsmfoc:6014:159"] = {rtwname: "<S61>/Out"}; + this.rtwnameHashMap["<S62>/Enable"] = {sid: "rtwdemo_pmsmfoc:5970"}; + this.sidHashMap["rtwdemo_pmsmfoc:5970"] = {rtwname: "<S62>/Enable"}; + this.rtwnameHashMap["<S62>/Data_Store_Write"] = {sid: "rtwdemo_pmsmfoc:5991"}; + this.sidHashMap["rtwdemo_pmsmfoc:5991"] = {rtwname: "<S62>/Data_Store_Write"}; + this.rtwnameHashMap["<S62>/Enumerated_Constant"] = {sid: "rtwdemo_pmsmfoc:5992"}; + this.sidHashMap["rtwdemo_pmsmfoc:5992"] = {rtwname: "<S62>/Enumerated_Constant"}; + this.rtwnameHashMap["<S63>/Constant"] = {sid: "rtwdemo_pmsmfoc:5992:158"}; + this.sidHashMap["rtwdemo_pmsmfoc:5992:158"] = {rtwname: "<S63>/Constant"}; + this.rtwnameHashMap["<S63>/Out"] = {sid: "rtwdemo_pmsmfoc:5992:159"}; + this.sidHashMap["rtwdemo_pmsmfoc:5992:159"] = {rtwname: "<S63>/Out"}; + this.rtwnameHashMap["<S64>/Constant"] = {sid: "rtwdemo_pmsmfoc:5662:158"}; + this.sidHashMap["rtwdemo_pmsmfoc:5662:158"] = {rtwname: "<S64>/Constant"}; + this.rtwnameHashMap["<S64>/Out"] = {sid: "rtwdemo_pmsmfoc:5662:159"}; + this.sidHashMap["rtwdemo_pmsmfoc:5662:159"] = {rtwname: "<S64>/Out"}; + this.rtwnameHashMap["<S65>/Enable"] = {sid: "rtwdemo_pmsmfoc:5376"}; + this.sidHashMap["rtwdemo_pmsmfoc:5376"] = {rtwname: "<S65>/Enable"}; + this.rtwnameHashMap["<S65>/Integrate_To_Position"] = {sid: "rtwdemo_pmsmfoc:6045"}; + this.sidHashMap["rtwdemo_pmsmfoc:6045"] = {rtwname: "<S65>/Integrate_To_Position"}; + this.rtwnameHashMap["<S65>/Integrate_To_Velocity"] = {sid: "rtwdemo_pmsmfoc:6044"}; + this.sidHashMap["rtwdemo_pmsmfoc:6044"] = {rtwname: "<S65>/Integrate_To_Velocity"}; + this.rtwnameHashMap["<S65>/Startup_Acceleration_Constant"] = {sid: "rtwdemo_pmsmfoc:6041"}; + this.sidHashMap["rtwdemo_pmsmfoc:6041"] = {rtwname: "<S65>/Startup_Acceleration_Constant"}; + this.rtwnameHashMap["<S65>/rotor_position"] = {sid: "rtwdemo_pmsmfoc:5266"}; + this.sidHashMap["rtwdemo_pmsmfoc:5266"] = {rtwname: "<S65>/rotor_position"}; + this.getSID = function(rtwname) { return this.rtwnameHashMap[rtwname];} + this.getRtwname = function(sid) { return this.sidHashMap[sid];} +} +RTW_rtwnameSIDMap.instance = new RTW_rtwnameSIDMap();
diff -r 83374f658183 -r bbc155b0b886 html/html/rtwhilite.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/html/html/rtwhilite.js Tue Nov 25 07:52:02 2014 +0000 @@ -0,0 +1,1850 @@ +// Copyright 2007-2014 The MathWorks, Inc. + +// Class RTW_Hash ------------------------------------------------------------ +// Internal web browser doesn't change window.location.hash if the link points +// to the same page. +// RTW_Hash remembers the hash value when the page is loaded in the first time +// or a link is clicked. +// removeHiliteByHash cleans the high lighted elements according to the stored +// hash value +function RTW_Hash(aHash) { + if (aHash == null) { + this.fHash = ""; + } else { + this.fHash = aHash; + }; + + this.getHash = function() { + return this.fHash; + } + + this.setHash = function(aHash) { + this.fHash = aHash; + } +} + +RTW_Hash.instance = null; + +// Class RTW_TraceInfo -------------------------------------------------------- +function RTW_TraceInfo(aFileLinks) { + this.fFileLinks = aFileLinks; + this.fLines = new Array(); + this.fTotalLines = 0; // total number of highlighted lines + this.fNumLines = new Array(); + this.fFileIdxCache = new Array(); + this.fDisablePanel = false; + this.fCurrFileIdx = 0; + this.fCurrLineIdx = 0; + this.fCurrCodeNode = null; + this.getHtmlFileName = function(aIndex) { + if (aIndex < this.fFileLinks.length) { + var href = this.fFileLinks[aIndex].href; + return href.substring(href.lastIndexOf('/')+1); + } + } + this.getSrcFileName = function(aIndex) { + var name = this.getHtmlFileName(aIndex); + if (name) + name = RTW_TraceInfo.toSrcFileName(name); + return name; + } + this.getNumFileLinks = function() { + return this.fFileLinks.length; + } + this.setFileLinkColor = function(aIndex, aColor) { + var link = this.fFileLinks[aIndex]; + if (link && link.parentNode && link.parentNode.style) + link.parentNode.style.backgroundColor = aColor; + } + this.highlightFileLink = function(aIndex, aColor) { + for (var i = 0; i < this.fFileLinks.length; ++i) { + this.setFileLinkColor(i, i == aIndex ? aColor : ""); + } + } + this.highlightCurrFileLink = function(aColor) { + this.highlightFileLink(this.fCurrFileIdx); + } + this.highlightLines = function(aCodeNode,aColor) { + this.fCurrCodeNode = aCodeNode; + var lines = this.fLines[this.getHtmlFileName(this.fCurrFileIdx)]; + if (lines && aCodeNode) { + for (var i = 0; i < lines.length; ++i) { + var lineObj = aCodeNode.childNodes[lines[i]-1]; + if (lineObj) + lineObj.style.backgroundColor=aColor; + } + } + } + this.getFileIdx = function(aFile) { + if (this.fFileIdxCache[aFile] != null) + return this.fFileIdxCache[aFile]; + for (var i = 0; i < this.fFileLinks.length; ++i) { + if (this.getHtmlFileName(i) == aFile) { + this.fFileIdxCache[aFile] = i; + return i; + } + } + return null; + } + this.getCurrFileIdx = function() { return this.fCurrFileIdx; } + this.setNumHighlightedLines = function(aFileIdx, aNumLines) { + this.fNumLines[aFileIdx] = aNumLines; + updateNumHighlightedLines(this.fFileLinks[aFileIdx], aNumLines); + } + this.getNumLines = function(aFileIdx) { + return this.fNumLines[aFileIdx] != null ? this.fNumLines[aFileIdx] : 0; + } + this.getNumLinesAll = function() { + var sum = 0; + var len = this.fNumLines.length; + for (var i = 0; i < len; ++i) { + sum += this.getNumLines(i); + } + return sum; + } + this.getPrevButton = function() { + var aFrame = getNavFrame(); + if (typeof aFrame !== "undefined" && aFrame !== null) + return aFrame.document.getElementById("rtwIdButtonPrev"); + else + return document.getElementById("rtwIdButtonPrev"); + } + this.getNextButton = function() { + var aFrame = getNavFrame(); + if (typeof aFrame !== "undefined" && aFrame !== null) + return aFrame.document.getElementById("rtwIdButtonNext"); + else + return document.getElementById("rtwIdButtonNext"); + } + this.getPanel = function() { + var aFrame = getNavFrame(); + if (typeof aFrame !== "undefined" && aFrame !== null) + return aFrame.document.getElementById("rtwIdTracePanel"); + else + return document.getElementById("rtwIdTracePanel"); + } + this.removeHighlighting = function() { + for (var i = 0; i < this.fFileLinks.length; ++i) { + this.setFileLinkColor(i, ""); + this.setNumHighlightedLines(i, 0); + } + // remove highlight and reset current code node + try { + if (this.fCurrCodeNode != null) + this.highlightLines(getCodeNode(),""); + } catch (e) {}; + this.fCurrCodeNode = null; + if (this.getPrevButton()) { this.getPrevButton().disabled = true; } + if (this.getNextButton()) { this.getNextButton().disabled = true; } + if (this.getPanel()) { this.getPanel().style.display = "none"; } + this.fCurrFileIdx = 0; + this.fCurrLineIdx = 0; + } + this.setCurrLineIdx = function(aLineIdx) { + this.fCurrLineIdx = aLineIdx; + } + this.getCurrLineIdx = function() { return this.fCurrLineIdx; } + this.setCurrent = function(aFileIdx, aLineIdx) { + this.fCurrFileIdx = aFileIdx; + var numLines = this.getNumLines(aFileIdx); + if (!numLines || aLineIdx >= numLines) + this.fCurrLineIdx = -1; + else + this.fCurrLineIdx = aLineIdx; + var allNumLines = this.getNumLinesAll(); + if (this.getPrevButton()) { + this.getPrevButton().disabled = (allNumLines <= 1 || !this.hasPrev()); + } + if (this.getNextButton()) { + this.getNextButton().disabled = (allNumLines <= 1 || !this.hasNext()); + } + if (this.getPanel() && !this.fDisablePanel) { + this.getPanel().style.display = 'block'; + } + } + this.setDisablePanel = function(aDisable) { + this.fDisablePanel = aDisable; + } + this.getPrevFileIdx = function() { + if (this.fCurrLineIdx > 0) + return this.fCurrFileIdx; + for (var i = this.fCurrFileIdx - 1; i >= 0; --i) + if (this.fNumLines[i] > 0) + return i; + return null; + } + // update the navigation bar state + this.updateNavState = function() { + if (this.getPrevButton()) + this.getPrevButton().disabled = !this.hasPrev(); + if (this.getNextButton()) + this.getNextButton().disabled = !this.hasNext(); + setTraceNumber(); + } + this.hasPrev = function() { + return this.getPrevFileIdx() != null; + } + this.getFirstFileIdx = function() { + for (var i = 0; i < this.getNumFileLinks(); ++i) + if (this.fNumLines[i] > 0) + return i; + } + this.getLastFileIdx = function() { + for (var i = this.getNumFileLinks(); i >= 0; --i) + if (this.fNumLines[i] > 0) + return i; + } + this.goFirst = function() { + this.fCurrFileIdx = this.getFirstFileIdx(); + this.fCurrLineIdx = 0; + this.updateNavState(); + } + this.goLast = function() { + this.fCurrFileIdx = this.getLastFileIdx();; + this.fCurrLineIdx = this.getNumLines(this.fCurrFileIdx) - 1; + this.updateNavState(); + } + this.goPrev = function() { + var fileIdx = this.getPrevFileIdx(); + if (fileIdx == null) + return; + if (fileIdx == this.fCurrFileIdx) + --this.fCurrLineIdx; + else { + this.fCurrFileIdx = fileIdx; + this.fCurrLineIdx = this.getNumLines(fileIdx) - 1; + } + this.updateNavState(); + } + this.getNextFileIdx = function() { + if (this.fCurrLineIdx < this.getNumLines(this.fCurrFileIdx) - 1 && this.getNumLines(this.fCurrFileIdx) > 0) + return this.fCurrFileIdx; + for (var i = this.fCurrFileIdx + 1; i < this.getNumFileLinks(); ++i) + if (this.fNumLines[i] > 0) + return i; + return null; + } + this.hasNext = function() { + return this.getNextFileIdx() != null; + } + this.goNext = function() { + var fileIdx = this.getNextFileIdx(); + if (fileIdx == null) + return; + if (fileIdx == this.fCurrFileIdx) + ++this.fCurrLineIdx; + else { + this.fCurrFileIdx = fileIdx; + this.fCurrLineIdx = 0; + } + this.updateNavState(); + } + this.setTotalLines = function(num) { + this.fTotalLines = num; + } + this.getTotalLines = function() { return this.fTotalLines;} + this.setLines = function(aFile, aLines) { + this.fLines[aFile] = aLines; + var index = this.getFileIdx(aFile); + if (index != null) + this.setNumHighlightedLines(index,aLines.length); + } + this.getLines = function(aFile) { + return this.fLines[aFile]; + } + // get current on focus line number + this.getCurrLine = function() { + var file = this.getHtmlFileName(this.getCurrFileIdx()); + var lines = this.fLines[file]; + var line = null; + if (lines) { + var line = lines[this.fCurrLineIdx]; + } + return line; + } + this.getHRef = function(aFileIdx, aLineIdx, offset) { + var file = this.getHtmlFileName(aFileIdx); + var lines = this.fLines[file]; + if (lines) { + var line = lines[aLineIdx]; + line = offset_line(line, offset); + file = file+"#"+line; + } + return file; + } + + this.getCurrentHRef = function(offset) { + return this.getHRef(this.fCurrFileIdx, this.fCurrLineIdx, offset); + } + this.setInitLocation = function(aFile, aLine) { + var fileIdx = this.getFileIdx(aFile); + var lineIdx = null; + if (fileIdx != null && aLine) { + var lines = this.getLines(aFile); + for (var i = 0; i < lines.length; ++i) { + if (lines[i] == aLine) { + lineIdx = i; + break; + } + } + } + if (fileIdx == null || lineIdx == null) + this.setCurrent(0,-1); + else + this.setCurrent(fileIdx,lineIdx); + } +} + +// Static methods in RTW_TraceInfo + +RTW_TraceInfo.getFileLinks = function(docObj) { + var links; + if (docObj && docObj.getElementsByName) + links = docObj.getElementsByName("rtwIdGenFileLinks"); + return links ? links : new Array(); +} + +RTW_TraceInfo.toSrcFileName = function(aHtmlFileName) { + aHtmlFileName = aHtmlFileName.replace(/_c.html$/,".c"); + aHtmlFileName = aHtmlFileName.replace(/_h.html$/,".h"); + aHtmlFileName = aHtmlFileName.replace(/_cpp.html$/,".cpp"); + aHtmlFileName = aHtmlFileName.replace(/_hpp.html$/,".hpp"); + aHtmlFileName = aHtmlFileName.replace(/_cc.html$/,".hpp"); + return aHtmlFileName; +} + +RTW_TraceInfo.instance = null; + +// Class RTW_TraceArgs -------------------------------------------------------- +// file.c:10,20,30&file.h:10,20,30[&color=value] or +// sid=model:1[&color=value] +RTW_TraceArgs = function(aHash) { + this.fColor = null; + this.fFontSize = null; + this.fInitFile = null; + this.fInitLine = null; + this.fSID = null; + this.fFiles = new Array(); + this.fLines = new Array(); + this.fMessage = null; + this.fBlock = null; + this.fUseExternalBrowser = true; + this.fModel2CodeSrc = null; + this.fInCodeTrace = false; + this.fTraceData = null; + this.fFileIdx = []; // filename to fileId + this.fRows = []; // highlighted rows indexed by fileId + this.fIDs = []; // highlighted IDs indexed by fileId + + this.hasSid = function() { + return !(this.fSID == null); + } + this.parseCommand = function(aHash) { + var args = new Array(); + args = aHash.split('&'); + for (var i = 0; i < args.length; ++i) { + var arg = args[i]; + sep = arg.indexOf('='); + if (sep != -1) { + var cmd = arg.substring(0,sep); + var opt = arg.substring(sep+1); + switch (cmd.toLowerCase()) { + case "color": + this.fColor = opt; + break; + case "fontsize": + this.fFontSize = opt; + break; + case "initfile": + this.fInitFile = RTW_TraceArgs.toHtmlFileName(opt); + break; + case "initline": + this.fInitLine = opt; + break; + case "msg": + this.fMessage = opt; + break; + case "block": + this.fBlock = unescape(opt); + break; + case "sid": + this.fSID = opt; + // convert sid to code location + break; + case "model2code_src": + // model2code_src from model or webview + this.fModel2CodeSrc = opt; + break; + case "useexternalbrowser": + this.fUseExternalBrowser = (opt=="true"); + break; + case "incodetrace": + this.fInCodeTrace = (opt=="true"); + break; + case "tracedata": + this.fTraceData = decodeURI(opt); + break; + } + } + } + } + this.parseUrlHash = function(aHash) { + var rows; + if (aHash) { + args = aHash.split('&'); + for (var i = 0; i < args.length; ++i) { + var arg = args[i]; + sep = arg.indexOf(':'); + if (sep != -1) { + var fileLines = arg.split(':'); + var htmlFileName = RTW_TraceArgs.toHtmlFileName(fileLines[0]); + this.fFileIdx[htmlFileName] = i; + this.fFiles.push(htmlFileName); + if (fileLines[1]) { + rows = fileLines[1].split(','); + rows = uniqueRows(rows); + this.fLines.push(rows); + this.fRows[i] = rows; + } + } + } + if (this.fInitFile == null && this.fFiles.length > 0) { + this.fInitFile = this.fFiles[0]; + this.fInitLine = (this.fLines[0] == null ? -1 : this.fLines[0][0]); + } + } + } + this.parseUrlHash2 = function(aHash) { + aHash = decodeURI(aHash); + var rows; + var ids; + if (aHash && aHash.length > 0 && aHash[0] === "[") { + var input = eval(aHash); + var i; + var j; + // set highlight files from url + for (i=0; i<input.length;i++) { + rows = new Array(); + ids = new Array(); + this.fFileIdx[input[i].file] = i; + this.fFiles.push(input[i].file); + ids = input[i].id; + for (j=0; j<ids.length;j++) { + // get row number + if (ids[j].indexOf("c") !== -1) + rows.push(Number(ids[j].substring(0,ids[j].indexOf("c")))); + else + rows.push(Number(ids[j])); + } + rows = uniqueRows(rows); + this.fRows[i] = rows; + this.fIDs[i] = ids; + } + } else { + // reset all states + this.fFiles = []; + this.fRows = []; + this.fIDs = []; + } + return; + } + this.getFileIdx = function(aFileName) { + if (aFileName) { + return this.fFileIdx[aFileName]; + } else { + // return the fileIdx of the current display file + var pathname = top.rtwreport_document_frame.location.pathname; + pathname = pathname.substr(pathname.lastIndexOf("/")+1); + // find the highlight file name + return this.getFileIdx(pathname); + } + } + + this.getColor = function() { return this.fColor; } + this.getFontSize = function() { return this.fFontSize; } + this.getInitFile = function() { return this.fInitFile; } + this.getInitLine = function() { return this.fInitLine; } + this.getNumFiles = function() { return this.fFiles.length; } + this.getSID = function() { return this.fSID; } + this.getFile = function(aIdx) { if (isNaN(aIdx)) return this.fFiles; return this.fFiles[aIdx];} + this.getLines = function(aIdx) { return this.fLines[aIdx]; } + this.getUseExternalBrowser = function() { return this.fUseExternalBrowser; } + this.getInCodeTrace = function() { return this.fInCodeTrace; } + this.getTraceData = function() { return this.fTraceData; } + this.getModel2CodeSrc = function() { return this.fModel2CodeSrc; } + this.setUseExternalBrowser = function(val) { this.fUseExternalBrowser = val; } + this.setInCodeTrace = function(val) { this.fInCodeTrace = val; } + this.setTraceData = function(val) { this.fTraceData = val; } + this.setModel2CodeSrc = function(val) { this.fModel2CodeSrc = val; } + this.getRows = function(aIdx) { return this.fRows[aIdx];} + this.getIDs = function(aIdx) { return this.fIDs[aIdx]; } + this.getBlock = function() { return this.fBlock; } + // constructor + this.parseCommand(aHash); +} + +// Static methods in RTW_TraceArgs + +RTW_TraceArgs.toHtmlFileName = function(aFile) { + f = aFile; + aFile = f.substring(0,f.lastIndexOf('.')) + '_' + f.substring(f.lastIndexOf('.')+1) + ".html"; + return aFile; +} + +RTW_TraceArgs.instance = null; + +RTW_MessageWindow = function(aWindow, aParagraph) { + this.fWindow = aWindow; + this.fParagraph = aParagraph; + + this.print = function(msg) { + this.fParagraph.innerHTML = msg; + if (msg) + this.fWindow.style.display = "block"; + else + this.fWindow.style.display = "none"; + } + this.clear = function() { + this.print(""); + } +} + +// RTW_MessageWindow factory +RTW_MessageWindowFactory = function(aDocObj) { + this.fDocObj = aDocObj; + this.fInstance = null; + + this.getInstance = function() { + if (this.fInstance) + return this.fInstance; + if (!this.fDocObj) + return; + + var table = this.fDocObj.getElementById("rtwIdMsgWindow"); + var paragraph = this.fDocObj.getElementById("rtwIdMsg"); + var button = this.fDocObj.getElementById("rtwIdButtonMsg"); + + if (!table || !paragraph || !button) + return null; + + obj = new RTW_MessageWindow(table,paragraph); + button.onclick = function() { obj.clear(); } + this.fInstance = obj; + return this.fInstance; + } +} + +RTW_MessageWindowFactory.instance = null; +RTW_MessageWindow.factory = function(aDocObj) { + if (!RTW_MessageWindowFactory.instance) + RTW_MessageWindowFactory.instance = new RTW_MessageWindowFactory(aDocObj); + return RTW_MessageWindowFactory.instance.getInstance(); +} + +// Callbacks and helper functions --------------------------------------------- + +// Helper functions +function getCodeNode() { + return rtwSrcFrame().document.getElementById("RTWcode"); +} + +function rtwMidFrame() { + return top.document.getElementById('rtw_midFrame'); +} +function rtwSrcFrame() { + return top.rtwreport_document_frame; +} +function rtwTocFrame() { + return top.rtwreport_contents_frame; +} +function rtwNavToolbarFrame() { + return top.rtwreport_navToolbar_frame; // return rtwTocFrame(); +} +function rtwInspectFrame() { + return top.rtwreport_inspect_frame; // return rtwTocFrame(); +} +function rtwGetFileName(url) { + var slashIdx = url.lastIndexOf('/'); + var hashIdx = url.indexOf('#', slashIdx); + if (hashIdx == -1) + return url.substring(slashIdx+1) + else + return url.substring(slashIdx+1,hashIdx); +} + +// Help function to expand the file group +function expandFileGroup(docObj, tagID) { + if (docObj.getElementById) { + var obj_table = docObj.getElementById(tagID); + var o; + while (obj_table.nodeName != "TABLE") { + if (obj_table.parentNode) { + obj_table = obj_table.parentNode; + } else { + return; + } + } + if (obj_table.style.display == "none") { + var category_table = obj_table.parentNode; + while (category_table.nodeName != "TABLE") { + if (category_table.parentNode) { + category_table = category_table.parentNode; + } else { + return; + } + } + var o = category_table.id + "_button"; + o = docObj.getElementById(o); + if (o && top.rtwreport_contents_frame.rtwFileListShrink) { + top.rtwreport_contents_frame.rtwFileListShrink(o, category_table.id, 0); + } + } + } +} +// Help function to set the background color based on Element's Id in a document +// object +function setBGColorByElementId(docObj, tagID, bgColor) { + var status = false; + if (bgColor == "") { + bgColor = "TRANSPARENT"; + } + + if (docObj.getElementById) { + var obj2Hilite = docObj.getElementById(tagID); + if (obj2Hilite && obj2Hilite.parentNode) { + obj2Hilite.parentNode.style.backgroundColor = bgColor; + status = true; + } + } + return status; +} + +// Help function to set the background color based on Element's name in a document +// object +function setBGColorByElementsName(docObj, tagName, bgColor) { + if (bgColor == "") { + bgColor = "TRANSPARENT"; + } + if (docObj.getElementsByName) { + var objs2Hilite = docObj.getElementsByName(tagName); + for (var objIndex = 0; objIndex < objs2Hilite.length; ++objIndex) { + if (objs2Hilite[objIndex].parentNode) + objs2Hilite[objIndex].parentNode.style.backgroundColor = bgColor; + } + } +} + +// Help function to highlight lines in source file based on Element's name +// Note: Name of docHiliteByElementsName would be better +function hiliteByElementsName(winObj, tagName) { + var hiliteColor = "#aaffff"; + if (winObj.document) + setBGColorByElementsName(winObj.document, tagName, hiliteColor); +} + +// Help function to remove the highlight of lines in source file based on Element's name +function removeHiliteByElementsName(winObj, tagName) { + if (winObj.document) + setBGColorByElementsName(winObj.document, tagName, ""); +} + +// Help function to set the background color based on the URL's hash +function setBGColorByHash(docObj, bgColor) { + if (docObj.location) { + var tagName = docObj.location.hash; + // Use the stored hash value if it exists because the location.hash + // may be wrong in internal web browser + if (RTW_Hash.instance) + tagName = RTW_Hash.instance.getHash(); + if (tagName != null) + tagName = tagName.substring(1); + + var codeNode = docObj.getElementById("RTWcode"); + if (tagName != null && tagName != "") { + if (!isNaN(tagName)) + tagName = Number(tagName) + 10; + setBGColorByElementsName(docObj, tagName, bgColor); + } + } +} + +// Highlight the lines in document frame based on the URL's hash +function hiliteByHash(docObj) { + var hiliteColor = "#aaffff"; + setBGColorByHash(docObj, hiliteColor); +} + +// Remove highlight of lines in document frame based on the URL's hash +function removeHiliteByHash(winObj) { + if (winObj.document) + setBGColorByHash(winObj.document, ""); +} + +// Highlight the filename Element in TOC frame based on the URL's filename +function hiliteByFileName(aHref) { + var status = false; + if (!top.rtwreport_contents_frame) + return status; + var hiliteColor = GlobalConfig.fileLinkHiliteColor; + var fileName = rtwGetFileName(aHref); + if (top.rtwreport_contents_frame.document) { + removeHiliteFileList(top.rtwreport_contents_frame); + status = setBGColorByElementId(top.rtwreport_contents_frame.document, fileName, hiliteColor); + if (status) + expandFileGroup(top.rtwreport_contents_frame.document, fileName); + } + return status; +} + +// Clear the highlights in the code navigation frame. +function removeHiliteCodeNav(winObj) { + removeHiliteTOC(winObj); + removeHiliteFileList(winObj); +} +// Clear the highlights in TOC frame. TOC links are named TOC_List +function removeHiliteTOC(winObj) { + removeHiliteByElementsName(winObj, "TOC_List"); +} +// Clear the highlights in Generated File List. +// The filename links are named rtwIdGenFileLinks, +function removeHiliteFileList(winObj) { + removeHiliteByElementsName(winObj, "rtwIdGenFileLinks"); +} + +// Highlight TOC hyperlinks by their Ids. +function tocHiliteById(id) { + hiliteColor = GlobalConfig.fileLinkHiliteColor; + if (top && top.rtwreport_contents_frame && top.rtwreport_contents_frame.document) { + removeHiliteCodeNav(top.rtwreport_contents_frame); + setBGColorByElementId(top.rtwreport_contents_frame.document, id, hiliteColor); + } +} + +// onClick function to highlight the link itself +function tocHiliteMe(winObj, linkObj, bCleanTrace) { + hiliteColor = GlobalConfig.fileLinkHiliteColor; + // remove the trace info (previous highlighted source code and the navigate + // panel) + // Clean Trace info only when links in TOC clicked. Links of filenames won't + // clean trace info. + if (bCleanTrace) { + if (RTW_TraceInfo.instance) { + RTW_TraceInfo.instance.setDisablePanel(true); + rtwRemoveHighlighting(); + } + closeInspectWindow(); + } + removeHiliteCodeNav(winObj); + if (linkObj.parentNode) { + linkObj.parentNode.style.backgroundColor= hiliteColor; + } +} + +// onClick function to clean the currently highlighed lines in document frame +// based on URL's hash +// Then highlight lines in document frame based on Element's name +// It works for links to some elements in the same page, otherwise, +// rtwFileOnLoad() in loading page does the job. +function docHiliteMe(winObj, elementName) { + // First, remove the highlighted elements by stored hash value + removeHiliteByHash(winObj); + // Store the new hash value defined by elementName + if (RTW_Hash.instance) { + RTW_Hash.instance.setHash("#"+elementName); + } else { + RTW_Hash.instance = new RTW_Hash("#"+elementName); + } + hiliteByElementsName(winObj, elementName); +} + +// Callback for generated file load callback +function rtwFileOnLoad(docObj) { + if (!docObj.location || !docObj.location.href) + return; + // Save the hash value when file is loaded in the first time + if (!RTW_Hash.instance) { + RTW_Hash.instance = new RTW_Hash(docObj.location.hash); + } else { + RTW_Hash.instance.setHash(docObj.location.hash); + } + + updateHyperlinks(); + // highlight lines in source code file according to the URL hash + hiliteByHash(docObj); + // highlight the filename in the TOC frame + if (top.rtwreport_contents_frame) { + if (hiliteByFileName(docObj.location.href)) { + // remove the highlights in the TOC frame if filename is hilite successfully + removeHiliteTOC(top.rtwreport_contents_frame); + } + } + + if (!RTW_TraceInfo.instance) + return; + if (!docObj.getElementById) + return; + if (rtwSrcFrame()) + rtwSrcFrame().focus(); + var fileName = rtwGetFileName(docObj.location.href); + var fileIdx = RTW_TraceInfo.instance.getFileIdx(fileName); + if (fileIdx != null) { + if (fileIdx != RTW_TraceInfo.instance.getCurrFileIdx()) + RTW_TraceInfo.instance.setCurrent(fileIdx,-1); + var codeNode = docObj.getElementById("RTWcode"); + var hiliteColor = RTW_TraceArgs.instance.getColor(); + if (!hiliteColor) { + hiliteColor = "#aaffff"; + } + var fontSize = RTW_TraceArgs.instance.getFontSize(); + if (fontSize) { + codeNode.style.fontSize = fontSize; + } + RTW_TraceInfo.instance.highlightLines(codeNode,hiliteColor); + RTW_TraceInfo.instance.highlightFileLink(fileIdx, GlobalConfig.fileLinkHiliteColor); + } +} + +function Nav(fileIdx1, fileIdx2) { + var filename = top.rtwreport_document_frame.location.pathname.split(/\//); + filename = filename[filename.length-1]; + var currentFileIdx = RTW_TraceInfo.instance.getFileIdx(filename); + if (fileIdx1 === currentFileIdx) { + top.rtwreport_document_frame.document.location.href = RTW_TraceInfo.instance.getCurrentHRef(); + top.initLine = top.rtwreport_document_frame.document.location.hash.substr(1); + addTagToCurrentLine(); + if (top.rtwreport_contents_frame) { + if (hiliteByFileName(top.rtwreport_document_frame.location.href)) + removeHiliteTOC(top.rtwreport_contents_frame); + } + } else { + var aUrl = RTW_TraceInfo.instance.getCurrentHRef(); + if (hasWebviewFrame()) { + top.rtwreport_document_frame.document.location.href=aUrl; + } else { + top.rtwreport_document_frame.document.location.href=aUrl + "+newPage"; + } + } +} +// Callback for "Prev" button +function rtwGoPrev() { + if (RTW_TraceInfo.instance && top.rtwreport_document_frame) { + var prevfileIdx = RTW_TraceInfo.instance.getPrevFileIdx(); + var currfileIdx = RTW_TraceInfo.instance.fCurrFileIdx; + rmTagToCurrentLine(); + RTW_TraceInfo.instance.goPrev(); + Nav(prevfileIdx, currfileIdx); + } +} +// Callback for "First" button +function rtwGoFirst() { + if (RTW_TraceInfo.instance && top.rtwreport_document_frame) { + var prevfileIdx = RTW_TraceInfo.instance.getFirstFileIdx(); + var currfileIdx = RTW_TraceInfo.instance.fCurrFileIdx; + rmTagToCurrentLine(); + RTW_TraceInfo.instance.goFirst(); + Nav(prevfileIdx, currfileIdx); + } +} + +// Callback for navigation button onclick +var navButtonStatus = (function() { + var isclicked = false; + return { + clicked: function () { + isclicked = true; + return false; + }, + reset: function () { + isclicked = false; + }, + isClicked: function () { + return isclicked; + } + }; +})(); + +// Callback for "Next" button +function rtwGoNext() { + if (RTW_TraceInfo.instance && top.rtwreport_document_frame) { + var nextfileIdx = RTW_TraceInfo.instance.getNextFileIdx(); + var currfileIdx = RTW_TraceInfo.instance.fCurrFileIdx; + rmTagToCurrentLine(); + RTW_TraceInfo.instance.goNext(); + Nav(nextfileIdx, currfileIdx); + } +} +// Callback for "Last" button +function rtwGoLast() { + if (RTW_TraceInfo.instance && top.rtwreport_document_frame) { + var nextfileIdx = RTW_TraceInfo.instance.getLastFileIdx(); + var currfileIdx = RTW_TraceInfo.instance.fCurrFileIdx; + rmTagToCurrentLine(); + RTW_TraceInfo.instance.goLast(); + Nav(nextfileIdx, currfileIdx); + } +} + +function addTagToCurrentLine() { + rmHiliteClickedToken(); + tagCurrentLine(true); +} +function rmTagToCurrentLine() { + tagCurrentLine(false); +} +// tag current line by changing the bacgkround color of the line +function tagCurrentLine(addColor) { + if (RTW_TraceInfo.instance) { + var o = top.rtwreport_document_frame.document.getElementById(RTW_TraceInfo.instance.getCurrLine()); + if (o) { + if (addColor) { + o.className = "hiliteCurrentLine"; + } else { + o.className = "hilite"; + } + } + } +} +// Helper function for main document load callback +function rtwMainOnLoadFcn(topDocObj,aLoc,aPanel,forceReload) { + var loc; + var aHash=""; + var lastArgs = null; + var tocDocObj = top.rtwreport_contents_frame.document; + if (typeof forceReload === "undefined") { + forceReload = false; + } + // get the hash value from location. + if (!aLoc) { + loc = topDocObj.location; + if (loc.search || loc.hash) { + if (loc.search) + aHash = loc.search.substring(1); + else + aHash = loc.hash.substring(1); + } + } else { + aHash = aLoc; + if (RTW_TraceArgs.instance) + lastArgs = RTW_TraceArgs.instance; + } + + // parse URL hash value + RTW_TraceArgs.instance = new RTW_TraceArgs(aHash); + // load metrics + load_metrics(); + // use incode traceability + if (RTW_TraceArgs.instance.getInCodeTrace()) { + RTW_TraceArgs.instance.parseUrlHash2(RTW_TraceArgs.instance.getTraceData()); + inCodeTraceOnload(); + return; + } + if (lastArgs !== null) { + RTW_TraceArgs.instance.setUseExternalBrowser(lastArgs.getUseExternalBrowser()); + RTW_TraceArgs.instance.setModel2CodeSrc(lastArgs.getModel2CodeSrc()); + } + + // get highlight url using sid + if (RTW_TraceArgs.instance.hasSid()) { + sid = RTW_TraceArgs.instance.getSID(); + aHash = RTW_Sid2UrlHash.instance.getUrlHash(sid); + } + // parse hash to look for msg=...&block=... pattern + RTW_TraceArgs.instance.parseCommand(aHash); + // parse hash to look for file.c:10,12&file.h:10,12 + RTW_TraceArgs.instance.parseUrlHash(aHash); + + // hide navigation buttons if not in MATLAB + if (RTW_TraceArgs.instance.getUseExternalBrowser() && tocDocObj.getElementById) { + var o = tocDocObj.getElementById("nav_buttons"); + if (o != null) { + o.style.display = "none"; + } + } + + // hide web view frameset if model2code_src is model + if (RTW_TraceArgs.instance.getModel2CodeSrc() === "model") { + var o = top.document.getElementById('rtw_webviewMidFrame'); + if (o) { + o.rows = "100%,0%"; + } + } + + // stop onload when it has been loaded + if (window.location.search.indexOf("loaded=true") > 0 + && top.rtwreport_document_frame.location.href !== "about:blank" && forceReload !== true) { + updateHyperlinks(); + return; + } + + // modify modelref links + update_modelref_report_link(top.rtwreport_contents_frame.document); + try { + // ignore browser security error + update_modelref_report_link(top.rtwreport_document_frame.document); + } catch(e) {}; + + // redirect the page based on the url + var initPage = null; + if (RTW_TraceArgs.instance.getNumFiles()) { + var fileLinks = RTW_TraceInfo.getFileLinks(tocDocObj); + RTW_TraceInfo.instance = new RTW_TraceInfo(fileLinks); + RTW_TraceInfo.instance.removeHighlighting() + var numFiles = RTW_TraceArgs.instance.getNumFiles(); + var tLines = 0; + for (var i = 0; i < numFiles; ++i) { + RTW_TraceInfo.instance.setLines(RTW_TraceArgs.instance.getFile(i),RTW_TraceArgs.instance.getLines(i)); + tLines += RTW_TraceArgs.instance.getLines(i).length; + } + RTW_TraceInfo.instance.setTotalLines(tLines); + if (aPanel == false) { + RTW_TraceInfo.instance.setDisablePanel(true); + } + var initFile = RTW_TraceArgs.instance.getInitFile(); + RTW_TraceInfo.instance.setInitLocation(initFile,RTW_TraceArgs.instance.getInitLine()); + if (!hasInCodeTrace()) { + initPage = RTW_TraceInfo.instance.getCurrentHRef(); + } else { + initPage = initFile; + } + } else { + // catch error that document frame is in another domain + try { + var fileDocObj = top.rtwreport_document_frame.document; + if (fileDocObj.location && (!fileDocObj.location.href || fileDocObj.location.href == "about:blank")) { + var summaryPage = tocDocObj.getElementById("rtwIdSummaryPage"); + var tracePage = tocDocObj.getElementById("rtwIdTraceability"); + if (summaryPage) { + initPage = summaryPage.href; + } else if (tracePage) { + initPage = tracePage; + } + } + } catch(e) {}; + } + if (RTW_TraceArgs.instance && RTW_TraceArgs.instance.fMessage) { + // display diagnostic message + var linkId = "rtwIdMsgFileLink"; + var msgFile = tocDocObj.getElementById(linkId); + if (msgFile && msgFile.style) { + msgFile.style.display = "block"; + // Highlight the background of msg link + tocHiliteById(linkId); + } + initPage = "rtwmsg.html"; + } + if (initPage) { + var is_same_page = false; + try { + var fileDocObj = top.rtwreport_document_frame.document; + is_same_page = isSamePage(fileDocObj.location.href, initPage); + } catch(e) {}; + if (is_same_page) { + top.rtwreport_document_frame.location.href = initPage; + // Goto the same page won't trigger onload function. + // Call it manuelly to highligh new code location. + rtwFileOnLoad(top.rtwreport_document_frame.document); + } else { + // change current fileDocObj to initPage + top.rtwreport_document_frame.location.href = initPage; + } + } +} + +// Compare if href1(i.e. file:///path/file1.html#222) and href2(i.e.file2.html) are same pages. +// isSamePage return true if file1 == file2. +function isSamePage(href1, href2) { + var page1 = href1.substring(href1.lastIndexOf('/')+1,href1.lastIndexOf('.html')); + var page2 = href2.substring(href2.lastIndexOf('/')+1,href2.lastIndexOf('.html')); + return (page1 == page2); +} + +// Callback for main document loading +function rtwMainOnLoad() { + rtwMainOnLoadFcn(document,null,true, false); + var newUrl; + // modify history state to avoid reload from pressing back + if (RTW_TraceArgs.instance && !RTW_TraceArgs.instance.getUseExternalBrowser() && + typeof window.history.replaceState === "function") { + if (window.location.search.length > 0) { + if (window.location.search.indexOf("loaded=true") === -1) { + newUrl = document.location.pathname + window.location.search + '&loaded=true'; + } else { + newUrl = document.location.pathname + window.location.search; + } + } else { + newUrl = document.location.pathname + window.location.search + '?loaded=true'; + } + window.history.replaceState("","",newUrl); + } +} + +// Helper function for traceability report +function rtwMainReload(location) { + // remove highlight filename and lines before reloading the page + if (RTW_TraceInfo.instance) + RTW_TraceInfo.instance.removeHighlighting(); + rtwMainOnLoadFcn(document,location,true,true); +} + +function rtwMainReloadNoPanel(location) { + rtwMainOnLoadFcn(document,location,false,true); +} + +// Callback for hyperlink "Remove Highlighting" +function rtwRemoveHighlighting() { + if (RTW_TraceInfo.instance) + RTW_TraceInfo.instance.removeHighlighting(); + if (rtwSrcFrame()) { + rtwSrcFrame().focus(); + } + if (hasInCodeTrace()) { + removeInCodeTraceHighlight(); + } +} + +// Display diagnostic message in document frame +function rtwDisplayMessage() { + var docObj = top.rtwreport_document_frame.document; + var msg = docObj.getElementById(RTW_TraceArgs.instance.fMessage); + if (!msg) { + msg = docObj.getElementById("rtwMsg_notTraceable"); + } + if (msg && msg.style) { + msg.style.display = "block"; // make message visible + var msgstr = msg.innerHTML; + if (RTW_TraceArgs.instance.fBlock) { + // replace '%s' in message with block name + msgstr = msgstr.replace("%s",RTW_TraceArgs.instance.fBlock); + } + msg.innerHTML = msgstr; + } +} + +function updateHyperlinks() { + docObj = top.rtwreport_document_frame; + if (docObj && docObj.document) { + if (RTW_TraceArgs.instance === null || !RTW_TraceArgs.instance.getUseExternalBrowser()) { + var plain_link = docObj.document.getElementById("linkToText_plain"); + if (plain_link && plain_link.href && plain_link.href.indexOf("matlab:coder.internal.editUrlTextFile") === -1 ) { + plain_link.href = "matlab:coder.internal.editUrlTextFile('" + str2StrVar(plain_link.href) + "')"; + } + var alink = docObj.document.getElementById("linkToCS"); + var linkCmd = "matlab:coder.internal.viewCodeConfigsetFromReport"; + if (alink && alink.href && alink.href.indexOf(linkCmd) === -1) { + alink.href = linkCmd+ "('" + str2StrVar(alink.href) + "');"; + } + } else { + var alink = docObj.document.getElementById("linkToCS"); + if (alink && alink.style) { + alink.style.display = "none"; + hidden_link = docObj.document.getElementById("linkToCS_disabled"); + if (hidden_link) + hidden_link.style.display = ""; + } + if (typeof docObj.document.getElementsByClassName === "function") + alinks = docObj.document.getElementsByClassName("callMATLAB"); + else if (typeof docObj.document.getElementsByName === "function") + alinks = docObj.document.getElementsByName("callMATLAB"); + else + alinks = []; + for (i = 0; i < alinks.length; i++) { + alinks[i].href = "javascript:alert('This hyperlink is available only in MATLAB browser.');"; + alinks[i].style.color = "gray"; + } + alink = docObj.document.getElementById("CodeGenAdvCheck"); + if (alink && alink.href && alink.href.indexOf("externalweb=true")===-1) { + alink.href = alink.href + "?externalweb=true"; + } + + if (typeof docObj.document.getElementsByName === "function") + var objs = docObj.document.getElementsByName("MATLAB_link"); + else + objs = []; + for (var objIndex = 0; objIndex < objs.length; ++objIndex) { + objs[objIndex].style.display = "none"; + } + } + } + updateCode2ModelLinks(docObj.document); + // modify modelref links + update_modelref_report_link(top.rtwreport_contents_frame.document); + try { + // ignore browser security error + update_modelref_report_link(top.rtwreport_document_frame.document); + } catch(e) {}; +} + +function update_modelref_report_link(docObj) { + if (docObj.getElementsByName) { + var arg = ""; + if (RTW_TraceArgs.instance && !RTW_TraceArgs.instance.getUseExternalBrowser()) { + arg = "?useExternalBrowser=false"; + } + if (RTW_TraceArgs && RTW_TraceArgs.instance && RTW_TraceArgs.instance.getModel2CodeSrc() != null) { + if (arg.length > 0) + arg = arg + "&model2code_src=" + RTW_TraceArgs.instance.getModel2CodeSrc(); + else + arg = "?model2code_src=" + RTW_TraceArgs.instance.getModel2CodeSrc(); + } + if (arg.length > 0) { + links = docObj.getElementsByName('external_link'); + for (var link_idx = 0; link_idx < links.length; ++link_idx) { + links[link_idx].href = links[link_idx].href + arg; + } + } + } +} + +function rtwPageOnLoad(id) { + // highlight toc entry + tocHiliteById(id); + // restore elements state + if (top && top.restoreState) { + if (top.rtwreport_contents_frame && top.rtwreport_contents_frame.document) + top.restoreState(top.rtwreport_contents_frame.document); + if (top.rtwreport_document_frame && top.rtwreport_document_frame.document) + top.restoreState(top.rtwreport_document_frame.document); + } + updateHyperlinks(); +} + +// highlight code after changeSys +function rtwChangeSysCallback(sid) { + if (sid == "" || typeof RTW_Sid2UrlHash == "undefined" || !RTW_Sid2UrlHash.instance) + return false; + urlHash = RTW_Sid2UrlHash.instance.getUrlHash(sid); + if (urlHash != undefined) { + if (RTW_TraceArgs && RTW_TraceArgs.instance && + !RTW_TraceArgs.instance.getUseExternalBrowser()) + urlHash = (urlHash == "")? "?useExternalBrowser=false" : + urlHash+"&useExternalBrowser=false"; + rtwMainReload(urlHash, true); + return true; + } else { + // remove highlighting from traceinfo + rtwRemoveHighlighting(); + return false; + } +} + +// eml file onload function: highlight line in eml file +function emlFileOnload(docObj) { + var loc = docObj.location; + if (loc.hash) { + var line = loc.hash.substring(1); + hiliteEmlLine(docObj, line); + } +} + +// highlight line in an eml file. Ynhighlight previously highligted line first. +function hiliteEmlLine(docObj, line) { + var bgColor; + if (top.HiliteCodeStatus) + bgColor = "#66CCFF"; + else + bgColor = "#E8D152"; + // unhighlight + if (typeof docObj.HiliteLine != "undefined") { + trObj = docObj.getElementById("LN_"+docObj.HiliteLine); + if (trObj != null) { + trObj.style.backgroundColor = ""; + } + } + // hilighlight + trObj = docObj.getElementById("LN_"+line); + if (trObj != null) { + trObj.style.backgroundColor = bgColor; + docObj.HiliteLine = line; + } +} +// eml line onclick callback: highlight C code and current line in eml file +function emlLineOnClick(docObj,sid,line) { + if (top) { + top.HiliteCodeStatus = top.rtwChangeSysCallback(sid); + } + hiliteEmlLine(docObj, line); +} + +function updateCode2ModelLinks(docObj) { + var webviewFrame = top.document.getElementById('rtw_webviewMidFrame'); + if (webviewFrame) { + if (RTW_TraceArgs.instance && + (RTW_TraceArgs.instance.getModel2CodeSrc() !== "model" || + RTW_TraceArgs.instance.getUseExternalBrowser()) + ) { + hiliteCmd = "javascript:top.rtwHilite("; + } else { + hiliteCmd = "matlab:coder.internal.code2model("; + } + var objs = docObj.getElementsByName('code2model'); + var o = null; + var str = ''; + var pattern = "'code2model',"; + for (var objIndex = 0; objIndex < objs.length; ++objIndex) { + o = objs[objIndex]; + str = o.href.substring(o.href.indexOf('(')+1); + if (str.indexOf(pattern) > -1) { + str = str.substring(str.indexOf(pattern) + pattern.length); + } + o.href = hiliteCmd + str; + } + } +} + +function rtwHilite(aBlock,aParentSID) { + if (aBlock.indexOf('-') !== -1) { + // remove sid range: model:sid:2-10 => model:sid + var s; + s = aBlock.split(':'); + if (s.length > 0) { + s = s[s.length-1]; + if (s.indexOf('-') != -1) { + aBlock = aBlock.substring(0, aBlock.lastIndexOf(':')); + } + } + } + if (typeof aParentSID === "undefined") { + if (top.RTW_SidParentMap && top.RTW_SidParentMap.instance) + aParentSID = top.RTW_SidParentMap.instance.getParentSid(aBlock); + else + aParentSID = aBlock; + } + top.HiliteCodeStatus = true; + if (hiliteBlockForRTWReport(aBlock,aParentSID) === false) { + if (hiliteBlockForRTWReport(aBlock, aBlock) === false) { + rtwHilite(aParentSID); + } + } +} + +function str2StrVar(str) { + return str.replace(/'/g,"''"); +} +window.onload=rtwMainOnLoad; + +// handle incode traceability highlighting +function inCodeTraceOnload() { + var tocDocObj = top.rtwreport_contents_frame.document; + if (!top.RTW_TraceArgs.instance) { + var summaryPage = tocDocObj.getElementById("rtwIdSummaryPage"); + top.rtwreport_document_frame.location.href = summaryPage.href; + return; + } + + var files = top.RTW_TraceArgs.instance.getFile(); + if (files.length === 0) { + if (top.RTW_TraceArgs.instance) { + var block = top.RTW_TraceArgs.instance.getBlock(); + block = block.replace("<", "<").replace(">", ">"); + } + top.rtwreport_document_frame.document.write("<pre>No traceability information for block " + block + ".</pre>"); + return; + }; + + var fileLinks = RTW_TraceInfo.getFileLinks(tocDocObj); + RTW_TraceInfo.instance = new RTW_TraceInfo(fileLinks); + + // update filelist with num of highlighted lines + var tocDoc = top.rtwreport_contents_frame.document; + var tLines = 0; + for (var i=0; i<files.length;i++) { + var fileIdx = top.RTW_TraceArgs.instance.getFileIdx(files[i]); + if (typeof fileIdx !== "undefined") { + var rows = top.RTW_TraceArgs.instance.getRows(fileIdx); + var linkNode = tocDoc.getElementById(files[i]); + updateNumHighlightedLines(linkNode, rows.length); + RTW_TraceInfo.instance.setLines(files[i], rows); + tLines += rows.length; + } + } + // set number of total lines + RTW_TraceInfo.instance.setTotalLines(tLines); + // update highligthed from + var node = tocDoc.getElementById("rtwIdTraceBlock"); + if (node) node.textContent = RTW_TraceArgs.instance.getBlock(); + // set the initial file and line + fileIdx = top.RTW_TraceArgs.instance.getFileIdx(files[0]); + rows = top.RTW_TraceArgs.instance.getRows(fileIdx); + RTW_TraceInfo.instance.setInitLocation(files[0],rows[0]); + + // highlight first file + top.rtwreport_document_frame.location.href = files[0]; + return; +} + +function updateNumHighlightedLines(linkObj, aNumLines) { + var parent = linkObj.parentNode; + if (parent && parent.childNodes && parent.childNodes.length > 1) { + var spanNodes = parent.getElementsByTagName('span'); + var len = spanNodes.length; + if (len > 0) { + if (aNumLines > 0) { + /* display number of matches */ + spanNodes.item(len-1).innerHTML = " ("+aNumLines+")"; + } else { + /* clear number of matches */ + spanNodes.item(len-1).innerHTML = ""; + } + } + } +} + +function toggleNavSideBar(val) { + if (top.main) { + var tmp = top.main.cols.split(","); + + if (val === "on") { + tmp[tmp.length-1] = "15px"; + } else { + tmp[tmp.length-1] = "0"; + } + top.main.cols = tmp.join(); + if (top.rtwreport_nav_frame) + top.rtwreport_nav_frame.location.href = "nav.html"; + } +}; + +function toggleNavToolBar(val) +{ + var midFrame = rtwMidFrame(); + if (midFrame) { + var tmp1 = midFrame.rows.split(","); + var frameIdx = getNavToolbarFrameIdx(); + if (val === "on") { + tmp1[frameIdx] = "40px"; + } else { + tmp1[frameIdx] = "0"; + } + midFrame.rows = tmp1.join(); + if (top.rtwreport_navToolbar_frame) { + top.rtwreport_navToolbar_frame.location.href = "navToolbar.html"; + } + } +}; + +var GlobalConfig = { + navHiliteColor: "#0000ff", + fileLinkHiliteColor: "#ffff99", + navToolbarBgcolor: "#aaffff", + offset: 10, + hiliteToken: false +}; +var NavSideBarState = { + calLineHeight: 0, + overLink: false, + linkTarget: null, + lastLinkTarget: null, + linkTargetIdx: 0 +} +function drawNavSideBar() { + var rectHeight = 1; + if (!top || !top.rtwreport_document_frame || !top.rtwreport_nav_frame) return; + + if (!top.RTW_TraceArgs.instance) return; + var fileIdx = top.RTW_TraceArgs.instance.getFileIdx(); + if (fileIdx === undefined) return; + var rows = top.RTW_TraceArgs.instance.getRows(fileIdx); + if (rows.length === 0) return; // no highlighted line + + var codeTbl = top.rtwreport_document_frame.document.getElementById("codeTbl"); + if (!codeTbl) return; // no code table + + var nRows = codeTbl.rows.length + 1; + var canvas = top.rtwreport_nav_frame.document.getElementById("canvas"); + canvas.width = top.rtwreport_nav_frame.innerWidth; + canvas.height = top.rtwreport_nav_frame.innerHeight-2; + NavSideBarState.calLineHeight = canvas.height/nRows; + if (canvas.getContext) { + var ctx = canvas.getContext("2d"); + ctx.clearRect(0, 0, canvas.width, canvas.height); + // fill background + ctx.fillStyle = GlobalConfig.navToolbarBgcolor; + ctx.fillRect(0, 0, canvas.width, canvas.height); + ctx.fillStyle = GlobalConfig.navHiliteColor; + for (var i=0;i<rows.length;i++) { + ctx.fillRect(0, Number(rows[i])*NavSideBarState.calLineHeight, canvas.width, rectHeight); + } + if (canvas.addEventListener) { + canvas.addEventListener("mousemove", navBarOnMousemove, false); + canvas.addEventListener("click", navBarOnClick, false); + } else if (canvas.attachEvent) { + canvas.attachEvent("mousemove", navBarOnMousemove); + canvas.attachEvent("click", navBarOnClick); + } + } +} + +function navBarOnMousemove(e) { + var y = e.clientY; + var tolerable_range = 5; + if (!top.RTW_TraceArgs.instance || !top.rtwreport_nav_frame) return; + var fileIdx = top.RTW_TraceArgs.instance.getFileIdx(); + var rows = top.RTW_TraceArgs.instance.getRows(fileIdx); + var lineLoc,nextLineLoc; + top.rtwreport_nav_frame.document.body.style.cursor=""; + NavSideBarState.overLink = false; + NavSideBarState.linkTarget = null; + NavSideBarState.linkTargetIdx = null; + for (var i=0;i<rows.length;i++) { + loc = rows[i]*NavSideBarState.calLineHeight; + // if within the tolerable range + if (Math.abs(y-loc) <= tolerable_range) { + top.rtwreport_nav_frame.document.body.style.cursor="pointer"; + var canvas = top.rtwreport_nav_frame.document.getElementById("canvas"); + canvas.title = "navigate to line " + rows[i]; + NavSideBarState.overLink = true; + NavSideBarState.linkTarget = rows[i]; + NavSideBarState.linkTargetIdx = i; + break; + } + } +} + +function navBarOnClick(e) { + if (NavSideBarState.overLink && top.rtwreport_document_frame) { + rmTagToCurrentLine(); // remove current line tag + top.RTW_TraceInfo.instance.setCurrLineIdx(NavSideBarState.linkTargetIdx); + top.rtwreport_document_frame.document.location.href=RTW_TraceInfo.instance.getCurrentHRef(); + top.addTagToCurrentLine(); // add current line tag + RTW_TraceInfo.instance.updateNavState(); + } +} + +function removeInCodeTraceHighlight() { + var docObj = top.rtwreport_document_frame.document; + toggleNavSideBar("off"); + toggleNavToolBar("off"); + var nodes = docObj.getElementsByClassName("hilite"); + // nodes is a live nodeList. Changing className modifies the list. + while(nodes.length) { + nodes[0].className = nodes[0].className.replace("hilite", ""); + } + var nodes = docObj.getElementsByClassName("hiliteCurrentLine"); + // nodes is a live nodeList. Changing className modifies the list. + while(nodes.length) { + nodes[0].className = nodes[0].className.replace("hiliteCurrentLine", ""); + } + // reset RTW_TraceArgs.instance + RTW_TraceArgs.instance = null; + // remove highlight in content panel except the filelink + if (RTW_TraceInfo && RTW_TraceInfo.instance) { + var currFileIdx = RTW_TraceInfo.instance.getCurrFileIdx(); + RTW_TraceInfo.instance.removeHighlighting(); + RTW_TraceInfo.instance.highlightFileLink(currFileIdx); + } +} + +function getInspectWindow() { + var divObj = document.createElement("div"); + divObj.id = "popup_window"; + return divObj; +} +function getInspectData(file, anchorObj) { + var metricsData = null; + var propObj = null; + var type = null; + var size = null; + var cm; + if (top.rtwreport_nav_frame && top.rtwreport_nav_frame.CodeMetrics && + top.rtwreport_nav_frame.CodeMetrics.instance && + top.RTW_TraceArgs && top.RTW_TraceArgs.instance && + !top.RTW_TraceArgs.instance.getUseExternalBrowser()) { + cm = top.rtwreport_nav_frame.CodeMetrics.instance; + } + if (cm && cm.getMetrics) { + metricsData = cm.getMetrics(anchorObj.text); + if (!metricsData) { + // try static token + metricsData = cm.getMetrics(RTW_TraceInfo.toSrcFileName(file) + ":" + anchorObj.text); + } + if (metricsData) { + type = metricsData.type; + if (type === "var") { + type = "Global Variable"; + size = "(" + metricsData.size + " byte)"; + } else if (type === "fcn") { + type = "Function"; + size = "(stack: " + metricsData.stack + " byte, total stack: " + + metricsData.stackTotal + " byte)"; + } + } + } + if (type === null) { + var defObj = top.CodeDefine.instance.def[anchorObj.text]; + if (defObj) { + type = defObj.type; + if (type === "var") { + type = "Variable"; + } else if (type === "fcn") { + type = "Function"; + } else if (type === "type") { + type = "Type"; + } + size = ""; + } + } + var propObj = document.createElement("div"); + propObj.id = "token_property"; + + var ulObj = document.createElement("ul"); + ulObj.className = "popup_attrib_list"; + ulObj.innerHTML = "<li>" + type + ": <var>" + anchorObj.text + "</var></li><li>"+ + size + "</li>"; + propObj.appendChild(ulObj); + + return propObj; +} +function getInspectLink(file, pathname, anchorObj) { + var model = top.reportModel; + var tokenId = anchorObj.id; + var navObj = document.createElement("div"); + navObj.id = "token_usage_nav"; + ulObj = document.createElement("ul"); + ulObj.id = "token_nav_links"; + ulObj.className="popup_attrib_list"; + var defObj = top.CodeDefine.instance.def[anchorObj.text]; + var line = anchorObj.id.substring(0,anchorObj.id.indexOf("c")); + // link to model + if (top.TraceInfoFlag && top.TraceInfoFlag.instance && + top.TraceInfoFlag.instance.traceFlag[RTW_TraceInfo.toSrcFileName(file)+":"+anchorObj.id]) { + ulObj.innerHTML += "<li><a href=\"matlab:rtw.report.code2model(\'" + top.reportModel + + "\',\'"+pathname+"\',\'" + tokenId + "');\">Navigate to model</a></li>"; + } + // link to def/decl + if (defObj) { + var filename = defObj.file.split(/\//); + filename = filename[filename.length-1]; + ulObj.innerHTML += "<li><i>" + anchorObj.text + "</i> defined at <a target='rtwreport_document_frame' onclick=\"top.tokenLinkOnClick(event)\" href='" + defObj.file + "#" + defObj.line + + "'>" + RTW_TraceInfo.toSrcFileName(filename) + " line " + defObj.line + "</a></li>"; + } + navObj.appendChild(ulObj); + return navObj; +} + +var LastHiliteTokenId = null; +function rmHiliteClickedToken() { + if (LastHiliteTokenId) { + var o = top.rtwreport_document_frame.document.getElementById(LastHiliteTokenId); + if (o) { + o.className = o.className.replace("hiliteToken", ""); + } + } +} +function hiliteClickedToken(elem) { + rmHiliteClickedToken(); + LastHiliteTokenId = elem.id; + elem.className += " hiliteToken"; +} + +var initLine = null; +function scrollToInitLine() { + if (initLine) { + var lineElem = top.rtwreport_document_frame.document.getElementById(initLine); + if (lineElem) { + lineElem.scrollIntoView(); + } + } +} + +function scrollToLineBasedOnHash(hashValue) { + // move to the current highlight line if the hash is not empty + if (hashValue === "") { + if (top.RTW_TraceInfo.instance && top.RTW_TraceInfo.instance.getCurrLine() !== null) { + top.rtwreport_document_frame.document.location.href=top.RTW_TraceInfo.instance.getCurrentHRef(); + top.initLine = top.rtwreport_document_frame.document.location.hash.substr(1); + } + } else { + // scroll and hilite line + hashValue = hashValue.substr(1); + if (isNaN(hashValue)) { + // #fcn_name + var pattern = "+newPage"; + if (hashValue.indexOf(pattern) != -1) { + hashValue = hashValue.replace(pattern, ''); + var lineElem = top.rtwreport_document_frame.document.getElementById(hashValue); + initLine = hashValue; // save initLine in case the dom is updated later by anootation + if (lineElem) { + lineElem.scrollIntoView(); + addTagToCurrentLine(); + } + + } else { + var token = null; + pattern = ["var_", "fcn_", "type_"]; + for (var i =0; i < pattern.length; i++) { + if (hashValue.indexOf(pattern[i]) === 0) { + token = hashValue.substr(pattern[i].length); + break; + } + } + if (token !== null && top.CodeDefine && top.CodeDefine.instance) { + var addr = top.CodeDefine.instance.def[token]; + if (addr) { + hilite_line(addr.line); + } + } else { // token id like #line"c"#col + if (hashValue.indexOf("c") !== -1) { + hilite_line(hashValue.substr(0, hashValue.indexOf("c")), hashValue); + } + } + } + } else { // #line + hilite_line(hashValue); + } + } + return false; + // hilite line number and scroll with an offset + function hilite_line(line, tokenId) { + if (isNaN(line)) return; + if (!tokenId) { + tokenId = line; + } + var elem = top.rtwreport_document_frame.document.getElementById(tokenId); + hiliteClickedToken(elem); + initLine = offset_line(line); + scrollToInitLine(); + } +} + +function tokenLinkOnClick(event) { + var alink = event.currentTarget; + if (alink.pathname === top.rtwreport_document_frame.location.pathname) { + event.preventDefault(); + scrollToLineBasedOnHash(alink.hash); + } + return false; +} +function inspectToken(file, pathname, event) { + var height = "70px"; + // show inspect data + if (top.rtwreport_inspect_frame) { + var windowObj = getInspectWindow(); + var propObj = getInspectData(file, event.currentTarget); + var navObj = getInspectLink(file, pathname, event.currentTarget); + if (propObj === null) { + height = "50px"; + } else { + windowObj.appendChild(propObj); + } + windowObj.appendChild(navObj); + var data = top.rtwreport_inspect_frame.document.getElementById("popup_window"); + if (data) { + data.parentNode.replaceChild(windowObj.cloneNode(true), data); + } + } + setInspectWindow(height); + return false; +} +function setInspectWindow(height) { + // show inspect code frame + var midFrame = rtwMidFrame(); + var tmp = midFrame.rows.split(","); + tmp[getInspectFrameIdx()] = height; + midFrame.rows = tmp.join(); +} +function closeInspectWindow() { + setInspectWindow(0); + return false; +} + +// set the trace number in the navigation toolbar +function setTraceNumber() { + if (RTW_TraceInfo.instance) { + var aFrame = rtwNavToolbarFrame(); + if (aFrame) { + var node = aFrame.document.getElementById("rtwIdTraceNumber"); + // calculate current line index over total highlighted lines + var currNum = RTW_TraceInfo.instance.getCurrLineIdx(); + for (var idx=0;idx<RTW_TraceInfo.instance.getCurrFileIdx();idx++) { + currNum += RTW_TraceInfo.instance.getNumLines(idx); + } + if (node) { + node.innerHTML = String(currNum+1) + " of " + String(RTW_TraceInfo.instance.getTotalLines()); + } + } + } +} + +function offset_line(line, offset) { + if (offset == undefined) + offset = GlobalConfig.offset; + if (offset > 0) + line = (line > GlobalConfig.offset ? line - GlobalConfig.offset : 1); + return line; +} + +function load_js(frame, file) { + var h = frame.document.getElementsByTagName("head")[0]; + var o = h.getElementsByTagName('script'); + for (var i=0;i<o.length;++i) { + if (o[i].getAttribute("src") === file) { + h.removeChild(o[i]); + } + } + var s = top.document.createElement("script"); + s.type = "text/javascript"; + s.src = file; + h.appendChild(s); +} + +function reqOnClick(event) { + top.hiliteClickedToken(event.currentTarget); + return true; +} +function resize_NavToolbar_frame() { + resize_frame(getNavToolbarFrameIdx(), rtwNavToolbarFrame().document.height); +} +function resize_Inspect_frame() { + resize_frame(getInspectFrameIdx(), rtwInspectFrame().document.height); +} +function resize_frame(id, height) { + if (height) { + var midFrame = top.rtwMidFrame(); + var tmp = midFrame.rows.split(","); + if (tmp[id] !== "0%" && tmp[id] !== "0") { + tmp[id] = "" + height - 8 + "px"; + midFrame.rows = tmp.join(); + } + } +} +function getNavToolbarFrameIdx() { + return 0; +} +function getInspectFrameIdx() { + return 2; +} +function load_metrics() { + var alink = top.document.createElement("a"); + alink.href = "metrics.js"; + if (top.RTW_TraceArgs && top.RTW_TraceArgs.instance && !top.RTW_TraceArgs.instance.getUseExternalBrowser()) { + try { + load_js(top.rtwreport_nav_frame, alink.href); + } catch (err) {}; + } +} + +function getNavFrame() { + if (hasWebviewFrame()) { + return rtwTocFrame(); + } else { + return rtwNavToolbarFrame(); + } +} + +function hasWebviewFrame() { + if (top.document.getElementById('rtw_webviewMidFrame')) { + return true; + } else { + return false; + } +} +function hasInCodeTrace() { + return (typeof(Html2SrcLink) === "function") && !hasWebviewFrame(); +} +function uniqueRows(rows) { + return rows.sort(function(a,b) {return a-b}).filter( + function(el,idx, arr) { + if (idx===arr.indexOf(el)) return true; return false; + } + ); +}
diff -r 83374f658183 -r bbc155b0b886 html/html/rtwmsg.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/html/html/rtwmsg.html Tue Nov 25 07:52:02 2014 +0000 @@ -0,0 +1,7 @@ +<html><head><title>Block-to-Code Highlighting Message</title> +<link rel="stylesheet" type="text/css" href="rtwreport.css" /> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> +</head><body onload="if (top.rtwDisplayMessage) top.rtwDisplayMessage();"> +<h1>Block-to-Code Highlighting Message</h1> +<p id="rtwMsg_notTraceable" style="display: none"><img src="hilite_warning.png" vspace="3px" align="top" />Code for '%s' cannot be traced because traceability information is not found.</p><p id="rtwMsg_virtualBlock" style="display: none"><img src="hilite_warning.png" vspace="3px" align="top" />'%s' is a virtual block. Code is not generated for virtual blocks.</p><p id="rtwMsg_reducedBlock" style="display: none"><img src="hilite_warning.png" vspace="3px" align="top" />'%s' is reduced during model compilation. Code is not generated for reduced blocks.</p><p id="rtwMsg_reusableFunction" style="display: none"><img src="hilite_warning.png" vspace="3px" align="top" />Code for '%s' is from reusable function and cannot be traced.</p><p id="rtwMsg_blockOutsideSystem" style="display: none"><img src="hilite_warning.png" vspace="3px" align="top" />'%s' is outside of source subsystem and cannot be traced.</p><p id="rtwMsg_illegalCharacter" style="display: none"><img src="hilite_warning.png" vspace="3px" align="top" />'%s' contains illegal character (single quote) that disables model-to-code navigation. Remove single quote from block name and rebuild model.</p><p id="rtwMsg_maskedSubSystem" style="display: none"><img src="hilite_warning.png" vspace="3px" align="top" />'%s' is a masked subsystem and cannot be traced at the subsystem block level. Traceability information is available for individual blocks under the mask.</p> +</body></html> \ No newline at end of file
diff -r 83374f658183 -r bbc155b0b886 html/html/rtwreport.css --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/html/html/rtwreport.css Tue Nov 25 07:52:02 2014 +0000 @@ -0,0 +1,210 @@ +/* Copyright 2011-2014 The MathWorks, Inc. */ +body,p,table {font-family: calibri, verdana, sans-serif;} +button,.buton {font-family: calibri, verdana, sans-serif;} +button,.button {font-size: small;} +.small_font {font-size: small;} +h1 { font-weight: normal; color: #000066; } +td { vertical-align: top } +th { background-color: #eeeeee; text-align: left; } +a:link { color: #0033cc; } +a:visited { color: #666666; } +input { font-family: sans-serif, verdana, calibri; } +table { + background-color: #ffffff; + width: 100%; +} + +table.toc, table.button, table.panel { + border-style: none; +} + +.highlighted { + background-color: yellow; +} + +.highlightedCurrent { + background-color: #819FF7; +} + +input.search { + background-color: #ffffff; +} + +input.failedSearch { + background-color: #F78181; +} + +/* ensure that code2model links are comment green */ +a.code2model:link { + color: #117755; + font-style: italic; +} +a.code2model:visited{ + color: #117755; + font-style: italic; +} + +.toc td, .button td, .panel td { + border-style: none; + padding: 4px; +} + +h1 { font-weight: normal; color: #000066; } +td { vertical-align: top } +th { background-color: #eeeeee; text-align: left; } +a:link { color: #0033cc; } +a:visited { color: #666666; } + +/******* table *******/ +/* default table style */ +table.AltRow { + border-collapse: collapse; border: none; border-spacing: 0pt; + border-top: solid #4F81BD 1.0pt; border-bottom: solid #4F81BD 1.0pt; +} +table.AltRow td { padding: 2pt } +/* default alternating row style */ +table.AltRow tr.even td { background-color:#D3DFEE; border:none;} +table.AltRow tr.odd td { background-color:#FFFFFF; border:none;} +/* tr class="heading" */ +table.AltRow tr.heading td, table.AltRow th { + background-color:#FFFFFF; font-weight:bold; border:none; + border-bottom: solid #4F81BD 1.0pt; +} +/* table class="FirstColumn" */ +table.FirstColumn td:first-child { font-weight:bold } +/* table class="TotalRow" */ +table.TotalRow tr:last-child { font-weight:bold } +table.TotalRow tr:last-child td { border-top: solid #4F81BD 1.0pt } + +a.closeButton { + background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #f9f9f9), color-stop(1, #e9e9e9) ); + background:-moz-linear-gradient( center top, #f9f9f9 5%, #e9e9e9 100% ); + filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f9f9f9', endColorstr='#e9e9e9'); + background-color:#f9f9f9; + -webkit-border-top-left-radius:20px; + -moz-border-radius-topleft:20px; + border-top-left-radius:20px; + -webkit-border-top-right-radius:20px; + -moz-border-radius-topright:20px; + border-top-right-radius:20px; + -webkit-border-bottom-right-radius:20px; + -moz-border-radius-bottomright:20px; + border-bottom-right-radius:20px; + -webkit-border-bottom-left-radius:20px; + -moz-border-radius-bottomleft:20px; + border-bottom-left-radius:20px; + text-indent:0; + border:2px solid #dcdcdc; + display:inline-block; + color:#454143; + font-family:Arial; + font-size:15px; + font-weight:bold; + font-style:normal; + height:20px; + line-height:20px; + width:20px; + text-decoration:none; + text-align:center; + cursor: pointer; +} +a.closeButton:hover { + background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #e9e9e9), color-stop(1, #f9f9f9) ); + background:-moz-linear-gradient( center top, #e9e9e9 5%, #f9f9f9 100% ); + filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#e9e9e9', endColorstr='#f9f9f9'); + background-color:#e9e9e9; +} +a.closeButton:active { + position:relative; + top:1px; +} + +.button { + -moz-box-shadow:inset 0px 1px 0px 0px #ffffff; + -webkit-box-shadow:inset 0px 1px 0px 0px #ffffff; + box-shadow:inset 0px 1px 0px 0px #ffffff; + background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #ededed), color-stop(1, #dfdfdf) ); + background:-moz-linear-gradient( center top, #ededed 5%, #dfdfdf 100% ); + filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ededed', endColorstr='#dfdfdf'); + background-color:#ededed; + -webkit-border-top-left-radius:5px; + -moz-border-radius-topleft:5px; + border-top-left-radius:5px; + -webkit-border-top-right-radius:5px; + -moz-border-radius-topright:5px; + border-top-right-radius:5px; + -webkit-border-bottom-right-radius:5px; + -moz-border-radius-bottomright:5px; + border-bottom-right-radius:5px; + -webkit-border-bottom-left-radius:5px; + -moz-border-radius-bottomleft:5px; + border-bottom-left-radius:5px; + text-indent:0px; + border:1px solid #dcdcdc; + display:inline-block; + color:black; + font-family:Arial; + font-size:12px; + font-weight:bold; + font-style:normal; + height:12px; + line-height:12px; + width:45px; + text-decoration:none; + text-align:center; + text-shadow:1px 1px 0px #ffffff; +} +.button:hover { + background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #dfdfdf), color-stop(1, #ededed) ); + background:-moz-linear-gradient( center top, #dfdfdf 5%, #ededed 100% ); + filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#dfdfdf', endColorstr='#ededed'); + background-color:#dfdfdf; +}.button:active { + position:relative; + top:1px; +}.button:disabled { + color:#777777; +} + +ul.nav_list { + list-style-type:none; + display: block; + margin: 0; + padding: 0; +} +ul.nav_list li { + list-style-type:none; + display: inline; + margin: 0 18px 0 0; + padding: 0; +} + +.nav_toolbar { + background-color: #aff; + margin-top: 0; +} + +.inspect_body { + margin-top: 0; + margin-bottom: 0; + display: inline; + vertical-align:middle; +} + +table.nav_table { + background-color: #aff; + border: none; + width: 100%; + display: inline; + vertical-align:middle; +} + +table#rtwIdTracePanel > tr > td { + white-space: nowrap; + table-layout:fixed; + vertical-align:middle; +} + +table.nav_table > button { + height: 20px; +}
diff -r 83374f658183 -r bbc155b0b886 html/html/rtwreport_utils.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/html/html/rtwreport_utils.js Tue Nov 25 07:52:02 2014 +0000 @@ -0,0 +1,92 @@ +// Copyright 2011-2013 The MathWorks, Inc. + + +function local_onload() { + if (typeof top.rtwreport_document_frame !== "undefined") { + var docObj = window.document; + var alink = docObj.getElementById("linkToText_plain"); + if (alink) { + alink.href = "matlab:coder.internal.editUrlTextFile('" + alink.href + "')"; + } + alink = docObj.getElementById("linkToCS"); + if (alink) { + alink.href = "matlab:coder.internal.viewCodeConfigsetFromReport('" + alink.href + "');"; + } + } +} + +var utils = (function() { + + // Load via Microsoft.XMLDOM--for older versions of IE + function loadXML_MSXMLDOM(filename, callback, async) { + if (navigator.appName == "Microsoft Internet Explorer") { + // Internet Explorer 5/6 + try { + var xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); + xmlDoc.async = async; + xmlDoc.onreadystatechange = function() { + if (xmlDoc.readyState == 4) { + callback(xmlDoc); + } + } + xmlDoc.load(filename); + return true; + } catch(e) { + } + } + return false; + } + + // Load via XMLHttpRequest + function loadXML_XHR(filename, callback, async) { + if (window.XMLHttpRequest) { + try { + var xhr = new XMLHttpRequest(); + xhr.onreadystatechange = function() { + if (this.readyState == 4) { + callback(this.responseXML); + } + } + xhr.open("GET", filename, async); + xhr.send(""); + return true; + } catch(e) { + if (navigator.appName === "Netscape" && e.code === 1012) { + // file not found: ignore + return true; + } + } + } + return false; + } + + return { + trimText: function(s) { + // In IE9, String.trim not present + if (s && s.trim) { + return s.trim(); + } + else { + return s; + } + }, + getText: function(elt) { + // In IE9, use 'text' property rather than 'textContent' + return elt.textContent ? elt.textContent : elt.text; + }, + loadXML: function(filename, callback, options) { + var async = !!options && typeof(options["async"]) !== "undefined" ? options.async : true; + if (!loadXML_XHR(filename, callback, async)) { + if (!loadXML_MSXMLDOM(filename, callback, async)) { + return false; + } + } + return true; + } + }; +})(); + +function code2model(sid) { + utils.loadXML("http://localhost:31415/matlab/feval/coder.internal.code2model?arguments=[\"" + sid + "\"]", function() {}); + //window.location.href = "matlab:coder.internal.code2model('" + sid + "')"; +}
diff -r 83374f658183 -r bbc155b0b886 html/html/rtwshrink.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/html/html/rtwshrink.js Tue Nov 25 07:52:02 2014 +0000 @@ -0,0 +1,202 @@ +// Copyright 2011-2012 The MathWorks, Inc. + +function RTW_STRUCT(prop, value) { + this.prop = prop; + if (typeof(value) == 'undefined') + this.value = ""; + else + this.value = value; +} + +// initialize the cache when code generation report is first loaded +function RTW_BOOK() +{ + this.length = 0; + this.rtw_pages = new Array(); + this.getPage = function(file) { + return this.rtw_pages[file]; + } + this.addPage = function(file) { + var page; + if (this.hasPage(file)) { + page = this.rtw_pages[file]; + } else { + page = new RTW_PAGE(file); + this.rtw_pages[file] = page; + } + return page; + } + this.hasPage = function(file) { + return typeof(this.rtw_pages[file]) != 'undefined'; + } + this.removePage = function(file) + { + var tmp; + if (typeof(this.rtw_pages[file]) != 'undefined') { + tmp = this.rtw_pages[file]; + delete this.rtw_pages[file]; + this.length--; + } + return tmp; + } +} + +if (!RTW_BOOK.instance) { + RTW_BOOK.instance = new RTW_BOOK(); +} + +function RTW_PAGE() +{ + this.length = 0; + this.items = new Array(); + this.pagename = ''; + if (arguments.length > 0 && typeof(arguments[1])!='undefined') { + this.pagename = arguments[1]; + } + + this.getItem = function(id) { + return this.items[id]; + } + this.getItems = function() { + return this.items; + } + this.addItem = function(id, value) { + var tmp; + if (typeof(value) != 'undefined') { + if (typeof(this.items[id]) != 'undefined') { + this.length++; + } else { + tmp = this.items[id]; + } + this.items[id] = value; + this.length++; + } + return tmp; + } + this.hasItem = function(id) { + return typeof(this.items[id]) != 'undefined'; + } + this.removeItem = function(id) { + var tmp; + if (typeof(this.items[id]) != 'undefined') { + tmp = this.items[id]; + delete this.items[id]; + this.length--; + } + return tmp; + } +} + +function rtwTableShrink(doc, obj, id, isSymbol){ + if (isSymbol) { + hide = "[-]"; + hide_text = hide; + show = "[+]"; + show_text = show; + } else { + hide = "[<u>hide</u>]"; + hide_text = "[hide]"; + show = "[<u>show</u>]"; + show_text = "[show]"; + } + hide = "<span class='shrink-button'>" + hide + "</span>"; + show = "<span class='shrink-button'>" + show + "</span>"; + if (doc.getElementsByName) { + var o = doc.getElementsByName(id); + for (var oid = 0; oid < o.length; ++oid) { + if (o[oid].style.display == "none") { + o[oid].style.display = ""; + } else { + o[oid].style.display = "none"; + } + } + if (o.length >= 0 && top && top.addToPage) + top.addToPage(doc, o[0], 'display'); + } + + // IE supports innerText while other browsers support textContent + if (obj.textContent) + var objText = obj.textContent; + else + var objText = obj.innerText; + + if (objText.toLowerCase() == show_text.toLowerCase()) + obj.innerHTML = hide; + else + obj.innerHTML = show; + + if (top && top.addToPage) + top.addToPage(doc, obj, 'innerHTML'); +} + +function rtwTableExpand(doc, controlObj, id) +{ + if (doc.getElementById) { + var obj = doc.getElementById(id); + if (obj && obj.style.display == "none") { + rtwTableShrink(doc, controlObj, id, false); + } + } +} + +function restoreState(docObj) { + var filename = docObj.location.href; + if (RTW_BOOK.instance && RTW_BOOK.instance.hasPage(filename)) { + var page = RTW_BOOK.instance.getPage(filename); + var items = page.getItems(); + var elem; + if (docObj.getElementsByName) { + for (var i in items) { + o = docObj.getElementsByName(i); + for (var oid = 0; oid < o.length; ++oid) { + elem = o[oid]; + if (items[i].prop == 'display') { + if (elem.style.display == 'none') + elem.style.display = ''; + else + elem.style.display = 'none'; + } else if (items[i].prop == 'innerHTML') { + elem.innerHTML = items[i].value; + } + } + } + } + } +} + +function addToPage(docObj, Obj, prop) { + var filename = docObj.location.href; + if (RTW_BOOK.instance) { + var page; + if (RTW_BOOK.instance.hasPage(filename)) + page = RTW_BOOK.instance.getPage(filename); + else + page = RTW_BOOK.instance.addPage(filename); + if (page.hasItem(Obj.id)) + page.removeItem(Obj.id); + else { + if (prop == "display") + my_struct = new RTW_STRUCT(prop, Obj.style.display); + else + my_struct = new RTW_STRUCT(prop, Obj.innerHTML); + page.addItem(Obj.id, my_struct); + } + } +} + +function rtwSwitchView(doc, obj1, obj2) { + if (doc.getElementsByName) { + var o = doc.getElementsByName(obj1); + for (var oid = 0; oid < o.length; ++oid) { + o[oid].style.display = "none"; + } + if (o.length >= 0 && top && top.addToPage) + top.addToPage(doc, o[0], 'display'); + var o = doc.getElementsByName(obj2); + for (var oid = 0; oid < o.length; ++oid) { + o[oid].style.display = ""; + } + if (o.length >= 0 && top && top.addToPage) + top.addToPage(doc, o[0], 'display'); + } +}
diff -r 83374f658183 -r bbc155b0b886 html/html/rtwtypes_h.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/html/html/rtwtypes_h.html Tue Nov 25 07:52:02 2014 +0000 @@ -0,0 +1,480 @@ +<!DOCTYPE html> +<html> +<head> +<script type="text/javascript" src="./js/coder_app.js"></script> +<meta http-equiv="content-type" content="text/html; charset=utf-8" /> +<script type="text/javascript" src="./rtwreport_utils.js"></script> +<script type="text/javascript" src="./rtwannotate.js"></script> +<link rel="stylesheet" type="text/css" href="./css/coder_app.css"/> +</head> +<body onload="srcFileOnload();"> +<pre id="code"> +<table class="code" id="codeTbl"> +<tr name="1" id="1"> +<td>1</td><td><span class="ct">/*</span></td></tr> +<tr name="2" id="2"> +<td>2</td><td><span class="ct"> * File: rtwtypes.h</span></td></tr> +<tr name="3" id="3"> +<td>3</td><td><span class="ct"> *</span></td></tr> +<tr name="4" id="4"> +<td>4</td><td><span class="ct"> * Code generated for Simulink model 'rtwdemo_pmsmfoc'.</span></td></tr> +<tr name="5" id="5"> +<td>5</td><td><span class="ct"> *</span></td></tr> +<tr name="6" id="6"> +<td>6</td><td><span class="ct"> * Model version : 1.2949</span></td></tr> +<tr name="7" id="7"> +<td>7</td><td><span class="ct"> * Simulink Coder version : 8.7 (R2014b) 11-Aug-2014</span></td></tr> +<tr name="8" id="8"> +<td>8</td><td><span class="ct"> * C/C++ source code generated on : Sat Oct 11 02:05:41 2014</span></td></tr> +<tr name="9" id="9"> +<td>9</td><td><span class="ct"> *</span></td></tr> +<tr name="10" id="10"> +<td>10</td><td><span class="ct"> * Target selection: ert.tlc</span></td></tr> +<tr name="11" id="11"> +<td>11</td><td><span class="ct"> * Embedded hardware selection: ARM Compatible->ARM Cortex</span></td></tr> +<tr name="12" id="12"> +<td>12</td><td><span class="ct"> * Code generation objective: Execution efficiency</span></td></tr> +<tr name="13" id="13"> +<td>13</td><td><span class="ct"> * Validation result: Not run</span></td></tr> +<tr name="14" id="14"> +<td>14</td><td><span class="ct"> */</span></td></tr> +<tr name="15" id="15"> +<td>15</td><td></td></tr> +<tr name="16" id="16"> +<td>16</td><td><span class="pp">#ifndef</span> <a id="16c9" class="tk">__RTWTYPES_H__</a></td></tr> +<tr name="17" id="17"> +<td>17</td><td><span class="pp">#define</span> <a id="17c9" class="tk">__RTWTYPES_H__</a></td></tr> +<tr name="18" id="18"> +<td>18</td><td></td></tr> +<tr name="19" id="19"> +<td>19</td><td><span class="ct">/* Logical type definitions */</span></td></tr> +<tr name="20" id="20"> +<td>20</td><td><span class="pp">#if</span> (!<a id="20c7" class="tk">defined</a>(<a id="20c15" class="tk">__cplusplus</a>))</td></tr> +<tr name="21" id="21"> +<td>21</td><td><span class="pp"># ifndef</span> false</td></tr> +<tr name="22" id="22"> +<td>22</td><td><span class="pp"># define</span> false (0U)</td></tr> +<tr name="23" id="23"> +<td>23</td><td><span class="pp"># endif</span></td></tr> +<tr name="24" id="24"> +<td>24</td><td></td></tr> +<tr name="25" id="25"> +<td>25</td><td><span class="pp"># ifndef</span> true</td></tr> +<tr name="26" id="26"> +<td>26</td><td><span class="pp"># define</span> true (1U)</td></tr> +<tr name="27" id="27"> +<td>27</td><td><span class="pp"># endif</span></td></tr> +<tr name="28" id="28"> +<td>28</td><td><span class="pp">#endif</span></td></tr> +<tr name="29" id="29"> +<td>29</td><td></td></tr> +<tr name="30" id="30"> +<td>30</td><td><span class="pp">#define</span> <a id="30c9" class="tk">__TMWTYPES__</a></td></tr> +<tr name="31" id="31"> +<td>31</td><td></td></tr> +<tr name="32" id="32"> +<td>32</td><td><span class="ct">/*=======================================================================*</span></td></tr> +<tr name="33" id="33"> +<td>33</td><td><span class="ct"> * Target hardware information</span></td></tr> +<tr name="34" id="34"> +<td>34</td><td><span class="ct"> * Device type: ARM Compatible->ARM Cortex</span></td></tr> +<tr name="35" id="35"> +<td>35</td><td><span class="ct"> * Number of bits: char: 8 short: 16 int: 32</span></td></tr> +<tr name="36" id="36"> +<td>36</td><td><span class="ct"> * long: 32</span></td></tr> +<tr name="37" id="37"> +<td>37</td><td><span class="ct"> * native word size: 32</span></td></tr> +<tr name="38" id="38"> +<td>38</td><td><span class="ct"> * Byte ordering: LittleEndian</span></td></tr> +<tr name="39" id="39"> +<td>39</td><td><span class="ct"> * Signed integer division rounds to: Undefined</span></td></tr> +<tr name="40" id="40"> +<td>40</td><td><span class="ct"> * Shift right on a signed integer as arithmetic shift: on</span></td></tr> +<tr name="41" id="41"> +<td>41</td><td><span class="ct"> *=======================================================================*/</span></td></tr> +<tr name="42" id="42"> +<td>42</td><td><span class="pp">#ifdef</span> <a id="42c8" class="tk">PORTABLE_WORDSIZES</a> <span class="ct">/* PORTABLE_WORDSIZES defined */</span></td></tr> +<tr name="43" id="43"> +<td>43</td><td></td></tr> +<tr name="44" id="44"> +<td>44</td><td><span class="ct">/*=======================================================================*</span></td></tr> +<tr name="45" id="45"> +<td>45</td><td><span class="ct"> * Host information</span></td></tr> +<tr name="46" id="46"> +<td>46</td><td><span class="ct"> * Number of bits: char: 8 short: 16 int: 32</span></td></tr> +<tr name="47" id="47"> +<td>47</td><td><span class="ct"> * long: 32</span></td></tr> +<tr name="48" id="48"> +<td>48</td><td><span class="ct"> * long long: 64</span></td></tr> +<tr name="49" id="49"> +<td>49</td><td><span class="ct"> * native word size: 32</span></td></tr> +<tr name="50" id="50"> +<td>50</td><td><span class="ct"> *=======================================================================*/</span></td></tr> +<tr name="51" id="51"> +<td>51</td><td></td></tr> +<tr name="52" id="52"> +<td>52</td><td><span class="ct">/*=======================================================================*</span></td></tr> +<tr name="53" id="53"> +<td>53</td><td><span class="ct"> * Fixed width word size data types: *</span></td></tr> +<tr name="54" id="54"> +<td>54</td><td><span class="ct"> * int8_T, int16_T, int32_T - signed 8, 16, or 32 bit integers *</span></td></tr> +<tr name="55" id="55"> +<td>55</td><td><span class="ct"> * uint8_T, uint16_T, uint32_T - unsigned 8, 16, or 32 bit integers *</span></td></tr> +<tr name="56" id="56"> +<td>56</td><td><span class="ct"> * real32_T, real64_T - 32 and 64 bit floating point numbers *</span></td></tr> +<tr name="57" id="57"> +<td>57</td><td><span class="ct"> *=======================================================================*/</span></td></tr> +<tr name="58" id="58"> +<td>58</td><td><span class="kw">typedef</span> <span class="kw">signed</span> <span class="kw">char</span> <a id="58c21" class="tk">int8_T</a>;</td></tr> +<tr name="59" id="59"> +<td>59</td><td><span class="kw">typedef</span> <span class="kw">unsigned</span> <span class="kw">char</span> <a id="59c23" class="tk">uint8_T</a>;</td></tr> +<tr name="60" id="60"> +<td>60</td><td><span class="kw">typedef</span> <span class="kw">short</span> <a id="60c15" class="tk">int16_T</a>;</td></tr> +<tr name="61" id="61"> +<td>61</td><td><span class="kw">typedef</span> <span class="kw">unsigned</span> <span class="kw">short</span> <a id="61c24" class="tk">uint16_T</a>;</td></tr> +<tr name="62" id="62"> +<td>62</td><td><span class="kw">typedef</span> <span class="kw">int</span> <a id="62c13" class="tk">int32_T</a>;</td></tr> +<tr name="63" id="63"> +<td>63</td><td><span class="kw">typedef</span> <span class="kw">unsigned</span> <span class="kw">int</span> <a id="63c22" class="tk">uint32_T</a>;</td></tr> +<tr name="64" id="64"> +<td>64</td><td><span class="kw">typedef</span> <span class="kw">float</span> <a id="64c15" class="tk">real32_T</a>;</td></tr> +<tr name="65" id="65"> +<td>65</td><td><span class="kw">typedef</span> <span class="kw">double</span> <a id="65c16" class="tk">real64_T</a>;</td></tr> +<tr name="66" id="66"> +<td>66</td><td></td></tr> +<tr name="67" id="67"> +<td>67</td><td><span class="ct">/*===========================================================================*</span></td></tr> +<tr name="68" id="68"> +<td>68</td><td><span class="ct"> * Generic type definitions: real_T, time_T, boolean_T, int_T, uint_T, *</span></td></tr> +<tr name="69" id="69"> +<td>69</td><td><span class="ct"> * ulong_T, char_T , ulonglong_T and byte_T. *</span></td></tr> +<tr name="70" id="70"> +<td>70</td><td><span class="ct"> *===========================================================================*/</span></td></tr> +<tr name="71" id="71"> +<td>71</td><td><span class="kw">typedef</span> <span class="kw">double</span> <a id="71c16" class="tk">real_T</a>;</td></tr> +<tr name="72" id="72"> +<td>72</td><td><span class="kw">typedef</span> <span class="kw">double</span> <a id="72c16" class="tk">time_T</a>;</td></tr> +<tr name="73" id="73"> +<td>73</td><td><span class="kw">typedef</span> <span class="kw">unsigned</span> <span class="kw">char</span> <a id="73c23" class="tk">boolean_T</a>;</td></tr> +<tr name="74" id="74"> +<td>74</td><td><span class="kw">typedef</span> <span class="kw">int</span> <a id="74c13" class="tk">int_T</a>;</td></tr> +<tr name="75" id="75"> +<td>75</td><td><span class="kw">typedef</span> <span class="kw">unsigned</span> <span class="kw">int</span> <a id="75c22" class="tk">uint_T</a>;</td></tr> +<tr name="76" id="76"> +<td>76</td><td><span class="kw">typedef</span> <span class="kw">unsigned</span> <span class="kw">int</span> <a id="76c22" class="tk">ulong_T</a>;</td></tr> +<tr name="77" id="77"> +<td>77</td><td><span class="kw">typedef</span> <span class="kw">char</span> <a id="77c14" class="tk">char_T</a>;</td></tr> +<tr name="78" id="78"> +<td>78</td><td><span class="kw">typedef</span> <span class="kw">unsigned</span> <span class="kw">char</span> <a id="78c23" class="tk">uchar_T</a>;</td></tr> +<tr name="79" id="79"> +<td>79</td><td><span class="kw">typedef</span> <a id="79c9" class="tk">char_T</a> <a id="79c16" class="tk">byte_T</a>;</td></tr> +<tr name="80" id="80"> +<td>80</td><td></td></tr> +<tr name="81" id="81"> +<td>81</td><td><span class="pp">#else</span> <span class="ct">/* PORTABLE_WORDSIZES not defined */</span></td></tr> +<tr name="82" id="82"> +<td>82</td><td></td></tr> +<tr name="83" id="83"> +<td>83</td><td><span class="ct">/*=======================================================================*</span></td></tr> +<tr name="84" id="84"> +<td>84</td><td><span class="ct"> * Fixed width word size data types: *</span></td></tr> +<tr name="85" id="85"> +<td>85</td><td><span class="ct"> * int8_T, int16_T, int32_T - signed 8, 16, or 32 bit integers *</span></td></tr> +<tr name="86" id="86"> +<td>86</td><td><span class="ct"> * uint8_T, uint16_T, uint32_T - unsigned 8, 16, or 32 bit integers *</span></td></tr> +<tr name="87" id="87"> +<td>87</td><td><span class="ct"> * real32_T, real64_T - 32 and 64 bit floating point numbers *</span></td></tr> +<tr name="88" id="88"> +<td>88</td><td><span class="ct"> *=======================================================================*/</span></td></tr> +<tr name="89" id="89"> +<td>89</td><td><span class="kw">typedef</span> <span class="kw">signed</span> <span class="kw">char</span> <a id="89c21" class="tk">int8_T</a>;</td></tr> +<tr name="90" id="90"> +<td>90</td><td><span class="kw">typedef</span> <span class="kw">unsigned</span> <span class="kw">char</span> <a id="90c23" class="tk">uint8_T</a>;</td></tr> +<tr name="91" id="91"> +<td>91</td><td><span class="kw">typedef</span> <span class="kw">short</span> <a id="91c15" class="tk">int16_T</a>;</td></tr> +<tr name="92" id="92"> +<td>92</td><td><span class="kw">typedef</span> <span class="kw">unsigned</span> <span class="kw">short</span> <a id="92c24" class="tk">uint16_T</a>;</td></tr> +<tr name="93" id="93"> +<td>93</td><td><span class="kw">typedef</span> <span class="kw">int</span> <a id="93c13" class="tk">int32_T</a>;</td></tr> +<tr name="94" id="94"> +<td>94</td><td><span class="kw">typedef</span> <span class="kw">unsigned</span> <span class="kw">int</span> <a id="94c22" class="tk">uint32_T</a>;</td></tr> +<tr name="95" id="95"> +<td>95</td><td><span class="kw">typedef</span> <span class="kw">float</span> <a id="95c15" class="tk">real32_T</a>;</td></tr> +<tr name="96" id="96"> +<td>96</td><td><span class="kw">typedef</span> <span class="kw">double</span> <a id="96c16" class="tk">real64_T</a>;</td></tr> +<tr name="97" id="97"> +<td>97</td><td></td></tr> +<tr name="98" id="98"> +<td>98</td><td><span class="ct">/*===========================================================================*</span></td></tr> +<tr name="99" id="99"> +<td>99</td><td><span class="ct"> * Generic type definitions: real_T, time_T, boolean_T, int_T, uint_T, *</span></td></tr> +<tr name="100" id="100"> +<td>100</td><td><span class="ct"> * ulong_T, char_T and byte_T. *</span></td></tr> +<tr name="101" id="101"> +<td>101</td><td><span class="ct"> *===========================================================================*/</span></td></tr> +<tr name="102" id="102"> +<td>102</td><td><span class="kw">typedef</span> <span class="kw">double</span> <a id="102c16" class="tk">real_T</a>;</td></tr> +<tr name="103" id="103"> +<td>103</td><td><span class="kw">typedef</span> <span class="kw">double</span> <a id="103c16" class="tk">time_T</a>;</td></tr> +<tr name="104" id="104"> +<td>104</td><td><span class="kw">typedef</span> <span class="kw">unsigned</span> <span class="kw">char</span> <a id="104c23" class="tk">boolean_T</a>;</td></tr> +<tr name="105" id="105"> +<td>105</td><td><span class="kw">typedef</span> <span class="kw">int</span> <a id="105c13" class="tk">int_T</a>;</td></tr> +<tr name="106" id="106"> +<td>106</td><td><span class="kw">typedef</span> <span class="kw">unsigned</span> <span class="kw">int</span> <a id="106c22" class="tk">uint_T</a>;</td></tr> +<tr name="107" id="107"> +<td>107</td><td><span class="kw">typedef</span> <span class="kw">unsigned</span> <span class="kw">long</span> <a id="107c23" class="tk">ulong_T</a>;</td></tr> +<tr name="108" id="108"> +<td>108</td><td><span class="kw">typedef</span> <span class="kw">char</span> <a id="108c14" class="tk">char_T</a>;</td></tr> +<tr name="109" id="109"> +<td>109</td><td><span class="kw">typedef</span> <span class="kw">unsigned</span> <span class="kw">char</span> <a id="109c23" class="tk">uchar_T</a>;</td></tr> +<tr name="110" id="110"> +<td>110</td><td><span class="kw">typedef</span> <a id="110c9" class="tk">char_T</a> <a id="110c16" class="tk">byte_T</a>;</td></tr> +<tr name="111" id="111"> +<td>111</td><td></td></tr> +<tr name="112" id="112"> +<td>112</td><td><span class="pp">#endif</span> <span class="ct">/* PORTABLE_WORDSIZES */</span></td></tr> +<tr name="113" id="113"> +<td>113</td><td></td></tr> +<tr name="114" id="114"> +<td>114</td><td><span class="ct">/*===========================================================================*</span></td></tr> +<tr name="115" id="115"> +<td>115</td><td><span class="ct"> * Complex number type definitions *</span></td></tr> +<tr name="116" id="116"> +<td>116</td><td><span class="ct"> *===========================================================================*/</span></td></tr> +<tr name="117" id="117"> +<td>117</td><td><span class="pp">#define</span> <a id="117c9" class="tk">CREAL_T</a></td></tr> +<tr name="118" id="118"> +<td>118</td><td></td></tr> +<tr name="119" id="119"> +<td>119</td><td><span class="kw">typedef</span> <span class="kw">struct</span> <span class="br">{</span></td></tr> +<tr name="120" id="120"> +<td>120</td><td> <a id="120c3" class="tk">real32_T</a> <a id="120c12" class="tk">re</a>;</td></tr> +<tr name="121" id="121"> +<td>121</td><td> <a id="121c3" class="tk">real32_T</a> <a id="121c12" class="tk">im</a>;</td></tr> +<tr name="122" id="122"> +<td>122</td><td><span class="br">}</span> <a id="122c3" class="tk">creal32_T</a>;</td></tr> +<tr name="123" id="123"> +<td>123</td><td></td></tr> +<tr name="124" id="124"> +<td>124</td><td><span class="kw">typedef</span> <span class="kw">struct</span> <span class="br">{</span></td></tr> +<tr name="125" id="125"> +<td>125</td><td> <a id="125c3" class="tk">real64_T</a> <a id="125c12" class="tk">re</a>;</td></tr> +<tr name="126" id="126"> +<td>126</td><td> <a id="126c3" class="tk">real64_T</a> <a id="126c12" class="tk">im</a>;</td></tr> +<tr name="127" id="127"> +<td>127</td><td><span class="br">}</span> <a id="127c3" class="tk">creal64_T</a>;</td></tr> +<tr name="128" id="128"> +<td>128</td><td></td></tr> +<tr name="129" id="129"> +<td>129</td><td><span class="kw">typedef</span> <span class="kw">struct</span> <span class="br">{</span></td></tr> +<tr name="130" id="130"> +<td>130</td><td> <a id="130c3" class="tk">real_T</a> <a id="130c10" class="tk">re</a>;</td></tr> +<tr name="131" id="131"> +<td>131</td><td> <a id="131c3" class="tk">real_T</a> <a id="131c10" class="tk">im</a>;</td></tr> +<tr name="132" id="132"> +<td>132</td><td><span class="br">}</span> <a id="132c3" class="tk">creal_T</a>;</td></tr> +<tr name="133" id="133"> +<td>133</td><td></td></tr> +<tr name="134" id="134"> +<td>134</td><td><span class="pp">#define</span> <a id="134c9" class="tk">CINT8_T</a></td></tr> +<tr name="135" id="135"> +<td>135</td><td></td></tr> +<tr name="136" id="136"> +<td>136</td><td><span class="kw">typedef</span> <span class="kw">struct</span> <span class="br">{</span></td></tr> +<tr name="137" id="137"> +<td>137</td><td> <a id="137c3" class="tk">int8_T</a> <a id="137c10" class="tk">re</a>;</td></tr> +<tr name="138" id="138"> +<td>138</td><td> <a id="138c3" class="tk">int8_T</a> <a id="138c10" class="tk">im</a>;</td></tr> +<tr name="139" id="139"> +<td>139</td><td><span class="br">}</span> <a id="139c3" class="tk">cint8_T</a>;</td></tr> +<tr name="140" id="140"> +<td>140</td><td></td></tr> +<tr name="141" id="141"> +<td>141</td><td><span class="pp">#define</span> <a id="141c9" class="tk">CUINT8_T</a></td></tr> +<tr name="142" id="142"> +<td>142</td><td></td></tr> +<tr name="143" id="143"> +<td>143</td><td><span class="kw">typedef</span> <span class="kw">struct</span> <span class="br">{</span></td></tr> +<tr name="144" id="144"> +<td>144</td><td> <a id="144c3" class="tk">uint8_T</a> <a id="144c11" class="tk">re</a>;</td></tr> +<tr name="145" id="145"> +<td>145</td><td> <a id="145c3" class="tk">uint8_T</a> <a id="145c11" class="tk">im</a>;</td></tr> +<tr name="146" id="146"> +<td>146</td><td><span class="br">}</span> <a id="146c3" class="tk">cuint8_T</a>;</td></tr> +<tr name="147" id="147"> +<td>147</td><td></td></tr> +<tr name="148" id="148"> +<td>148</td><td><span class="pp">#define</span> <a id="148c9" class="tk">CINT16_T</a></td></tr> +<tr name="149" id="149"> +<td>149</td><td></td></tr> +<tr name="150" id="150"> +<td>150</td><td><span class="kw">typedef</span> <span class="kw">struct</span> <span class="br">{</span></td></tr> +<tr name="151" id="151"> +<td>151</td><td> <a id="151c3" class="tk">int16_T</a> <a id="151c11" class="tk">re</a>;</td></tr> +<tr name="152" id="152"> +<td>152</td><td> <a id="152c3" class="tk">int16_T</a> <a id="152c11" class="tk">im</a>;</td></tr> +<tr name="153" id="153"> +<td>153</td><td><span class="br">}</span> <a id="153c3" class="tk">cint16_T</a>;</td></tr> +<tr name="154" id="154"> +<td>154</td><td></td></tr> +<tr name="155" id="155"> +<td>155</td><td><span class="pp">#define</span> <a id="155c9" class="tk">CUINT16_T</a></td></tr> +<tr name="156" id="156"> +<td>156</td><td></td></tr> +<tr name="157" id="157"> +<td>157</td><td><span class="kw">typedef</span> <span class="kw">struct</span> <span class="br">{</span></td></tr> +<tr name="158" id="158"> +<td>158</td><td> <a id="158c3" class="tk">uint16_T</a> <a id="158c12" class="tk">re</a>;</td></tr> +<tr name="159" id="159"> +<td>159</td><td> <a id="159c3" class="tk">uint16_T</a> <a id="159c12" class="tk">im</a>;</td></tr> +<tr name="160" id="160"> +<td>160</td><td><span class="br">}</span> <a id="160c3" class="tk">cuint16_T</a>;</td></tr> +<tr name="161" id="161"> +<td>161</td><td></td></tr> +<tr name="162" id="162"> +<td>162</td><td><span class="pp">#define</span> <a id="162c9" class="tk">CINT32_T</a></td></tr> +<tr name="163" id="163"> +<td>163</td><td></td></tr> +<tr name="164" id="164"> +<td>164</td><td><span class="kw">typedef</span> <span class="kw">struct</span> <span class="br">{</span></td></tr> +<tr name="165" id="165"> +<td>165</td><td> <a id="165c3" class="tk">int32_T</a> <a id="165c11" class="tk">re</a>;</td></tr> +<tr name="166" id="166"> +<td>166</td><td> <a id="166c3" class="tk">int32_T</a> <a id="166c11" class="tk">im</a>;</td></tr> +<tr name="167" id="167"> +<td>167</td><td><span class="br">}</span> <a id="167c3" class="tk">cint32_T</a>;</td></tr> +<tr name="168" id="168"> +<td>168</td><td></td></tr> +<tr name="169" id="169"> +<td>169</td><td><span class="pp">#define</span> <a id="169c9" class="tk">CUINT32_T</a></td></tr> +<tr name="170" id="170"> +<td>170</td><td></td></tr> +<tr name="171" id="171"> +<td>171</td><td><span class="kw">typedef</span> <span class="kw">struct</span> <span class="br">{</span></td></tr> +<tr name="172" id="172"> +<td>172</td><td> <a id="172c3" class="tk">uint32_T</a> <a id="172c12" class="tk">re</a>;</td></tr> +<tr name="173" id="173"> +<td>173</td><td> <a id="173c3" class="tk">uint32_T</a> <a id="173c12" class="tk">im</a>;</td></tr> +<tr name="174" id="174"> +<td>174</td><td><span class="br">}</span> <a id="174c3" class="tk">cuint32_T</a>;</td></tr> +<tr name="175" id="175"> +<td>175</td><td></td></tr> +<tr name="176" id="176"> +<td>176</td><td><span class="ct">/*=======================================================================*</span></td></tr> +<tr name="177" id="177"> +<td>177</td><td><span class="ct"> * Min and Max: *</span></td></tr> +<tr name="178" id="178"> +<td>178</td><td><span class="ct"> * int8_T, int16_T, int32_T - signed 8, 16, or 32 bit integers *</span></td></tr> +<tr name="179" id="179"> +<td>179</td><td><span class="ct"> * uint8_T, uint16_T, uint32_T - unsigned 8, 16, or 32 bit integers *</span></td></tr> +<tr name="180" id="180"> +<td>180</td><td><span class="ct"> *=======================================================================*/</span></td></tr> +<tr name="181" id="181"> +<td>181</td><td><span class="pp">#define</span> <a id="181c9" class="tk">MAX_int8_T</a> ((<a id="181c42" class="tk">int8_T</a>)(127))</td></tr> +<tr name="182" id="182"> +<td>182</td><td><span class="pp">#define</span> <a id="182c9" class="tk">MIN_int8_T</a> ((<a id="182c42" class="tk">int8_T</a>)(-128))</td></tr> +<tr name="183" id="183"> +<td>183</td><td><span class="pp">#define</span> <a id="183c9" class="tk">MAX_uint8_T</a> ((<a id="183c42" class="tk">uint8_T</a>)(255U))</td></tr> +<tr name="184" id="184"> +<td>184</td><td><span class="pp">#define</span> <a id="184c9" class="tk">MIN_uint8_T</a> ((<a id="184c42" class="tk">uint8_T</a>)(0U))</td></tr> +<tr name="185" id="185"> +<td>185</td><td><span class="pp">#define</span> <a id="185c9" class="tk">MAX_int16_T</a> ((<a id="185c42" class="tk">int16_T</a>)(32767))</td></tr> +<tr name="186" id="186"> +<td>186</td><td><span class="pp">#define</span> <a id="186c9" class="tk">MIN_int16_T</a> ((<a id="186c42" class="tk">int16_T</a>)(-32768))</td></tr> +<tr name="187" id="187"> +<td>187</td><td><span class="pp">#define</span> <a id="187c9" class="tk">MAX_uint16_T</a> ((<a id="187c42" class="tk">uint16_T</a>)(65535U))</td></tr> +<tr name="188" id="188"> +<td>188</td><td><span class="pp">#define</span> <a id="188c9" class="tk">MIN_uint16_T</a> ((<a id="188c42" class="tk">uint16_T</a>)(0U))</td></tr> +<tr name="189" id="189"> +<td>189</td><td><span class="pp">#define</span> <a id="189c9" class="tk">MAX_int32_T</a> ((<a id="189c42" class="tk">int32_T</a>)(2147483647))</td></tr> +<tr name="190" id="190"> +<td>190</td><td><span class="pp">#define</span> <a id="190c9" class="tk">MIN_int32_T</a> ((<a id="190c42" class="tk">int32_T</a>)(-2147483647-1))</td></tr> +<tr name="191" id="191"> +<td>191</td><td><span class="pp">#define</span> <a id="191c9" class="tk">MAX_uint32_T</a> ((<a id="191c42" class="tk">uint32_T</a>)(0xFFFFFFFFU))</td></tr> +<tr name="192" id="192"> +<td>192</td><td><span class="pp">#define</span> <a id="192c9" class="tk">MIN_uint32_T</a> ((<a id="192c42" class="tk">uint32_T</a>)(0U))</td></tr> +<tr name="193" id="193"> +<td>193</td><td></td></tr> +<tr name="194" id="194"> +<td>194</td><td><span class="ct">/* Block D-Work pointer type */</span></td></tr> +<tr name="195" id="195"> +<td>195</td><td><span class="kw">typedef</span> <span class="kw">void</span> * <a id="195c16" class="tk">pointer_T</a>;</td></tr> +<tr name="196" id="196"> +<td>196</td><td></td></tr> +<tr name="197" id="197"> +<td>197</td><td><span class="ct">/* Simulink specific types */</span></td></tr> +<tr name="198" id="198"> +<td>198</td><td><span class="pp">#ifndef</span> <a id="198c9" class="tk">__ZERO_CROSSING_TYPES__</a></td></tr> +<tr name="199" id="199"> +<td>199</td><td><span class="pp">#define</span> <a id="199c9" class="tk">__ZERO_CROSSING_TYPES__</a></td></tr> +<tr name="200" id="200"> +<td>200</td><td></td></tr> +<tr name="201" id="201"> +<td>201</td><td><span class="ct">/* Trigger directions: falling, either, and rising */</span></td></tr> +<tr name="202" id="202"> +<td>202</td><td><span class="kw">typedef</span> <span class="kw">enum</span> <span class="br">{</span></td></tr> +<tr name="203" id="203"> +<td>203</td><td> <a id="203c3" class="tk">FALLING_ZERO_CROSSING</a> = -1,</td></tr> +<tr name="204" id="204"> +<td>204</td><td> <a id="204c3" class="tk">ANY_ZERO_CROSSING</a> = 0,</td></tr> +<tr name="205" id="205"> +<td>205</td><td> <a id="205c3" class="tk">RISING_ZERO_CROSSING</a> = 1</td></tr> +<tr name="206" id="206"> +<td>206</td><td><span class="br">}</span> <a id="206c3" class="tk">ZCDirection</a>;</td></tr> +<tr name="207" id="207"> +<td>207</td><td></td></tr> +<tr name="208" id="208"> +<td>208</td><td><span class="ct">/* Previous state of a trigger signal */</span></td></tr> +<tr name="209" id="209"> +<td>209</td><td><span class="kw">typedef</span> <a id="209c9" class="tk">uint8_T</a> <a id="209c17" class="tk">ZCSigState</a>;</td></tr> +<tr name="210" id="210"> +<td>210</td><td></td></tr> +<tr name="211" id="211"> +<td>211</td><td><span class="ct">/* Initial value of a trigger zero crossing signal */</span></td></tr> +<tr name="212" id="212"> +<td>212</td><td><span class="pp">#define</span> <a id="212c9" class="tk">UNINITIALIZED_ZCSIG</a> 0x03U</td></tr> +<tr name="213" id="213"> +<td>213</td><td><span class="pp">#define</span> <a id="213c9" class="tk">NEG_ZCSIG</a> 0x02U</td></tr> +<tr name="214" id="214"> +<td>214</td><td><span class="pp">#define</span> <a id="214c9" class="tk">POS_ZCSIG</a> 0x01U</td></tr> +<tr name="215" id="215"> +<td>215</td><td><span class="pp">#define</span> <a id="215c9" class="tk">ZERO_ZCSIG</a> 0x00U</td></tr> +<tr name="216" id="216"> +<td>216</td><td></td></tr> +<tr name="217" id="217"> +<td>217</td><td><span class="ct">/* Current state of a trigger signal */</span></td></tr> +<tr name="218" id="218"> +<td>218</td><td><span class="kw">typedef</span> <span class="kw">enum</span> <span class="br">{</span></td></tr> +<tr name="219" id="219"> +<td>219</td><td> <a id="219c3" class="tk">FALLING_ZCEVENT</a> = -1,</td></tr> +<tr name="220" id="220"> +<td>220</td><td> <a id="220c3" class="tk">NO_ZCEVENT</a> = 0,</td></tr> +<tr name="221" id="221"> +<td>221</td><td> <a id="221c3" class="tk">RISING_ZCEVENT</a> = 1</td></tr> +<tr name="222" id="222"> +<td>222</td><td><span class="br">}</span> <a id="222c3" class="tk">ZCEventType</a>;</td></tr> +<tr name="223" id="223"> +<td>223</td><td></td></tr> +<tr name="224" id="224"> +<td>224</td><td><span class="pp">#endif</span> <span class="ct">/* __ZERO_CROSSING_TYPES__ */</span></td></tr> +<tr name="225" id="225"> +<td>225</td><td><span class="pp">#endif</span> <span class="ct">/* __RTWTYPES_H__ */</span></td></tr> +<tr name="226" id="226"> +<td>226</td><td></td></tr> +<tr name="227" id="227"> +<td>227</td><td><span class="ct">/*</span></td></tr> +<tr name="228" id="228"> +<td>228</td><td><span class="ct"> * File trailer for generated code.</span></td></tr> +<tr name="229" id="229"> +<td>229</td><td><span class="ct"> *</span></td></tr> +<tr name="230" id="230"> +<td>230</td><td><span class="ct"> * [EOF]</span></td></tr> +<tr name="231" id="231"> +<td>231</td><td><span class="ct"> */</span></td></tr> +<tr name="232" id="232"> +<td>232</td><td></td></tr> +</table> +</pre> +</body> +</html>
diff -r 83374f658183 -r bbc155b0b886 html/html/search.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/html/html/search.js Tue Nov 25 07:52:02 2014 +0000 @@ -0,0 +1,559 @@ +// Copyright 2007-2012 The MathWorks, Inc. + +function createHighlightSpanStart(num) +{ + return "<span class=\"highlighted\" name=\"highlight" + num + "\">"; +} + +var str2pos; // This is a map between a tag stripped string and the original string. +function getTagStrippedStringAndMap(aString) +{ + var tagStrippedString = new String(); + + str2pos = new Array(); + + var inTag = false; + var inScript = false; + + for (var strPos = 0; strPos < aString.length; strPos++) { + if (inTag && aString.charAt(strPos) == '>') { + inTag = false; + if (inScript && (strPos > 8) && (aString.slice(strPos, strPos - 8) == '/script>')) { + inScript = false; + } + continue; + } else if (!inTag && aString.charAt(strPos) == '<') { + inTag = true; + if (!inScript && aString.slice(strPos, strPos + 7) == '<script') { + inScript = true; + strPos += 7; + } + continue; + } + + if (inTag == false && inScript == false) { + tagStrippedString += aString.charAt(strPos); + str2pos.push(strPos); + } + } + return tagStrippedString; +} + +function escapeSpecialChars(string) +{ + // let the browser handle the escaping rather than doing a String.replace + // call + var div = document.createElement("div"); + var text = document.createTextNode(string); + div.appendChild(text); + var escapedString = div.innerHTML; + delete div; + return escapedString; +} + +// insert highlight tags into the body. Split it up into multiple sections if necessary +// (i.e. if there is a tag in the middle). +function insertHighlighting(bodyText, previ, i, length, highlightStartTag, highlightEndTag) +{ + var newText = ""; + newText = bodyText.slice(previ, str2pos[i]); + + // insert start + newText += highlightStartTag; + + var str2posprev = str2pos[i]; + // deal with intermediate tags + for(var cnt = i; cnt < i+length; cnt++) + { + if (str2pos[cnt] > str2posprev+1) // we have jumped some text, so there must be a tag + { + // insert end tag + newText += highlightEndTag; + + // insert intermediate body text tags + newText += bodyText.slice(str2posprev+1, str2pos[cnt]); + + // insert start tag + newText += highlightStartTag; + } + newText += bodyText.charAt(str2pos[cnt]); + str2posprev=str2pos[cnt]; + } + + // insert end + newText += highlightEndTag; + return newText; + +} + +// check to see if the sequence at position 'i' in taglessString is actually in +// the middle of an escape sequence. We assume escape sequences follow the pattern +// &<sequenceText>;. We check for , <, > and & +function isInEscapedSequence(i, taglessString, searchTerm) +{ + var escapeSeq = / |<|>|&/gi; + var maxEscapeSeqLength = 6; + var startPos = 0; + var endPos = 0; + + // exit if the search term has an escape sequence inside it + if (escapeSeq.test(searchTerm)) { + return false; + } + + // reset the escape sequence + escapeSeq = / |<|>|&/gi; + + // go back in the string until we find an ampersand or we hit maxEscapeSeqLength characters + tempI = i; + var bFound = false; + while (tempI >= 0 && tempI > (i-maxEscapeSeqLength)) { + if (taglessString.charAt(tempI) == "&") { + startPos = tempI; + bFound = true; + break; + } + tempI = tempI-1; + + // if we hit a ';' in any position other than the first while searching + // for an ampersand, then we cannot be inside an escape sequence + if (tempI >= 0 && taglessString.charAt(tempI) == ";") { + return false; + } + } + if (!bFound) { + return false; + } + // reset the escape sequence + escapeSeq = / |<|>|&/gi; + + var subString = taglessString.substring(startPos, startPos + maxEscapeSeqLength); + return escapeSeq.test(subString); +} + +// Adds highlighting to bodyText around searchTerm. Case sensitivity is optional. +// hitCount is used to a) count the number of search matches and b) Generate unique +// name strings for each highlighting SPAN element. +function addHighlight(bodyText, searchTerm, caseSensitive, hitCount) +{ + var highlightStartTag = ""; + var highlightEndTag = "</span>"; + + var newText = ""; + var i = 0; + var previ = 0; + var bodyTextUC = bodyText.toUpperCase(); + + if (caseSensitive) { + var taglessString = getTagStrippedStringAndMap(bodyText); + } else { + var taglessString = getTagStrippedStringAndMap(bodyTextUC); + } + + // escape the search term in case the user input '<' or '>' etc + searchTerm = escapeSpecialChars(searchTerm); + + if (!caseSensitive) { + var searchTermUC = searchTerm.toUpperCase(); + } + + // search for subsequent matches + while (true) { + if (caseSensitive) { + i = taglessString.indexOf(searchTerm, i); + } else { + i = taglessString.indexOf(searchTermUC, i); + } + if (i < 0) break; + + // we have a match! + + // make sure that the match is not inside an escaped sequence of text + // such as + if (isInEscapedSequence(i, taglessString, searchTerm)) { + i=i+1; + continue; + } + + // insert highlight tags that cross tag boundaries + highlightStartTag = createHighlightSpanStart(hitCount); + hitCount = hitCount+1; + newText += insertHighlighting(bodyText, previ, i, searchTerm.length, highlightStartTag, highlightEndTag); + previ = str2pos[i+searchTerm.length-1]+1; + + i = i + searchTerm.length; + } + + newText += bodyText.slice(previ, bodyText.length); + return [newText, hitCount]; +} + +function removeHighlight(bodyText) +{ + // We use regular expressions here rather than a straight text search because + // some browsers actually insert double quotes and capitalize. Also, each highlight + // name is uniquely numbered in order of discovery + var highlightStartTag = /<span class=[\"]*highlighted(Current)*[\"]* name=[\"]*highlight[0-9]*[\"]*>/i; + var highlightEndTag = /<\/span>/i; + + var newText = ""; + + var startPatternFirstIndex = -1; + var startPatternLastIndex = -1; + + var endPatternFirstIndex = -1; + var endPatternLastIndex = -1; + + while (highlightStartTag.test(bodyText) === true) { + startPatternFirstIndex = bodyText.search(highlightStartTag); + newText += bodyText.substring(0, startPatternFirstIndex); + startPatternLastIndex = bodyText.indexOf('>', startPatternFirstIndex+1); + + bodyText = bodyText.substr(startPatternLastIndex+1); + endPatternFirstIndex = bodyText.search(highlightEndTag); + newText += bodyText.substring(0, endPatternFirstIndex); + endPatternLastIndex = endPatternFirstIndex+7; + + bodyText = bodyText.substr(endPatternLastIndex); + } + if (startPatternFirstIndex < 0) { + return bodyText; + } else { + return newText+bodyText; + } +} + +function removeHighlightInAllDocs() +{ + if (top) { + for (var i = 0; i < top.frames.length; i++) { + if (top.frames[i].name === "rtwreport_contents_frame" || top.frames[i].name === "rtwreport_document_frame") { + var currentDoc = top.frames[i].document; + if (typeof currentDoc.body !== "undefined" && currentDoc.body !== null) + currentDoc.body.innerHTML=removeHighlight(currentDoc.body.innerHTML); + } + } + } +} + +function findInDoc(searchStringFromSubmitBox, doc, caseSensitive, hitCount) +{ + var searchBody = doc.body.innerHTML; + // if the document is empty, or the documents is invalid, return + if (!doc.body || typeof(searchBody) === "undefined") { + return [false, hitCount]; + } + + // inject highlighting code into html + var result = addHighlight(searchBody, searchStringFromSubmitBox, caseSensitive, hitCount); + doc.body.innerHTML = result[0]; + + return [true, result[1]]; +} + +var currentlyHighlightedHit; + +function getSpansByName(name) +{ + var allSpans = []; + for (i = 0; i < top.frames.length; i++) { + if (top.frames[i].name === "rtwreport_contents_frame" || top.frames[i].name === "rtwreport_document_frame") { + var currentDoc = top.frames[i].document; + var highlightedSpans = currentDoc.getElementsByName(name); + if (highlightedSpans && highlightedSpans.length && highlightedSpans.length > 0) { + for (j = 0; j < highlightedSpans.length; j++) { + allSpans = allSpans.concat(highlightedSpans[j]); + } + } + } + } + return allSpans; +} + +function isVisibleElement(elementID) +{ + if (elementID) + return elementID.offsetWidth > 0 || elementID.offsetHeight > 0; + else + return false; +} + +function areAllSpansVisible(spans) +{ + isVisible = true; + for (i = 0; i < highlightedSpans.length; i++) { + isVisible = isVisible && isVisibleElement(highlightedSpans[i]); + } + return isVisible; +} + +function getNextVisible() +{ + var isVisible = false; + var foundVisible = false; + while (!isVisible) { + currentlyHighlightedHit = currentlyHighlightedHit + 1; + highlightedSpans = setCurrentSearchMatchIfVisible(currentlyHighlightedHit); + if (highlightedSpans && highlightedSpans.length > 0) { + isVisible = true; + } else if (currentlyHighlightedHit < totalHits) { + continue; + } else { + // we have reached the end + isVisible = false; + currentlyHighlightedHit = 0; + highlightedSpans = null; + break; + } + } + + return highlightedSpans; +} + +function clearCurrentSearchMatch() +{ + // clear prior highlighting + spanName = "highlight" + currentlyHighlightedHit; + highlightedSpans = getSpansByName(spanName); + if (highlightedSpans && highlightedSpans.length) { + for (i = 0; i < highlightedSpans.length; i++) { + if (highlightedSpans[i]) { + highlightedSpans[i].setAttribute("class", "highlighted"); + } + } + } +} + +function setCurrentSearchMatchIfVisible(hitNum){ + currentlyHighlightedHit = hitNum; + var spanName = "highlight" + currentlyHighlightedHit; + var highlightedSpans = getSpansByName(spanName); + if (highlightedSpans && highlightedSpans.length) { + for (i = 0; i < highlightedSpans.length; i++) { + if (!isVisibleElement(highlightedSpans[i])) { + highlightedSpans = null; + break; + } + } + } + return highlightedSpans; +} + +// this takes in an option integer 'hitNum'. If not specified, it scrolls +// to the next hit +function scrollToNextHit(hitNum) +{ + var i = 0; + var found = false; + var spanName = ""; + var highlightedSpans; + var searchBox = findElement('searchTxtBox'); + + clearCurrentSearchMatch(); + + if (hitNum) { + // if a number is provided, use it + highlightedSpans = setCurrentSearchMatchIfVisible(hitNum); + } else { + // start working on next element to highlight + highlightedSpans = getNextVisible(); + } + + // we found the current + if (highlightedSpans && highlightedSpans.length > 0) { + highlightedSpans[0].scrollIntoView(); + for (i = 0; i < highlightedSpans.length; i++) { + highlightedSpans[i].setAttribute("class", "highlightedCurrent"); + } + searchBox.setAttribute("class", "search"); + + // if highlightedSpans is invalid, then we did not find any valid, visible subsequent matches + // wrap to beginning or indicate no matches + } else { + // Element not found. Scroll to first visible element + currentlyHighlightedHit = 0; + var highlightedSpans = getNextVisible(currentlyHighlightedHit); + if (highlightedSpans && highlightedSpans.length > 0) { + highlightedSpans[0].scrollIntoView(); + for (i = 0; i < highlightedSpans.length; i++) { + highlightedSpans[i].setAttribute("class", "highlightedCurrent"); + } + searchBox.setAttribute("class", "search"); + } else { + // there aren't any matches + searchBox.setAttribute("class", "failedSearch"); + } + } +} + +// find search box +function findElement(element) +{ + var i = 0; + for (i = 0; i < top.frames.length; i++) { + if (top.frames[i].name === "rtwreport_contents_frame" || top.frames[i].name === "rtwreport_document_frame") { + var elem = top.frames[i].document.getElementById(element); + if (elem) { + return elem; + } + } + } +} + +// Restore search term once form is submitted +function initSearchBox(strInitValue) +{ + var txtBox = findElement('searchTxtBox'); + if (txtBox) { + txtBox.value = strInitValue; + } +} + +// Sets focus back on to the text box +function setFocusOnTxtBox() +{ + var txtBox = findElement('searchTxtBox'); + if (txtBox) { + txtBox.focus(); + txtBox.select(); + } + return txtBox; +} + +var previousSearchString; +var totalHits; +function findInAllDocs(searchStringFromSubmitBox, caseSensitive) +{ + if (previousSearchString != searchStringFromSubmitBox) { + // If the search string has changed or a new page has been loaded, do a new search + var hitCount = 1; + var i = 0; + var success = false; + previousSearchString = searchStringFromSubmitBox; + + // start by removing traceinfo highlighting + rtwRemoveHighlighting(); + + // remove all previous search highlighting + removeHighlightInAllDocs(); + + // 1. Iterate through all frames in window and search + for (i = 0; i < top.frames.length; i++) { + var currentDoc = top.frames[i].document; + + // if we have no search term, restore + if (searchStringFromSubmitBox !== "") { + // search and highlight in all frames + var srchResult = findInDoc(searchStringFromSubmitBox, currentDoc, caseSensitive, hitCount); + hitCount = srchResult[1]; + totalHits = srchResult[1]; + } + } + + // 2. Restore search term once form is submitted and text highlighted + if (searchStringFromSubmitBox != "") { + strInitValue = searchStringFromSubmitBox; + } + initSearchBox(strInitValue); + + // 3. Scroll to the first hit encountered + scrollToNextHit(1); + + // 4. Set focus back to text box and select text + var txtBox = setFocusOnTxtBox(); + if (txtBox) { + txtBox.select(); + } + + } else { + // If the search string is the same, then scroll to the next + // hit if the hit is valid. Else wrap back. + scrollToNextHit(); + } + return false; +} + +// if the search box is empty, clear highlighting +function clearIfEmpty() +{ + txtBox = findElement('searchTxtBox'); + if (txtBox.value == "") { + txtBox.setAttribute("class", "search"); + removeHighlightInAllDocs(); + previousSearchString=""; + setFocusOnTxtBox(); + } +} + +function keyPressSwitchyard(keyPressEvent) +{ + var kc; + keyPressEvent = (keyPressEvent == null ? window.keyPressEvent : keyPressEvent); + + // typically IE does not support this + if (!keyPressEvent || (typeof keyPressEvent == "undefined")) { + return; + } + + if (keyPressEvent.keyCode) { + kc=keyPressEvent.keyCode; + } else if (keyPressEvent.which) { + kc=keyPressEvent.which; + } else { + return; + } + + // we do not care about the browser find appearing. If it does appear, then + // we are running an external browser and that is okay. + + // handle Ctrl-Key combinations + if (keyPressEvent.ctrlKey) { + switch (kc) { + case 70: // Ctrl-F + { + setFocusOnTxtBox(); + break; + } + + default: break; + } + } +} + +function installDocumentKeyPressHandler() +{ + var i = 0; + for (i = 0; i < top.frames.length; i++) { + var currentDoc = top.frames[i].document; + currentDoc.onkeydown = keyPressSwitchyard; + } + top.document.onkeydown = keyPressSwitchyard; + + // This also clears search related highlighting + removeHighlightInAllDocs(); + currentlyHighlightedHit = 0; + if (previousSearchString) initSearchBox(previousSearchString); + previousSearchString = ""; +} + +// This function is a onresize callback for the rtwreport_contents_frame +// It is used to dynamically resize the searchbox based on the size of the frame. +function setWidthDynamic(frameID, elementID, extraSpace, minSize) +{ + var frame = document.getElementById(frameID); + + // sanity check input args + if (frame && extraSpace > 0 && minSize > 0) { + var frameWidth = frame.scrollWidth; + var newSize = extraSpace + minSize + 40; // 40 is the extra whitespace + var element = findElement(elementID); + if (element) + { + if (frameWidth < newSize) { + element.style.width = minSize; + } else { + element.style.width = frameWidth - extraSpace - 40; + } + } + } +}
diff -r 83374f658183 -r bbc155b0b886 html/html/spinner.gif Binary file html/html/spinner.gif has changed
diff -r 83374f658183 -r bbc155b0b886 html/html/traceInfo.mat Binary file html/html/traceInfo.mat has changed
diff -r 83374f658183 -r bbc155b0b886 rtwdemo_pmsmfoc.cpp --- a/rtwdemo_pmsmfoc.cpp Sat Oct 11 10:04:49 2014 +0000 +++ b/rtwdemo_pmsmfoc.cpp Tue Nov 25 07:52:02 2014 +0000 @@ -14,6 +14,7 @@ */ #include "rtwdemo_pmsmfoc.h" +#include "arm_math.h" /* Named constants for Chart: '<S1>/Controller_Mode_Scheduler' */ #define IN_Motor_Control ((uint8_T)1U) @@ -481,9 +482,11 @@ electrical_angle = ctrlParams.PmsmPolePairs * Switch_fr; /* Trigonometry: '<S14>/sine_cosine' */ - sin_coefficient = (real32_T)sin(electrical_angle); - cos_coefficient = (real32_T)cos(electrical_angle); - + //sin_coefficient = (real32_T)sin(electrical_angle); + //cos_coefficient = (real32_T)cos(electrical_angle); + sin_coefficient = arm_sin_f32(electrical_angle); + cos_coefficient = arm_cos_f32(electrical_angle); + /* Gain: '<S21>/Beta_Gain' incorporates: * Gain: '<S21>/B_Gain' * Sum: '<S21>/Add'