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

Committer:
paulcox
Date:
Tue Nov 25 07:52:02 2014 +0000
Revision:
2:bbc155b0b886
adding doc?

Who changed what in which revision?

UserRevisionLine numberNew contents of line
paulcox 2:bbc155b0b886 1 // Copyright 2011-2012 The MathWorks, Inc.
paulcox 2:bbc155b0b886 2
paulcox 2:bbc155b0b886 3 function RTW_STRUCT(prop, value) {
paulcox 2:bbc155b0b886 4 this.prop = prop;
paulcox 2:bbc155b0b886 5 if (typeof(value) == 'undefined')
paulcox 2:bbc155b0b886 6 this.value = "";
paulcox 2:bbc155b0b886 7 else
paulcox 2:bbc155b0b886 8 this.value = value;
paulcox 2:bbc155b0b886 9 }
paulcox 2:bbc155b0b886 10
paulcox 2:bbc155b0b886 11 // initialize the cache when code generation report is first loaded
paulcox 2:bbc155b0b886 12 function RTW_BOOK()
paulcox 2:bbc155b0b886 13 {
paulcox 2:bbc155b0b886 14 this.length = 0;
paulcox 2:bbc155b0b886 15 this.rtw_pages = new Array();
paulcox 2:bbc155b0b886 16 this.getPage = function(file) {
paulcox 2:bbc155b0b886 17 return this.rtw_pages[file];
paulcox 2:bbc155b0b886 18 }
paulcox 2:bbc155b0b886 19 this.addPage = function(file) {
paulcox 2:bbc155b0b886 20 var page;
paulcox 2:bbc155b0b886 21 if (this.hasPage(file)) {
paulcox 2:bbc155b0b886 22 page = this.rtw_pages[file];
paulcox 2:bbc155b0b886 23 } else {
paulcox 2:bbc155b0b886 24 page = new RTW_PAGE(file);
paulcox 2:bbc155b0b886 25 this.rtw_pages[file] = page;
paulcox 2:bbc155b0b886 26 }
paulcox 2:bbc155b0b886 27 return page;
paulcox 2:bbc155b0b886 28 }
paulcox 2:bbc155b0b886 29 this.hasPage = function(file) {
paulcox 2:bbc155b0b886 30 return typeof(this.rtw_pages[file]) != 'undefined';
paulcox 2:bbc155b0b886 31 }
paulcox 2:bbc155b0b886 32 this.removePage = function(file)
paulcox 2:bbc155b0b886 33 {
paulcox 2:bbc155b0b886 34 var tmp;
paulcox 2:bbc155b0b886 35 if (typeof(this.rtw_pages[file]) != 'undefined') {
paulcox 2:bbc155b0b886 36 tmp = this.rtw_pages[file];
paulcox 2:bbc155b0b886 37 delete this.rtw_pages[file];
paulcox 2:bbc155b0b886 38 this.length--;
paulcox 2:bbc155b0b886 39 }
paulcox 2:bbc155b0b886 40 return tmp;
paulcox 2:bbc155b0b886 41 }
paulcox 2:bbc155b0b886 42 }
paulcox 2:bbc155b0b886 43
paulcox 2:bbc155b0b886 44 if (!RTW_BOOK.instance) {
paulcox 2:bbc155b0b886 45 RTW_BOOK.instance = new RTW_BOOK();
paulcox 2:bbc155b0b886 46 }
paulcox 2:bbc155b0b886 47
paulcox 2:bbc155b0b886 48 function RTW_PAGE()
paulcox 2:bbc155b0b886 49 {
paulcox 2:bbc155b0b886 50 this.length = 0;
paulcox 2:bbc155b0b886 51 this.items = new Array();
paulcox 2:bbc155b0b886 52 this.pagename = '';
paulcox 2:bbc155b0b886 53 if (arguments.length > 0 && typeof(arguments[1])!='undefined') {
paulcox 2:bbc155b0b886 54 this.pagename = arguments[1];
paulcox 2:bbc155b0b886 55 }
paulcox 2:bbc155b0b886 56
paulcox 2:bbc155b0b886 57 this.getItem = function(id) {
paulcox 2:bbc155b0b886 58 return this.items[id];
paulcox 2:bbc155b0b886 59 }
paulcox 2:bbc155b0b886 60 this.getItems = function() {
paulcox 2:bbc155b0b886 61 return this.items;
paulcox 2:bbc155b0b886 62 }
paulcox 2:bbc155b0b886 63 this.addItem = function(id, value) {
paulcox 2:bbc155b0b886 64 var tmp;
paulcox 2:bbc155b0b886 65 if (typeof(value) != 'undefined') {
paulcox 2:bbc155b0b886 66 if (typeof(this.items[id]) != 'undefined') {
paulcox 2:bbc155b0b886 67 this.length++;
paulcox 2:bbc155b0b886 68 } else {
paulcox 2:bbc155b0b886 69 tmp = this.items[id];
paulcox 2:bbc155b0b886 70 }
paulcox 2:bbc155b0b886 71 this.items[id] = value;
paulcox 2:bbc155b0b886 72 this.length++;
paulcox 2:bbc155b0b886 73 }
paulcox 2:bbc155b0b886 74 return tmp;
paulcox 2:bbc155b0b886 75 }
paulcox 2:bbc155b0b886 76 this.hasItem = function(id) {
paulcox 2:bbc155b0b886 77 return typeof(this.items[id]) != 'undefined';
paulcox 2:bbc155b0b886 78 }
paulcox 2:bbc155b0b886 79 this.removeItem = function(id) {
paulcox 2:bbc155b0b886 80 var tmp;
paulcox 2:bbc155b0b886 81 if (typeof(this.items[id]) != 'undefined') {
paulcox 2:bbc155b0b886 82 tmp = this.items[id];
paulcox 2:bbc155b0b886 83 delete this.items[id];
paulcox 2:bbc155b0b886 84 this.length--;
paulcox 2:bbc155b0b886 85 }
paulcox 2:bbc155b0b886 86 return tmp;
paulcox 2:bbc155b0b886 87 }
paulcox 2:bbc155b0b886 88 }
paulcox 2:bbc155b0b886 89
paulcox 2:bbc155b0b886 90 function rtwTableShrink(doc, obj, id, isSymbol){
paulcox 2:bbc155b0b886 91 if (isSymbol) {
paulcox 2:bbc155b0b886 92 hide = "[-]";
paulcox 2:bbc155b0b886 93 hide_text = hide;
paulcox 2:bbc155b0b886 94 show = "[+]";
paulcox 2:bbc155b0b886 95 show_text = show;
paulcox 2:bbc155b0b886 96 } else {
paulcox 2:bbc155b0b886 97 hide = "[<u>hide</u>]";
paulcox 2:bbc155b0b886 98 hide_text = "[hide]";
paulcox 2:bbc155b0b886 99 show = "[<u>show</u>]";
paulcox 2:bbc155b0b886 100 show_text = "[show]";
paulcox 2:bbc155b0b886 101 }
paulcox 2:bbc155b0b886 102 hide = "<span class='shrink-button'>" + hide + "</span>";
paulcox 2:bbc155b0b886 103 show = "<span class='shrink-button'>" + show + "</span>";
paulcox 2:bbc155b0b886 104 if (doc.getElementsByName) {
paulcox 2:bbc155b0b886 105 var o = doc.getElementsByName(id);
paulcox 2:bbc155b0b886 106 for (var oid = 0; oid < o.length; ++oid) {
paulcox 2:bbc155b0b886 107 if (o[oid].style.display == "none") {
paulcox 2:bbc155b0b886 108 o[oid].style.display = "";
paulcox 2:bbc155b0b886 109 } else {
paulcox 2:bbc155b0b886 110 o[oid].style.display = "none";
paulcox 2:bbc155b0b886 111 }
paulcox 2:bbc155b0b886 112 }
paulcox 2:bbc155b0b886 113 if (o.length >= 0 && top && top.addToPage)
paulcox 2:bbc155b0b886 114 top.addToPage(doc, o[0], 'display');
paulcox 2:bbc155b0b886 115 }
paulcox 2:bbc155b0b886 116
paulcox 2:bbc155b0b886 117 // IE supports innerText while other browsers support textContent
paulcox 2:bbc155b0b886 118 if (obj.textContent)
paulcox 2:bbc155b0b886 119 var objText = obj.textContent;
paulcox 2:bbc155b0b886 120 else
paulcox 2:bbc155b0b886 121 var objText = obj.innerText;
paulcox 2:bbc155b0b886 122
paulcox 2:bbc155b0b886 123 if (objText.toLowerCase() == show_text.toLowerCase())
paulcox 2:bbc155b0b886 124 obj.innerHTML = hide;
paulcox 2:bbc155b0b886 125 else
paulcox 2:bbc155b0b886 126 obj.innerHTML = show;
paulcox 2:bbc155b0b886 127
paulcox 2:bbc155b0b886 128 if (top && top.addToPage)
paulcox 2:bbc155b0b886 129 top.addToPage(doc, obj, 'innerHTML');
paulcox 2:bbc155b0b886 130 }
paulcox 2:bbc155b0b886 131
paulcox 2:bbc155b0b886 132 function rtwTableExpand(doc, controlObj, id)
paulcox 2:bbc155b0b886 133 {
paulcox 2:bbc155b0b886 134 if (doc.getElementById) {
paulcox 2:bbc155b0b886 135 var obj = doc.getElementById(id);
paulcox 2:bbc155b0b886 136 if (obj && obj.style.display == "none") {
paulcox 2:bbc155b0b886 137 rtwTableShrink(doc, controlObj, id, false);
paulcox 2:bbc155b0b886 138 }
paulcox 2:bbc155b0b886 139 }
paulcox 2:bbc155b0b886 140 }
paulcox 2:bbc155b0b886 141
paulcox 2:bbc155b0b886 142 function restoreState(docObj) {
paulcox 2:bbc155b0b886 143 var filename = docObj.location.href;
paulcox 2:bbc155b0b886 144 if (RTW_BOOK.instance && RTW_BOOK.instance.hasPage(filename)) {
paulcox 2:bbc155b0b886 145 var page = RTW_BOOK.instance.getPage(filename);
paulcox 2:bbc155b0b886 146 var items = page.getItems();
paulcox 2:bbc155b0b886 147 var elem;
paulcox 2:bbc155b0b886 148 if (docObj.getElementsByName) {
paulcox 2:bbc155b0b886 149 for (var i in items) {
paulcox 2:bbc155b0b886 150 o = docObj.getElementsByName(i);
paulcox 2:bbc155b0b886 151 for (var oid = 0; oid < o.length; ++oid) {
paulcox 2:bbc155b0b886 152 elem = o[oid];
paulcox 2:bbc155b0b886 153 if (items[i].prop == 'display') {
paulcox 2:bbc155b0b886 154 if (elem.style.display == 'none')
paulcox 2:bbc155b0b886 155 elem.style.display = '';
paulcox 2:bbc155b0b886 156 else
paulcox 2:bbc155b0b886 157 elem.style.display = 'none';
paulcox 2:bbc155b0b886 158 } else if (items[i].prop == 'innerHTML') {
paulcox 2:bbc155b0b886 159 elem.innerHTML = items[i].value;
paulcox 2:bbc155b0b886 160 }
paulcox 2:bbc155b0b886 161 }
paulcox 2:bbc155b0b886 162 }
paulcox 2:bbc155b0b886 163 }
paulcox 2:bbc155b0b886 164 }
paulcox 2:bbc155b0b886 165 }
paulcox 2:bbc155b0b886 166
paulcox 2:bbc155b0b886 167 function addToPage(docObj, Obj, prop) {
paulcox 2:bbc155b0b886 168 var filename = docObj.location.href;
paulcox 2:bbc155b0b886 169 if (RTW_BOOK.instance) {
paulcox 2:bbc155b0b886 170 var page;
paulcox 2:bbc155b0b886 171 if (RTW_BOOK.instance.hasPage(filename))
paulcox 2:bbc155b0b886 172 page = RTW_BOOK.instance.getPage(filename);
paulcox 2:bbc155b0b886 173 else
paulcox 2:bbc155b0b886 174 page = RTW_BOOK.instance.addPage(filename);
paulcox 2:bbc155b0b886 175 if (page.hasItem(Obj.id))
paulcox 2:bbc155b0b886 176 page.removeItem(Obj.id);
paulcox 2:bbc155b0b886 177 else {
paulcox 2:bbc155b0b886 178 if (prop == "display")
paulcox 2:bbc155b0b886 179 my_struct = new RTW_STRUCT(prop, Obj.style.display);
paulcox 2:bbc155b0b886 180 else
paulcox 2:bbc155b0b886 181 my_struct = new RTW_STRUCT(prop, Obj.innerHTML);
paulcox 2:bbc155b0b886 182 page.addItem(Obj.id, my_struct);
paulcox 2:bbc155b0b886 183 }
paulcox 2:bbc155b0b886 184 }
paulcox 2:bbc155b0b886 185 }
paulcox 2:bbc155b0b886 186
paulcox 2:bbc155b0b886 187 function rtwSwitchView(doc, obj1, obj2) {
paulcox 2:bbc155b0b886 188 if (doc.getElementsByName) {
paulcox 2:bbc155b0b886 189 var o = doc.getElementsByName(obj1);
paulcox 2:bbc155b0b886 190 for (var oid = 0; oid < o.length; ++oid) {
paulcox 2:bbc155b0b886 191 o[oid].style.display = "none";
paulcox 2:bbc155b0b886 192 }
paulcox 2:bbc155b0b886 193 if (o.length >= 0 && top && top.addToPage)
paulcox 2:bbc155b0b886 194 top.addToPage(doc, o[0], 'display');
paulcox 2:bbc155b0b886 195 var o = doc.getElementsByName(obj2);
paulcox 2:bbc155b0b886 196 for (var oid = 0; oid < o.length; ++oid) {
paulcox 2:bbc155b0b886 197 o[oid].style.display = "";
paulcox 2:bbc155b0b886 198 }
paulcox 2:bbc155b0b886 199 if (o.length >= 0 && top && top.addToPage)
paulcox 2:bbc155b0b886 200 top.addToPage(doc, o[0], 'display');
paulcox 2:bbc155b0b886 201 }
paulcox 2:bbc155b0b886 202 }