var NAVTREE = [ [ "CMSIS-Pack", "index.html", [ [ "Software Pack Use Cases", "index.html#SWPackVariants", null ], [ "Revision History of CMSIS-Pack", "pack_revisionHistory.html", null ], [ "Software Packs Overview", "cp_Packs.html", [ [ "Pack Conventions", "cp_Packs.html#PackFilenames", [ [ "Pack File Name", "cp_Packs.html#pack_filename", null ], [ "Software Component Cclasses", "cp_Packs.html#pack_Cclass", null ] ] ], [ "Steps to Create a Pack", "cp_Packs.html#cp_PackSteps", null ], [ "Pack Tutorial", "cp_Packs.html#PackTutorials", null ] ] ], [ "Pack with Software Components", "cp_SWComponents.html", [ [ "Create PDSC File", "cp_SWComponents.html#cp_CreatePDSC", null ], [ "Generate a Pack", "cp_SWComponents.html#cp_GeneratePack", null ], [ "Software Components", "cp_SWComponents.html#cp_Components", null ], [ "Conditions", "cp_SWComponents.html#cp_Conditions", null ], [ "Variants", "cp_SWComponents.html#cp_Variants", null ], [ "RTE_Components.h", "cp_SWComponents.html#cp_RTEComponents_h", null ], [ "Bundles", "cp_SWComponents.html#cp_Bundles", null ], [ "Instances", "cp_SWComponents.html#cp_Instances", null ], [ "API Interface", "cp_SWComponents.html#cp_API", null ], [ "User Code Templates", "cp_SWComponents.html#cp_CodeTemplates", null ], [ "Example Projects", "cp_SWComponents.html#cp_Examples", null ] ] ], [ "Pack with Device Support", "createPack_DFP.html", [ [ "Basic Device Family Pack", "createPack_DFP.html#cp_BasicDFP", null ], [ "System and Startup Files", "createPack_DFP.html#cp_System_Startp", null ], [ "System View Description File", "createPack_DFP.html#cp_SVD", null ], [ "Flash Programming Algorithms", "createPack_DFP.html#cp_FlashProgrammingAlgorithm", null ], [ "Debug Descriptions", "createPack_DFP.html#cp_debugdescription", null ], [ "Device Properties", "createPack_DFP.html#cp_DeviceProperties", [ [ "Device Specific Software Components", "createPack_DFP.html#cp_DeviceSWComp", null ] ] ] ] ], [ "Pack with Board Support", "createPackBoard.html", [ [ "Specify a Development Board", "createPackBoard.html#cp_SpecDevBoard", null ], [ "Create a BSP Bundle", "createPackBoard.html#cp_BundleExample", null ] ] ], [ "Pack Example", "pack_Example.html", null ], [ "Utilities for Creating Packs", "createPackUtil.html", "createPackUtil" ], [ "Publish a Pack", "createPackPublish.html", [ [ "Local Installation", "createPackPublish.html#cp_LocalInstallation", null ], [ "Web Download", "createPackPublish.html#cp_WebDownload", null ], [ "Publishing on www.keil.com/pack", "createPackPublish.html#cp_KeilComPack", null ], [ "Moving a pack from one URL to another", "createPackPublish.html#cp_PackRehosting", null ] ] ], [ "Pack Description (*.pdsc) Format", "packFormat.html", "packFormat" ], [ "Configuration Wizard Annotations", "configWizard.html", [ [ "Annotation Rules", "configWizard.html#configWizard_annotations", null ], [ "Code Example", "configWizard.html#configWizard_codeExample", null ], [ "Tool-specific display", "configWizard.html#configWizard_display", null ] ] ], [ "Flash Programming", "flashAlgorithm.html", "flashAlgorithm" ], [ "Debug Setup with CMSIS-Pack", "coresight_setup.html", "coresight_setup" ], [ "Project Description (*.cpdsc) Format", "cpdsc_pg.html", [ [ "Definition of CMSIS project", "cpdsc_pg.html#cpdsc_definition", null ], [ "CPDSC top level structure", "cpdsc_pg.html#cpdsc_structure", null ], [ "/package (for CPDSC)", "cpdsc_pg.html#element_package_cpdsc", null ], [ "/package/create", "cpdsc_pg.html#cpdsc_create_pg", null ], [ "/package/create/project", "cpdsc_pg.html#element_project", null ], [ "/package/create/project/target", "cpdsc_pg.html#cpdsc_target_pg", null ], [ "/package/create/project/target/algorithm", "cpdsc_pg.html#element_target_algorithm", null ], [ "/package/create/project/target/debugProbe", "cpdsc_pg.html#element_debugProbe", null ], [ "/package/create/project/target/memory", "cpdsc_pg.html#element_target_memory", null ], [ "/package/create/project/target/output", "cpdsc_pg.html#element_output", null ], [ "/package/create/project/select", "cpdsc_pg.html#cpdsc_select_pg", null ], [ "/package/create/project/select/component", "cpdsc_pg.html#element_project_component", null ], [ "/package/create/project/select/component/file", "cpdsc_pg.html#element_component_file", null ], [ "/package/create/project/files", "cpdsc_pg.html#cpdsc_files_pg", null ], [ "/package/project/create/files/.../file", "cpdsc_pg.html#element_project_file", null ], [ "/package/create/project/files/.../group", "cpdsc_pg.html#element_project_group", null ] ] ], [ "System Description File (*.SDF) Format", "sdf_pg.html", [ [ "SDF top level structure", "sdf_pg.html#sdf_structure", null ], [ "/system_description", "sdf_pg.html#sdf_element_system_description", null ], [ "/system_description/debug_and_trace_config", "sdf_pg.html#sdf_element_debug_and_trace_config", null ], [ "/system_description/debug_and_trace_config/debug", "sdf_pg.html#sdf_element_debug", null ], [ "/system_description/.../config_item", "sdf_pg.html#sdf_element_config_item", null ], [ "/system_description/debug_and_trace_config/trace", "sdf_pg.html#sdf_element_trace", null ], [ "/system_description/debug_and_trace_config/trace/trace_capture", "sdf_pg.html#sdf_element_trace_capture", null ], [ "/system_description/platform", "sdf_pg.html#sdf_element_platform", null ], [ "/system_description/platform/scanchain", "sdf_pg.html#sdf_element_scanchain", null ], [ "/system_description/platform/scanchain/dap", "sdf_pg.html#sdf_element_dap", null ], [ "/system_description/platform/scanchain/device", "sdf_pg.html#sdf_element_device", null ], [ "/system_description/platform/scanchain/../../config_items", "sdf_pg.html#sdf_element_config_items", null ], [ "/system_description/platform/scanchain/../../device_info_items", "sdf_pg.html#sdf_element_device_info_items", null ], [ "/system_description/platform/scanchain/../../device_info_items/device_info_item", "sdf_pg.html#sdf_element_device_info_item", null ], [ "/system_description/platform/topology", "sdf_pg.html#sdf_element_topology", null ], [ "/system_description/platform/topology/topology_link", "sdf_pg.html#sdf_element_topology_link", null ], [ "/system_description/platform/clusters", "sdf_pg.html#sdf_element_clusters", null ], [ "/system_description/platform/clusters/cluster", "sdf_pg.html#sdf_element_cluster", null ] ] ], [ "CMSIS-Pack Index Files", "packIndexFile.html", [ [ "Package Index File (pidx)", "packIndexFile.html#pidxFile", null ], [ "Vendor Index File (vidx)", "packIndexFile.html#vidxFile", null ], [ "CMSIS-Pack Index Schema File", "packIndexFile.html#packIndexSchema", null ] ] ] ] ] ]; var NAVTREEINDEX = [ "algorithmFunc.html" ]; var SYNCONMSG = 'click to disable panel synchronisation'; var SYNCOFFMSG = 'click to enable panel synchronisation'; var SYNCONMSG = 'click to disable panel synchronisation'; var SYNCOFFMSG = 'click to enable panel synchronisation'; var navTreeSubIndices = new Array(); function getData(varName) { var i = varName.lastIndexOf('/'); var n = i>=0 ? varName.substring(i+1) : varName; return eval(n.replace(/\-/g,'_')); } function stripPath(uri) { return uri.substring(uri.lastIndexOf('/')+1); } function stripPath2(uri) { var i = uri.lastIndexOf('/'); var s = uri.substring(i+1); var m = uri.substring(0,i+1).match(/\/d\w\/d\w\w\/$/); return m ? uri.substring(i-6) : s; } function localStorageSupported() { try { return 'localStorage' in window && window['localStorage'] !== null && window.localStorage.getItem; } catch(e) { return false; } } function storeLink(link) { if (!$("#nav-sync").hasClass('sync') && localStorageSupported()) { window.localStorage.setItem('navpath',link); } } function deleteLink() { if (localStorageSupported()) { window.localStorage.setItem('navpath',''); } } function cachedLink() { if (localStorageSupported()) { return window.localStorage.getItem('navpath'); } else { return ''; } } function getScript(scriptName,func,show) { var head = document.getElementsByTagName("head")[0]; var script = document.createElement('script'); script.id = scriptName; script.type = 'text/javascript'; script.onload = func; script.src = scriptName+'.js'; if ($.browser.msie && $.browser.version<=8) { // script.onload does not work with older versions of IE script.onreadystatechange = function() { if (script.readyState=='complete' || script.readyState=='loaded') { func(); if (show) showRoot(); } } } head.appendChild(script); } function createIndent(o,domNode,node,level) { var level=-1; var n = node; while (n.parentNode) { level++; n=n.parentNode; } if (node.childrenData) { var imgNode = document.createElement("img"); imgNode.style.paddingLeft=(16*level).toString()+'px'; imgNode.width = 16; imgNode.height = 22; imgNode.border = 0; node.plus_img = imgNode; node.expandToggle = document.createElement("a"); node.expandToggle.href = "javascript:void(0)"; node.expandToggle.onclick = function() { if (node.expanded) { $(node.getChildrenUL()).slideUp("fast"); node.plus_img.src = node.relpath+"ftv2pnode.png"; node.expanded = false; } else { expandNode(o, node, false, false); } } node.expandToggle.appendChild(imgNode); domNode.appendChild(node.expandToggle); imgNode.src = node.relpath+"ftv2pnode.png"; } else { var span = document.createElement("span"); span.style.display = 'inline-block'; span.style.width = 16*(level+1)+'px'; span.style.height = '22px'; span.innerHTML = ' '; domNode.appendChild(span); } } var animationInProgress = false; function gotoAnchor(anchor,aname,updateLocation) { var pos, docContent = $('#doc-content'); if (anchor.parent().attr('class')=='memItemLeft' || anchor.parent().attr('class')=='fieldtype' || anchor.parent().is(':header')) { pos = anchor.parent().position().top; } else if (anchor.position()) { pos = anchor.position().top; } if (pos) { var dist = Math.abs(Math.min( pos-docContent.offset().top, docContent[0].scrollHeight- docContent.height()-docContent.scrollTop())); animationInProgress=true; docContent.animate({ scrollTop: pos + docContent.scrollTop() - docContent.offset().top },Math.max(50,Math.min(500,dist)),function(){ if (updateLocation) window.location.href=aname; animationInProgress=false; }); } } function newNode(o, po, text, link, childrenData, lastNode) { var node = new Object(); node.children = Array(); node.childrenData = childrenData; node.depth = po.depth + 1; node.relpath = po.relpath; node.isLast = lastNode; node.li = document.createElement("li"); po.getChildrenUL().appendChild(node.li); node.parentNode = po; node.itemDiv = document.createElement("div"); node.itemDiv.className = "item"; node.labelSpan = document.createElement("span"); node.labelSpan.className = "label"; createIndent(o,node.itemDiv,node,0); node.itemDiv.appendChild(node.labelSpan); node.li.appendChild(node.itemDiv); var a = document.createElement("a"); node.labelSpan.appendChild(a); node.label = document.createTextNode(text); node.expanded = false; a.appendChild(node.label); if (link) { var url; if (link.substring(0,1)=='^') { url = link.substring(1); link = url; } else { url = node.relpath+link; } a.className = stripPath(link.replace('#',':')); if (link.indexOf('#')!=-1) { var aname = '#'+link.split('#')[1]; var srcPage = stripPath($(location).attr('pathname')); var targetPage = stripPath(link.split('#')[0]); a.href = srcPage!=targetPage ? url : "javascript:void(0)"; a.onclick = function(){ storeLink(link); if (!$(a).parent().parent().hasClass('selected')) { $('.item').removeClass('selected'); $('.item').removeAttr('id'); $(a).parent().parent().addClass('selected'); $(a).parent().parent().attr('id','selected'); } var anchor = $(aname); gotoAnchor(anchor,aname,true); }; } else { a.href = url; a.onclick = function() { storeLink(link); } } } else { if (childrenData != null) { a.className = "nolink"; a.href = "javascript:void(0)"; a.onclick = node.expandToggle.onclick; } } node.childrenUL = null; node.getChildrenUL = function() { if (!node.childrenUL) { node.childrenUL = document.createElement("ul"); node.childrenUL.className = "children_ul"; node.childrenUL.style.display = "none"; node.li.appendChild(node.childrenUL); } return node.childrenUL; }; return node; } function showRoot() { var headerHeight = $("#top").height(); var footerHeight = $("#nav-path").height(); var windowHeight = $(window).height() - headerHeight - footerHeight; (function (){ // retry until we can scroll to the selected item try { var navtree=$('#nav-tree'); navtree.scrollTo('#selected',0,{offset:-windowHeight/2}); } catch (err) { setTimeout(arguments.callee, 0); } })(); } function expandNode(o, node, imm, showRoot) { if (node.childrenData && !node.expanded) { if (typeof(node.childrenData)==='string') { var varName = node.childrenData; getScript(node.relpath+varName,function(){ node.childrenData = getData(varName); expandNode(o, node, imm, showRoot); }, showRoot); } else { if (!node.childrenVisited) { getNode(o, node); } if (imm || ($.browser.msie && $.browser.version>8)) { // somehow slideDown jumps to the start of tree for IE9 :-( $(node.getChildrenUL()).show(); } else { $(node.getChildrenUL()).slideDown("fast"); } if (node.isLast) { node.plus_img.src = node.relpath+"ftv2mlastnode.png"; } else { node.plus_img.src = node.relpath+"ftv2mnode.png"; } node.expanded = true; } } } function glowEffect(n,duration) { n.addClass('glow').delay(duration).queue(function(next){ $(this).removeClass('glow');next(); }); } function highlightAnchor() { var aname = $(location).attr('hash'); var anchor = $(aname); if (anchor.parent().attr('class')=='memItemLeft'){ var rows = $('.memberdecls tr[class$="'+ window.location.hash.substring(1)+'"]'); glowEffect(rows.children(),300); // member without details } else if (anchor.parents().slice(2).prop('tagName')=='TR') { glowEffect(anchor.parents('div.memitem'),1000); // enum value } else if (anchor.parent().attr('class')=='fieldtype'){ glowEffect(anchor.parent().parent(),1000); // struct field } else if (anchor.parent().is(":header")) { glowEffect(anchor.parent(),1000); // section header } else { glowEffect(anchor.next(),1000); // normal member } gotoAnchor(anchor,aname,false); } function selectAndHighlight(hash,n) { var a; if (hash) { var link=stripPath($(location).attr('pathname'))+':'+hash.substring(1); a=$('.item a[class$="'+link+'"]'); } if (a && a.length) { a.parent().parent().addClass('selected'); a.parent().parent().attr('id','selected'); highlightAnchor(); } else if (n) { $(n.itemDiv).addClass('selected'); $(n.itemDiv).attr('id','selected'); } if ($('#nav-tree-contents .item:first').hasClass('selected')) { $('#nav-sync').css('top','30px'); } else { $('#nav-sync').css('top','5px'); } showRoot(); } function showNode(o, node, index, hash) { if (node && node.childrenData) { if (typeof(node.childrenData)==='string') { var varName = node.childrenData; getScript(node.relpath+varName,function(){ node.childrenData = getData(varName); showNode(o,node,index,hash); },true); } else { if (!node.childrenVisited) { getNode(o, node); } $(node.getChildrenUL()).css({'display':'block'}); if (node.isLast) { node.plus_img.src = node.relpath+"ftv2mlastnode.png"; } else { node.plus_img.src = node.relpath+"ftv2mnode.png"; } node.expanded = true; var n = node.children[o.breadcrumbs[index]]; if (index+11) hash = '#'+parts[1]; else hash=''; } if (hash.match(/^#l\d+$/)) { var anchor=$('a[name='+hash.substring(1)+']'); glowEffect(anchor.parent(),1000); // line number hash=''; // strip line number anchors //root=root.replace(/_source\./,'.'); // source link to doc link } var url=root+hash; var i=-1; while (NAVTREEINDEX[i+1]<=url) i++; if (i==-1) { i=0; root=NAVTREE[0][1]; } // fallback: show index if (navTreeSubIndices[i]) { gotoNode(o,i,root,hash,relpath) } else { getScript(relpath+'navtreeindex'+i,function(){ navTreeSubIndices[i] = eval('NAVTREEINDEX'+i); if (navTreeSubIndices[i]) { gotoNode(o,i,root,hash,relpath); } },true); } } function showSyncOff(n,relpath) { n.html(''); } function showSyncOn(n,relpath) { n.html(''); } function toggleSyncButton(relpath) { var navSync = $('#nav-sync'); if (navSync.hasClass('sync')) { navSync.removeClass('sync'); showSyncOff(navSync,relpath); storeLink(stripPath2($(location).attr('pathname'))+$(location).attr('hash')); } else { navSync.addClass('sync'); showSyncOn(navSync,relpath); deleteLink(); } } function initNavTree(toroot,relpath) { var o = new Object(); o.toroot = toroot; o.node = new Object(); o.node.li = document.getElementById("nav-tree-contents"); o.node.childrenData = NAVTREE; o.node.children = new Array(); o.node.childrenUL = document.createElement("ul"); o.node.getChildrenUL = function() { return o.node.childrenUL; }; o.node.li.appendChild(o.node.childrenUL); o.node.depth = 0; o.node.relpath = relpath; o.node.expanded = false; o.node.isLast = true; o.node.plus_img = document.createElement("img"); o.node.plus_img.src = relpath+"ftv2pnode.png"; o.node.plus_img.width = 16; o.node.plus_img.height = 22; if (localStorageSupported()) { var navSync = $('#nav-sync'); if (cachedLink()) { showSyncOff(navSync,relpath); navSync.removeClass('sync'); } else { showSyncOn(navSync,relpath); } navSync.click(function(){ toggleSyncButton(relpath); }); } $(window).load(function(){ navTo(o,toroot,window.location.hash,relpath); showRoot(); }); $(window).bind('hashchange', function(){ if (window.location.hash && window.location.hash.length>1){ var a; if ($(location).attr('hash')){ var clslink=stripPath($(location).attr('pathname'))+':'+ $(location).attr('hash').substring(1); a=$('.item a[class$="'+clslink+'"]'); } if (a==null || !$(a).parent().parent().hasClass('selected')){ $('.item').removeClass('selected'); $('.item').removeAttr('id'); } var link=stripPath2($(location).attr('pathname')); navTo(o,link,$(location).attr('hash'),relpath); } else if (!animationInProgress) { $('#doc-content').scrollTop(0); $('.item').removeClass('selected'); $('.item').removeAttr('id'); navTo(o,toroot,window.location.hash,relpath); } }) }