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
html/html/rtwreport_utils.js@2:bbc155b0b886, 2014-11-25 (annotated)
- Committer:
- paulcox
- Date:
- Tue Nov 25 07:52:02 2014 +0000
- Revision:
- 2:bbc155b0b886
adding doc?
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
paulcox | 2:bbc155b0b886 | 1 | // Copyright 2011-2013 The MathWorks, Inc. |
paulcox | 2:bbc155b0b886 | 2 | |
paulcox | 2:bbc155b0b886 | 3 | |
paulcox | 2:bbc155b0b886 | 4 | function local_onload() { |
paulcox | 2:bbc155b0b886 | 5 | if (typeof top.rtwreport_document_frame !== "undefined") { |
paulcox | 2:bbc155b0b886 | 6 | var docObj = window.document; |
paulcox | 2:bbc155b0b886 | 7 | var alink = docObj.getElementById("linkToText_plain"); |
paulcox | 2:bbc155b0b886 | 8 | if (alink) { |
paulcox | 2:bbc155b0b886 | 9 | alink.href = "matlab:coder.internal.editUrlTextFile('" + alink.href + "')"; |
paulcox | 2:bbc155b0b886 | 10 | } |
paulcox | 2:bbc155b0b886 | 11 | alink = docObj.getElementById("linkToCS"); |
paulcox | 2:bbc155b0b886 | 12 | if (alink) { |
paulcox | 2:bbc155b0b886 | 13 | alink.href = "matlab:coder.internal.viewCodeConfigsetFromReport('" + alink.href + "');"; |
paulcox | 2:bbc155b0b886 | 14 | } |
paulcox | 2:bbc155b0b886 | 15 | } |
paulcox | 2:bbc155b0b886 | 16 | } |
paulcox | 2:bbc155b0b886 | 17 | |
paulcox | 2:bbc155b0b886 | 18 | var utils = (function() { |
paulcox | 2:bbc155b0b886 | 19 | |
paulcox | 2:bbc155b0b886 | 20 | // Load via Microsoft.XMLDOM--for older versions of IE |
paulcox | 2:bbc155b0b886 | 21 | function loadXML_MSXMLDOM(filename, callback, async) { |
paulcox | 2:bbc155b0b886 | 22 | if (navigator.appName == "Microsoft Internet Explorer") { |
paulcox | 2:bbc155b0b886 | 23 | // Internet Explorer 5/6 |
paulcox | 2:bbc155b0b886 | 24 | try { |
paulcox | 2:bbc155b0b886 | 25 | var xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); |
paulcox | 2:bbc155b0b886 | 26 | xmlDoc.async = async; |
paulcox | 2:bbc155b0b886 | 27 | xmlDoc.onreadystatechange = function() { |
paulcox | 2:bbc155b0b886 | 28 | if (xmlDoc.readyState == 4) { |
paulcox | 2:bbc155b0b886 | 29 | callback(xmlDoc); |
paulcox | 2:bbc155b0b886 | 30 | } |
paulcox | 2:bbc155b0b886 | 31 | } |
paulcox | 2:bbc155b0b886 | 32 | xmlDoc.load(filename); |
paulcox | 2:bbc155b0b886 | 33 | return true; |
paulcox | 2:bbc155b0b886 | 34 | } catch(e) { |
paulcox | 2:bbc155b0b886 | 35 | } |
paulcox | 2:bbc155b0b886 | 36 | } |
paulcox | 2:bbc155b0b886 | 37 | return false; |
paulcox | 2:bbc155b0b886 | 38 | } |
paulcox | 2:bbc155b0b886 | 39 | |
paulcox | 2:bbc155b0b886 | 40 | // Load via XMLHttpRequest |
paulcox | 2:bbc155b0b886 | 41 | function loadXML_XHR(filename, callback, async) { |
paulcox | 2:bbc155b0b886 | 42 | if (window.XMLHttpRequest) { |
paulcox | 2:bbc155b0b886 | 43 | try { |
paulcox | 2:bbc155b0b886 | 44 | var xhr = new XMLHttpRequest(); |
paulcox | 2:bbc155b0b886 | 45 | xhr.onreadystatechange = function() { |
paulcox | 2:bbc155b0b886 | 46 | if (this.readyState == 4) { |
paulcox | 2:bbc155b0b886 | 47 | callback(this.responseXML); |
paulcox | 2:bbc155b0b886 | 48 | } |
paulcox | 2:bbc155b0b886 | 49 | } |
paulcox | 2:bbc155b0b886 | 50 | xhr.open("GET", filename, async); |
paulcox | 2:bbc155b0b886 | 51 | xhr.send(""); |
paulcox | 2:bbc155b0b886 | 52 | return true; |
paulcox | 2:bbc155b0b886 | 53 | } catch(e) { |
paulcox | 2:bbc155b0b886 | 54 | if (navigator.appName === "Netscape" && e.code === 1012) { |
paulcox | 2:bbc155b0b886 | 55 | // file not found: ignore |
paulcox | 2:bbc155b0b886 | 56 | return true; |
paulcox | 2:bbc155b0b886 | 57 | } |
paulcox | 2:bbc155b0b886 | 58 | } |
paulcox | 2:bbc155b0b886 | 59 | } |
paulcox | 2:bbc155b0b886 | 60 | return false; |
paulcox | 2:bbc155b0b886 | 61 | } |
paulcox | 2:bbc155b0b886 | 62 | |
paulcox | 2:bbc155b0b886 | 63 | return { |
paulcox | 2:bbc155b0b886 | 64 | trimText: function(s) { |
paulcox | 2:bbc155b0b886 | 65 | // In IE9, String.trim not present |
paulcox | 2:bbc155b0b886 | 66 | if (s && s.trim) { |
paulcox | 2:bbc155b0b886 | 67 | return s.trim(); |
paulcox | 2:bbc155b0b886 | 68 | } |
paulcox | 2:bbc155b0b886 | 69 | else { |
paulcox | 2:bbc155b0b886 | 70 | return s; |
paulcox | 2:bbc155b0b886 | 71 | } |
paulcox | 2:bbc155b0b886 | 72 | }, |
paulcox | 2:bbc155b0b886 | 73 | getText: function(elt) { |
paulcox | 2:bbc155b0b886 | 74 | // In IE9, use 'text' property rather than 'textContent' |
paulcox | 2:bbc155b0b886 | 75 | return elt.textContent ? elt.textContent : elt.text; |
paulcox | 2:bbc155b0b886 | 76 | }, |
paulcox | 2:bbc155b0b886 | 77 | loadXML: function(filename, callback, options) { |
paulcox | 2:bbc155b0b886 | 78 | var async = !!options && typeof(options["async"]) !== "undefined" ? options.async : true; |
paulcox | 2:bbc155b0b886 | 79 | if (!loadXML_XHR(filename, callback, async)) { |
paulcox | 2:bbc155b0b886 | 80 | if (!loadXML_MSXMLDOM(filename, callback, async)) { |
paulcox | 2:bbc155b0b886 | 81 | return false; |
paulcox | 2:bbc155b0b886 | 82 | } |
paulcox | 2:bbc155b0b886 | 83 | } |
paulcox | 2:bbc155b0b886 | 84 | return true; |
paulcox | 2:bbc155b0b886 | 85 | } |
paulcox | 2:bbc155b0b886 | 86 | }; |
paulcox | 2:bbc155b0b886 | 87 | })(); |
paulcox | 2:bbc155b0b886 | 88 | |
paulcox | 2:bbc155b0b886 | 89 | function code2model(sid) { |
paulcox | 2:bbc155b0b886 | 90 | utils.loadXML("http://localhost:31415/matlab/feval/coder.internal.code2model?arguments=[\"" + sid + "\"]", function() {}); |
paulcox | 2:bbc155b0b886 | 91 | //window.location.href = "matlab:coder.internal.code2model('" + sid + "')"; |
paulcox | 2:bbc155b0b886 | 92 | } |