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
Diff: html/html/rtwdemo_pmsmfoc_h.html
- 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->ARM Cortex</span></td></tr> +<tr name="12" id="12"> +<td>12</td><td><span class="ct"> * Code generation objective: Execution efficiency</span></td></tr> +<tr name="13" id="13"> +<td>13</td><td><span class="ct"> * Validation result: Not run</span></td></tr> +<tr name="14" id="14"> +<td>14</td><td><span class="ct"> */</span></td></tr> +<tr name="15" id="15"> +<td>15</td><td></td></tr> +<tr name="16" id="16"> +<td>16</td><td><span class="pp">#ifndef</span> <a id="16c9" class="tk">RTW_HEADER_rtwdemo_pmsmfoc_h_</a></td></tr> +<tr name="17" id="17"> +<td>17</td><td><span class="pp">#define</span> <a id="17c9" class="tk">RTW_HEADER_rtwdemo_pmsmfoc_h_</a></td></tr> +<tr name="18" id="18"> +<td>18</td><td><span class="pp">#include "rtwtypes.h"</span></td></tr> +<tr name="19" id="19"> +<td>19</td><td><span class="pp">#include <float.h></span></td></tr> +<tr name="20" id="20"> +<td>20</td><td><span class="pp">#include <math.h></span></td></tr> +<tr name="21" id="21"> +<td>21</td><td><span class="pp">#include <string.h></span></td></tr> +<tr name="22" id="22"> +<td>22</td><td><span class="pp">#include <stddef.h></span></td></tr> +<tr name="23" id="23"> +<td>23</td><td><span class="pp">#ifndef</span> <a id="23c9" class="tk">rtwdemo_pmsmfoc_COMMON_INCLUDES_</a></td></tr> +<tr name="24" id="24"> +<td>24</td><td><span class="pp"># define</span> <a id="24c10" class="tk">rtwdemo_pmsmfoc_COMMON_INCLUDES_</a></td></tr> +<tr name="25" id="25"> +<td>25</td><td><span class="pp">#include "rtwtypes.h"</span></td></tr> +<tr name="26" id="26"> +<td>26</td><td><span class="pp">#endif</span> <span class="ct">/* rtwdemo_pmsmfoc_COMMON_INCLUDES_ */</span></td></tr> +<tr name="27" id="27"> +<td>27</td><td></td></tr> +<tr name="28" id="28"> +<td>28</td><td><span class="pp">#include "MW_target_hardware_resources.h"</span></td></tr> +<tr name="29" id="29"> +<td>29</td><td><span class="pp">#include "mw_cmsis.h"</span></td></tr> +<tr name="30" id="30"> +<td>30</td><td></td></tr> +<tr name="31" id="31"> +<td>31</td><td><span class="ct">/* Macros for accessing real-time model data structure */</span></td></tr> +<tr name="32" id="32"> +<td>32</td><td></td></tr> +<tr name="33" id="33"> +<td>33</td><td><span class="ct">/* Forward declaration for rtModel */</span></td></tr> +<tr name="34" id="34"> +<td>34</td><td><span class="kw">typedef</span> <span class="kw">struct</span> <a id="34c16" class="tk">tag_RTM</a> <a id="34c24" class="tk">RT_MODEL</a>;</td></tr> +<tr name="35" id="35"> +<td>35</td><td></td></tr> +<tr name="36" id="36"> +<td>36</td><td><span class="pp">#ifndef</span> <a id="36c9" class="tk">_DEFINED_TYPEDEF_FOR_EnumErrorType_</a></td></tr> +<tr name="37" id="37"> +<td>37</td><td><span class="pp">#define</span> <a id="37c9" class="tk">_DEFINED_TYPEDEF_FOR_EnumErrorType_</a></td></tr> +<tr name="38" id="38"> +<td>38</td><td></td></tr> +<tr name="39" id="39"> +<td>39</td><td><span class="kw">typedef</span> <span class="kw">enum</span> <span class="br">{</span></td></tr> +<tr name="40" id="40"> +<td>40</td><td> <a id="40c3" class="tk">NoError</a> = 0, <span class="ct">/* Default value */</span></td></tr> +<tr name="41" id="41"> +<td>41</td><td> <a id="41c3" class="tk">MeasuredVelocityError</a></td></tr> +<tr name="42" id="42"> +<td>42</td><td><span class="br">}</span> <a id="42c3" class="tk">EnumErrorType</a>;</td></tr> +<tr name="43" id="43"> +<td>43</td><td></td></tr> +<tr name="44" id="44"> +<td>44</td><td><span class="pp">#endif</span></td></tr> +<tr name="45" id="45"> +<td>45</td><td></td></tr> +<tr name="46" id="46"> +<td>46</td><td><span class="pp">#ifndef</span> <a id="46c9" class="tk">_DEFINED_TYPEDEF_FOR_EnumCommandType_</a></td></tr> +<tr name="47" id="47"> +<td>47</td><td><span class="pp">#define</span> <a id="47c9" class="tk">_DEFINED_TYPEDEF_FOR_EnumCommandType_</a></td></tr> +<tr name="48" id="48"> +<td>48</td><td></td></tr> +<tr name="49" id="49"> +<td>49</td><td><span class="kw">typedef</span> <span class="kw">enum</span> <span class="br">{</span></td></tr> +<tr name="50" id="50"> +<td>50</td><td> <a id="50c3" class="tk">Torque</a> = 0, <span class="ct">/* Default value */</span></td></tr> +<tr name="51" id="51"> +<td>51</td><td> <a id="51c3" class="tk">Velocity</a>,</td></tr> +<tr name="52" id="52"> +<td>52</td><td> <a id="52c3" class="tk">Position</a></td></tr> +<tr name="53" id="53"> +<td>53</td><td><span class="br">}</span> <a id="53c3" class="tk">EnumCommandType</a>;</td></tr> +<tr name="54" id="54"> +<td>54</td><td></td></tr> +<tr name="55" id="55"> +<td>55</td><td><span class="pp">#endif</span></td></tr> +<tr name="56" id="56"> +<td>56</td><td></td></tr> +<tr name="57" id="57"> +<td>57</td><td><span class="pp">#ifndef</span> <a id="57c9" class="tk">_DEFINED_TYPEDEF_FOR_EnumControllerMode_</a></td></tr> +<tr name="58" id="58"> +<td>58</td><td><span class="pp">#define</span> <a id="58c9" class="tk">_DEFINED_TYPEDEF_FOR_EnumControllerMode_</a></td></tr> +<tr name="59" id="59"> +<td>59</td><td></td></tr> +<tr name="60" id="60"> +<td>60</td><td><span class="kw">typedef</span> <span class="kw">enum</span> <span class="br">{</span></td></tr> +<tr name="61" id="61"> +<td>61</td><td> <a id="61c3" class="tk">StandBy</a> = 0, <span class="ct">/* Default value */</span></td></tr> +<tr name="62" id="62"> +<td>62</td><td> <a id="62c3" class="tk">Startup</a>,</td></tr> +<tr name="63" id="63"> +<td>63</td><td> <a id="63c3" class="tk">TorqueControl</a>,</td></tr> +<tr name="64" id="64"> +<td>64</td><td> <a id="64c3" class="tk">VelocityControl</a>,</td></tr> +<tr name="65" id="65"> +<td>65</td><td> <a id="65c3" class="tk">PositionControl</a></td></tr> +<tr name="66" id="66"> +<td>66</td><td><span class="br">}</span> <a id="66c3" class="tk">EnumControllerMode</a>;</td></tr> +<tr name="67" id="67"> +<td>67</td><td></td></tr> +<tr name="68" id="68"> +<td>68</td><td><span class="pp">#endif</span></td></tr> +<tr name="69" id="69"> +<td>69</td><td></td></tr> +<tr name="70" id="70"> +<td>70</td><td><span class="pp">#ifndef</span> <a id="70c9" class="tk">_DEFINED_TYPEDEF_FOR_SENSORS_STRUCT_</a></td></tr> +<tr name="71" id="71"> +<td>71</td><td><span class="pp">#define</span> <a id="71c9" class="tk">_DEFINED_TYPEDEF_FOR_SENSORS_STRUCT_</a></td></tr> +<tr name="72" id="72"> +<td>72</td><td></td></tr> +<tr name="73" id="73"> +<td>73</td><td><span class="kw">typedef</span> <span class="kw">struct</span> <span class="br">{</span></td></tr> +<tr name="74" id="74"> +<td>74</td><td> <a id="74c3" class="tk">uint16_T</a> <a id="74c12" class="tk">adc_phase_currents</a>[2];</td></tr> +<tr name="75" id="75"> +<td>75</td><td> <a id="75c3" class="tk">uint16_T</a> <a id="75c12" class="tk">encoder_valid</a>;</td></tr> +<tr name="76" id="76"> +<td>76</td><td> <a id="76c3" class="tk">uint16_T</a> <a id="76c12" class="tk">encoder_counter</a>;</td></tr> +<tr name="77" id="77"> +<td>77</td><td><span class="br">}</span> <a id="77c3" class="tk">SENSORS_STRUCT</a>;</td></tr> +<tr name="78" id="78"> +<td>78</td><td></td></tr> +<tr name="79" id="79"> +<td>79</td><td><span class="pp">#endif</span></td></tr> +<tr name="80" id="80"> +<td>80</td><td></td></tr> +<tr name="81" id="81"> +<td>81</td><td><span class="pp">#ifndef</span> <a id="81c9" class="tk">_DEFINED_TYPEDEF_FOR_CTRLPARAMS_STRUCT_</a></td></tr> +<tr name="82" id="82"> +<td>82</td><td><span class="pp">#define</span> <a id="82c9" class="tk">_DEFINED_TYPEDEF_FOR_CTRLPARAMS_STRUCT_</a></td></tr> +<tr name="83" id="83"> +<td>83</td><td></td></tr> +<tr name="84" id="84"> +<td>84</td><td><span class="kw">typedef</span> <span class="kw">struct</span> <span class="br">{</span></td></tr> +<tr name="85" id="85"> +<td>85</td><td> <a id="85c3" class="tk">real32_T</a> <a id="85c12" class="tk">Current_P</a>;</td></tr> +<tr name="86" id="86"> +<td>86</td><td> <a id="86c3" class="tk">real32_T</a> <a id="86c12" class="tk">Current_I</a>;</td></tr> +<tr name="87" id="87"> +<td>87</td><td> <a id="87c3" class="tk">real32_T</a> <a id="87c12" class="tk">Velocity_P</a>;</td></tr> +<tr name="88" id="88"> +<td>88</td><td> <a id="88c3" class="tk">real32_T</a> <a id="88c12" class="tk">Velocity_I</a>;</td></tr> +<tr name="89" id="89"> +<td>89</td><td> <a id="89c3" class="tk">real32_T</a> <a id="89c12" class="tk">Position_P</a>;</td></tr> +<tr name="90" id="90"> +<td>90</td><td> <a id="90c3" class="tk">real32_T</a> <a id="90c12" class="tk">Position_I</a>;</td></tr> +<tr name="91" id="91"> +<td>91</td><td> <a id="91c3" class="tk">real32_T</a> <a id="91c12" class="tk">StartupAcceleration</a>;</td></tr> +<tr name="92" id="92"> +<td>92</td><td> <a id="92c3" class="tk">real32_T</a> <a id="92c12" class="tk">StartupCurrent</a>;</td></tr> +<tr name="93" id="93"> +<td>93</td><td> <a id="93c3" class="tk">real32_T</a> <a id="93c12" class="tk">RampToStopVelocity</a>;</td></tr> +<tr name="94" id="94"> +<td>94</td><td> <a id="94c3" class="tk">real32_T</a> <a id="94c12" class="tk">AdcZeroOffsetDriverUnits</a>;</td></tr> +<tr name="95" id="95"> +<td>95</td><td> <a id="95c3" class="tk">real32_T</a> <a id="95c12" class="tk">AdcDriverUnitsToAmps</a>;</td></tr> +<tr name="96" id="96"> +<td>96</td><td> <a id="96c3" class="tk">real32_T</a> <a id="96c12" class="tk">EncoderToMechanicalZeroOffsetRads</a>;</td></tr> +<tr name="97" id="97"> +<td>97</td><td> <a id="97c3" class="tk">real32_T</a> <a id="97c12" class="tk">PmsmPolePairs</a>;</td></tr> +<tr name="98" id="98"> +<td>98</td><td><span class="br">}</span> <a id="98c3" class="tk">CTRLPARAMS_STRUCT</a>;</td></tr> +<tr name="99" id="99"> +<td>99</td><td></td></tr> +<tr name="100" id="100"> +<td>100</td><td><span class="pp">#endif</span></td></tr> +<tr name="101" id="101"> +<td>101</td><td></td></tr> +<tr name="102" id="102"> +<td>102</td><td><span class="ct">/* Block signals and states (auto storage) for system '<a class="ct blk" blk_line="102"><Root></a>' */</span></td></tr> +<tr name="103" id="103"> +<td>103</td><td><span class="kw">typedef</span> <span class="kw">struct</span> <span class="br">{</span></td></tr> +<tr name="104" id="104"> +<td>104</td><td> <a id="104c3" class="tk">real32_T</a> <a id="104c12" class="tk">Merge</a>; <span class="ct">/* '<a class="ct blk" blk_line="104"><S5>/Merge</a>' */</span></td></tr> +<tr name="105" id="105"> +<td>105</td><td> <a id="105c3" class="tk">real32_T</a> <a id="105c12" class="tk">position</a>; <span class="ct">/* '<a class="ct blk" blk_line="105"><S65>/Integrate_To_Position</a>' */</span></td></tr> +<tr name="106" id="106"> +<td>106</td><td> <a id="106c3" class="tk">real32_T</a> <a id="106c12" class="tk">velocity_command</a>; <span class="ct">/* '<a class="ct blk" blk_line="106"><S1>/Controller_Mode_Scheduler</a>' */</span></td></tr> +<tr name="107" id="107"> +<td>107</td><td> <a id="107c3" class="tk">real32_T</a> <a id="107c12" class="tk">position_command</a>; <span class="ct">/* '<a class="ct blk" blk_line="107"><S1>/Controller_Mode_Scheduler</a>' */</span></td></tr> +<tr name="108" id="108"> +<td>108</td><td> <a id="108c3" class="tk">real32_T</a> <a id="108c12" class="tk">torque_command</a>; <span class="ct">/* '<a class="ct blk" blk_line="108"><S1>/Controller_Mode_Scheduler</a>' */</span></td></tr> +<tr name="109" id="109"> +<td>109</td><td> <a id="109c3" class="tk">real32_T</a> <a id="109c12" class="tk">Integrator_DSTATE</a>; <span class="ct">/* '<a class="ct blk" blk_line="109"><S17>/Integrator</a>' */</span></td></tr> +<tr name="110" id="110"> +<td>110</td><td> <a id="110c3" class="tk">real32_T</a> <a id="110c12" class="tk">Integrator_DSTATE_l</a>; <span class="ct">/* '<a class="ct blk" blk_line="110"><S18>/Integrator</a>' */</span></td></tr> +<tr name="111" id="111"> +<td>111</td><td> <a id="111c3" class="tk">real32_T</a> <a id="111c12" class="tk">Velocity_Delay_DSTATE</a>; <span class="ct">/* '<a class="ct blk" blk_line="111"><S60>/Velocity_Delay</a>' */</span></td></tr> +<tr name="112" id="112"> +<td>112</td><td> <a id="112c3" class="tk">real32_T</a> <a id="112c12" class="tk">Integrate_To_Position_DSTATE</a>;<span class="ct">/* '<a class="ct blk" blk_line="112"><S65>/Integrate_To_Position</a>' */</span></td></tr> +<tr name="113" id="113"> +<td>113</td><td> <a id="113c3" class="tk">real32_T</a> <a id="113c12" class="tk">Integrate_To_Velocity_DSTATE</a>;<span class="ct">/* '<a class="ct blk" blk_line="113"><S65>/Integrate_To_Velocity</a>' */</span></td></tr> +<tr name="114" id="114"> +<td>114</td><td> <a id="114c3" class="tk">real32_T</a> <a id="114c12" class="tk">Integrator_DSTATE_lc</a>; <span class="ct">/* '<a class="ct blk" blk_line="114"><S42>/Integrator</a>' */</span></td></tr> +<tr name="115" id="115"> +<td>115</td><td> <a id="115c3" class="tk">real32_T</a> <a id="115c12" class="tk">Integrator_DSTATE_f</a>; <span class="ct">/* '<a class="ct blk" blk_line="115"><S45>/Integrator</a>' */</span></td></tr> +<tr name="116" id="116"> +<td>116</td><td> <a id="116c3" class="tk">int32_T</a> <a id="116c11" class="tk">Position_Delay_DSTATE</a>; <span class="ct">/* '<a class="ct blk" blk_line="116"><S55>/Position_Delay</a>' */</span></td></tr> +<tr name="117" id="117"> +<td>117</td><td> <a id="117c3" class="tk">EnumErrorType</a> <a id="117c17" class="tk">error_l</a>; <span class="ct">/* '<a class="ct blk" blk_line="117"><Root>/Data Store Memory</a>' */</span></td></tr> +<tr name="118" id="118"> +<td>118</td><td> <a id="118c3" class="tk">int16_T</a> <a id="118c11" class="tk">DelayInput1_DSTATE</a>; <span class="ct">/* '<a class="ct blk" blk_line="118"><S13>/Delay Input1</a>' */</span></td></tr> +<tr name="119" id="119"> +<td>119</td><td> <a id="119c3" class="tk">uint16_T</a> <a id="119c12" class="tk">Position_Valid</a>; <span class="ct">/* '<a class="ct blk" blk_line="119"><S49>/Wait_For_Valid_Position</a>' */</span></td></tr> +<tr name="120" id="120"> +<td>120</td><td> <a id="120c3" class="tk">int8_T</a> <a id="120c10" class="tk">Integrator_PrevResetState</a>; <span class="ct">/* '<a class="ct blk" blk_line="120"><S17>/Integrator</a>' */</span></td></tr> +<tr name="121" id="121"> +<td>121</td><td> <a id="121c3" class="tk">int8_T</a> <a id="121c10" class="tk">SwitchCase_ActiveSubsystem</a>; <span class="ct">/* '<a class="ct blk" blk_line="121"><S5>/Switch Case</a>' */</span></td></tr> +<tr name="122" id="122"> +<td>122</td><td> <a id="122c3" class="tk">int8_T</a> <a id="122c10" class="tk">Integrator_PrevResetState_c</a>; <span class="ct">/* '<a class="ct blk" blk_line="122"><S18>/Integrator</a>' */</span></td></tr> +<tr name="123" id="123"> +<td>123</td><td> <a id="123c3" class="tk">uint8_T</a> <a id="123c11" class="tk">is_active_c2_rtwdemo_pmsmfoc</a>;<span class="ct">/* '<a class="ct blk" blk_line="123"><S49>/Wait_For_Valid_Position</a>' */</span></td></tr> +<tr name="124" id="124"> +<td>124</td><td> <a id="124c3" class="tk">uint8_T</a> <a id="124c11" class="tk">is_c2_rtwdemo_pmsmfoc</a>; <span class="ct">/* '<a class="ct blk" blk_line="124"><S49>/Wait_For_Valid_Position</a>' */</span></td></tr> +<tr name="125" id="125"> +<td>125</td><td> <a id="125c3" class="tk">uint8_T</a> <a id="125c11" class="tk">temporalCounter_i1</a>; <span class="ct">/* '<a class="ct blk" blk_line="125"><S49>/Wait_For_Valid_Position</a>' */</span></td></tr> +<tr name="126" id="126"> +<td>126</td><td> <a id="126c3" class="tk">uint8_T</a> <a id="126c11" class="tk">is_c1_rtwdemo_pmsmfoc</a>; <span class="ct">/* '<a class="ct blk" blk_line="126"><S1>/Controller_Mode_Scheduler</a>' */</span></td></tr> +<tr name="127" id="127"> +<td>127</td><td> <a id="127c3" class="tk">uint8_T</a> <a id="127c11" class="tk">is_Motor_On</a>; <span class="ct">/* '<a class="ct blk" blk_line="127"><S1>/Controller_Mode_Scheduler</a>' */</span></td></tr> +<tr name="128" id="128"> +<td>128</td><td> <a id="128c3" class="tk">uint8_T</a> <a id="128c11" class="tk">is_Motor_Control</a>; <span class="ct">/* '<a class="ct blk" blk_line="128"><S1>/Controller_Mode_Scheduler</a>' */</span></td></tr> +<tr name="129" id="129"> +<td>129</td><td> <a id="129c3" class="tk">boolean_T</a> <a id="129c13" class="tk">RelationalOperator_a</a>; <span class="ct">/* '<a class="ct blk" blk_line="129"><S51>/Relational Operator</a>' */</span></td></tr> +<tr name="130" id="130"> +<td>130</td><td> <a id="130c3" class="tk">boolean_T</a> <a id="130c13" class="tk">Lo_to_Hi_Rate_Transition3_Buffe</a>;<span class="ct">/* '<a class="ct blk" blk_line="130"><S6>/Lo_to_Hi_Rate_Transition3</a>' */</span></td></tr> +<tr name="131" id="131"> +<td>131</td><td> <a id="131c3" class="tk">boolean_T</a> <a id="131c13" class="tk">OpenLoopPosition_MODE</a>; <span class="ct">/* '<a class="ct blk" blk_line="131"><S51>/Open Loop Position</a>' */</span></td></tr> +<tr name="132" id="132"> +<td>132</td><td><span class="br">}</span> <a id="132c3" class="tk">D_Work</a>;</td></tr> +<tr name="133" id="133"> +<td>133</td><td></td></tr> +<tr name="134" id="134"> +<td>134</td><td><span class="ct">/* Constant parameters (auto storage) */</span></td></tr> +<tr name="135" id="135"> +<td>135</td><td><span class="kw">typedef</span> <span class="kw">struct</span> <span class="br">{</span></td></tr> +<tr name="136" id="136"> +<td>136</td><td> <span class="ct">/* Computed Parameter: Lookup_Table_table</span></td></tr> +<tr name="137" id="137"> +<td>137</td><td><span class="ct"> * Referenced by: '<a class="ct blk" blk_line="137"><S28>/Lookup_Table</a>'</span></td></tr> +<tr name="138" id="138"> +<td>138</td><td><span class="ct"> */</span></td></tr> +<tr name="139" id="139"> +<td>139</td><td> <a id="139c3" class="tk">uint16_T</a> <a id="139c12" class="tk">Lookup_Table_table</a>[7];</td></tr> +<tr name="140" id="140"> +<td>140</td><td><span class="br">}</span> <a id="140c3" class="tk">ConstParam</a>;</td></tr> +<tr name="141" id="141"> +<td>141</td><td></td></tr> +<tr name="142" id="142"> +<td>142</td><td><span class="ct">/* Real-time Model Data Structure */</span></td></tr> +<tr name="143" id="143"> +<td>143</td><td><span class="kw">struct</span> <a id="143c8" class="tk">tag_RTM</a> <span class="br">{</span></td></tr> +<tr name="144" id="144"> +<td>144</td><td> <span class="ct">/*</span></td></tr> +<tr name="145" id="145"> +<td>145</td><td><span class="ct"> * Timing:</span></td></tr> +<tr name="146" id="146"> +<td>146</td><td><span class="ct"> * The following substructure contains information regarding</span></td></tr> +<tr name="147" id="147"> +<td>147</td><td><span class="ct"> * the timing information for the model.</span></td></tr> +<tr name="148" id="148"> +<td>148</td><td><span class="ct"> */</span></td></tr> +<tr name="149" id="149"> +<td>149</td><td> <span class="kw">struct</span> <span class="br">{</span></td></tr> +<tr name="150" id="150"> +<td>150</td><td> <span class="kw">struct</span> <span class="br">{</span></td></tr> +<tr name="151" id="151"> +<td>151</td><td> <a id="151c7" class="tk">uint8_T</a> <a id="151c15" class="tk">TID</a>[2];</td></tr> +<tr name="152" id="152"> +<td>152</td><td> <span class="br">}</span> <a id="152c7" class="tk">TaskCounters</a>;</td></tr> +<tr name="153" id="153"> +<td>153</td><td> <span class="br">}</span> <a id="153c5" class="tk">Timing</a>;</td></tr> +<tr name="154" id="154"> +<td>154</td><td><span class="br">}</span>;</td></tr> +<tr name="155" id="155"> +<td>155</td><td></td></tr> +<tr name="156" id="156"> +<td>156</td><td><span class="ct">/* Block signals and states (auto storage) */</span></td></tr> +<tr name="157" id="157"> +<td>157</td><td><span class="kw">extern</span> <a id="157c8" class="tk">D_Work</a> <a id="157c15" class="tk">DWork</a>;</td></tr> +<tr name="158" id="158"> +<td>158</td><td></td></tr> +<tr name="159" id="159"> +<td>159</td><td><span class="ct">/* Constant parameters (auto storage) */</span></td></tr> +<tr name="160" id="160"> +<td>160</td><td><span class="kw">extern</span> <span class="kw">const</span> <a id="160c14" class="tk">ConstParam</a> <a id="160c25" class="tk">ConstP</a>;</td></tr> +<tr name="161" id="161"> +<td>161</td><td></td></tr> +<tr name="162" id="162"> +<td>162</td><td><span class="ct">/*</span></td></tr> +<tr name="163" id="163"> +<td>163</td><td><span class="ct"> * Exported Global Signals</span></td></tr> +<tr name="164" id="164"> +<td>164</td><td><span class="ct"> *</span></td></tr> +<tr name="165" id="165"> +<td>165</td><td><span class="ct"> * Note: Exported global signals are block signals with an exported global</span></td></tr> +<tr name="166" id="166"> +<td>166</td><td><span class="ct"> * storage class designation. Code generation will declare the memory for</span></td></tr> +<tr name="167" id="167"> +<td>167</td><td><span class="ct"> * these signals and export their symbols.</span></td></tr> +<tr name="168" id="168"> +<td>168</td><td><span class="ct"> *</span></td></tr> +<tr name="169" id="169"> +<td>169</td><td><span class="ct"> */</span></td></tr> +<tr name="170" id="170"> +<td>170</td><td><span class="kw">extern</span> <a id="170c8" class="tk">real32_T</a> <a id="170c17" class="tk">phase_currents</a>[2]; <span class="ct">/* '<a class="ct blk" blk_line="170"><S48>/Product</a>' */</span></td></tr> +<tr name="171" id="171"> +<td>171</td><td><span class="kw">extern</span> <a id="171c8" class="tk">real32_T</a> <a id="171c17" class="tk">rotor_position</a>; <span class="ct">/* '<a class="ct blk" blk_line="171"><S49>/Add</a>' */</span></td></tr> +<tr name="172" id="172"> +<td>172</td><td><span class="kw">extern</span> <a id="172c8" class="tk">real32_T</a> <a id="172c17" class="tk">velocity_measured</a>; <span class="ct">/* '<a class="ct blk" blk_line="172"><S55>/Scale_Output</a>' */</span></td></tr> +<tr name="173" id="173"> +<td>173</td><td><span class="kw">extern</span> <a id="173c8" class="tk">real32_T</a> <a id="173c17" class="tk">d_current_error</a>; <span class="ct">/* '<a class="ct blk" blk_line="173"><S12>/Sum2</a>' */</span></td></tr> +<tr name="174" id="174"> +<td>174</td><td><span class="kw">extern</span> <a id="174c8" class="tk">real32_T</a> <a id="174c17" class="tk">q_current_command</a>; <span class="ct">/* '<a class="ct blk" blk_line="174"><S5>/Lo_to_Hi_Rate_Transition1</a>' */</span></td></tr> +<tr name="175" id="175"> +<td>175</td><td><span class="kw">extern</span> <a id="175c8" class="tk">real32_T</a> <a id="175c17" class="tk">q_current_measured</a>; <span class="ct">/* '<a class="ct blk" blk_line="175"><S22>/Add</a>' */</span></td></tr> +<tr name="176" id="176"> +<td>176</td><td><span class="kw">extern</span> <a id="176c8" class="tk">real32_T</a> <a id="176c17" class="tk">q_current_error</a>; <span class="ct">/* '<a class="ct blk" blk_line="176"><S12>/Sum</a>' */</span></td></tr> +<tr name="177" id="177"> +<td>177</td><td><span class="kw">extern</span> <a id="177c8" class="tk">real32_T</a> <a id="177c17" class="tk">phase_voltages</a>[3]; <span class="ct">/* '<a class="ct blk" blk_line="177"><S27>/Select_Sector</a>' */</span></td></tr> +<tr name="178" id="178"> +<td>178</td><td><span class="kw">extern</span> <a id="178c8" class="tk">real32_T</a> <a id="178c17" class="tk">velocity_error</a>; <span class="ct">/* '<a class="ct blk" blk_line="178"><S11>/Sum2</a>' */</span></td></tr> +<tr name="179" id="179"> +<td>179</td><td><span class="kw">extern</span> <a id="179c8" class="tk">EnumControllerMode</a> <a id="179c27" class="tk">controller_mode</a>;<span class="ct">/* '<a class="ct blk" blk_line="179"><S1>/Controller_Mode_Scheduler</a>' */</span></td></tr> +<tr name="180" id="180"> +<td>180</td><td></td></tr> +<tr name="181" id="181"> +<td>181</td><td><span class="ct">/*</span></td></tr> +<tr name="182" id="182"> +<td>182</td><td><span class="ct"> * Exported Global Parameters</span></td></tr> +<tr name="183" id="183"> +<td>183</td><td><span class="ct"> *</span></td></tr> +<tr name="184" id="184"> +<td>184</td><td><span class="ct"> * Note: Exported global parameters are tunable parameters with an exported</span></td></tr> +<tr name="185" id="185"> +<td>185</td><td><span class="ct"> * global storage class designation. Code generation will declare the memory for</span></td></tr> +<tr name="186" id="186"> +<td>186</td><td><span class="ct"> * these parameters and exports their symbols.</span></td></tr> +<tr name="187" id="187"> +<td>187</td><td><span class="ct"> *</span></td></tr> +<tr name="188" id="188"> +<td>188</td><td><span class="ct"> */</span></td></tr> +<tr name="189" id="189"> +<td>189</td><td><span class="kw">extern</span> <a id="189c8" class="tk">CTRLPARAMS_STRUCT</a> <a id="189c26" class="tk">ctrlParams</a>; <span class="ct">/* Variable: ctrlParams</span></td></tr> +<tr name="190" id="190"> +<td>190</td><td><span class="ct"> * Referenced by:</span></td></tr> +<tr name="191" id="191"> +<td>191</td><td><span class="ct"> * '<a class="ct blk" blk_line="191"><S1>/Controller_Mode_Scheduler</a>'</span></td></tr> +<tr name="192" id="192"> +<td>192</td><td><span class="ct"> * '<a class="ct blk" blk_line="192"><S48>/ADC_Driver_Units_To_Amps</a>'</span></td></tr> +<tr name="193" id="193"> +<td>193</td><td><span class="ct"> * '<a class="ct blk" blk_line="193"><S48>/ADC_Zero_Offset</a>'</span></td></tr> +<tr name="194" id="194"> +<td>194</td><td><span class="ct"> * '<a class="ct blk" blk_line="194"><S49>/Offset_Between_Encoder_Zero_And_Mechanical_Zero</a>'</span></td></tr> +<tr name="195" id="195"> +<td>195</td><td><span class="ct"> * '<a class="ct blk" blk_line="195"><S14>/number_of_pole_pairs</a>'</span></td></tr> +<tr name="196" id="196"> +<td>196</td><td><span class="ct"> * '<a class="ct blk" blk_line="196"><S42>/Integral Gain</a>'</span></td></tr> +<tr name="197" id="197"> +<td>197</td><td><span class="ct"> * '<a class="ct blk" blk_line="197"><S42>/Proportional Gain</a>'</span></td></tr> +<tr name="198" id="198"> +<td>198</td><td><span class="ct"> * '<a class="ct blk" blk_line="198"><S45>/Integral Gain</a>'</span></td></tr> +<tr name="199" id="199"> +<td>199</td><td><span class="ct"> * '<a class="ct blk" blk_line="199"><S45>/Proportional Gain</a>'</span></td></tr> +<tr name="200" id="200"> +<td>200</td><td><span class="ct"> * '<a class="ct blk" blk_line="200"><S65>/Startup_Acceleration_Constant</a>'</span></td></tr> +<tr name="201" id="201"> +<td>201</td><td><span class="ct"> * '<a class="ct blk" blk_line="201"><S17>/Integral Gain</a>'</span></td></tr> +<tr name="202" id="202"> +<td>202</td><td><span class="ct"> * '<a class="ct blk" blk_line="202"><S17>/Proportional Gain</a>'</span></td></tr> +<tr name="203" id="203"> +<td>203</td><td><span class="ct"> * '<a class="ct blk" blk_line="203"><S18>/Integral Gain</a>'</span></td></tr> +<tr name="204" id="204"> +<td>204</td><td><span class="ct"> * '<a class="ct blk" blk_line="204"><S18>/Proportional Gain</a>'</span></td></tr> +<tr name="205" id="205"> +<td>205</td><td><span class="ct"> */</span></td></tr> +<tr name="206" id="206"> +<td>206</td><td></td></tr> +<tr name="207" id="207"> +<td>207</td><td><span class="ct">/* Model entry point functions */</span></td></tr> +<tr name="208" id="208"> +<td>208</td><td><span class="kw">extern</span> <span class="kw">void</span> <a id="208c13" class="tk">Controller_Init</a>(<span class="kw">void</span>);</td></tr> +<tr name="209" id="209"> +<td>209</td><td></td></tr> +<tr name="210" id="210"> +<td>210</td><td><span class="ct">/* Customized model step function */</span></td></tr> +<tr name="211" id="211"> +<td>211</td><td><span class="kw">extern</span> <a id="211c8" class="tk">EnumErrorType</a> <a id="211c22" class="tk">Controller</a>(<a id="211c33" class="tk">uint16_T</a> <a id="211c42" class="tk">motor_on</a>, <a id="211c52" class="tk">EnumCommandType</a> <a id="211c68" class="tk">command_type</a>,</td></tr> +<tr name="212" id="212"> +<td>212</td><td> <a id="212c3" class="tk">real32_T</a> <a id="212c12" class="tk">current_request</a>, <a id="212c29" class="tk">SENSORS_STRUCT</a> *<a id="212c45" class="tk">sensors</a>, <a id="212c54" class="tk">uint16_T</a> <a id="212c63" class="tk">pwm_compare</a>[3]);</td></tr> +<tr name="213" id="213"> +<td>213</td><td></td></tr> +<tr name="214" id="214"> +<td>214</td><td><span class="ct">/* Real-time Model object */</span></td></tr> +<tr name="215" id="215"> +<td>215</td><td><span class="kw">extern</span> <a id="215c8" class="tk">RT_MODEL</a> *<span class="kw">const</span> <a id="215c24" class="tk">M</a>;</td></tr> +<tr name="216" id="216"> +<td>216</td><td></td></tr> +<tr name="217" id="217"> +<td>217</td><td><span class="ct">/*-</span></td></tr> +<tr name="218" id="218"> +<td>218</td><td><span class="ct"> * The generated code includes comments that allow you to trace directly</span></td></tr> +<tr name="219" id="219"> +<td>219</td><td><span class="ct"> * back to the appropriate location in the model. The basic format</span></td></tr> +<tr name="220" id="220"> +<td>220</td><td><span class="ct"> * is <system>/block_name, where system is the system number (uniquely</span></td></tr> +<tr name="221" id="221"> +<td>221</td><td><span class="ct"> * assigned by Simulink) and block_name is the name of the block.</span></td></tr> +<tr name="222" id="222"> +<td>222</td><td><span class="ct"> *</span></td></tr> +<tr name="223" id="223"> +<td>223</td><td><span class="ct"> * Use the MATLAB hilite_system command to trace the generated code back</span></td></tr> +<tr name="224" id="224"> +<td>224</td><td><span class="ct"> * to the model. For example,</span></td></tr> +<tr name="225" id="225"> +<td>225</td><td><span class="ct"> *</span></td></tr> +<tr name="226" id="226"> +<td>226</td><td><span class="ct"> * hilite_system('<a class="ct blk" blk_line="226"><S3></a>') - opens system 3</span></td></tr> +<tr name="227" id="227"> +<td>227</td><td><span class="ct"> * hilite_system('<a class="ct blk" blk_line="227"><S3>/Kp</a>') - opens and selects block Kp which resides in S3</span></td></tr> +<tr name="228" id="228"> +<td>228</td><td><span class="ct"> *</span></td></tr> +<tr name="229" id="229"> +<td>229</td><td><span class="ct"> * Here is the system hierarchy for this model</span></td></tr> +<tr name="230" id="230"> +<td>230</td><td><span class="ct"> *</span></td></tr> +<tr name="231" id="231"> +<td>231</td><td><span class="ct"> * '<a class="ct blk" blk_line="231"><Root></a>' : 'rtwdemo_pmsmfoc'</span></td></tr> +<tr name="232" id="232"> +<td>232</td><td><span class="ct"> * '<a class="ct blk" blk_line="232"><S1></a>' : 'rtwdemo_pmsmfoc/Mode_Scheduler'</span></td></tr> +<tr name="233" id="233"> +<td>233</td><td><span class="ct"> * '<a class="ct blk" blk_line="233"><S2></a>' : 'rtwdemo_pmsmfoc/Model Info'</span></td></tr> +<tr name="234" id="234"> +<td>234</td><td><span class="ct"> * '<a class="ct blk" blk_line="234"><S3></a>' : 'rtwdemo_pmsmfoc/Motor_Control'</span></td></tr> +<tr name="235" id="235"> +<td>235</td><td><span class="ct"> * '<a class="ct blk" blk_line="235"><S4></a>' : 'rtwdemo_pmsmfoc/Mode_Scheduler/Controller_Mode_Scheduler'</span></td></tr> +<tr name="236" id="236"> +<td>236</td><td><span class="ct"> * '<a class="ct blk" blk_line="236"><S5></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller'</span></td></tr> +<tr name="237" id="237"> +<td>237</td><td><span class="ct"> * '<a class="ct blk" blk_line="237"><S6></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Phase_Voltages_to_PWM_Compare_Values'</span></td></tr> +<tr name="238" id="238"> +<td>238</td><td><span class="ct"> * '<a class="ct blk" blk_line="238"><S7></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units'</span></td></tr> +<tr name="239" id="239"> +<td>239</td><td><span class="ct"> * '<a class="ct blk" blk_line="239"><S8></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control'</span></td></tr> +<tr name="240" id="240"> +<td>240</td><td><span class="ct"> * '<a class="ct blk" blk_line="240"><S9></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Position_Control'</span></td></tr> +<tr name="241" id="241"> +<td>241</td><td><span class="ct"> * '<a class="ct blk" blk_line="241"><S10></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Torque_Control'</span></td></tr> +<tr name="242" id="242"> +<td>242</td><td><span class="ct"> * '<a class="ct blk" blk_line="242"><S11></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Velocity_Control'</span></td></tr> +<tr name="243" id="243"> +<td>243</td><td><span class="ct"> * '<a class="ct blk" blk_line="243"><S12></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Current_Controllers'</span></td></tr> +<tr name="244" id="244"> +<td>244</td><td><span class="ct"> * '<a class="ct blk" blk_line="244"><S13></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Detect_Change'</span></td></tr> +<tr name="245" id="245"> +<td>245</td><td><span class="ct"> * '<a class="ct blk" blk_line="245"><S14></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Rotation_Coefficients_Sin_Cos'</span></td></tr> +<tr name="246" id="246"> +<td>246</td><td><span class="ct"> * '<a class="ct blk" blk_line="246"><S15></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_ABC_to_dq'</span></td></tr> +<tr name="247" id="247"> +<td>247</td><td><span class="ct"> * '<a class="ct blk" blk_line="247"><S16></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC'</span></td></tr> +<tr name="248" id="248"> +<td>248</td><td><span class="ct"> * '<a class="ct blk" blk_line="248"><S17></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Current_Controllers/Direct_Current_Control'</span></td></tr> +<tr name="249" id="249"> +<td>249</td><td><span class="ct"> * '<a class="ct blk" blk_line="249"><S18></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Current_Controllers/Quadrature_Current_Control'</span></td></tr> +<tr name="250" id="250"> +<td>250</td><td><span class="ct"> * '<a class="ct blk" blk_line="250"><S19></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Current_Controllers/Direct_Current_Control/Clamping circuit'</span></td></tr> +<tr name="251" id="251"> +<td>251</td><td><span class="ct"> * '<a class="ct blk" blk_line="251"><S20></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Current_Controllers/Quadrature_Current_Control/Clamping circuit'</span></td></tr> +<tr name="252" id="252"> +<td>252</td><td><span class="ct"> * '<a class="ct blk" blk_line="252"><S21></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_ABC_to_dq/Clarke_Transform'</span></td></tr> +<tr name="253" id="253"> +<td>253</td><td><span class="ct"> * '<a class="ct blk" blk_line="253"><S22></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_ABC_to_dq/Park_Transform'</span></td></tr> +<tr name="254" id="254"> +<td>254</td><td><span class="ct"> * '<a class="ct blk" blk_line="254"><S23></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC'</span></td></tr> +<tr name="255" id="255"> +<td>255</td><td><span class="ct"> * '<a class="ct blk" blk_line="255"><S24></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Inverse_Park_Transform'</span></td></tr> +<tr name="256" id="256"> +<td>256</td><td><span class="ct"> * '<a class="ct blk" blk_line="256"><S25></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Inverse_Clarke_Transform'</span></td></tr> +<tr name="257" id="257"> +<td>257</td><td><span class="ct"> * '<a class="ct blk" blk_line="257"><S26></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation'</span></td></tr> +<tr name="258" id="258"> +<td>258</td><td><span class="ct"> * '<a class="ct blk" blk_line="258"><S27></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Calculate_Phase_Voltages'</span></td></tr> +<tr name="259" id="259"> +<td>259</td><td><span class="ct"> * '<a class="ct blk" blk_line="259"><S28></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Determine_Sector'</span></td></tr> +<tr name="260" id="260"> +<td>260</td><td><span class="ct"> * '<a class="ct blk" blk_line="260"><S29></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Phase_Advanced_Inverse_Clarke'</span></td></tr> +<tr name="261" id="261"> +<td>261</td><td><span class="ct"> * '<a class="ct blk" blk_line="261"><S30></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Calculate_Phase_Voltages/Va_Sectors_1_and_4'</span></td></tr> +<tr name="262" id="262"> +<td>262</td><td><span class="ct"> * '<a class="ct blk" blk_line="262"><S31></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Calculate_Phase_Voltages/Va_Sectors_2_and_5'</span></td></tr> +<tr name="263" id="263"> +<td>263</td><td><span class="ct"> * '<a class="ct blk" blk_line="263"><S32></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Calculate_Phase_Voltages/Va_Sectors_3_and_6'</span></td></tr> +<tr name="264" id="264"> +<td>264</td><td><span class="ct"> * '<a class="ct blk" blk_line="264"><S33></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Calculate_Phase_Voltages/Vb_Sectors_1_and_4'</span></td></tr> +<tr name="265" id="265"> +<td>265</td><td><span class="ct"> * '<a class="ct blk" blk_line="265"><S34></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Calculate_Phase_Voltages/Vb_Sectors_2_and_5'</span></td></tr> +<tr name="266" id="266"> +<td>266</td><td><span class="ct"> * '<a class="ct blk" blk_line="266"><S35></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Calculate_Phase_Voltages/Vb_Sectors_3_and_6'</span></td></tr> +<tr name="267" id="267"> +<td>267</td><td><span class="ct"> * '<a class="ct blk" blk_line="267"><S36></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Calculate_Phase_Voltages/Vc_Sectors_1_and_4'</span></td></tr> +<tr name="268" id="268"> +<td>268</td><td><span class="ct"> * '<a class="ct blk" blk_line="268"><S37></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Calculate_Phase_Voltages/Vc_Sectors_2_and_5'</span></td></tr> +<tr name="269" id="269"> +<td>269</td><td><span class="ct"> * '<a class="ct blk" blk_line="269"><S38></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Calculate_Phase_Voltages/Vc_Sectors_3_and_6'</span></td></tr> +<tr name="270" id="270"> +<td>270</td><td><span class="ct"> * '<a class="ct blk" blk_line="270"><S39></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Determine_Sector/Compare_VA_To_Zero'</span></td></tr> +<tr name="271" id="271"> +<td>271</td><td><span class="ct"> * '<a class="ct blk" blk_line="271"><S40></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Determine_Sector/Compare_VB_To_Zero'</span></td></tr> +<tr name="272" id="272"> +<td>272</td><td><span class="ct"> * '<a class="ct blk" blk_line="272"><S41></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Current_Control/Transform_Coordinates_dq_to_ABC/Alpha_Beta_to_ABC/Space_Vector_Modulation/Determine_Sector/Compare_VC_To_Zero'</span></td></tr> +<tr name="273" id="273"> +<td>273</td><td><span class="ct"> * '<a class="ct blk" blk_line="273"><S42></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Position_Control/Position_Control'</span></td></tr> +<tr name="274" id="274"> +<td>274</td><td><span class="ct"> * '<a class="ct blk" blk_line="274"><S43></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Position_Control/Wrap_Error_pi'</span></td></tr> +<tr name="275" id="275"> +<td>275</td><td><span class="ct"> * '<a class="ct blk" blk_line="275"><S44></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Position_Control/Position_Control/Clamping circuit'</span></td></tr> +<tr name="276" id="276"> +<td>276</td><td><span class="ct"> * '<a class="ct blk" blk_line="276"><S45></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Velocity_Control/Rotor_Speed_Control'</span></td></tr> +<tr name="277" id="277"> +<td>277</td><td><span class="ct"> * '<a class="ct blk" blk_line="277"><S46></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Field_Oriented_Controller/Velocity_Control/Rotor_Speed_Control/Clamping circuit'</span></td></tr> +<tr name="278" id="278"> +<td>278</td><td><span class="ct"> * '<a class="ct blk" blk_line="278"><S47></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Phase_Voltages_to_PWM_Compare_Values/Enumerated_Constant'</span></td></tr> +<tr name="279" id="279"> +<td>279</td><td><span class="ct"> * '<a class="ct blk" blk_line="279"><S48></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/ADC_Level_to_Phase_Current'</span></td></tr> +<tr name="280" id="280"> +<td>280</td><td><span class="ct"> * '<a class="ct blk" blk_line="280"><S49></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Encoder_To_Position'</span></td></tr> +<tr name="281" id="281"> +<td>281</td><td><span class="ct"> * '<a class="ct blk" blk_line="281"><S50></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity'</span></td></tr> +<tr name="282" id="282"> +<td>282</td><td><span class="ct"> * '<a class="ct blk" blk_line="282"><S51></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Startup_Open_Loop_Control'</span></td></tr> +<tr name="283" id="283"> +<td>283</td><td><span class="ct"> * '<a class="ct blk" blk_line="283"><S52></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Encoder_To_Position/Wait_For_Valid_Position'</span></td></tr> +<tr name="284" id="284"> +<td>284</td><td><span class="ct"> * '<a class="ct blk" blk_line="284"><S53></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Explicit_Angle_Wrap'</span></td></tr> +<tr name="285" id="285"> +<td>285</td><td><span class="ct"> * '<a class="ct blk" blk_line="285"><S54></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Explicit_Angle_Wrap_With_Error'</span></td></tr> +<tr name="286" id="286"> +<td>286</td><td><span class="ct"> * '<a class="ct blk" blk_line="286"><S55></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Implicit_Integer_Wrap_With_Error'</span></td></tr> +<tr name="287" id="287"> +<td>287</td><td><span class="ct"> * '<a class="ct blk" blk_line="287"><S56></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Explicit_Angle_Wrap_With_Error/Detect_Velocity_Error'</span></td></tr> +<tr name="288" id="288"> +<td>288</td><td><span class="ct"> * '<a class="ct blk" blk_line="288"><S57></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Explicit_Angle_Wrap_With_Error/Detect_Velocity_Error/Enumerated_Constant'</span></td></tr> +<tr name="289" id="289"> +<td>289</td><td><span class="ct"> * '<a class="ct blk" blk_line="289"><S58></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Explicit_Angle_Wrap_With_Error/Detect_Velocity_Error/Generate_Error'</span></td></tr> +<tr name="290" id="290"> +<td>290</td><td><span class="ct"> * '<a class="ct blk" blk_line="290"><S59></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Explicit_Angle_Wrap_With_Error/Detect_Velocity_Error/Generate_Error/Enumerated_Constant'</span></td></tr> +<tr name="291" id="291"> +<td>291</td><td><span class="ct"> * '<a class="ct blk" blk_line="291"><S60></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Implicit_Integer_Wrap_With_Error/Detect_Velocity_Error'</span></td></tr> +<tr name="292" id="292"> +<td>292</td><td><span class="ct"> * '<a class="ct blk" blk_line="292"><S61></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Implicit_Integer_Wrap_With_Error/Detect_Velocity_Error/Enumerated_Constant'</span></td></tr> +<tr name="293" id="293"> +<td>293</td><td><span class="ct"> * '<a class="ct blk" blk_line="293"><S62></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Implicit_Integer_Wrap_With_Error/Detect_Velocity_Error/Generate_Error'</span></td></tr> +<tr name="294" id="294"> +<td>294</td><td><span class="ct"> * '<a class="ct blk" blk_line="294"><S63></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Position_To_Velocity/Implicit_Integer_Wrap_With_Error/Detect_Velocity_Error/Generate_Error/Enumerated_Constant'</span></td></tr> +<tr name="295" id="295"> +<td>295</td><td><span class="ct"> * '<a class="ct blk" blk_line="295"><S64></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Startup_Open_Loop_Control/Enumerated Constant'</span></td></tr> +<tr name="296" id="296"> +<td>296</td><td><span class="ct"> * '<a class="ct blk" blk_line="296"><S65></a>' : 'rtwdemo_pmsmfoc/Motor_Control/Sensors_To_Engineering_Units/Startup_Open_Loop_Control/Open Loop Position'</span></td></tr> +<tr name="297" id="297"> +<td>297</td><td><span class="ct"> */</span></td></tr> +<tr name="298" id="298"> +<td>298</td><td></td></tr> +<tr name="299" id="299"> +<td>299</td><td><span class="ct">/*-</span></td></tr> +<tr name="300" id="300"> +<td>300</td><td><span class="ct"> * Requirements for '<a class="ct blk" blk_line="300"><Root></a>': rtwdemo_pmsmfoc</span></td></tr> +<tr name="301" id="301"> +<td>301</td><td><span class="ct"> */</span></td></tr> +<tr name="302" id="302"> +<td>302</td><td><span class="pp">#endif</span> <span class="ct">/* RTW_HEADER_rtwdemo_pmsmfoc_h_ */</span></td></tr> +<tr name="303" id="303"> +<td>303</td><td></td></tr> +<tr name="304" id="304"> +<td>304</td><td><span class="ct">/*</span></td></tr> +<tr name="305" id="305"> +<td>305</td><td><span class="ct"> * File trailer for generated code.</span></td></tr> +<tr name="306" id="306"> +<td>306</td><td><span class="ct"> *</span></td></tr> +<tr name="307" id="307"> +<td>307</td><td><span class="ct"> * [EOF]</span></td></tr> +<tr name="308" id="308"> +<td>308</td><td><span class="ct"> */</span></td></tr> +<tr name="309" id="309"> +<td>309</td><td></td></tr> +</table> +</pre> +</body> +</html>