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

html/html/rtwdemo_pmsmfoc_h.html

Committer:
paulcox
Date:
2014-11-25
Revision:
2:bbc155b0b886

File content as of revision 2:bbc155b0b886:

<!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>