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

Dependents:   Nucleo_pmsmfoc

Revision:
2:bbc155b0b886
--- /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-&gt;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 &lt;float.h&gt;</span></td></tr>
+<tr name="20" id="20">
+<td>20</td><td><span class="pp">#include &lt;math.h&gt;</span></td></tr>
+<tr name="21" id="21">
+<td>21</td><td><span class="pp">#include &lt;string.h&gt;</span></td></tr>
+<tr name="22" id="22">
+<td>22</td><td><span class="pp">#include &lt;stddef.h&gt;</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">&lt;Root&gt;</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">&lt;S5&gt;/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">&lt;S65&gt;/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">&lt;S1&gt;/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">&lt;S1&gt;/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">&lt;S1&gt;/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">&lt;S17&gt;/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">&lt;S18&gt;/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">&lt;S60&gt;/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">&lt;S65&gt;/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">&lt;S65&gt;/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">&lt;S42&gt;/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">&lt;S45&gt;/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">&lt;S55&gt;/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">&lt;Root&gt;/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">&lt;S13&gt;/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">&lt;S49&gt;/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">&lt;S17&gt;/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">&lt;S5&gt;/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">&lt;S18&gt;/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">&lt;S49&gt;/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">&lt;S49&gt;/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">&lt;S49&gt;/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">&lt;S1&gt;/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">&lt;S1&gt;/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">&lt;S1&gt;/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">&lt;S51&gt;/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">&lt;S6&gt;/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">&lt;S51&gt;/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">&lt;S28&gt;/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">&lt;S48&gt;/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">&lt;S49&gt;/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">&lt;S55&gt;/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">&lt;S12&gt;/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">&lt;S5&gt;/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">&lt;S22&gt;/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">&lt;S12&gt;/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">&lt;S27&gt;/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">&lt;S11&gt;/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">&lt;S1&gt;/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">&lt;S1&gt;/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">&lt;S48&gt;/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">&lt;S48&gt;/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">&lt;S49&gt;/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">&lt;S14&gt;/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">&lt;S42&gt;/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">&lt;S42&gt;/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">&lt;S45&gt;/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">&lt;S45&gt;/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">&lt;S65&gt;/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">&lt;S17&gt;/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">&lt;S17&gt;/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">&lt;S18&gt;/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">&lt;S18&gt;/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 &lt;system&gt;/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">&lt;S3&gt;</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">&lt;S3&gt;/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">&lt;Root&gt;</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">&lt;S1&gt;</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">&lt;S2&gt;</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">&lt;S3&gt;</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">&lt;S4&gt;</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">&lt;S5&gt;</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">&lt;S6&gt;</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">&lt;S7&gt;</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">&lt;S8&gt;</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">&lt;S9&gt;</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">&lt;S10&gt;</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">&lt;S11&gt;</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">&lt;S12&gt;</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">&lt;S13&gt;</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">&lt;S14&gt;</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">&lt;S15&gt;</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">&lt;S16&gt;</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">&lt;S17&gt;</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">&lt;S18&gt;</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">&lt;S19&gt;</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">&lt;S20&gt;</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">&lt;S21&gt;</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">&lt;S22&gt;</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">&lt;S23&gt;</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">&lt;S24&gt;</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">&lt;S25&gt;</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">&lt;S26&gt;</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">&lt;S27&gt;</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">&lt;S28&gt;</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">&lt;S29&gt;</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">&lt;S30&gt;</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">&lt;S31&gt;</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">&lt;S32&gt;</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">&lt;S33&gt;</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">&lt;S34&gt;</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">&lt;S35&gt;</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">&lt;S36&gt;</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">&lt;S37&gt;</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">&lt;S38&gt;</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">&lt;S39&gt;</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">&lt;S40&gt;</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">&lt;S41&gt;</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">&lt;S42&gt;</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">&lt;S43&gt;</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">&lt;S44&gt;</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">&lt;S45&gt;</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">&lt;S46&gt;</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">&lt;S47&gt;</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">&lt;S48&gt;</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">&lt;S49&gt;</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">&lt;S50&gt;</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">&lt;S51&gt;</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">&lt;S52&gt;</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">&lt;S53&gt;</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">&lt;S54&gt;</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">&lt;S55&gt;</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">&lt;S56&gt;</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">&lt;S57&gt;</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">&lt;S58&gt;</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">&lt;S59&gt;</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">&lt;S60&gt;</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">&lt;S61&gt;</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">&lt;S62&gt;</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">&lt;S63&gt;</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">&lt;S64&gt;</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">&lt;S65&gt;</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">&lt;Root&gt;</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>