Updated Documentation to Doxygen 1.9.2 and new layout.

pull/32/head
Vladimir Marchenko 4 years ago
parent 532e97c225
commit 155759586a

@ -29,21 +29,21 @@ jobs:
sudo apt-get install --no-install-recommends -y libclang1-9 libclang-cpp1-9 p7zip libxml2-utils
sudo pip install LinkChecker
- name: Install Doxygen 1.8.6
run: |
wget http://archive.ubuntu.com/ubuntu/pool/main/d/doxygen/doxygen_1.8.6-2_amd64.deb
sudo dpkg -i doxygen_1.8.6-2_amd64.deb
which doxygen
doxygen --version
# - name: Install doxygen 1.9.2
# - name: Install Doxygen 1.8.6
# run: |
# wget https://doxygen.nl/files/doxygen-1.9.2.linux.bin.tar.gz
# sudo tar -C /opt -xf doxygen-1.9.2.linux.bin.tar.gz
# sudo ln -s /opt/doxygen-1.9.2/bin/doxygen /usr/local/bin/
# wget http://archive.ubuntu.com/ubuntu/pool/main/d/doxygen/doxygen_1.8.6-2_amd64.deb
# sudo dpkg -i doxygen_1.8.6-2_amd64.deb
# which doxygen
# doxygen --version
- name: Install doxygen 1.9.2
run: |
wget https://doxygen.nl/files/doxygen-1.9.2.linux.bin.tar.gz
sudo tar -C /opt -xf doxygen-1.9.2.linux.bin.tar.gz
sudo ln -s /opt/doxygen-1.9.2/bin/doxygen /usr/local/bin/
which doxygen
doxygen --version
- name: Install PackChk 1.3.95
run: |
wget https://github.com/Open-CMSIS-Pack/devtools/releases/download/tools%2Fpackchk%2F1.3.95/packchk-1.3.95-linux64.zip

File diff suppressed because it is too large Load Diff

@ -5,7 +5,7 @@
#
# Pre-requisites:
# - bash shell (for Windows: install git for Windows)
# - doxygen 1.8.6
# - doxygen 1.9.2
set -o pipefail
@ -22,8 +22,8 @@ if [[ ! -f "${DOXYGEN}" ]]; then
else
version=$("${DOXYGEN}" --version)
echo "DOXYGEN is ${DOXYGEN} at version ${version}"
if [[ "${version}" != "1.8.6" ]]; then
echo " >> Version is different from 1.8.6 !" >&2
if [[ "${version}" != "1.9.2" ]]; then
echo " >> Version is different from 1.9.2 !" >&2
fi
fi

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.7 KiB

@ -1,36 +1,54 @@
<doxygenlayout version="1.0">
<!-- Generated by doxygen 1.9.2 -->
<!-- Navigation index tabs for HTML output -->
<navindex>
<tab type="mainpage" visible="yes" title=""/>
<tab type="pages" visible="yes" title="Usage and Description" intro=""/>
<tab type="modules" visible="yes" title="Reference" intro=""/>
<tab type="modules" visible="yes" title=" API Reference" intro=""/>
<tab type="namespaces" visible="no" title="Namespaces">
<tab type="namespacelist" visible="no" title="" intro=""/>
<tab type="namespacemembers" visible="no" title="" intro=""/>
<tab type="namespacelist" visible="no" title="Namespace list" intro=""/>
<tab type="namespacemembers" visible="no" title="Namespace members" intro=""/>
</tab>
<tab type="concepts" visible="yes" title="">
</tab>
<tab type="interfaces" visible="no" title="">
<tab type="interfacelist" visible="no" title="" intro=""/>
<tab type="interfaceindex" visible="no" title=""/>
<tab type="interfacehierarchy" visible="no" title="" intro=""/>
</tab>
<tab type="classes" visible="no" title="Data Structures">
<tab type="classlist" visible="yes" title="" intro=""/>
<tab type="classindex" visible="$ALPHABETICAL_INDEX" title=""/>
<tab type="classindex" visible="$ALPHABETICAL_INDEX" title=""/>
<tab type="hierarchy" visible="yes" title="" intro=""/>
<tab type="classmembers" visible="yes" title="" intro=""/>
</tab>
<tab type="structs" visible="no" title="">
<tab type="structlist" visible="no" title="" intro=""/>
<tab type="structindex" visible="no" title=""/>
</tab>
<tab type="exceptions" visible="no" title="">
<tab type="exceptionlist" visible="no" title="" intro=""/>
<tab type="exceptionindex" visible="$ALPHABETICAL_INDEX" title=""/>
<tab type="exceptionhierarchy" visible="no" title="" intro=""/>
</tab>
<tab type="files" visible="no" title="Files">
<tab type="filelist" visible="no" title="" intro=""/>
<tab type="globals" visible="no" title="" intro=""/>
</tab>
<tab type="examples" visible="no" title="" intro=""/>
<tab type="examples" visible="no" title="" intro=""/>
</navindex>
<!-- Layout definition for a class page -->
<class>
<briefdescription visible="yes"/>
<includes visible="$SHOW_INCLUDE_FILES"/>
<includes visible="$SHOW_HEADERFILE"/>
<inheritancegraph visible="$CLASS_GRAPH"/>
<collaborationgraph visible="$COLLABORATION_GRAPH"/>
<allmemberslink visible="yes"/>
<memberdecl>
<nestedclasses visible="yes" title=""/>
<publictypes title=""/>
<services title=""/>
<interfaces title=""/>
<publicslots title=""/>
<signals title=""/>
<publicmethods title=""/>
@ -65,6 +83,8 @@
<inlineclasses title=""/>
<typedefs title=""/>
<enums title=""/>
<services title=""/>
<interfaces title=""/>
<constructors title=""/>
<functions title=""/>
<related title=""/>
@ -72,6 +92,7 @@
<properties title=""/>
<events title=""/>
</memberdef>
<allmemberslink visible="yes"/>
<usedfiles visible="$SHOW_USED_FILES"/>
<authorsection visible="yes"/>
</class>
@ -81,17 +102,26 @@
<briefdescription visible="yes"/>
<memberdecl>
<nestednamespaces visible="yes" title=""/>
<constantgroups visible="yes" title=""/>
<interfaces visible="yes" title=""/>
<classes visible="yes" title=""/>
<concepts visible="yes" title=""/>
<structs visible="yes" title=""/>
<exceptions visible="yes" title=""/>
<typedefs title=""/>
<sequences title=""/>
<dictionaries title=""/>
<enums title=""/>
<functions title=""/>
<variables title=""/>
<membergroups visible="yes"/>
</memberdecl>
<detaileddescription title="Description"/>
<detaileddescription title=""/>
<memberdef>
<inlineclasses title=""/>
<typedefs title=""/>
<sequences title=""/>
<dictionaries title=""/>
<enums title=""/>
<functions title=""/>
<variables title=""/>
@ -99,6 +129,14 @@
<authorsection visible="yes"/>
</namespace>
<!-- Layout definition for a concept page -->
<concept>
<briefdescription visible="yes"/>
<includes visible="$SHOW_HEADERFILE"/>
<definition visible="yes" title=""/>
<detaileddescription title=""/>
<authorsection visible="yes"/>
</concept>
<!-- Layout definition for a file page -->
<file>
<briefdescription visible="yes"/>
@ -107,20 +145,29 @@
<includedbygraph visible="$INCLUDED_BY_GRAPH"/>
<sourcelink visible="yes"/>
<memberdecl>
<interfaces visible="yes" title=""/>
<classes visible="yes" title=""/>
<structs visible="yes" title=""/>
<exceptions visible="yes" title=""/>
<namespaces visible="yes" title=""/>
<concepts visible="yes" title=""/>
<constantgroups visible="yes" title=""/>
<defines title=""/>
<typedefs title=""/>
<sequences title=""/>
<dictionaries title=""/>
<enums title=""/>
<functions title=""/>
<variables title=""/>
<membergroups visible="yes"/>
</memberdecl>
<detaileddescription title="Description"/>
<detaileddescription title=""/>
<memberdef>
<inlineclasses title=""/>
<defines title=""/>
<typedefs title=""/>
<sequences title=""/>
<dictionaries title=""/>
<enums title=""/>
<functions title=""/>
<variables title=""/>
@ -137,9 +184,12 @@
<dirs visible="yes" title=""/>
<files visible="yes" title=""/>
<namespaces visible="yes" title=""/>
<concepts visible="yes" title=""/>
<classes visible="yes" title=""/>
<defines title=""/>
<typedefs title=""/>
<sequences title=""/>
<dictionaries title=""/>
<enums title=""/>
<enumvalues title=""/>
<functions title=""/>
@ -159,6 +209,8 @@
<inlineclasses title=""/>
<defines title=""/>
<typedefs title=""/>
<sequences title=""/>
<dictionaries title=""/>
<enums title=""/>
<enumvalues title=""/>
<functions title=""/>

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

@ -1,61 +1,78 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- HTML header for doxygen 1.9.2-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>$title</title>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<!--BEGIN PROJECT_NAME--><title>$projectname: $title</title><!--END PROJECT_NAME-->
<!--BEGIN !PROJECT_NAME--><title>$title</title><!--END !PROJECT_NAME-->
<link href="$relpath$tabs.css" rel="stylesheet" type="text/css"/>
<link href="$relpath$cmsis.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="$relpath$jquery.js"></script>
<script type="text/javascript" src="$relpath$dynsections.js"></script>
<script type="text/javascript" src="$relpath$footer.js"></script>
<link href="$relpath^tabs.css" rel="stylesheet" type="text/css"/>
<!--BEGIN DISABLE_INDEX-->
<!--BEGIN FULL_SIDEBAR-->
<script type="text/javascript">var page_layout=1;</script>
<!--END FULL_SIDEBAR-->
<!--END DISABLE_INDEX-->
<script type="text/javascript" src="$relpath^jquery.js"></script>
<script type="text/javascript" src="$relpath^dynsections.js"></script>
<script type="text/javascript" src="$relpath^printComponentTabs.js"></script>
<script type="text/javascript" src="$relpath^footer.js"></script>
$treeview
$search
$mathjax
<link href="../version.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../version.js"></script>
<link href="$relpath^$extra_stylesheet" rel="stylesheet" type="text/css" />
$extrastylesheet
</head>
<body>
<!--BEGIN DISABLE_INDEX-->
<!--BEGIN FULL_SIDEBAR-->
<div id="side-nav" class="ui-resizable side-nav-resizable"><!-- do not remove this div, it is closed by doxygen! -->
<!--END FULL_SIDEBAR-->
<!--END DISABLE_INDEX-->
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<!--BEGIN TITLEAREA-->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 46px;">
<tr style="height: 55px;">
<!--BEGIN PROJECT_LOGO-->
<td id="projectlogo"><img alt="Logo" src="$relpath$$projectlogo"/></td>
<td id="projectlogo" style="padding: 1.5em;"><img alt="Logo" src="$relpath^$projectlogo"/></td>
<!--END PROJECT_LOGO-->
<td style="padding-left: 1em; padding-bottom: 1em;padding-top: 1em;">
<!--BEGIN PROJECT_NAME-->
<td style="padding-left: 0.5em;">
<div id="projectname">$projectname
<!--BEGIN PROJECT_NUMBER-->&#160;<span id="projectnumber" class=""><script type="text/javascript">
<!--
writeHeader.call(this);
writeVersionDropdown(this);
//-->
</script>
</span><!--END PROJECT_NUMBER-->
<!--END PROJECT_NAME-->
<!--BEGIN PROJECT_NUMBER-->&#160;<span id="projectnumber">$projectnumber</span><!--END PROJECT_NUMBER-->
</div>
<!--BEGIN PROJECT_BRIEF--><div id="projectbrief">$projectbrief</div><!--END PROJECT_BRIEF-->
</td>
<!--END PROJECT_NAME-->
<!--BEGIN !PROJECT_NAME-->
<!--BEGIN PROJECT_BRIEF-->
<td style="padding-left: 0.5em;">
<div id="projectbrief">$projectbrief</div>
</td>
<!--END PROJECT_BRIEF-->
<!--END !PROJECT_NAME-->
<!--BEGIN DISABLE_INDEX-->
<!--BEGIN SEARCHENGINE-->
<!--BEGIN !FULL_SIDEBAR-->
<td>$searchbox</td>
<!--END !FULL_SIDEBAR-->
<!--END SEARCHENGINE-->
<!--END DISABLE_INDEX-->
</tr>
<!--BEGIN SEARCHENGINE-->
<!--BEGIN FULL_SIDEBAR-->
<tr><td colspan="2">$searchbox</td></tr>
<!--END FULL_SIDEBAR-->
<!--END SEARCHENGINE-->
</tbody>
</table>
</div>
<!--END TITLEAREA-->
<!-- end header part -->
<div id="Compnav" class="tabs1">
<ul class="tablist">
<script type="text/javascript">
<!--
writeComponentTabs.call(this);
//-->
</script>
</ul>
</div>

@ -1,6 +1,15 @@
#nav-tree .children_ul {
margin:0;
padding:4px;
:root {
--arm_light_blue: #00C1DE;
--arm_blue: #11809F;
--arm_blue1: #0091BD;
--arm_dark_blue: #002B49;
--arm_light_gray: #E5ECEB;
--arm_light_gray1: #EFF5F4;
--arm_light_gray2: #EBEBEB;
--arm_light_gray3: #F7F7F7;
--arm_dark_gray: #7D868C;
--arm_black: #333E48;
--arm_orange: #FF6B00;
}
#nav-tree ul {
@ -20,10 +29,9 @@
}
#nav-tree .selected {
background-image: url('tab_a.png');
background-repeat:repeat-x;
color: #fff;
text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
border: 1.5px solid var(--arm_blue);
border-left-width: 5px;
margin-left:-10px; /*correction to place selection border on the edge screen edge */
}
#nav-tree img {
@ -36,6 +44,7 @@
#nav-tree a {
text-decoration:none;
padding:0px;
padding-left:0px;
margin:0px;
outline:none;
}
@ -43,33 +52,37 @@
#nav-tree .label {
margin:0px;
padding:0px;
font: 15px Lato, Calibri, sans-serif;
}
#nav-tree .label:hover {
color: var(--arm_orange);
}
#nav-tree .label a {
padding:2px;
padding-left:6px;
line-height: 30px;
color: var(--arm_black);
}
#nav-tree .selected a {
text-decoration:none;
padding:2px;
margin:0px;
color:#fff;
font-weight: bold;
}
#nav-tree .children_ul {
margin:0px;
padding:0px;
/*correction for the larger box border on the left (10px-5px) */
#nav-tree .selected .arrow {
margin-left:5px;
}
#nav-tree .item {
#nav-tree .children_ul {
margin:0px;
padding:0px;
}
#nav-tree {
padding: 0px 0px;
background-color: #FAFAFF;
font-size:14px;
padding-left: 10px; /*correction to add space before the first arrow in nav-tree */
background-color: #FAFAFF;
overflow:auto;
}
@ -78,15 +91,16 @@
display:block;
padding:0px;
margin:0px;
-webkit-overflow-scrolling : touch; /* iOS 5+ */
}
#side-nav {
padding:0 6px 0 0;
padding:0 2px 0 0;
margin: 0px;
display:block;
position: absolute;
left: 0px;
width: 300px;
width: 340px;
}
.ui-resizable .ui-resizable-handle {
@ -94,12 +108,14 @@
}
.ui-resizable-e {
background:url("ftv2splitbar.png") repeat scroll right center transparent;
cursor:e-resize;
background-color: var(--arm_light_gray);
background-repeat:repeat-y;
background-attachment: scroll;
cursor:ew-resize;
height:100%;
right:0;
top:0;
width:6px;
width:2px;
}
.ui-resizable-handle {
@ -114,10 +130,32 @@
}
#nav-tree {
background-image:url('nav_h.png');
background-repeat:repeat-x;
background-color: #F9FAFC;
background-color: white;
-webkit-overflow-scrolling : touch; /* iOS 5+ */
}
#nav-sync {
position:absolute;
top:5px;
right:24px;
z-index:0;
}
#nav-sync img {
opacity:0.0;
}
#nav-sync img:hover {
opacity:0.0;
}
#nav-tree a:hover {
color: var(--arm_orange);
}
@media print
{
#nav-tree { display: none; }
div.ui-resizable-handle { display: none; position: relative; }
}

@ -0,0 +1,551 @@
/*
@licstart The following is the entire license notice for the JavaScript code in this file.
The MIT License (MIT)
Copyright (C) 1997-2020 by Dimitri van Heesch
Permission is hereby granted, free of charge, to any person obtaining a copy of this software
and associated documentation files (the "Software"), to deal in the Software without restriction,
including without limitation the rights to use, copy, modify, merge, publish, distribute,
sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or
substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@licend The above is the entire license notice for the JavaScript code in this file
*/
var navTreeSubIndices = new Array();
var arrowDown = '&#9660;';
var arrowRight = '&#9658;';
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 hashValue()
{
return $(location).attr('hash').substring(1).replace(/[^\w\-]/g,'');
}
function hashUrl()
{
return '#'+hashValue();
}
function pathName()
{
return $(location).attr('pathname').replace(/[^-A-Za-z0-9+&@#/%?=~_|!:,.;\(\)]/g, '');
}
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';
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("span");
imgNode.className = 'arrow';
imgNode.style.paddingLeft=(16*level).toString()+'px';
imgNode.innerHTML=arrowRight;
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.innerHTML=arrowRight;
node.expanded = false;
} else {
expandNode(o, node, false, false);
}
}
node.expandToggle.appendChild(imgNode);
domNode.appendChild(node.expandToggle);
} else {
var span = document.createElement("span");
span.className = 'arrow';
span.style.width = 16*(level+1)+'px';
span.innerHTML = '&#160;';
domNode.appendChild(span);
}
}
var animationInProgress = false;
function gotoAnchor(anchor,aname,updateLocation)
{
var pos, docContent = $('#doc-content');
var ancParent = $(anchor.parent());
if (ancParent.hasClass('memItemLeft') ||
ancParent.hasClass('memtitle') ||
ancParent.hasClass('fieldname') ||
ancParent.hasClass('fieldtype') ||
ancParent.is(':header'))
{
pos = ancParent.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(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',100,{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);
}
$(node.getChildrenUL()).slideDown("fast");
node.plus_img.innerHTML = arrowDown;
node.expanded = true;
}
}
}
function glowEffect(n,duration)
{
n.addClass('glow').delay(duration).queue(function(next){
$(this).removeClass('glow');next();
});
}
function highlightAnchor()
{
var aname = hashUrl();
var anchor = $(aname);
if (anchor.parent().attr('class')=='memItemLeft'){
var rows = $('.memberdecls tr[class$="'+hashValue()+'"]');
glowEffect(rows.children(),300); // member without details
} else if (anchor.parent().attr('class')=='fieldname'){
glowEffect(anchor.parent().parent(),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
}
}
function selectAndHighlight(hash,n)
{
var a;
if (hash) {
var link=stripPath(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');
}
var topOffset=5;
if (typeof page_layout!=='undefined' && page_layout==1) {
topOffset+=$('#top').outerHeight();
}
if ($('#nav-tree-contents .item:first').hasClass('selected')) {
topOffset+=25;
}
$('#nav-sync').css('top',topOffset+'px');
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'});
node.plus_img.innerHTML = arrowDown;
node.expanded = true;
var n = node.children[o.breadcrumbs[index]];
if (index+1<o.breadcrumbs.length) {
showNode(o,n,index+1,hash);
} else {
if (typeof(n.childrenData)==='string') {
var varName = n.childrenData;
getScript(n.relpath+varName,function(){
n.childrenData = getData(varName);
node.expanded=false;
showNode(o,node,index,hash); // retry with child node expanded
},true);
} else {
/* vlamar01: Commented two lines below to ensure nav. tree expands on all selections */
//var rootBase = stripPath(o.toroot.replace(/\..+$/, ''));
//if (rootBase=="index" || rootBase=="pages" || rootBase=="search")
{
expandNode(o, n, true, true);
}
selectAndHighlight(hash,n);
}
}
}
} else {
selectAndHighlight(hash);
}
}
function removeToInsertLater(element) {
var parentNode = element.parentNode;
var nextSibling = element.nextSibling;
parentNode.removeChild(element);
return function() {
if (nextSibling) {
parentNode.insertBefore(element, nextSibling);
} else {
parentNode.appendChild(element);
}
};
}
function getNode(o, po)
{
var insertFunction = removeToInsertLater(po.li);
po.childrenVisited = true;
var l = po.childrenData.length-1;
for (var i in po.childrenData) {
var nodeData = po.childrenData[i];
po.children[i] = newNode(o, po, nodeData[0], nodeData[1], nodeData[2],
i==l);
}
insertFunction();
}
function gotoNode(o,subIndex,root,hash,relpath)
{
var nti = navTreeSubIndices[subIndex][root+hash];
o.breadcrumbs = $.extend(true, [], nti ? nti : navTreeSubIndices[subIndex][root]);
if (!o.breadcrumbs && root!=NAVTREE[0][1]) { // fallback: show index
navTo(o,NAVTREE[0][1],"",relpath);
$('.item').removeClass('selected');
$('.item').removeAttr('id');
}
if (o.breadcrumbs) {
o.breadcrumbs.unshift(0); // add 0 for root node
showNode(o, o.node, 0, hash);
}
}
function navTo(o,root,hash,relpath)
{
var link = cachedLink();
if (link) {
var parts = link.split('#');
root = parts[0];
if (parts.length>1) hash = '#'+parts[1].replace(/[^\w\-]/g,'');
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
}
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('<img src="'+relpath+'sync_off.png" title="'+SYNCOFFMSG+'"/>');
}
function showSyncOn(n,relpath)
{
n.html('<img src="'+relpath+'sync_on.png" title="'+SYNCONMSG+'"/>');
}
function toggleSyncButton(relpath)
{
var navSync = $('#nav-sync');
if (navSync.hasClass('sync')) {
navSync.removeClass('sync');
showSyncOff(navSync,relpath);
storeLink(stripPath2(pathName())+hashUrl());
} else {
navSync.addClass('sync');
showSyncOn(navSync,relpath);
deleteLink();
}
}
var loadTriggered = false;
var readyTriggered = false;
var loadObject,loadToRoot,loadUrl,loadRelPath;
$(window).on('load',function(){
if (readyTriggered) { // ready first
navTo(loadObject,loadToRoot,loadUrl,loadRelPath);
showRoot();
}
loadTriggered=true;
});
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("span");
o.node.plus_img.className = 'arrow';
o.node.plus_img.innerHTML = arrowRight;
if (localStorageSupported()) {
var navSync = $('#nav-sync');
if (cachedLink()) {
showSyncOff(navSync,relpath);
navSync.removeClass('sync');
} else {
showSyncOn(navSync,relpath);
}
navSync.click(function(){ toggleSyncButton(relpath); });
}
if (loadTriggered) { // load before ready
navTo(o,toroot,hashUrl(),relpath);
showRoot();
} else { // ready before load
loadObject = o;
loadToRoot = toroot;
loadUrl = hashUrl();
loadRelPath = relpath;
readyTriggered=true;
}
$(window).bind('hashchange', function(){
if (window.location.hash && window.location.hash.length>1){
var a;
if ($(location).attr('hash')){
var clslink=stripPath(pathName())+':'+hashValue();
a=$('.item a[class$="'+clslink.replace(/</g,'\\3c ')+'"]');
}
if (a==null || !$(a).parent().parent().hasClass('selected')){
$('.item').removeClass('selected');
$('.item').removeAttr('id');
}
var link=stripPath2(pathName());
navTo(o,link,hashUrl(),relpath);
} else if (!animationInProgress) {
$('#doc-content').scrollTop(0);
$('.item').removeClass('selected');
$('.item').removeAttr('id');
navTo(o,toroot,hashUrl(),relpath);
}
})
}
/* @license-end */

@ -2,8 +2,8 @@ var strgURL = location.pathname; // path of current compo
// constuctor for the array of objects
function tabElement(id, folderName, tabTxt ) {
this.id = id; // elementID as needed in html;
this.folderName = folderName; // folder name of the component
this.id = id; // elementID as needed in html;
this.folderName = folderName; // folder name of the component
this.tabTxt = tabTxt; // Text displayed as menu on the web
this.currentListItem = '<li id="' + this.id + '" class="current"> <a href="../..' + this.folderName + 'index.html"><span>' + this.tabTxt + '</span></a></li>';
this.listItem = '<li id="' + this.id + '"> <a href="../..' + this.folderName + 'index.html"><span>' + this.tabTxt + '</span></a></li>';
@ -13,28 +13,16 @@ function tabElement(id, folderName, tabTxt ) {
var arr = [];
// fill array
arr.push( new tabElement( "GEN", "/General/html/", "General") );
arr.push( new tabElement( "CORE_A", "/Core_A/html/", "Core(A)") );
arr.push( new tabElement( "CORE_M", "/Core/html/", "Core(M)") );
arr.push( new tabElement( "DRV", "/Driver/html/", "Driver") );
arr.push( new tabElement( "DSP&ML", "/DSP/html/", "DSP") );
arr.push( new tabElement( "NN", "/NN/html/", "NN") );
arr.push( new tabElement( "RTOSv1", "/RTOS/html/", "RTOS v1") );
arr.push( new tabElement( "RTOSv2", "/RTOS2/html/", "RTOS v2") );
arr.push( new tabElement( "PACK", "/Pack/html/", "Pack") );
arr.push( new tabElement( "Build", "/Build/html/", "Build") );
arr.push( new tabElement( "SVD", "/SVD/html/", "SVD") );
arr.push( new tabElement( "DAP", "/DAP/html/", "DAP") );
arr.push( new tabElement( "ZONE", "/Zone/html/", "Zone") );
// arr.push( new tabElement( "GEN", "/General/html/", "General"));
// write tabs
// called from the header file.
function writeComponentTabs() {
for ( var i=0; i < arr.length; i++ ) {
if (strgURL.search(arr[i].folderName) > 0) { // if this is the current folder
document.write(arr[i].currentListItem); // then print and hightlight the tab
} else {
document.write(arr[i].currentListItem); // then print and highlight the tab
} else {
document.write(arr[i].listItem); // else, print the tab
}
}
}
};

@ -136,7 +136,7 @@ span.SelectionMark {
a.SelectItem {
display: block;
outline-style: none;
color: #000000;
color: #000000;
text-decoration: none;
padding-left: 6px;
padding-right: 12px;
@ -144,7 +144,7 @@ a.SelectItem {
a.SelectItem:focus,
a.SelectItem:active {
color: #000000;
color: #000000;
outline-style: none;
text-decoration: none;
}
@ -177,7 +177,7 @@ iframe#MSearchResults {
#SRIndex {
clear:both;
clear:both;
padding-bottom: 15px;
}
@ -196,7 +196,7 @@ body.SRPage {
}
.SRChildren {
padding-left: 3ex; padding-bottom: .5em
padding-left: 3ex; padding-bottom: .5em
}
.SRPage .SRChildren {
@ -204,7 +204,7 @@ body.SRPage {
}
.SRSymbol {
font-weight: bold;
font-weight: bold;
color: #425E97;
font-family: Arial, Verdana, sans-serif;
text-decoration: none;
@ -213,7 +213,7 @@ body.SRPage {
a.SRScope {
display: block;
color: #425E97;
color: #425E97;
font-family: Arial, Verdana, sans-serif;
text-decoration: none;
outline: none;

Binary file not shown.

After

Width:  |  Height:  |  Size: 128 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 232 B

@ -1,71 +1,103 @@
.tabs, .tabs1, .tabs2, .tabs3 {
background-image: url('tab_b.png');
:root {
--arm_light_blue: #00C1DE;
--arm_blue: #11809F;
--arm_blue1: #0091BD;
--arm_dark_blue: #002B49;
--arm_light_gray: #E5ECEB;
--arm_light_gray1: #EFF5F4;
--arm_light_gray2: #EBEBEB;
--arm_light_gray3: #F7F7F7;
--arm_dark_gray: #7D868C;
--arm_black: #333E48;
--arm_orange: #FF6B00;
--arm_yellow: #FFC700;
}
/* in Doxygen 1.9.2 'tabs' is assigned to second navigation row (navrow1) with
'Main Page', 'Namespaces', etc */
.tabs, .tabs1, .tabs2, .tabs3, .main-nav {
background-color: var(--arm_light_gray);
color: var(--arm_black);
width: 100%;
z-index: 101;
font-size: 10px;
font-family: 'Futura PT W01 Medium', 'Lato Light', Lato, Calibri, sans-serif;
font-size: 14px;
font-weight: 800;
}
.tabs1 {
background-image: url('tab_topnav.png');
font-size: 12px;
background-color: var(--arm_black);
font-size: 16px;
}
.tabs2 {
font-size: 10px;
}
.tabs3 {
font-size: 9px;
.tabs {
background-color: var(--arm_light_gray);
}
.tablist {
.tablist, .main-menu {
margin: 0;
padding: 0;
display: table;
line-height: 24px;
line-height: 28px;
}
.tablist li {
float: left;
display: table-cell;
background-image: url('tab_b.png');
background-color: var(--arm_light_gray);
border-right-style:solid;
border-right-width:1px;
border-right-color:var(--arm_dark_gray);
list-style: none;
margin:0px;
}
.tablist .MSearchBoxInactive {
opacity:0.75;
}
.tablist .MSearchBoxInactive:hover {
opacity:1.0;
}
.tabs1 .tablist li {
float: left;
display: table-cell;
background-image: url('tab_topnav.png');
list-style: none;
background-color: var(--arm_black);
font-weight: 1000;
}
.tablist a {
display: block;
padding: 0 20px;
font-weight: bold;
background-image:url('tab_s.png');
background-repeat:no-repeat;
background-position:right;
color: #283A5D;
text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
text-decoration: none;
padding: 0 10px;
color: var(--arm_dark_gray);
font-weight: 600;
outline: none;
}
.tabs3 .tablist a {
padding: 0 10px;
.tabs1 .tablist a {
padding: 3px 20px;
color: white;
background-color:var(--arm_black);
}
.tablist li.current a {
background-color: var(--arm_dark_gray);
color: white;
}
.tabs1 .tablist li.current a {
background-color: var(--arm_blue);
}
.tablist a:hover {
background-image: url('tab_h.png');
background-repeat:repeat-x;
color: #fff;
text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
text-decoration: none;
color: var(--arm_orange);
}
.tablist li.current a {
background-image: url('tab_a.png');
background-repeat:repeat-x;
color: #fff;
text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
.tabs1 a:hover {
color: var(--arm_yellow);
}
.tablist li.current :hover {
color: white;
}

@ -33,20 +33,20 @@
* based devices.
*
* The library is divided into a number of functions each covering a specific category:
* - Basic math functions
* - Fast math functions
* - Complex math functions
* - Filtering functions
* - Matrix functions
* - Transform functions
* - Motor control functions
* - Statistical functions
* - Support functions
* - Interpolation functions
* - Support Vector Machine functions (SVM)
* - Bayes classifier functions
* - Distance functions
* - Quaternion functions
* - \ref groupMath "Basic math functions"
* - \ref groupFastMath "Fast math functions"
* - \ref groupCmplxMath "Complex math functions"
* - \ref groupFilters "Filtering functions"
* - \ref groupMatrix "Matrix functions"
* - \ref groupTransforms "Transform functions"
* - \ref groupController "Motor control functions"
* - \ref groupStats "Statistical functions"
* - \ref groupSupport "Support functions"
* - \ref groupInterpolation "Interpolation functions"
* - \ref groupSVM "Support Vector Machine functions (SVM)"
* - \ref groupBayes "Bayes classifier functions"
* - \ref groupDistance "Distance functions"
* - \ref groupQuaternionMath "Quaternion functions"
*
* The library has generally separate functions for operating on 8-bit integers, 16-bit integers,
* 32-bit integer and 32-bit floating-point values.
@ -64,13 +64,13 @@
* The library is released in source form. It is strongly advised to compile the library using -Ofast to
* have the best performances.
*
* The library functions are declared in the public file <code>arm_math.h</code> which is placed in the <code>Include</code> folder.
* The library functions are declared in the public file `arm_math.h` which is placed in the `Include` folder.
* Simply include this file. If you don't want to include everything, you can also rely
* on headers in Include/dsp folder and use only what you need.
* on headers in `Include/dsp` folder and use only what you need.
*
* \section example Examples
*
* The library ships with a number of examples which demonstrate how to use the library functions.
* The library ships with a number of examples which demonstrate how to use the library functions. Please refer to \ref groupExamples.
*
* \section toolchain Toolchain Support
*
@ -80,72 +80,58 @@
*
* \section preprocessor Preprocessor Macros
*
* Each library project have different preprocessor macros.
*
* - ARM_MATH_BIG_ENDIAN:
*
* Define macro ARM_MATH_BIG_ENDIAN to build the library for big endian targets. By default library builds for little endian targets.
*
* - ARM_MATH_MATRIX_CHECK:
*
* Define macro ARM_MATH_MATRIX_CHECK for checking on the input and output sizes of matrices
*
* - ARM_MATH_ROUNDING:
*
* Define macro ARM_MATH_ROUNDING for rounding on support functions
*
* - ARM_MATH_LOOPUNROLL:
*
* Define macro ARM_MATH_LOOPUNROLL to enable manual loop unrolling in DSP functions
*
* - ARM_MATH_NEON:
*
* Define macro ARM_MATH_NEON to enable Neon versions of the DSP functions.
* Each library project has different preprocessor macros.
*
* - `ARM_MATH_BIG_ENDIAN`:
* - Define macro ARM_MATH_BIG_ENDIAN to build the library for big endian targets. By default library builds for little endian targets.
* .
* - `ARM_MATH_MATRIX_CHECK`:
* - Define macro ARM_MATH_MATRIX_CHECK for checking on the input and output sizes of matrices
* .
* - `ARM_MATH_ROUNDING`:
* - Define macro ARM_MATH_ROUNDING for rounding on support functions
* .
* - `ARM_MATH_LOOPUNROLL`:
* - Define macro ARM_MATH_LOOPUNROLL to enable manual loop unrolling in DSP functions
* .
* - `ARM_MATH_NEON`:
* - Define macro ARM_MATH_NEON to enable Neon versions of the DSP functions.
* It is not enabled by default when Neon is available because performances are
* dependent on the compiler and target architecture.
*
* - ARM_MATH_NEON_EXPERIMENTAL:
*
* Define macro ARM_MATH_NEON_EXPERIMENTAL to enable experimental Neon versions of
* .
* - `ARM_MATH_NEON_EXPERIMENTAL`:
* - Define macro ARM_MATH_NEON_EXPERIMENTAL to enable experimental Neon versions of
* of some DSP functions. Experimental Neon versions currently do not have better
* performances than the scalar versions.
*
* - ARM_MATH_HELIUM:
*
* It implies the flags ARM_MATH_MVEF and ARM_MATH_MVEI and ARM_MATH_MVE_FLOAT16.
*
* - ARM_MATH_HELIUM_EXPERIMENTAL:
*
* Only taken into account when ARM_MATH_MVEF, ARM_MATH_MVEI or ARM_MATH_MVE_FLOAT16 are defined.
* .
* - `ARM_MATH_HELIUM`:
* - It implies the flags ARM_MATH_MVEF and ARM_MATH_MVEI and ARM_MATH_MVE_FLOAT16.
* .
* - `ARM_MATH_HELIUM_EXPERIMENTAL`:
* - Only taken into account when ARM_MATH_MVEF, ARM_MATH_MVEI or ARM_MATH_MVE_FLOAT16 are defined.
* Enable some vector versions which may have worse performance than scalar
* depending on the core / compiler configuration.
*
* - ARM_MATH_MVEF:
*
* Select Helium versions of the f32 algorithms.
* .
* - `ARM_MATH_MVEF`:
* - Select Helium versions of the f32 algorithms.
* It implies ARM_MATH_FLOAT16 and ARM_MATH_MVEI.
*
* - ARM_MATH_MVEI:
*
* Select Helium versions of the int and fixed point algorithms.
*
* - ARM_MATH_MVE_FLOAT16:
*
* MVE Float16 implementations of some algorithms (Requires MVE extension).
*
* - DISABLEFLOAT16:
*
* Disable float16 algorithms when __fp16 is not supported for a
* .
* - `ARM_MATH_MVEI`:
* - Select Helium versions of the int and fixed point algorithms.
* .
* - `ARM_MATH_MVE_FLOAT16`:
* - MVE Float16 implementations of some algorithms (Requires MVE extension).
* .
* - `DISABLEFLOAT16`:
* - Disable float16 algorithms when __fp16 is not supported for a
* specific compiler / core configuration.
* This is only valid for scalar. When vector architecture is
* supporting f16 then it can't be disabled.
*
* - ARM_MATH_AUTOVECTORIZE:
*
* With Helium or Neon, disable the use of vectorized code with C intrinsics
* .
* - `ARM_MATH_AUTOVECTORIZE`:
* - With Helium or Neon, disable the use of vectorized code with C intrinsics
* and use pure C instead. The vectorization is then done by the compiler.
*
* <hr>
* \section pack CMSIS-DSP in ARM::CMSIS Pack
*
* The following files relevant to CMSIS-DSP are present in the <b>ARM::CMSIS</b> Pack directories:
@ -158,9 +144,12 @@
* |\b CMSIS\\DSP\\PrivateInclude | private include files for building the lib |
* |\b CMSIS\\DSP\\Source | source files |
*
* <hr>
* \section rev Revision History of CMSIS-DSP
* Please refer to \ref ChangeLog_pg.
*
* \section license License
*
* The CMSIS-DSP is provided free of charge under the <a href="LICENSE.txt">Apache 2.0 License</a>.
*/

@ -52,15 +52,35 @@ extern "C"
*/
/**
* @ingroup groupController
*/
/**
* @addtogroup SinCos
* @{
*/
/**
@ingroup groupController
*/
/**
@defgroup SinCos Sine Cosine
Computes the trigonometric sine and cosine values using a combination of table lookup
and linear interpolation.
There are separate functions for Q31 and floating-point data types.
The input to the floating-point version is in degrees while the
fixed-point Q31 have a scaled input with the range
[-1 0.9999] mapping to [-180 +180] degrees.
The floating point function also allows values that are out of the usual range. When this happens, the function will
take extra time to adjust the input value to the range of [-180 180].
The result is accurate to 5 digits after the decimal point.
The implementation is based on table lookup using 360 values together with linear interpolation.
The steps used are:
-# Calculation of the nearest integer table index.
-# Compute the fractional portion (fract) of the input.
-# Fetch the value corresponding to \c index from sine table to \c y0 and also value from \c index+1 to \c y1.
-# Sine value is computed as <code> *psinVal = y0 + (fract * (y1 - y0))</code>.
-# Fetch the value corresponding to \c index from cosine table to \c y0 and also value from \c index+1 to \c y1.
-# Cosine value is computed as <code> *pcosVal = y0 + (fract * (y1 - y0))</code>.
*/
/**
* @brief Floating-point sin_cos function.
* @param[in] theta input value in degrees
@ -84,10 +104,6 @@ extern "C"
q31_t * pSinVal,
q31_t * pCosVal);
/**
* @} end of SinCos group
*/
/**
* @ingroup groupController
*/

@ -63,17 +63,8 @@ extern "C"
*
*/
/**
* @ingroup groupFastMath
*/
/**
@addtogroup sin
@{
*/
/**
/**
* @brief Fast approximation to the trigonometric sine function for floating-point data.
* @param[in] x input value in radians.
* @return sin(x).
@ -90,7 +81,6 @@ extern "C"
q31_t arm_sin_q31(
q31_t x);
/**
* @brief Fast approximation to the trigonometric sine function for Q15 data.
* @param[in] x Scaled input value in radians.
@ -99,14 +89,6 @@ extern "C"
q15_t arm_sin_q15(
q15_t x);
/**
@} end of sin group
*/
/**
@addtogroup cos
@{
*/
/**
* @brief Fast approximation to the trigonometric cosine function for floating-point data.
@ -134,10 +116,6 @@ extern "C"
q15_t arm_cos_q15(
q15_t x);
/**
@} end of cos group
*/
/**
@brief Floating-point vector of log values.
@ -162,8 +140,8 @@ extern "C"
*/
void arm_vlog_f64(
const float64_t * pSrc,
float64_t * pDst,
uint32_t blockSize);
float64_t * pDst,
uint32_t blockSize);

@ -121,18 +121,6 @@ extern "C"
} arm_spline_instance_f32;
/**
* @ingroup groupInterpolation
*/
/**
* @addtogroup SplineInterpolate
* @{
*/
/**
* @brief Processing function for the floating-point cubic spline interpolation.
* @param[in] S points to an instance of the floating-point spline structure.
@ -166,18 +154,7 @@ extern "C"
float32_t * tempBuffer);
/**
* @} end of SplineInterpolate group
*/
/**
* @addtogroup LinearInterpolate
* @{
*/
/**
/**
* @brief Process function for the floating-point Linear Interpolation Function.
* @param[in,out] S is an instance of the floating-point Linear Interpolation structure
* @param[in] x input sample to process
@ -241,23 +218,6 @@ q7_t arm_linear_interp_q7(
q31_t x,
uint32_t nValues);
/**
* @} end of LinearInterpolate group
*/
/**
* @ingroup groupInterpolation
*/
/**
* @addtogroup BilinearInterpolate
* @{
*/
/**
* @brief Floating-point bilinear interpolation.
* @param[in,out] S points to an instance of the interpolation structure.
@ -306,10 +266,6 @@ q7_t arm_linear_interp_q7(
arm_bilinear_interp_instance_q7 * S,
q31_t X,
q31_t Y);
/**
* @} end of BilinearInterpolate group
*/
#ifdef __cplusplus

@ -29,35 +29,6 @@
#include "dsp/controller_functions.h"
#include "arm_common_tables.h"
/**
@ingroup groupController
*/
/**
@defgroup SinCos Sine Cosine
Computes the trigonometric sine and cosine values using a combination of table lookup
and linear interpolation.
There are separate functions for Q31 and floating-point data types.
The input to the floating-point version is in degrees while the
fixed-point Q31 have a scaled input with the range
[-1 0.9999] mapping to [-180 +180] degrees.
The floating point function also allows values that are out of the usual range. When this happens, the function will
take extra time to adjust the input value to the range of [-180 180].
The result is accurate to 5 digits after the decimal point.
The implementation is based on table lookup using 360 values together with linear interpolation.
The steps used are:
-# Calculation of the nearest integer table index.
-# Compute the fractional portion (fract) of the input.
-# Fetch the value corresponding to \c index from sine table to \c y0 and also value from \c index+1 to \c y1.
-# Sine value is computed as <code> *psinVal = y0 + (fract * (y1 - y0))</code>.
-# Fetch the value corresponding to \c index from cosine table to \c y0 and also value from \c index+1 to \c y1.
-# Cosine value is computed as <code> *pcosVal = y0 + (fract * (y1 - y0))</code>.
*/
/**
@addtogroup SinCos
@{

@ -33,6 +33,7 @@
/**
@ingroup barycenter
@{
*/

@ -41,10 +41,6 @@ extern void arm_bitreversal_64(
const uint16_t bitRevLen,
const uint16_t * pBitRevTable);
/**
* @} end of ComplexFFT group
*/
/* ----------------------------------------------------------------------
* Internal helper function used by the FFTs
* ---------------------------------------------------------------------- */

Loading…
Cancel
Save