This commit is contained in:
ci
2026-05-21 22:42:06 +00:00
commit 82622c49db
138 changed files with 11505 additions and 0 deletions

96
annotated.html Normal file
View File

@@ -0,0 +1,96 @@
<!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" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>ptt-fhss: Data Structures</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">ptt-fhss
</div>
<div id="projectbrief">Bare-metal PTT firmware for nRF52840 with FHSS</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">Data Structures</div></div>
</div><!--header-->
<div class="contents">
<div class="textblock">Here are the data structures with brief descriptions:</div><div class="directory">
<table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="uniongpio__pin__cnf__t.html" target="_self">gpio_pin_cnf_t</a></td><td class="desc">GPIO PIN_CNF[n]: pin configuration register </td></tr>
<tr id="row_1_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="uniongpiote__config__t.html" target="_self">gpiote_config_t</a></td><td class="desc">GPIOTE CONFIG[n]: channel configuration register </td></tr>
<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="uniongpiote__inten__t.html" target="_self">gpiote_inten_t</a></td><td class="desc">GPIOTE INTENSET / INTENCLR: interrupt enable register </td></tr>
<tr id="row_3_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="unionradio__crccnf__t.html" target="_self">radio_crccnf_t</a></td><td class="desc">RADIO CRCCNF: CRC configuration register </td></tr>
<tr id="row_4_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="unionradio__frequency__t.html" target="_self">radio_frequency_t</a></td><td class="desc">RADIO FREQUENCY: RF channel selection register </td></tr>
<tr id="row_5_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="unionradio__mode__t.html" target="_self">radio_mode_t</a></td><td class="desc">RADIO MODE: data rate and modulation register </td></tr>
<tr id="row_6_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="unionradio__pcnf0__t.html" target="_self">radio_pcnf0_t</a></td><td class="desc">RADIO PCNF0: packet configuration register 0 (header fields) </td></tr>
<tr id="row_7_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="unionradio__pcnf1__t.html" target="_self">radio_pcnf1_t</a></td><td class="desc">RADIO PCNF1: packet configuration register 1 (payload and address) </td></tr>
<tr id="row_8_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="unionradio__shorts__t.html" target="_self">radio_shorts_t</a></td><td class="desc">RADIO SHORTS: hardware shortcut register </td></tr>
<tr id="row_9_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="unionradio__txpower__t.html" target="_self">radio_txpower_t</a></td><td class="desc">RADIO TXPOWER: transmit power register </td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
</small></address>
</body>
</html>

BIN
bc_s.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 676 B

BIN
bc_sd.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 635 B

91
classes.html Normal file
View File

@@ -0,0 +1,91 @@
<!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" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>ptt-fhss: Data Structure Index</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">ptt-fhss
</div>
<div id="projectbrief">Bare-metal PTT firmware for nRF52840 with FHSS</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">Data Structure Index</div></div>
</div><!--header-->
<div class="contents">
<div class="qindex"><a class="qindex" href="#letter_G">G</a>&#160;|&#160;<a class="qindex" href="#letter_R">R</a></div>
<div class="classindex">
<dl class="classindex even">
<dt class="alphachar"><a id="letter_G" name="letter_G">G</a></dt>
<dd><a class="el" href="uniongpio__pin__cnf__t.html">gpio_pin_cnf_t</a></dd><dd><a class="el" href="uniongpiote__config__t.html">gpiote_config_t</a></dd><dd><a class="el" href="uniongpiote__inten__t.html">gpiote_inten_t</a></dd></dl>
<dl class="classindex odd">
<dt class="alphachar"><a id="letter_R" name="letter_R">R</a></dt>
<dd><a class="el" href="unionradio__crccnf__t.html">radio_crccnf_t</a></dd><dd><a class="el" href="unionradio__frequency__t.html">radio_frequency_t</a></dd><dd><a class="el" href="unionradio__mode__t.html">radio_mode_t</a></dd><dd><a class="el" href="unionradio__pcnf0__t.html">radio_pcnf0_t</a></dd><dd><a class="el" href="unionradio__pcnf1__t.html">radio_pcnf1_t</a></dd><dd><a class="el" href="unionradio__shorts__t.html">radio_shorts_t</a></dd><dd><a class="el" href="unionradio__txpower__t.html">radio_txpower_t</a></dd></dl>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
</small></address>
</body>
</html>

BIN
closed.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 B

View File

@@ -0,0 +1,105 @@
<!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" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>ptt-fhss: src Directory Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">ptt-fhss
</div>
<div id="projectbrief">Bare-metal PTT firmware for nRF52840 with FHSS</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle"><div class="title">src Directory Reference</div></div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="files" name="files"></a>
Files</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><span class="icondoc"></span>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fhss_8c.html">fhss.c</a></td></tr>
<tr class="memdesc:fhss_8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">FHSS channel sequencer implementation. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><span class="icondoc"></span>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="main_8c.html">main.c</a></td></tr>
<tr class="memdesc:main_8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Entry point: initialise peripherals and run the PTT event loop. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><span class="icondoc"></span>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="power_8c.html">power.c</a></td></tr>
<tr class="memdesc:power_8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Power management implementation. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><span class="icondoc"></span>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="radio_8c.html">radio.c</a></td></tr>
<tr class="memdesc:radio_8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">RADIO peripheral driver implementation. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><span class="icondoc"></span>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="startup_8c.html">startup.c</a></td></tr>
<tr class="memdesc:startup_8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Vector table and Reset_Handler for nRF52840 (no SoftDevice). <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
</small></address>
</body>
</html>

View File

@@ -0,0 +1,102 @@
<!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" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>ptt-fhss: include Directory Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">ptt-fhss
</div>
<div id="projectbrief">Bare-metal PTT firmware for nRF52840 with FHSS</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle"><div class="title">include Directory Reference</div></div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="files" name="files"></a>
Files</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><a href="fhss_8h_source.html"><span class="icondoc"></span></a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fhss_8h.html">fhss.h</a></td></tr>
<tr class="memdesc:fhss_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">FHSS channel sequencer based on AES-128-ECB. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><a href="power_8h_source.html"><span class="icondoc"></span></a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="power_8h.html">power.h</a></td></tr>
<tr class="memdesc:power_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Power management: DC/DC regulator, GPIOTE wakeup, WFI sleep. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><a href="radio_8h_source.html"><span class="icondoc"></span></a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="radio_8h.html">radio.h</a></td></tr>
<tr class="memdesc:radio_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">RADIO peripheral driver &ndash; NRF_1Mbit proprietary mode. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><a href="regs_8h_source.html"><span class="icondoc"></span></a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="regs_8h.html">regs.h</a></td></tr>
<tr class="memdesc:regs_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Hardware register bitfield unions for nRF52840 peripherals. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
</small></address>
</body>
</html>

12
doc.svg Normal file
View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" width="16" height="24" viewBox="0 0 80 60" id="doc" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve">
<g style="fill:#4665A2">
<path d="m 14,-1.1445312 c -2.824372,0 -5.1445313,2.320159 -5.1445312,5.1445312 v 72 c 0,2.824372 2.3201592,5.144531 5.1445312,5.144531 h 52 c 2.824372,0 5.144531,-2.320159 5.144531,-5.144531 V 23.699219 a 1.1447968,1.1447968 0 0 0 -0.01563,-0.1875 C 70.977847,22.605363 70.406495,21.99048 70.007812,21.591797 L 48.208984,-0.20898438 C 47.606104,-0.81186474 46.804652,-1.1445313 46,-1.1445312 Z m 1.144531,6.2890624 H 42.855469 V 24 c 0,1.724372 1.420159,3.144531 3.144531,3.144531 H 64.855469 V 74.855469 H 15.144531 Z m 34,4.4179688 L 60.4375,20.855469 H 49.144531 Z"/>
</g>
<g style="fill:#D8DFEE;stroke-width:0">
<path d="M 3.0307167,13.993174 V 7.0307167 h 2.7576792 2.7576792 v 1.8826151 c 0,1.2578262 0.0099,1.9287572 0.029818,2.0216512 0.03884,0.181105 0.168631,0.348218 0.33827,0.43554 l 0.1355017,0.06975 1.9598092,0.0079 1.959809,0.0078 v 4.749829 4.749829 H 8 3.0307167 Z" transform="matrix(5,0,0,5,0,-30)" />
<path d="M 9.8293515,9.0581469 V 7.9456453 l 1.1058025,1.1055492 c 0.608191,0.6080521 1.105802,1.1086775 1.105802,1.1125015 0,0.0038 -0.497611,0.007 -1.105802,0.007 H 9.8293515 Z" transform="matrix(5,0,0,5,0,-30)" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

12
docd.svg Normal file
View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" width="16" height="24" viewBox="0 0 80 60" id="doc" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve">
<g style="fill:#C4CFE5">
<path d="m 14,-1.1445312 c -2.824372,0 -5.1445313,2.320159 -5.1445312,5.1445312 v 72 c 0,2.824372 2.3201592,5.144531 5.1445312,5.144531 h 52 c 2.824372,0 5.144531,-2.320159 5.144531,-5.144531 V 23.699219 a 1.1447968,1.1447968 0 0 0 -0.01563,-0.1875 C 70.977847,22.605363 70.406495,21.99048 70.007812,21.591797 L 48.208984,-0.20898438 C 47.606104,-0.81186474 46.804652,-1.1445313 46,-1.1445312 Z m 1.144531,6.2890624 H 42.855469 V 24 c 0,1.724372 1.420159,3.144531 3.144531,3.144531 H 64.855469 V 74.855469 H 15.144531 Z m 34,4.4179688 L 60.4375,20.855469 H 49.144531 Z"/>
</g>
<g style="fill:#4665A2;stroke-width:0">
<path d="M 3.0307167,13.993174 V 7.0307167 h 2.7576792 2.7576792 v 1.8826151 c 0,1.2578262 0.0099,1.9287572 0.029818,2.0216512 0.03884,0.181105 0.168631,0.348218 0.33827,0.43554 l 0.1355017,0.06975 1.9598092,0.0079 1.959809,0.0078 v 4.749829 4.749829 H 8 3.0307167 Z" transform="matrix(5,0,0,5,0,-30)" />
<path d="M 9.8293515,9.0581469 V 7.9456453 l 1.1058025,1.1055492 c 0.608191,0.6080521 1.105802,1.1086775 1.105802,1.1125015 0,0.0038 -0.497611,0.007 -1.105802,0.007 H 9.8293515 Z" transform="matrix(5,0,0,5,0,-30)" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

2045
doxygen.css Normal file

File diff suppressed because it is too large Load Diff

28
doxygen.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 15 KiB

192
dynsections.js Normal file
View File

@@ -0,0 +1,192 @@
/*
@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
*/
function toggleVisibility(linkObj)
{
var base = $(linkObj).attr('id');
var summary = $('#'+base+'-summary');
var content = $('#'+base+'-content');
var trigger = $('#'+base+'-trigger');
var src=$(trigger).attr('src');
if (content.is(':visible')===true) {
content.hide();
summary.show();
$(linkObj).addClass('closed').removeClass('opened');
$(trigger).attr('src',src.substring(0,src.length-8)+'closed.png');
} else {
content.show();
summary.hide();
$(linkObj).removeClass('closed').addClass('opened');
$(trigger).attr('src',src.substring(0,src.length-10)+'open.png');
}
return false;
}
function updateStripes()
{
$('table.directory tr').
removeClass('even').filter(':visible:even').addClass('even');
$('table.directory tr').
removeClass('odd').filter(':visible:odd').addClass('odd');
}
function toggleLevel(level)
{
$('table.directory tr').each(function() {
var l = this.id.split('_').length-1;
var i = $('#img'+this.id.substring(3));
var a = $('#arr'+this.id.substring(3));
if (l<level+1) {
i.removeClass('iconfopen iconfclosed').addClass('iconfopen');
a.html('&#9660;');
$(this).show();
} else if (l==level+1) {
i.removeClass('iconfclosed iconfopen').addClass('iconfclosed');
a.html('&#9658;');
$(this).show();
} else {
$(this).hide();
}
});
updateStripes();
}
function toggleFolder(id)
{
// the clicked row
var currentRow = $('#row_'+id);
// all rows after the clicked row
var rows = currentRow.nextAll("tr");
var re = new RegExp('^row_'+id+'\\d+_$', "i"); //only one sub
// only match elements AFTER this one (can't hide elements before)
var childRows = rows.filter(function() { return this.id.match(re); });
// first row is visible we are HIDING
if (childRows.filter(':first').is(':visible')===true) {
// replace down arrow by right arrow for current row
var currentRowSpans = currentRow.find("span");
currentRowSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
currentRowSpans.filter(".arrow").html('&#9658;');
rows.filter("[id^=row_"+id+"]").hide(); // hide all children
} else { // we are SHOWING
// replace right arrow by down arrow for current row
var currentRowSpans = currentRow.find("span");
currentRowSpans.filter(".iconfclosed").removeClass("iconfclosed").addClass("iconfopen");
currentRowSpans.filter(".arrow").html('&#9660;');
// replace down arrows by right arrows for child rows
var childRowsSpans = childRows.find("span");
childRowsSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
childRowsSpans.filter(".arrow").html('&#9658;');
childRows.show(); //show all children
}
updateStripes();
}
function toggleInherit(id)
{
var rows = $('tr.inherit.'+id);
var img = $('tr.inherit_header.'+id+' img');
var src = $(img).attr('src');
if (rows.filter(':first').is(':visible')===true) {
rows.css('display','none');
$(img).attr('src',src.substring(0,src.length-8)+'closed.png');
} else {
rows.css('display','table-row'); // using show() causes jump in firefox
$(img).attr('src',src.substring(0,src.length-10)+'open.png');
}
}
var opened=true;
// in case HTML_COLORSTYLE is LIGHT or DARK the vars will be replaced, so we write them out explicitly and use double quotes
var plusImg = [ "var(--fold-plus-image)", "var(--fold-plus-image-relpath)" ];
var minusImg = [ "var(--fold-minus-image)", "var(--fold-minus-image-relpath)" ];
// toggle all folding blocks
function codefold_toggle_all(relPath) {
if (opened) {
$('#fold_all').css('background-image',plusImg[relPath]);
$('div[id^=foldopen]').hide();
$('div[id^=foldclosed]').show();
} else {
$('#fold_all').css('background-image',minusImg[relPath]);
$('div[id^=foldopen]').show();
$('div[id^=foldclosed]').hide();
}
opened=!opened;
}
// toggle single folding block
function codefold_toggle(id) {
$('#foldopen'+id).toggle();
$('#foldclosed'+id).toggle();
}
function init_codefold(relPath) {
$('span[class=lineno]').css(
{'padding-right':'4px',
'margin-right':'2px',
'display':'inline-block',
'width':'54px',
'background':'linear-gradient(var(--fold-line-color),var(--fold-line-color)) no-repeat 46px/2px 100%'
});
// add global toggle to first line
$('span[class=lineno]:first').append('<span class="fold" id="fold_all" '+
'onclick="javascript:codefold_toggle_all('+relPath+');" '+
'style="background-image:'+minusImg[relPath]+';"></span>');
// add vertical lines to other rows
$('span[class=lineno]').not(':eq(0)').append('<span class="fold"></span>');
// add toggle controls to lines with fold divs
$('div[class=foldopen]').each(function() {
// extract specific id to use
var id = $(this).attr('id').replace('foldopen','');
// extract start and end foldable fragment attributes
var start = $(this).attr('data-start');
var end = $(this).attr('data-end');
// replace normal fold span with controls for the first line of a foldable fragment
$(this).find('span[class=fold]:first').replaceWith('<span class="fold" '+
'onclick="javascript:codefold_toggle(\''+id+'\');" '+
'style="background-image:'+minusImg[relPath]+';"></span>');
// append div for folded (closed) representation
$(this).after('<div id="foldclosed'+id+'" class="foldclosed" style="display:none;"></div>');
// extract the first line from the "open" section to represent closed content
var line = $(this).children().first().clone();
// remove any glow that might still be active on the original line
$(line).removeClass('glow');
if (start) {
// if line already ends with a start marker (e.g. trailing {), remove it
$(line).html($(line).html().replace(new RegExp('\\s*'+start+'\\s*$','g'),''));
}
// replace minus with plus symbol
$(line).find('span[class=fold]').css('background-image',plusImg[relPath]);
// append ellipsis
$(line).append(' '+start+'<a href="javascript:codefold_toggle(\''+id+'\')">&#8230;</a>'+end);
// insert constructed line into closed div
$('#foldclosed'+id).html(line);
});
}
/* @license-end */

278
fhss_8c.html Normal file
View File

@@ -0,0 +1,278 @@
<!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" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>ptt-fhss: src/fhss.c File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">ptt-fhss
</div>
<div id="projectbrief">Bare-metal PTT firmware for nRF52840 with FHSS</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a> </div>
<div class="headertitle"><div class="title">fhss.c File Reference</div></div>
</div><!--header-->
<div class="contents">
<p>FHSS channel sequencer implementation.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="fhss_8h_source.html">fhss.h</a>&quot;</code><br />
<code>#include &lt;aes.h&gt;</code><br />
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a44cfe02274ceefa5de0fed51e1c4e741" id="r_a44cfe02274ceefa5de0fed51e1c4e741"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fhss_8c.html#a44cfe02274ceefa5de0fed51e1c4e741">fhss_init</a> (void)</td></tr>
<tr class="memdesc:a44cfe02274ceefa5de0fed51e1c4e741"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reset the slot counter to zero. <br /></td></tr>
<tr class="separator:a44cfe02274ceefa5de0fed51e1c4e741"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a28190a786a8da0f56bfbe8261dfc359a" id="r_a28190a786a8da0f56bfbe8261dfc359a"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fhss_8c.html#a28190a786a8da0f56bfbe8261dfc359a">fhss_next_channel</a> (void)</td></tr>
<tr class="memdesc:a28190a786a8da0f56bfbe8261dfc359a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the next channel in the hopping sequence and advance the slot. <br /></td></tr>
<tr class="separator:a28190a786a8da0f56bfbe8261dfc359a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa254dd2e4da40c6ac7f1d1b189666eca" id="r_aa254dd2e4da40c6ac7f1d1b189666eca"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fhss_8c.html#aa254dd2e4da40c6ac7f1d1b189666eca">fhss_sync_tick</a> (void)</td></tr>
<tr class="memdesc:aa254dd2e4da40c6ac7f1d1b189666eca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Advance the slot counter by one (receiver side, no packet received). <br /></td></tr>
<tr class="separator:aa254dd2e4da40c6ac7f1d1b189666eca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4db6a04939b3d885681ebd1bbab03cb2" id="r_a4db6a04939b3d885681ebd1bbab03cb2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fhss_8c.html#a4db6a04939b3d885681ebd1bbab03cb2">fhss_set_slot</a> (uint32_t s)</td></tr>
<tr class="memdesc:a4db6a04939b3d885681ebd1bbab03cb2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Force the slot counter to a specific value for RX synchronisation. <br /></td></tr>
<tr class="separator:a4db6a04939b3d885681ebd1bbab03cb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c45cff675465f11798eaf0a0e0b8d0e" id="r_a7c45cff675465f11798eaf0a0e0b8d0e"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fhss_8c.html#a7c45cff675465f11798eaf0a0e0b8d0e">fhss_get_slot</a> (void)</td></tr>
<tr class="memdesc:a7c45cff675465f11798eaf0a0e0b8d0e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the current slot counter value. <br /></td></tr>
<tr class="separator:a7c45cff675465f11798eaf0a0e0b8d0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="var-members" name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:aefc147b3b6fc7be18cbeabfa8babaacc" id="r_aefc147b3b6fc7be18cbeabfa8babaacc"><td class="memItemLeft" align="right" valign="top">static const uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fhss_8c.html#aefc147b3b6fc7be18cbeabfa8babaacc">shared_key</a> [16]</td></tr>
<tr class="separator:aefc147b3b6fc7be18cbeabfa8babaacc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8da4ee0fe1f6d2dcab3b7562d79c10a1" id="r_a8da4ee0fe1f6d2dcab3b7562d79c10a1"><td class="memItemLeft" align="right" valign="top">static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fhss_8c.html#a8da4ee0fe1f6d2dcab3b7562d79c10a1">slot</a></td></tr>
<tr class="separator:a8da4ee0fe1f6d2dcab3b7562d79c10a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>FHSS channel sequencer implementation. </p>
</div><h2 class="groupheader">Function Documentation</h2>
<a id="a7c45cff675465f11798eaf0a0e0b8d0e" name="a7c45cff675465f11798eaf0a0e0b8d0e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7c45cff675465f11798eaf0a0e0b8d0e">&#9670;&#160;</a></span>fhss_get_slot()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t fhss_get_slot </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Return the current slot counter value. </p>
</div>
</div>
<a id="a44cfe02274ceefa5de0fed51e1c4e741" name="a44cfe02274ceefa5de0fed51e1c4e741"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a44cfe02274ceefa5de0fed51e1c4e741">&#9670;&#160;</a></span>fhss_init()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void fhss_init </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Reset the slot counter to zero. </p>
</div>
</div>
<a id="a28190a786a8da0f56bfbe8261dfc359a" name="a28190a786a8da0f56bfbe8261dfc359a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a28190a786a8da0f56bfbe8261dfc359a">&#9670;&#160;</a></span>fhss_next_channel()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t fhss_next_channel </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Return the next channel in the hopping sequence and advance the slot. </p>
<dl class="section return"><dt>Returns</dt><dd>Channel index in [0, 39]. </dd></dl>
</div>
</div>
<a id="a4db6a04939b3d885681ebd1bbab03cb2" name="a4db6a04939b3d885681ebd1bbab03cb2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4db6a04939b3d885681ebd1bbab03cb2">&#9670;&#160;</a></span>fhss_set_slot()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void fhss_set_slot </td>
<td>(</td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>s</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Force the slot counter to a specific value for RX synchronisation. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">s</td><td>New slot value. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aa254dd2e4da40c6ac7f1d1b189666eca" name="aa254dd2e4da40c6ac7f1d1b189666eca"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa254dd2e4da40c6ac7f1d1b189666eca">&#9670;&#160;</a></span>fhss_sync_tick()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void fhss_sync_tick </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Advance the slot counter by one (receiver side, no packet received). </p>
</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a id="aefc147b3b6fc7be18cbeabfa8babaacc" name="aefc147b3b6fc7be18cbeabfa8babaacc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aefc147b3b6fc7be18cbeabfa8babaacc">&#9670;&#160;</a></span>shared_key</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const uint8_t shared_key[16]</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line"> 0xA3, 0x4F, 0x2C, 0x8B, 0xE1, 0x76, 0x0D, 0x95, 0x4A, 0xB8, 0x3E, 0x72, 0x1F, 0xC9, 0x56, 0x0A,</div>
<div class="line">}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a8da4ee0fe1f6d2dcab3b7562d79c10a1" name="a8da4ee0fe1f6d2dcab3b7562d79c10a1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8da4ee0fe1f6d2dcab3b7562d79c10a1">&#9670;&#160;</a></span>slot</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint32_t slot</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
</small></address>
</body>
</html>

267
fhss_8h.html Normal file
View File

@@ -0,0 +1,267 @@
<!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" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>ptt-fhss: include/fhss.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">ptt-fhss
</div>
<div id="projectbrief">Bare-metal PTT firmware for nRF52840 with FHSS</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle"><div class="title">fhss.h File Reference</div></div>
</div><!--header-->
<div class="contents">
<p>FHSS channel sequencer based on AES-128-ECB.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;stdint.h&gt;</code><br />
</div>
<p><a href="fhss_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a6874b77e366ca7dd46cd88c41b4b1759" id="r_a6874b77e366ca7dd46cd88c41b4b1759"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fhss_8h.html#a6874b77e366ca7dd46cd88c41b4b1759">FHSS_DWELL_MS</a>&#160;&#160;&#160;2u</td></tr>
<tr class="memdesc:a6874b77e366ca7dd46cd88c41b4b1759"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dwell time per channel in milliseconds. <br /></td></tr>
<tr class="separator:a6874b77e366ca7dd46cd88c41b4b1759"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af92d3579d3a9e88e73dd54a7bcad6341" id="r_af92d3579d3a9e88e73dd54a7bcad6341"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fhss_8h.html#af92d3579d3a9e88e73dd54a7bcad6341">FHSS_CHANNELS</a>&#160;&#160;&#160;40u</td></tr>
<tr class="memdesc:af92d3579d3a9e88e73dd54a7bcad6341"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of channels in the hopping sequence. <br /></td></tr>
<tr class="separator:af92d3579d3a9e88e73dd54a7bcad6341"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a44cfe02274ceefa5de0fed51e1c4e741" id="r_a44cfe02274ceefa5de0fed51e1c4e741"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fhss_8h.html#a44cfe02274ceefa5de0fed51e1c4e741">fhss_init</a> (void)</td></tr>
<tr class="memdesc:a44cfe02274ceefa5de0fed51e1c4e741"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reset the slot counter to zero. <br /></td></tr>
<tr class="separator:a44cfe02274ceefa5de0fed51e1c4e741"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a28190a786a8da0f56bfbe8261dfc359a" id="r_a28190a786a8da0f56bfbe8261dfc359a"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fhss_8h.html#a28190a786a8da0f56bfbe8261dfc359a">fhss_next_channel</a> (void)</td></tr>
<tr class="memdesc:a28190a786a8da0f56bfbe8261dfc359a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the next channel in the hopping sequence and advance the slot. <br /></td></tr>
<tr class="separator:a28190a786a8da0f56bfbe8261dfc359a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa254dd2e4da40c6ac7f1d1b189666eca" id="r_aa254dd2e4da40c6ac7f1d1b189666eca"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fhss_8h.html#aa254dd2e4da40c6ac7f1d1b189666eca">fhss_sync_tick</a> (void)</td></tr>
<tr class="memdesc:aa254dd2e4da40c6ac7f1d1b189666eca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Advance the slot counter by one (receiver side, no packet received). <br /></td></tr>
<tr class="separator:aa254dd2e4da40c6ac7f1d1b189666eca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4db6a04939b3d885681ebd1bbab03cb2" id="r_a4db6a04939b3d885681ebd1bbab03cb2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fhss_8h.html#a4db6a04939b3d885681ebd1bbab03cb2">fhss_set_slot</a> (uint32_t s)</td></tr>
<tr class="memdesc:a4db6a04939b3d885681ebd1bbab03cb2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Force the slot counter to a specific value for RX synchronisation. <br /></td></tr>
<tr class="separator:a4db6a04939b3d885681ebd1bbab03cb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c45cff675465f11798eaf0a0e0b8d0e" id="r_a7c45cff675465f11798eaf0a0e0b8d0e"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fhss_8h.html#a7c45cff675465f11798eaf0a0e0b8d0e">fhss_get_slot</a> (void)</td></tr>
<tr class="memdesc:a7c45cff675465f11798eaf0a0e0b8d0e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the current slot counter value. <br /></td></tr>
<tr class="separator:a7c45cff675465f11798eaf0a0e0b8d0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>FHSS channel sequencer based on AES-128-ECB. </p>
<p>Both link endpoints derive the same hopping sequence independently from a shared 128-bit key and a monotonically increasing slot counter. No synchronisation traffic is required as long as both sides start from the same slot. </p>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a id="af92d3579d3a9e88e73dd54a7bcad6341" name="af92d3579d3a9e88e73dd54a7bcad6341"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af92d3579d3a9e88e73dd54a7bcad6341">&#9670;&#160;</a></span>FHSS_CHANNELS</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define FHSS_CHANNELS&#160;&#160;&#160;40u</td>
</tr>
</table>
</div><div class="memdoc">
<p>Number of channels in the hopping sequence. </p>
</div>
</div>
<a id="a6874b77e366ca7dd46cd88c41b4b1759" name="a6874b77e366ca7dd46cd88c41b4b1759"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6874b77e366ca7dd46cd88c41b4b1759">&#9670;&#160;</a></span>FHSS_DWELL_MS</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define FHSS_DWELL_MS&#160;&#160;&#160;2u</td>
</tr>
</table>
</div><div class="memdoc">
<p>Dwell time per channel in milliseconds. </p>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="a7c45cff675465f11798eaf0a0e0b8d0e" name="a7c45cff675465f11798eaf0a0e0b8d0e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7c45cff675465f11798eaf0a0e0b8d0e">&#9670;&#160;</a></span>fhss_get_slot()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t fhss_get_slot </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Return the current slot counter value. </p>
</div>
</div>
<a id="a44cfe02274ceefa5de0fed51e1c4e741" name="a44cfe02274ceefa5de0fed51e1c4e741"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a44cfe02274ceefa5de0fed51e1c4e741">&#9670;&#160;</a></span>fhss_init()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void fhss_init </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Reset the slot counter to zero. </p>
</div>
</div>
<a id="a28190a786a8da0f56bfbe8261dfc359a" name="a28190a786a8da0f56bfbe8261dfc359a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a28190a786a8da0f56bfbe8261dfc359a">&#9670;&#160;</a></span>fhss_next_channel()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t fhss_next_channel </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Return the next channel in the hopping sequence and advance the slot. </p>
<dl class="section return"><dt>Returns</dt><dd>Channel index in [0, 39]. </dd></dl>
</div>
</div>
<a id="a4db6a04939b3d885681ebd1bbab03cb2" name="a4db6a04939b3d885681ebd1bbab03cb2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4db6a04939b3d885681ebd1bbab03cb2">&#9670;&#160;</a></span>fhss_set_slot()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void fhss_set_slot </td>
<td>(</td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>s</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Force the slot counter to a specific value for RX synchronisation. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">s</td><td>New slot value. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aa254dd2e4da40c6ac7f1d1b189666eca" name="aa254dd2e4da40c6ac7f1d1b189666eca"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa254dd2e4da40c6ac7f1d1b189666eca">&#9670;&#160;</a></span>fhss_sync_tick()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void fhss_sync_tick </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Advance the slot counter by one (receiver side, no packet received). </p>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
</small></address>
</body>
</html>

113
fhss_8h_source.html Normal file
View File

@@ -0,0 +1,113 @@
<!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" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>ptt-fhss: include/fhss.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">ptt-fhss
</div>
<div id="projectbrief">Bare-metal PTT firmware for nRF52840 with FHSS</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function() { init_codefold(0); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle"><div class="title">fhss.h</div></div>
</div><!--header-->
<div class="contents">
<a href="fhss_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span> </div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="preprocessor">#pragma once</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="preprocessor">#include &lt;stdint.h&gt;</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span> </div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"><a class="line" href="fhss_8h.html#a6874b77e366ca7dd46cd88c41b4b1759"> 14</a></span><span class="preprocessor">#define FHSS_DWELL_MS 2u</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span> </div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"><a class="line" href="fhss_8h.html#af92d3579d3a9e88e73dd54a7bcad6341"> 17</a></span><span class="preprocessor">#define FHSS_CHANNELS 40u</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span> </div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="keywordtype">void</span> <a class="code hl_function" href="fhss_8h.html#a44cfe02274ceefa5de0fed51e1c4e741">fhss_init</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> </div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span>uint8_t <a class="code hl_function" href="fhss_8h.html#a28190a786a8da0f56bfbe8261dfc359a">fhss_next_channel</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> </div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><span class="keywordtype">void</span> <a class="code hl_function" href="fhss_8h.html#aa254dd2e4da40c6ac7f1d1b189666eca">fhss_sync_tick</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> </div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span><span class="keywordtype">void</span> <a class="code hl_function" href="fhss_8h.html#a4db6a04939b3d885681ebd1bbab03cb2">fhss_set_slot</a>(uint32_t s);</div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> </div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span>uint32_t <a class="code hl_function" href="fhss_8h.html#a7c45cff675465f11798eaf0a0e0b8d0e">fhss_get_slot</a>(<span class="keywordtype">void</span>);</div>
<div class="ttc" id="afhss_8h_html_a28190a786a8da0f56bfbe8261dfc359a"><div class="ttname"><a href="fhss_8h.html#a28190a786a8da0f56bfbe8261dfc359a">fhss_next_channel</a></div><div class="ttdeci">uint8_t fhss_next_channel(void)</div><div class="ttdoc">Return the next channel in the hopping sequence and advance the slot.</div><div class="ttdef"><b>Definition</b> fhss.c:22</div></div>
<div class="ttc" id="afhss_8h_html_a44cfe02274ceefa5de0fed51e1c4e741"><div class="ttname"><a href="fhss_8h.html#a44cfe02274ceefa5de0fed51e1c4e741">fhss_init</a></div><div class="ttdeci">void fhss_init(void)</div><div class="ttdoc">Reset the slot counter to zero.</div><div class="ttdef"><b>Definition</b> fhss.c:17</div></div>
<div class="ttc" id="afhss_8h_html_a4db6a04939b3d885681ebd1bbab03cb2"><div class="ttname"><a href="fhss_8h.html#a4db6a04939b3d885681ebd1bbab03cb2">fhss_set_slot</a></div><div class="ttdeci">void fhss_set_slot(uint32_t s)</div><div class="ttdoc">Force the slot counter to a specific value for RX synchronisation.</div><div class="ttdef"><b>Definition</b> fhss.c:45</div></div>
<div class="ttc" id="afhss_8h_html_a7c45cff675465f11798eaf0a0e0b8d0e"><div class="ttname"><a href="fhss_8h.html#a7c45cff675465f11798eaf0a0e0b8d0e">fhss_get_slot</a></div><div class="ttdeci">uint32_t fhss_get_slot(void)</div><div class="ttdoc">Return the current slot counter value.</div><div class="ttdef"><b>Definition</b> fhss.c:50</div></div>
<div class="ttc" id="afhss_8h_html_aa254dd2e4da40c6ac7f1d1b189666eca"><div class="ttname"><a href="fhss_8h.html#aa254dd2e4da40c6ac7f1d1b189666eca">fhss_sync_tick</a></div><div class="ttdeci">void fhss_sync_tick(void)</div><div class="ttdoc">Advance the slot counter by one (receiver side, no packet received).</div><div class="ttdef"><b>Definition</b> fhss.c:40</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
</small></address>
</body>
</html>

97
files.html Normal file
View File

@@ -0,0 +1,97 @@
<!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" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>ptt-fhss: File List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">ptt-fhss
</div>
<div id="projectbrief">Bare-metal PTT firmware for nRF52840 with FHSS</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">File List</div></div>
</div><!--header-->
<div class="contents">
<div class="textblock">Here is a list of all files with brief descriptions:</div><div class="directory">
<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span>]</div><table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">&#9660;</span><span id="img_0_" class="iconfopen" onclick="toggleFolder('0_')">&#160;</span><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html" target="_self">include</a></td><td class="desc"></td></tr>
<tr id="row_0_0_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="fhss_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fhss_8h.html" target="_self">fhss.h</a></td><td class="desc">FHSS channel sequencer based on AES-128-ECB </td></tr>
<tr id="row_0_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="power_8h_source.html"><span class="icondoc"></span></a><a class="el" href="power_8h.html" target="_self">power.h</a></td><td class="desc">Power management: DC/DC regulator, GPIOTE wakeup, WFI sleep </td></tr>
<tr id="row_0_2_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="radio_8h_source.html"><span class="icondoc"></span></a><a class="el" href="radio_8h.html" target="_self">radio.h</a></td><td class="desc">RADIO peripheral driver &ndash; NRF_1Mbit proprietary mode </td></tr>
<tr id="row_0_3_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="regs_8h_source.html"><span class="icondoc"></span></a><a class="el" href="regs_8h.html" target="_self">regs.h</a></td><td class="desc">Hardware register bitfield unions for nRF52840 peripherals </td></tr>
<tr id="row_1_" class="odd"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_1_" class="arrow" onclick="toggleFolder('1_')">&#9660;</span><span id="img_1_" class="iconfopen" onclick="toggleFolder('1_')">&#160;</span><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html" target="_self">src</a></td><td class="desc"></td></tr>
<tr id="row_1_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="fhss_8c.html" target="_self">fhss.c</a></td><td class="desc">FHSS channel sequencer implementation </td></tr>
<tr id="row_1_1_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="main_8c.html" target="_self">main.c</a></td><td class="desc">Entry point: initialise peripherals and run the PTT event loop </td></tr>
<tr id="row_1_2_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="power_8c.html" target="_self">power.c</a></td><td class="desc">Power management implementation </td></tr>
<tr id="row_1_3_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="radio_8c.html" target="_self">radio.c</a></td><td class="desc">RADIO peripheral driver implementation </td></tr>
<tr id="row_1_4_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="startup_8c.html" target="_self">startup.c</a></td><td class="desc">Vector table and Reset_Handler for nRF52840 (no SoftDevice) </td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
</small></address>
</body>
</html>

11
folderclosed.svg Normal file
View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" width="16" height="24" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve">
<g style="fill:#4665A2;">
<path d="M1,5.998l-0,16.002c-0,1.326 0.527,2.598 1.464,3.536c0.938,0.937 2.21,1.464 3.536,1.464c5.322,0 14.678,-0 20,0c1.326,0 2.598,-0.527 3.536,-1.464c0.937,-0.938 1.464,-2.21 1.464,-3.536c0,-3.486 0,-8.514 0,-12c0,-1.326 -0.527,-2.598 -1.464,-3.536c-0.938,-0.937 -2.21,-1.464 -3.536,-1.464c-0,0 -10.586,0 -10.586,0c0,-0 -3.707,-3.707 -3.707,-3.707c-0.187,-0.188 -0.442,-0.293 -0.707,-0.293l-5.002,0c-2.76,0 -4.998,2.238 -4.998,4.998Zm2,-0l-0,16.002c-0,0.796 0.316,1.559 0.879,2.121c0.562,0.563 1.325,0.879 2.121,0.879l20,0c0.796,0 1.559,-0.316 2.121,-0.879c0.563,-0.562 0.879,-1.325 0.879,-2.121c0,-3.486 0,-8.514 0,-12c0,-0.796 -0.316,-1.559 -0.879,-2.121c-0.562,-0.563 -1.325,-0.879 -2.121,-0.879c-7.738,0 -11,0 -11,0c-0.265,0 -0.52,-0.105 -0.707,-0.293c-0,0 -3.707,-3.707 -3.707,-3.707c-0,0 -4.588,0 -4.588,0c-1.656,0 -2.998,1.342 -2.998,2.998Z"/>
</g>
<g style="fill:#D8DFEE;stroke-width:0;">
<path d="M 5.6063709,24.951908 C 4.3924646,24.775461 3.4197129,23.899792 3.1031586,22.698521 L 3.0216155,22.389078 V 13.997725 5.6063709 L 3.1037477,5.2982247 C 3.3956682,4.2029881 4.1802788,3.412126 5.2787258,3.105917 5.5646428,3.0262132 5.6154982,3.0244963 8.0611641,3.0119829 l 2.4911989,-0.012746 1.932009,1.9300342 c 1.344142,1.3427669 1.976319,1.9498819 2.07763,1.9952626 0.137456,0.061571 0.474218,0.066269 6.006826,0.083795 l 5.861206,0.018568 0.29124,0.081916 c 1.094895,0.3079569 1.890116,1.109428 2.175567,2.192667 l 0.08154,0.3094425 V 16 22.389078 l -0.08154,0.309443 c -0.28446,1.079482 -1.086411,1.888085 -2.175567,2.193614 l -0.29124,0.0817 -10.302616,0.0049 c -5.700217,0.0027 -10.4001945,-0.0093 -10.5210471,-0.02684 z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

11
folderclosedd.svg Normal file
View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" width="16" height="24" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve">
<g style="fill:#C4CFE5;">
<path d="M1,5.998l-0,16.002c-0,1.326 0.527,2.598 1.464,3.536c0.938,0.937 2.21,1.464 3.536,1.464c5.322,0 14.678,-0 20,0c1.326,0 2.598,-0.527 3.536,-1.464c0.937,-0.938 1.464,-2.21 1.464,-3.536c0,-3.486 0,-8.514 0,-12c0,-1.326 -0.527,-2.598 -1.464,-3.536c-0.938,-0.937 -2.21,-1.464 -3.536,-1.464c-0,0 -10.586,0 -10.586,0c0,-0 -3.707,-3.707 -3.707,-3.707c-0.187,-0.188 -0.442,-0.293 -0.707,-0.293l-5.002,0c-2.76,0 -4.998,2.238 -4.998,4.998Zm2,-0l-0,16.002c-0,0.796 0.316,1.559 0.879,2.121c0.562,0.563 1.325,0.879 2.121,0.879l20,0c0.796,0 1.559,-0.316 2.121,-0.879c0.563,-0.562 0.879,-1.325 0.879,-2.121c0,-3.486 0,-8.514 0,-12c0,-0.796 -0.316,-1.559 -0.879,-2.121c-0.562,-0.563 -1.325,-0.879 -2.121,-0.879c-7.738,0 -11,0 -11,0c-0.265,0 -0.52,-0.105 -0.707,-0.293c-0,0 -3.707,-3.707 -3.707,-3.707c-0,0 -4.588,0 -4.588,0c-1.656,0 -2.998,1.342 -2.998,2.998Z"/>
</g>
<g style="fill:#4665A2;stroke-width:0;">
<path d="M 5.6063709,24.951908 C 4.3924646,24.775461 3.4197129,23.899792 3.1031586,22.698521 L 3.0216155,22.389078 V 13.997725 5.6063709 L 3.1037477,5.2982247 C 3.3956682,4.2029881 4.1802788,3.412126 5.2787258,3.105917 5.5646428,3.0262132 5.6154982,3.0244963 8.0611641,3.0119829 l 2.4911989,-0.012746 1.932009,1.9300342 c 1.344142,1.3427669 1.976319,1.9498819 2.07763,1.9952626 0.137456,0.061571 0.474218,0.066269 6.006826,0.083795 l 5.861206,0.018568 0.29124,0.081916 c 1.094895,0.3079569 1.890116,1.109428 2.175567,2.192667 l 0.08154,0.3094425 V 16 22.389078 l -0.08154,0.309443 c -0.28446,1.079482 -1.086411,1.888085 -2.175567,2.193614 l -0.29124,0.0817 -10.302616,0.0049 c -5.700217,0.0027 -10.4001945,-0.0093 -10.5210471,-0.02684 z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

17
folderopen.svg Normal file
View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" width="16" height="24" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve">
<g style="fill:#4665A2;">
<path
d="M1,5.998l0,16.002c-0,1.326 0.527,2.598 1.464,3.536c0.938,0.937 2.21,1.464 3.536,1.464c5.322,0 14.678,-0 20,0c1.326,0 2.598,-0.527 3.536,-1.464c0.937,-0.938 1.464,-2.21 1.464,-3.536c0,-3.486 0,-8.514 0,-12c0,-1.326 -0.527,-2.598 -1.464,-3.536c-0.938,-0.937 -2.21,-1.464 -3.536,-1.464c-0,0 -10.586,0 -10.586,0c0,-0 -3.707,-3.707 -3.707,-3.707c-0.187,-0.188 -0.442,-0.293 -0.707,-0.293l-5.002,0c-2.76,0 -4.998,2.238 -4.998,4.998Zm28,14.415l-3.456,-5.925c-0.538,-0.921 -1.524,-1.488 -2.591,-1.488c-0,0 -12.905,0 -12.906,0c-1.067,0 -2.053,0.567 -2.591,1.488l-4.453,7.635c0.03,0.751 0.342,1.465 0.876,1.998c0.562,0.563 1.325,0.879 2.121,0.879l20,0c0.796,0 1.559,-0.316 2.121,-0.879c0.563,-0.562 0.879,-1.325 0.879,-2.121l0,-1.587Zm0,-3.969l0,-6.444c0,-0.796 -0.316,-1.559 -0.879,-2.121c-0.562,-0.563 -1.325,-0.879 -2.121,-0.879c-7.738,0 -11,0 -11,0c-0.265,0 -0.52,-0.105 -0.707,-0.293c-0,0 -3.707,-3.707 -3.707,-3.707c-0,0 -4.588,0 -4.588,0c-1.656,0 -2.998,1.342 -2.998,2.998l0,12.16l2.729,-4.677c0.896,-1.536 2.54,-2.481 4.318,-2.481c3.354,0 9.552,0 12.906,0c1.778,0 3.422,0.945 4.318,2.481l1.729,2.963Z"
id="path2" />
</g>
<g style="fill:#D8DFEE;stroke-width:0;">
<path
d="M 5.3879408,24.913408 C 4.1598821,24.650818 3.1571088,23.558656 3.053503,22.370876 L 3.0312746,22.116041 5.2606813,18.293515 C 6.486855,16.191126 7.5598351,14.372696 7.6450818,14.25256 8.0043056,13.746312 8.5423079,13.363007 9.2104664,13.137285 l 0.2548351,-0.08609 6.9294785,-0.0097 c 6.805096,-0.0095 6.934944,-0.0084 7.234011,0.06267 0.695577,0.165199 1.290483,0.557253 1.714887,1.130141 0.08158,0.110125 0.938747,1.556711 1.90481,3.214634 l 1.756479,3.014406 -0.0186,0.971942 c -0.01387,0.724723 -0.03365,1.032131 -0.07778,1.208575 -0.242792,0.970733 -0.88732,1.735415 -1.772382,2.102793 -0.58835,0.244217 0.247209,0.227436 -11.161974,0.224159 -9.0281537,-0.0026 -10.3636023,-0.0098 -10.5862902,-0.05746 z"
id="path199" /><path
d="M 3.0126385,11.849829 3.0235061,5.5881684 3.1020974,5.2969283 C 3.3478146,4.3863605 3.93576,3.6757372 4.756668,3.2971229 5.3293315,3.0330025 5.1813272,3.0450949 8.0130385,3.0310668 l 2.5522875,-0.012644 1.918693,1.9107086 c 1.404146,1.3983023 1.964459,1.9332518 2.089351,1.9947704 l 0.170657,0.084062 5.897611,0.019367 c 5.553257,0.018236 5.910365,0.023213 6.116041,0.085231 1.102257,0.3323708 1.857042,1.1184422 2.154229,2.2435244 0.05645,0.2137228 0.06373,0.5643981 0.07519,3.6220748 0.0076,2.032169 -5.42e-4,3.370979 -0.02041,3.349261 -0.0182,-0.0199 -0.414296,-0.691472 -0.880217,-1.492382 -0.46592,-0.80091 -0.93093,-1.577954 -1.033354,-1.726764 -0.735716,-1.0689 -1.983568,-1.844244 -3.315972,-2.060353 -0.280375,-0.04548 -1.345158,-0.05334 -7.238708,-0.05347 -4.713933,-1.09e-4 -6.9931825,0.01221 -7.1717862,0.03874 -1.3002273,0.193134 -2.4770512,0.889916 -3.283628,1.944192 -0.1076466,0.140705 -0.8359664,1.353438 -1.6184885,2.694963 L 3.0017709,18.11149 Z"
id="path201" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.2 KiB

12
folderopend.svg Normal file
View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" width="16" height="24" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve">
<g style="fill:#C4CFE5;">
<path d="M1,5.998l0,16.002c-0,1.326 0.527,2.598 1.464,3.536c0.938,0.937 2.21,1.464 3.536,1.464c5.322,0 14.678,-0 20,0c1.326,0 2.598,-0.527 3.536,-1.464c0.937,-0.938 1.464,-2.21 1.464,-3.536c0,-3.486 0,-8.514 0,-12c0,-1.326 -0.527,-2.598 -1.464,-3.536c-0.938,-0.937 -2.21,-1.464 -3.536,-1.464c-0,0 -10.586,0 -10.586,0c0,-0 -3.707,-3.707 -3.707,-3.707c-0.187,-0.188 -0.442,-0.293 -0.707,-0.293l-5.002,0c-2.76,0 -4.998,2.238 -4.998,4.998Zm28,14.415l-3.456,-5.925c-0.538,-0.921 -1.524,-1.488 -2.591,-1.488c-0,0 -12.905,0 -12.906,0c-1.067,0 -2.053,0.567 -2.591,1.488l-4.453,7.635c0.03,0.751 0.342,1.465 0.876,1.998c0.562,0.563 1.325,0.879 2.121,0.879l20,0c0.796,0 1.559,-0.316 2.121,-0.879c0.563,-0.562 0.879,-1.325 0.879,-2.121l0,-1.587Zm0,-3.969l0,-6.444c0,-0.796 -0.316,-1.559 -0.879,-2.121c-0.562,-0.563 -1.325,-0.879 -2.121,-0.879c-7.738,0 -11,0 -11,0c-0.265,0 -0.52,-0.105 -0.707,-0.293c-0,0 -3.707,-3.707 -3.707,-3.707c-0,0 -4.588,0 -4.588,0c-1.656,0 -2.998,1.342 -2.998,2.998l0,12.16l2.729,-4.677c0.896,-1.536 2.54,-2.481 4.318,-2.481c3.354,0 9.552,0 12.906,0c1.778,0 3.422,0.945 4.318,2.481l1.729,2.963Z"/>
</g>
<g style="fill:#4665A2;stroke-width:0;">
<path d="M 5.3879408,24.913408 C 4.1598821,24.650818 3.1571088,23.558656 3.053503,22.370876 L 3.0312746,22.116041 5.2606813,18.293515 C 6.486855,16.191126 7.5598351,14.372696 7.6450818,14.25256 8.0043056,13.746312 8.5423079,13.363007 9.2104664,13.137285 l 0.2548351,-0.08609 6.9294785,-0.0097 c 6.805096,-0.0095 6.934944,-0.0084 7.234011,0.06267 0.695577,0.165199 1.290483,0.557253 1.714887,1.130141 0.08158,0.110125 0.938747,1.556711 1.90481,3.214634 l 1.756479,3.014406 -0.0186,0.971942 c -0.01387,0.724723 -0.03365,1.032131 -0.07778,1.208575 -0.242792,0.970733 -0.88732,1.735415 -1.772382,2.102793 -0.58835,0.244217 0.247209,0.227436 -11.161974,0.224159 -9.0281537,-0.0026 -10.3636023,-0.0098 -10.5862902,-0.05746 z" />
<path d="M 3.0126385,11.849829 3.0235061,5.5881684 3.1020974,5.2969283 C 3.3478146,4.3863605 3.93576,3.6757372 4.756668,3.2971229 5.3293315,3.0330025 5.1813272,3.0450949 8.0130385,3.0310668 l 2.5522875,-0.012644 1.918693,1.9107086 c 1.404146,1.3983023 1.964459,1.9332518 2.089351,1.9947704 l 0.170657,0.084062 5.897611,0.019367 c 5.553257,0.018236 5.910365,0.023213 6.116041,0.085231 1.102257,0.3323708 1.857042,1.1184422 2.154229,2.2435244 0.05645,0.2137228 0.06373,0.5643981 0.07519,3.6220748 0.0076,2.032169 -5.42e-4,3.370979 -0.02041,3.349261 -0.0182,-0.0199 -0.414296,-0.691472 -0.880217,-1.492382 -0.46592,-0.80091 -0.93093,-1.577954 -1.033354,-1.726764 -0.735716,-1.0689 -1.983568,-1.844244 -3.315972,-2.060353 -0.280375,-0.04548 -1.345158,-0.05334 -7.238708,-0.05347 -4.713933,-1.09e-4 -6.9931825,0.01221 -7.1717862,0.03874 -1.3002273,0.193134 -2.4770512,0.889916 -3.283628,1.944192 -0.1076466,0.140705 -0.8359664,1.353438 -1.6184885,2.694963 L 3.0017709,18.11149 Z" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.1 KiB

191
functions.html Normal file
View File

@@ -0,0 +1,191 @@
<!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" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>ptt-fhss: Data Fields</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">ptt-fhss
</div>
<div id="projectbrief">Bare-metal PTT firmware for nRF52840 with FHSS</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="contents">
<div class="textblock">Here is a list of all struct and union fields with links to the structures/unions they belong to:</div>
<h3><a id="index__5F" name="index__5F"></a>- _ -</h3><ul>
<li>__pad0__&#160;:&#160;<a class="el" href="uniongpio__pin__cnf__t.html#ad13f66bb77986d27cf94d68e3ab05b17">gpio_pin_cnf_t</a>, <a class="el" href="uniongpiote__config__t.html#a3119e033378c1cb616828cf3f4b19039">gpiote_config_t</a>, <a class="el" href="uniongpiote__inten__t.html#a23d8e507cc78204f87cc32895008b1fb">gpiote_inten_t</a>, <a class="el" href="unionradio__crccnf__t.html#a870f6d2805cd7d389dba712e02984c86">radio_crccnf_t</a>, <a class="el" href="unionradio__frequency__t.html#a187028086c421925ddb47fecddd03ced">radio_frequency_t</a>, <a class="el" href="unionradio__mode__t.html#a3114bfc5f4c675867fdf370692ea028c">radio_mode_t</a>, <a class="el" href="unionradio__pcnf0__t.html#a45da5ca7d3070a6c1e305230e142443d">radio_pcnf0_t</a>, <a class="el" href="unionradio__pcnf1__t.html#af182fe2ada05698f7d682819643467a6">radio_pcnf1_t</a>, <a class="el" href="unionradio__shorts__t.html#a8e76c3046219fc1077dba0d31db79dca">radio_shorts_t</a>, <a class="el" href="unionradio__txpower__t.html#a3a94d8ed83501db954aed06f0bd0ff29">radio_txpower_t</a></li>
<li>__pad1__&#160;:&#160;<a class="el" href="uniongpio__pin__cnf__t.html#af1111556e83021a8a15a3f8de2702eba">gpio_pin_cnf_t</a>, <a class="el" href="uniongpiote__config__t.html#acacb6ff5adada164347e5f7ee6048e64">gpiote_config_t</a>, <a class="el" href="unionradio__crccnf__t.html#a2d57a6c5d888a1f9ede388e516ada955">radio_crccnf_t</a>, <a class="el" href="unionradio__frequency__t.html#a6dbd022d6eb28bbf7b680cb0287d8ca5">radio_frequency_t</a>, <a class="el" href="unionradio__pcnf0__t.html#a9bbd78d6a29f1d2f358b405cb6a8e358">radio_pcnf0_t</a>, <a class="el" href="unionradio__pcnf1__t.html#a33009de4a8e224b670475995378aca7e">radio_pcnf1_t</a>, <a class="el" href="unionradio__shorts__t.html#a294c267e2619469257cca00dcc469f35">radio_shorts_t</a></li>
<li>__pad2__&#160;:&#160;<a class="el" href="uniongpio__pin__cnf__t.html#a18b7e18f5c909cbc48e473390ea0f6e5">gpio_pin_cnf_t</a>, <a class="el" href="uniongpiote__config__t.html#ac5154e0d325d53e0df92ef00a8e5dac1">gpiote_config_t</a>, <a class="el" href="unionradio__pcnf0__t.html#a8652a6e25ff4cc8d0493337d74b98684">radio_pcnf0_t</a></li>
<li>__pad3__&#160;:&#160;<a class="el" href="uniongpiote__config__t.html#aedc7be502b31d10b7f6c1660d6773bc2">gpiote_config_t</a>, <a class="el" href="unionradio__pcnf0__t.html#a30c621d4d48d3e4c2e6e4365580de2a9">radio_pcnf0_t</a></li>
</ul>
<h3><a id="index_a" name="index_a"></a>- a -</h3><ul>
<li>ADDRESS_BCSTART&#160;:&#160;<a class="el" href="unionradio__shorts__t.html#aee0eed0fd63e4244c59ef72be9ea4a83">radio_shorts_t</a></li>
<li>ADDRESS_RSSISTART&#160;:&#160;<a class="el" href="unionradio__shorts__t.html#a17957fb43be1ca321b85504c790001f4">radio_shorts_t</a></li>
</ul>
<h3><a id="index_b" name="index_b"></a>- b -</h3><ul>
<li>BALEN&#160;:&#160;<a class="el" href="unionradio__pcnf1__t.html#a36b9fb2eefb4dd25c82560f4c2a5488a">radio_pcnf1_t</a></li>
<li>bit&#160;:&#160;<a class="el" href="uniongpio__pin__cnf__t.html#a1b8a65dff2986e8e8b1a62ca074b01a6">gpio_pin_cnf_t</a>, <a class="el" href="uniongpiote__config__t.html#a68fd0b2d0a865e7ff600fad41f1aed41">gpiote_config_t</a>, <a class="el" href="uniongpiote__inten__t.html#a86050dc9395a6951e2b076270864e30e">gpiote_inten_t</a>, <a class="el" href="unionradio__crccnf__t.html#a8775d8075890fc7fec4d0060c13b8cd3">radio_crccnf_t</a>, <a class="el" href="unionradio__frequency__t.html#ab08b2c415d5259b1a6933c2a9f9a6235">radio_frequency_t</a>, <a class="el" href="unionradio__mode__t.html#a8fd517d86ece1c1924f3cefe63cf8508">radio_mode_t</a>, <a class="el" href="unionradio__pcnf0__t.html#aff0e234d519fd316ad276bedb01a9e03">radio_pcnf0_t</a>, <a class="el" href="unionradio__pcnf1__t.html#a0cc13173e359e19ab0e22863ea7f3677">radio_pcnf1_t</a>, <a class="el" href="unionradio__shorts__t.html#afb932bd97f1d8e3f5ca3dc3f738a21f9">radio_shorts_t</a>, <a class="el" href="unionradio__txpower__t.html#afceaff5768934d643bf80c3e9c2d97ee">radio_txpower_t</a></li>
</ul>
<h3><a id="index_c" name="index_c"></a>- c -</h3><ul>
<li>CRCINC&#160;:&#160;<a class="el" href="unionradio__pcnf0__t.html#ad656a5c31b1c7155b21cd0f5388c2990">radio_pcnf0_t</a></li>
</ul>
<h3><a id="index_d" name="index_d"></a>- d -</h3><ul>
<li>DIR&#160;:&#160;<a class="el" href="uniongpio__pin__cnf__t.html#abf8eaa613f154b9a00acf666c129daa1">gpio_pin_cnf_t</a></li>
<li>DISABLED_RSSISTOP&#160;:&#160;<a class="el" href="unionradio__shorts__t.html#adbf9a640dbee8f873af89ebc603fe5ba">radio_shorts_t</a></li>
<li>DISABLED_RXEN&#160;:&#160;<a class="el" href="unionradio__shorts__t.html#a3030c9c5119b334281c782248348eed6">radio_shorts_t</a></li>
<li>DISABLED_TXEN&#160;:&#160;<a class="el" href="unionradio__shorts__t.html#ac7b891d177e7836bef054b91b6ec37cb">radio_shorts_t</a></li>
<li>DRIVE&#160;:&#160;<a class="el" href="uniongpio__pin__cnf__t.html#a68da32beb9aeb813c2c550adf6f04fe1">gpio_pin_cnf_t</a></li>
</ul>
<h3><a id="index_e" name="index_e"></a>- e -</h3><ul>
<li>END_DISABLE&#160;:&#160;<a class="el" href="unionradio__shorts__t.html#a4dfc41e8a83d70b605bd43a5ffd3b570">radio_shorts_t</a></li>
<li>END_START&#160;:&#160;<a class="el" href="unionradio__shorts__t.html#ad07293b2ee443a0b0f3679147c3d7635">radio_shorts_t</a></li>
<li>ENDIAN&#160;:&#160;<a class="el" href="unionradio__pcnf1__t.html#ac367c886efd29469e306c554a95e9013">radio_pcnf1_t</a></li>
</ul>
<h3><a id="index_f" name="index_f"></a>- f -</h3><ul>
<li>FREQUENCY&#160;:&#160;<a class="el" href="unionradio__frequency__t.html#a0fab5f30757d8feaa6cded2d592b5761">radio_frequency_t</a></li>
</ul>
<h3><a id="index_i" name="index_i"></a>- i -</h3><ul>
<li>IN0&#160;:&#160;<a class="el" href="uniongpiote__inten__t.html#ab48c0239b94abc7cd1f3be351dacf09b">gpiote_inten_t</a></li>
<li>IN1&#160;:&#160;<a class="el" href="uniongpiote__inten__t.html#a55d8550aaeb0160a2af2c53259e3d0c5">gpiote_inten_t</a></li>
<li>IN2&#160;:&#160;<a class="el" href="uniongpiote__inten__t.html#a1a1aa12d2446813e8ee2c5a4e20cacc1">gpiote_inten_t</a></li>
<li>IN3&#160;:&#160;<a class="el" href="uniongpiote__inten__t.html#a4d39a3279f5c13b49885211930d9d707">gpiote_inten_t</a></li>
<li>IN4&#160;:&#160;<a class="el" href="uniongpiote__inten__t.html#a91042a5d90d9450c3c886fab2b95fe29">gpiote_inten_t</a></li>
<li>IN5&#160;:&#160;<a class="el" href="uniongpiote__inten__t.html#a6dab9f0cdfa5a060cafe5a92251fd434">gpiote_inten_t</a></li>
<li>IN6&#160;:&#160;<a class="el" href="uniongpiote__inten__t.html#a2a8e99a412b980317ae3909de8ed77f4">gpiote_inten_t</a></li>
<li>IN7&#160;:&#160;<a class="el" href="uniongpiote__inten__t.html#afd93d78b4cc09deee99f3dc3cff95902">gpiote_inten_t</a></li>
<li>INPUT&#160;:&#160;<a class="el" href="uniongpio__pin__cnf__t.html#a8102df3e68b6ce5e73e6333f880f6361">gpio_pin_cnf_t</a></li>
</ul>
<h3><a id="index_l" name="index_l"></a>- l -</h3><ul>
<li>LEN&#160;:&#160;<a class="el" href="unionradio__crccnf__t.html#a0bce2b3a46ad97f0f9e174485cb71c7f">radio_crccnf_t</a></li>
<li>LFLEN&#160;:&#160;<a class="el" href="unionradio__pcnf0__t.html#ad6d76ec2ab020911add3db156153defb">radio_pcnf0_t</a></li>
</ul>
<h3><a id="index_m" name="index_m"></a>- m -</h3><ul>
<li>MAP&#160;:&#160;<a class="el" href="unionradio__frequency__t.html#abd28ee1611a4fc6b6d76a29a9cf79ca8">radio_frequency_t</a></li>
<li>MAXLEN&#160;:&#160;<a class="el" href="unionradio__pcnf1__t.html#ae425c6027300e833868d5a2a7c46e23a">radio_pcnf1_t</a></li>
<li>MODE&#160;:&#160;<a class="el" href="uniongpiote__config__t.html#a642a70d0562a022179a8d6b26119c200">gpiote_config_t</a>, <a class="el" href="unionradio__mode__t.html#a7035a8c2b6b7309a658d89595901abf5">radio_mode_t</a></li>
</ul>
<h3><a id="index_o" name="index_o"></a>- o -</h3><ul>
<li>OUTINIT&#160;:&#160;<a class="el" href="uniongpiote__config__t.html#a59bd567e14f56a01ddd0ed548e6a423f">gpiote_config_t</a></li>
</ul>
<h3><a id="index_p" name="index_p"></a>- p -</h3><ul>
<li>PLEN&#160;:&#160;<a class="el" href="unionradio__pcnf0__t.html#adf089d2e0820cacd56cbb9bb3909008c">radio_pcnf0_t</a></li>
<li>POLARITY&#160;:&#160;<a class="el" href="uniongpiote__config__t.html#a124c951c53159cc37e0cae0714f0435c">gpiote_config_t</a></li>
<li>PORT&#160;:&#160;<a class="el" href="uniongpiote__config__t.html#af0b806f1845c04a0dd7a678f1cc97bdf">gpiote_config_t</a>, <a class="el" href="uniongpiote__inten__t.html#aa8a80d19cb6579125305500c60bec533">gpiote_inten_t</a></li>
<li>PSEL&#160;:&#160;<a class="el" href="uniongpiote__config__t.html#a2b6a24c03f4879a90401750d42751292">gpiote_config_t</a></li>
<li>PULL&#160;:&#160;<a class="el" href="uniongpio__pin__cnf__t.html#a5d4631a88a946b9cc68d3e8c1ab14f96">gpio_pin_cnf_t</a></li>
</ul>
<h3><a id="index_r" name="index_r"></a>- r -</h3><ul>
<li>READY_START&#160;:&#160;<a class="el" href="unionradio__shorts__t.html#ab0229f263af4d80b28eeb11eb4d152ca">radio_shorts_t</a></li>
<li>reg&#160;:&#160;<a class="el" href="uniongpio__pin__cnf__t.html#a2c8d226853df0a989250a4ddf7f6645c">gpio_pin_cnf_t</a>, <a class="el" href="uniongpiote__config__t.html#a22f4cd44f48c20792e3baacabd08ed93">gpiote_config_t</a>, <a class="el" href="uniongpiote__inten__t.html#a0e3ec8ea0eee31b7676b23b7a909e3b3">gpiote_inten_t</a>, <a class="el" href="unionradio__crccnf__t.html#a20b774674aae78211a981e4d1f611d34">radio_crccnf_t</a>, <a class="el" href="unionradio__frequency__t.html#a2cb3661c3867f15124ea06f1c9289ae3">radio_frequency_t</a>, <a class="el" href="unionradio__mode__t.html#a34ea667ed15bb9a403a78f119403ecf5">radio_mode_t</a>, <a class="el" href="unionradio__pcnf0__t.html#a7b010a8ad59a3d36513f443c85678589">radio_pcnf0_t</a>, <a class="el" href="unionradio__pcnf1__t.html#a6b0c83b84e5a72e1388d16cf089a5302">radio_pcnf1_t</a>, <a class="el" href="unionradio__shorts__t.html#ac1565e6d7d7b8a2c4d60a998902efdda">radio_shorts_t</a>, <a class="el" href="unionradio__txpower__t.html#af1f8fc7050181b67c72d83d4de89face">radio_txpower_t</a></li>
</ul>
<h3><a id="index_s" name="index_s"></a>- s -</h3><ul>
<li>S0LEN&#160;:&#160;<a class="el" href="unionradio__pcnf0__t.html#a4c562075b6a0dd4fdf96b47c61d22df3">radio_pcnf0_t</a></li>
<li>S1INCL&#160;:&#160;<a class="el" href="unionradio__pcnf0__t.html#af6ef4d47f4d093385b745e418fef9fdd">radio_pcnf0_t</a></li>
<li>S1LEN&#160;:&#160;<a class="el" href="unionradio__pcnf0__t.html#a27c4aef283f2dead8ce38a76e0362392">radio_pcnf0_t</a></li>
<li>SENSE&#160;:&#160;<a class="el" href="uniongpio__pin__cnf__t.html#a58225de597d574ed9c4b1292c1026d36">gpio_pin_cnf_t</a></li>
<li>SKIPADDR&#160;:&#160;<a class="el" href="unionradio__crccnf__t.html#a45ff3977e23d837fef74a9978768ea89">radio_crccnf_t</a></li>
<li>STATLEN&#160;:&#160;<a class="el" href="unionradio__pcnf1__t.html#af81e41a31bf8c757fb8c329242dc420c">radio_pcnf1_t</a></li>
</ul>
<h3><a id="index_t" name="index_t"></a>- t -</h3><ul>
<li>TXPOWER&#160;:&#160;<a class="el" href="unionradio__txpower__t.html#aed646509fe985bcfc469f6539b7e1743">radio_txpower_t</a></li>
</ul>
<h3><a id="index_w" name="index_w"></a>- w -</h3><ul>
<li>WHITEEN&#160;:&#160;<a class="el" href="unionradio__pcnf1__t.html#a3e7aef95e9cf1a9eef912373281c695e">radio_pcnf1_t</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
</small></address>
</body>
</html>

191
functions_vars.html Normal file
View File

@@ -0,0 +1,191 @@
<!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" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>ptt-fhss: Data Fields - Variables</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">ptt-fhss
</div>
<div id="projectbrief">Bare-metal PTT firmware for nRF52840 with FHSS</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="contents">
<div class="textblock">Here is a list of all variables with links to the structures/unions they belong to:</div>
<h3><a id="index__5F" name="index__5F"></a>- _ -</h3><ul>
<li>__pad0__&#160;:&#160;<a class="el" href="uniongpio__pin__cnf__t.html#ad13f66bb77986d27cf94d68e3ab05b17">gpio_pin_cnf_t</a>, <a class="el" href="uniongpiote__config__t.html#a3119e033378c1cb616828cf3f4b19039">gpiote_config_t</a>, <a class="el" href="uniongpiote__inten__t.html#a23d8e507cc78204f87cc32895008b1fb">gpiote_inten_t</a>, <a class="el" href="unionradio__crccnf__t.html#a870f6d2805cd7d389dba712e02984c86">radio_crccnf_t</a>, <a class="el" href="unionradio__frequency__t.html#a187028086c421925ddb47fecddd03ced">radio_frequency_t</a>, <a class="el" href="unionradio__mode__t.html#a3114bfc5f4c675867fdf370692ea028c">radio_mode_t</a>, <a class="el" href="unionradio__pcnf0__t.html#a45da5ca7d3070a6c1e305230e142443d">radio_pcnf0_t</a>, <a class="el" href="unionradio__pcnf1__t.html#af182fe2ada05698f7d682819643467a6">radio_pcnf1_t</a>, <a class="el" href="unionradio__shorts__t.html#a8e76c3046219fc1077dba0d31db79dca">radio_shorts_t</a>, <a class="el" href="unionradio__txpower__t.html#a3a94d8ed83501db954aed06f0bd0ff29">radio_txpower_t</a></li>
<li>__pad1__&#160;:&#160;<a class="el" href="uniongpio__pin__cnf__t.html#af1111556e83021a8a15a3f8de2702eba">gpio_pin_cnf_t</a>, <a class="el" href="uniongpiote__config__t.html#acacb6ff5adada164347e5f7ee6048e64">gpiote_config_t</a>, <a class="el" href="unionradio__crccnf__t.html#a2d57a6c5d888a1f9ede388e516ada955">radio_crccnf_t</a>, <a class="el" href="unionradio__frequency__t.html#a6dbd022d6eb28bbf7b680cb0287d8ca5">radio_frequency_t</a>, <a class="el" href="unionradio__pcnf0__t.html#a9bbd78d6a29f1d2f358b405cb6a8e358">radio_pcnf0_t</a>, <a class="el" href="unionradio__pcnf1__t.html#a33009de4a8e224b670475995378aca7e">radio_pcnf1_t</a>, <a class="el" href="unionradio__shorts__t.html#a294c267e2619469257cca00dcc469f35">radio_shorts_t</a></li>
<li>__pad2__&#160;:&#160;<a class="el" href="uniongpio__pin__cnf__t.html#a18b7e18f5c909cbc48e473390ea0f6e5">gpio_pin_cnf_t</a>, <a class="el" href="uniongpiote__config__t.html#ac5154e0d325d53e0df92ef00a8e5dac1">gpiote_config_t</a>, <a class="el" href="unionradio__pcnf0__t.html#a8652a6e25ff4cc8d0493337d74b98684">radio_pcnf0_t</a></li>
<li>__pad3__&#160;:&#160;<a class="el" href="uniongpiote__config__t.html#aedc7be502b31d10b7f6c1660d6773bc2">gpiote_config_t</a>, <a class="el" href="unionradio__pcnf0__t.html#a30c621d4d48d3e4c2e6e4365580de2a9">radio_pcnf0_t</a></li>
</ul>
<h3><a id="index_a" name="index_a"></a>- a -</h3><ul>
<li>ADDRESS_BCSTART&#160;:&#160;<a class="el" href="unionradio__shorts__t.html#aee0eed0fd63e4244c59ef72be9ea4a83">radio_shorts_t</a></li>
<li>ADDRESS_RSSISTART&#160;:&#160;<a class="el" href="unionradio__shorts__t.html#a17957fb43be1ca321b85504c790001f4">radio_shorts_t</a></li>
</ul>
<h3><a id="index_b" name="index_b"></a>- b -</h3><ul>
<li>BALEN&#160;:&#160;<a class="el" href="unionradio__pcnf1__t.html#a36b9fb2eefb4dd25c82560f4c2a5488a">radio_pcnf1_t</a></li>
<li>bit&#160;:&#160;<a class="el" href="uniongpio__pin__cnf__t.html#a1b8a65dff2986e8e8b1a62ca074b01a6">gpio_pin_cnf_t</a>, <a class="el" href="uniongpiote__config__t.html#a68fd0b2d0a865e7ff600fad41f1aed41">gpiote_config_t</a>, <a class="el" href="uniongpiote__inten__t.html#a86050dc9395a6951e2b076270864e30e">gpiote_inten_t</a>, <a class="el" href="unionradio__crccnf__t.html#a8775d8075890fc7fec4d0060c13b8cd3">radio_crccnf_t</a>, <a class="el" href="unionradio__frequency__t.html#ab08b2c415d5259b1a6933c2a9f9a6235">radio_frequency_t</a>, <a class="el" href="unionradio__mode__t.html#a8fd517d86ece1c1924f3cefe63cf8508">radio_mode_t</a>, <a class="el" href="unionradio__pcnf0__t.html#aff0e234d519fd316ad276bedb01a9e03">radio_pcnf0_t</a>, <a class="el" href="unionradio__pcnf1__t.html#a0cc13173e359e19ab0e22863ea7f3677">radio_pcnf1_t</a>, <a class="el" href="unionradio__shorts__t.html#afb932bd97f1d8e3f5ca3dc3f738a21f9">radio_shorts_t</a>, <a class="el" href="unionradio__txpower__t.html#afceaff5768934d643bf80c3e9c2d97ee">radio_txpower_t</a></li>
</ul>
<h3><a id="index_c" name="index_c"></a>- c -</h3><ul>
<li>CRCINC&#160;:&#160;<a class="el" href="unionradio__pcnf0__t.html#ad656a5c31b1c7155b21cd0f5388c2990">radio_pcnf0_t</a></li>
</ul>
<h3><a id="index_d" name="index_d"></a>- d -</h3><ul>
<li>DIR&#160;:&#160;<a class="el" href="uniongpio__pin__cnf__t.html#abf8eaa613f154b9a00acf666c129daa1">gpio_pin_cnf_t</a></li>
<li>DISABLED_RSSISTOP&#160;:&#160;<a class="el" href="unionradio__shorts__t.html#adbf9a640dbee8f873af89ebc603fe5ba">radio_shorts_t</a></li>
<li>DISABLED_RXEN&#160;:&#160;<a class="el" href="unionradio__shorts__t.html#a3030c9c5119b334281c782248348eed6">radio_shorts_t</a></li>
<li>DISABLED_TXEN&#160;:&#160;<a class="el" href="unionradio__shorts__t.html#ac7b891d177e7836bef054b91b6ec37cb">radio_shorts_t</a></li>
<li>DRIVE&#160;:&#160;<a class="el" href="uniongpio__pin__cnf__t.html#a68da32beb9aeb813c2c550adf6f04fe1">gpio_pin_cnf_t</a></li>
</ul>
<h3><a id="index_e" name="index_e"></a>- e -</h3><ul>
<li>END_DISABLE&#160;:&#160;<a class="el" href="unionradio__shorts__t.html#a4dfc41e8a83d70b605bd43a5ffd3b570">radio_shorts_t</a></li>
<li>END_START&#160;:&#160;<a class="el" href="unionradio__shorts__t.html#ad07293b2ee443a0b0f3679147c3d7635">radio_shorts_t</a></li>
<li>ENDIAN&#160;:&#160;<a class="el" href="unionradio__pcnf1__t.html#ac367c886efd29469e306c554a95e9013">radio_pcnf1_t</a></li>
</ul>
<h3><a id="index_f" name="index_f"></a>- f -</h3><ul>
<li>FREQUENCY&#160;:&#160;<a class="el" href="unionradio__frequency__t.html#a0fab5f30757d8feaa6cded2d592b5761">radio_frequency_t</a></li>
</ul>
<h3><a id="index_i" name="index_i"></a>- i -</h3><ul>
<li>IN0&#160;:&#160;<a class="el" href="uniongpiote__inten__t.html#ab48c0239b94abc7cd1f3be351dacf09b">gpiote_inten_t</a></li>
<li>IN1&#160;:&#160;<a class="el" href="uniongpiote__inten__t.html#a55d8550aaeb0160a2af2c53259e3d0c5">gpiote_inten_t</a></li>
<li>IN2&#160;:&#160;<a class="el" href="uniongpiote__inten__t.html#a1a1aa12d2446813e8ee2c5a4e20cacc1">gpiote_inten_t</a></li>
<li>IN3&#160;:&#160;<a class="el" href="uniongpiote__inten__t.html#a4d39a3279f5c13b49885211930d9d707">gpiote_inten_t</a></li>
<li>IN4&#160;:&#160;<a class="el" href="uniongpiote__inten__t.html#a91042a5d90d9450c3c886fab2b95fe29">gpiote_inten_t</a></li>
<li>IN5&#160;:&#160;<a class="el" href="uniongpiote__inten__t.html#a6dab9f0cdfa5a060cafe5a92251fd434">gpiote_inten_t</a></li>
<li>IN6&#160;:&#160;<a class="el" href="uniongpiote__inten__t.html#a2a8e99a412b980317ae3909de8ed77f4">gpiote_inten_t</a></li>
<li>IN7&#160;:&#160;<a class="el" href="uniongpiote__inten__t.html#afd93d78b4cc09deee99f3dc3cff95902">gpiote_inten_t</a></li>
<li>INPUT&#160;:&#160;<a class="el" href="uniongpio__pin__cnf__t.html#a8102df3e68b6ce5e73e6333f880f6361">gpio_pin_cnf_t</a></li>
</ul>
<h3><a id="index_l" name="index_l"></a>- l -</h3><ul>
<li>LEN&#160;:&#160;<a class="el" href="unionradio__crccnf__t.html#a0bce2b3a46ad97f0f9e174485cb71c7f">radio_crccnf_t</a></li>
<li>LFLEN&#160;:&#160;<a class="el" href="unionradio__pcnf0__t.html#ad6d76ec2ab020911add3db156153defb">radio_pcnf0_t</a></li>
</ul>
<h3><a id="index_m" name="index_m"></a>- m -</h3><ul>
<li>MAP&#160;:&#160;<a class="el" href="unionradio__frequency__t.html#abd28ee1611a4fc6b6d76a29a9cf79ca8">radio_frequency_t</a></li>
<li>MAXLEN&#160;:&#160;<a class="el" href="unionradio__pcnf1__t.html#ae425c6027300e833868d5a2a7c46e23a">radio_pcnf1_t</a></li>
<li>MODE&#160;:&#160;<a class="el" href="uniongpiote__config__t.html#a642a70d0562a022179a8d6b26119c200">gpiote_config_t</a>, <a class="el" href="unionradio__mode__t.html#a7035a8c2b6b7309a658d89595901abf5">radio_mode_t</a></li>
</ul>
<h3><a id="index_o" name="index_o"></a>- o -</h3><ul>
<li>OUTINIT&#160;:&#160;<a class="el" href="uniongpiote__config__t.html#a59bd567e14f56a01ddd0ed548e6a423f">gpiote_config_t</a></li>
</ul>
<h3><a id="index_p" name="index_p"></a>- p -</h3><ul>
<li>PLEN&#160;:&#160;<a class="el" href="unionradio__pcnf0__t.html#adf089d2e0820cacd56cbb9bb3909008c">radio_pcnf0_t</a></li>
<li>POLARITY&#160;:&#160;<a class="el" href="uniongpiote__config__t.html#a124c951c53159cc37e0cae0714f0435c">gpiote_config_t</a></li>
<li>PORT&#160;:&#160;<a class="el" href="uniongpiote__config__t.html#af0b806f1845c04a0dd7a678f1cc97bdf">gpiote_config_t</a>, <a class="el" href="uniongpiote__inten__t.html#aa8a80d19cb6579125305500c60bec533">gpiote_inten_t</a></li>
<li>PSEL&#160;:&#160;<a class="el" href="uniongpiote__config__t.html#a2b6a24c03f4879a90401750d42751292">gpiote_config_t</a></li>
<li>PULL&#160;:&#160;<a class="el" href="uniongpio__pin__cnf__t.html#a5d4631a88a946b9cc68d3e8c1ab14f96">gpio_pin_cnf_t</a></li>
</ul>
<h3><a id="index_r" name="index_r"></a>- r -</h3><ul>
<li>READY_START&#160;:&#160;<a class="el" href="unionradio__shorts__t.html#ab0229f263af4d80b28eeb11eb4d152ca">radio_shorts_t</a></li>
<li>reg&#160;:&#160;<a class="el" href="uniongpio__pin__cnf__t.html#a2c8d226853df0a989250a4ddf7f6645c">gpio_pin_cnf_t</a>, <a class="el" href="uniongpiote__config__t.html#a22f4cd44f48c20792e3baacabd08ed93">gpiote_config_t</a>, <a class="el" href="uniongpiote__inten__t.html#a0e3ec8ea0eee31b7676b23b7a909e3b3">gpiote_inten_t</a>, <a class="el" href="unionradio__crccnf__t.html#a20b774674aae78211a981e4d1f611d34">radio_crccnf_t</a>, <a class="el" href="unionradio__frequency__t.html#a2cb3661c3867f15124ea06f1c9289ae3">radio_frequency_t</a>, <a class="el" href="unionradio__mode__t.html#a34ea667ed15bb9a403a78f119403ecf5">radio_mode_t</a>, <a class="el" href="unionradio__pcnf0__t.html#a7b010a8ad59a3d36513f443c85678589">radio_pcnf0_t</a>, <a class="el" href="unionradio__pcnf1__t.html#a6b0c83b84e5a72e1388d16cf089a5302">radio_pcnf1_t</a>, <a class="el" href="unionradio__shorts__t.html#ac1565e6d7d7b8a2c4d60a998902efdda">radio_shorts_t</a>, <a class="el" href="unionradio__txpower__t.html#af1f8fc7050181b67c72d83d4de89face">radio_txpower_t</a></li>
</ul>
<h3><a id="index_s" name="index_s"></a>- s -</h3><ul>
<li>S0LEN&#160;:&#160;<a class="el" href="unionradio__pcnf0__t.html#a4c562075b6a0dd4fdf96b47c61d22df3">radio_pcnf0_t</a></li>
<li>S1INCL&#160;:&#160;<a class="el" href="unionradio__pcnf0__t.html#af6ef4d47f4d093385b745e418fef9fdd">radio_pcnf0_t</a></li>
<li>S1LEN&#160;:&#160;<a class="el" href="unionradio__pcnf0__t.html#a27c4aef283f2dead8ce38a76e0362392">radio_pcnf0_t</a></li>
<li>SENSE&#160;:&#160;<a class="el" href="uniongpio__pin__cnf__t.html#a58225de597d574ed9c4b1292c1026d36">gpio_pin_cnf_t</a></li>
<li>SKIPADDR&#160;:&#160;<a class="el" href="unionradio__crccnf__t.html#a45ff3977e23d837fef74a9978768ea89">radio_crccnf_t</a></li>
<li>STATLEN&#160;:&#160;<a class="el" href="unionradio__pcnf1__t.html#af81e41a31bf8c757fb8c329242dc420c">radio_pcnf1_t</a></li>
</ul>
<h3><a id="index_t" name="index_t"></a>- t -</h3><ul>
<li>TXPOWER&#160;:&#160;<a class="el" href="unionradio__txpower__t.html#aed646509fe985bcfc469f6539b7e1743">radio_txpower_t</a></li>
</ul>
<h3><a id="index_w" name="index_w"></a>- w -</h3><ul>
<li>WHITEEN&#160;:&#160;<a class="el" href="unionradio__pcnf1__t.html#a3e7aef95e9cf1a9eef912373281c695e">radio_pcnf1_t</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
</small></address>
</body>
</html>

183
globals.html Normal file
View File

@@ -0,0 +1,183 @@
<!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" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>ptt-fhss: Globals</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">ptt-fhss
</div>
<div id="projectbrief">Bare-metal PTT firmware for nRF52840 with FHSS</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="contents">
<div class="textblock">Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:</div>
<h3><a id="index__5F" name="index__5F"></a>- _ -</h3><ul>
<li>__attribute__()&#160;:&#160;<a class="el" href="radio_8h.html#ab898071398b359603a35c202e9c65f3b">radio.h</a>, <a class="el" href="startup_8c.html#ab087560e36aae73d74d28d1708d41e76">startup.c</a></li>
<li>_ebss&#160;:&#160;<a class="el" href="startup_8c.html#a580f44faf8ff886796f2114d0de12c77">startup.c</a></li>
<li>_edata&#160;:&#160;<a class="el" href="startup_8c.html#a1fc4a71c31f5b048d3b1b7b2d10684d1">startup.c</a></li>
<li>_estack&#160;:&#160;<a class="el" href="startup_8c.html#a69247aef56f755ef3b08265060dea50f">startup.c</a></li>
<li>_sbss&#160;:&#160;<a class="el" href="startup_8c.html#adcc3ae1cacdf95ad88f01dd26f589175">startup.c</a></li>
<li>_sdata&#160;:&#160;<a class="el" href="startup_8c.html#a61687bc10bffbfec9c6fd33bddff3094">startup.c</a></li>
<li>_sidata&#160;:&#160;<a class="el" href="startup_8c.html#a1ecae4ad04c5b02e60d2db51706c2d75">startup.c</a></li>
</ul>
<h3><a id="index_b" name="index_b"></a>- b -</h3><ul>
<li>BUF_SIZE&#160;:&#160;<a class="el" href="radio_8c.html#a6821bafc3c88dfb2e433a095df9940c6">radio.c</a></li>
<li>BUTTON_ACTIVE_LOW&#160;:&#160;<a class="el" href="power_8c.html#a5a87f76c63957bd0bdf5f7ca1d1bfe8c">power.c</a></li>
<li>BUTTON_PIN&#160;:&#160;<a class="el" href="power_8c.html#abc2ad14f0789907024ac765711ffd3da">power.c</a></li>
</ul>
<h3><a id="index_d" name="index_d"></a>- d -</h3><ul>
<li>DEFAULT_CHANNEL&#160;:&#160;<a class="el" href="radio_8c.html#aafa17c307af8c45323500fdac999d294">radio.c</a></li>
<li>dwell_start()&#160;:&#160;<a class="el" href="radio_8c.html#a07de6df4fc71061db1bad70f4370a3fe">radio.c</a></li>
<li>dwell_wait()&#160;:&#160;<a class="el" href="radio_8c.html#acb45071ad37f0aa0928848eb4a7fc3c6">radio.c</a></li>
</ul>
<h3><a id="index_f" name="index_f"></a>- f -</h3><ul>
<li>FHSS_CHANNELS&#160;:&#160;<a class="el" href="fhss_8h.html#af92d3579d3a9e88e73dd54a7bcad6341">fhss.h</a></li>
<li>FHSS_DWELL_MS&#160;:&#160;<a class="el" href="fhss_8h.html#a6874b77e366ca7dd46cd88c41b4b1759">fhss.h</a></li>
<li>fhss_get_slot()&#160;:&#160;<a class="el" href="fhss_8h.html#a7c45cff675465f11798eaf0a0e0b8d0e">fhss.h</a>, <a class="el" href="fhss_8c.html#a7c45cff675465f11798eaf0a0e0b8d0e">fhss.c</a></li>
<li>fhss_init()&#160;:&#160;<a class="el" href="fhss_8h.html#a44cfe02274ceefa5de0fed51e1c4e741">fhss.h</a>, <a class="el" href="fhss_8c.html#a44cfe02274ceefa5de0fed51e1c4e741">fhss.c</a></li>
<li>fhss_next_channel()&#160;:&#160;<a class="el" href="fhss_8h.html#a28190a786a8da0f56bfbe8261dfc359a">fhss.h</a>, <a class="el" href="fhss_8c.html#a28190a786a8da0f56bfbe8261dfc359a">fhss.c</a></li>
<li>fhss_set_slot()&#160;:&#160;<a class="el" href="fhss_8h.html#a4db6a04939b3d885681ebd1bbab03cb2">fhss.h</a>, <a class="el" href="fhss_8c.html#a4db6a04939b3d885681ebd1bbab03cb2">fhss.c</a></li>
<li>fhss_sync_tick()&#160;:&#160;<a class="el" href="fhss_8h.html#aa254dd2e4da40c6ac7f1d1b189666eca">fhss.h</a>, <a class="el" href="fhss_8c.html#aa254dd2e4da40c6ac7f1d1b189666eca">fhss.c</a></li>
</ul>
<h3><a id="index_g" name="index_g"></a>- g -</h3><ul>
<li>GPIO_PULL_DISABLED&#160;:&#160;<a class="el" href="regs_8h.html#a8268f23dff5a30e738c70ea92060a998">regs.h</a></li>
<li>GPIO_PULL_PULLDOWN&#160;:&#160;<a class="el" href="regs_8h.html#a115d6bca63aeb83afc532ab85680a680">regs.h</a></li>
<li>GPIO_PULL_PULLUP&#160;:&#160;<a class="el" href="regs_8h.html#a787786e3d8c5fb98acffc64e4f003242">regs.h</a></li>
<li>GPIOTE_IRQHandler()&#160;:&#160;<a class="el" href="power_8c.html#a26b108e2296d5514a2391960b4231d71">power.c</a></li>
<li>GPIOTE_MODE_DISABLED&#160;:&#160;<a class="el" href="regs_8h.html#a3930e8d039be27c6db21bf7fd5b34fb9">regs.h</a></li>
<li>GPIOTE_MODE_EVENT&#160;:&#160;<a class="el" href="regs_8h.html#ae521de6ddd2e39788f7dd4427333aa69">regs.h</a></li>
<li>GPIOTE_MODE_TASK&#160;:&#160;<a class="el" href="regs_8h.html#a6a2d56f7c698008e646b882430539f85">regs.h</a></li>
<li>GPIOTE_POL_HITOLO&#160;:&#160;<a class="el" href="regs_8h.html#a6756f4bec11b9b61511b2f6878fb8da6">regs.h</a></li>
<li>GPIOTE_POL_LOTOHI&#160;:&#160;<a class="el" href="regs_8h.html#a88b6140017ac6a545efd0dc450f5d975">regs.h</a></li>
<li>GPIOTE_POL_NONE&#160;:&#160;<a class="el" href="regs_8h.html#a0a4c598f841ffb6aaeedbce0ab7ba0d8">regs.h</a></li>
<li>GPIOTE_POL_TOGGLE&#160;:&#160;<a class="el" href="regs_8h.html#abb4d4593b0b4f22cdcf99d5800d28e08">regs.h</a></li>
</ul>
<h3><a id="index_m" name="index_m"></a>- m -</h3><ul>
<li>main()&#160;:&#160;<a class="el" href="main_8c.html#a840291bc02cba5474a4cb46a9b9566fe">main.c</a>, <a class="el" href="startup_8c.html#a840291bc02cba5474a4cb46a9b9566fe">startup.c</a></li>
<li>MAX_PAYLOAD&#160;:&#160;<a class="el" href="radio_8c.html#aa7a7521abb3a3664218d8dc0e3759f0f">radio.c</a></li>
</ul>
<h3><a id="index_n" name="index_n"></a>- n -</h3><ul>
<li>NMI_Handler()&#160;:&#160;<a class="el" href="startup_8c.html#a6ad7a5e3ee69cb6db6a6b9111ba898bc">startup.c</a></li>
</ul>
<h3><a id="index_p" name="index_p"></a>- p -</h3><ul>
<li>pkt_buf&#160;:&#160;<a class="el" href="radio_8c.html#a883657f0d0158e64f07b1cabb26c4233">radio.c</a></li>
<li>power_button_pressed()&#160;:&#160;<a class="el" href="power_8h.html#ada513e112411aa36f06f4a36ccf6edb3">power.h</a>, <a class="el" href="power_8c.html#ada513e112411aa36f06f4a36ccf6edb3">power.c</a></li>
<li>power_init()&#160;:&#160;<a class="el" href="power_8h.html#a1ca9d74e081ad1377b5c9b7773be973b">power.h</a>, <a class="el" href="power_8c.html#a1ca9d74e081ad1377b5c9b7773be973b">power.c</a></li>
<li>power_sleep_until_button()&#160;:&#160;<a class="el" href="power_8h.html#a7b84b3559a86acf1fef1fab03daded6b">power.h</a>, <a class="el" href="power_8c.html#a7b84b3559a86acf1fef1fab03daded6b">power.c</a></li>
<li>PTT_FLAG_ACTIVE&#160;:&#160;<a class="el" href="radio_8h.html#a641b5c6f5b38da442b995f3d4f549e6f">radio.h</a></li>
<li>ptt_frame_t&#160;:&#160;<a class="el" href="radio_8h.html#a0f54f3002fc4eaef20595ed5e64b35d7">radio.h</a></li>
</ul>
<h3><a id="index_r" name="index_r"></a>- r -</h3><ul>
<li>RADIO_BASE0&#160;:&#160;<a class="el" href="radio_8c.html#a5ba6ab6a6b9198ea1b4699619f932d42">radio.c</a></li>
<li>RADIO_CRCCNF_LEN_DISABLED&#160;:&#160;<a class="el" href="regs_8h.html#a6a72a810ee6c57526139e30dacdbeca4">regs.h</a></li>
<li>RADIO_CRCCNF_LEN_ONE&#160;:&#160;<a class="el" href="regs_8h.html#af22780616d83d265e9f5440e42ff84a9">regs.h</a></li>
<li>RADIO_CRCCNF_LEN_THREE&#160;:&#160;<a class="el" href="regs_8h.html#a23bfd71b1a3197ae1b8bc8916a0d4874">regs.h</a></li>
<li>RADIO_CRCCNF_LEN_TWO&#160;:&#160;<a class="el" href="regs_8h.html#aa3b0603cad0f7c441a411fe706080892">regs.h</a></li>
<li>radio_init()&#160;:&#160;<a class="el" href="radio_8h.html#acfb21351bb3f0146635745bfacfe26a8">radio.h</a>, <a class="el" href="radio_8c.html#acfb21351bb3f0146635745bfacfe26a8">radio.c</a></li>
<li>RADIO_MAP_BLE&#160;:&#160;<a class="el" href="regs_8h.html#a1c70f2abb32fb5ce85e55bb39ef072ce">regs.h</a></li>
<li>RADIO_MAP_DEFAULT&#160;:&#160;<a class="el" href="regs_8h.html#adc60679cbbac9204d0897097c2413c0b">regs.h</a></li>
<li>RADIO_MODE_BLE_1MBIT&#160;:&#160;<a class="el" href="regs_8h.html#a20310c14a9e989f96fb5f8c570a3e414">regs.h</a></li>
<li>RADIO_MODE_NRF_1MBIT&#160;:&#160;<a class="el" href="regs_8h.html#a200465030c4696a45f86df7776993ab3">regs.h</a></li>
<li>RADIO_MODE_NRF_2MBIT&#160;:&#160;<a class="el" href="regs_8h.html#aa11b189f4292942f555592f19fd011e1">regs.h</a></li>
<li>RADIO_PREFIX0&#160;:&#160;<a class="el" href="radio_8c.html#aef53fc9f6c8f7ce51d3b94dfd9ada305">radio.c</a></li>
<li>radio_rx_burst()&#160;:&#160;<a class="el" href="radio_8h.html#a93ad6d90796885b32326efe3b7c93b17">radio.h</a>, <a class="el" href="radio_8c.html#a93ad6d90796885b32326efe3b7c93b17">radio.c</a></li>
<li>radio_set_channel()&#160;:&#160;<a class="el" href="radio_8h.html#a4508602c352170e18afc35ea773edb98">radio.h</a>, <a class="el" href="radio_8c.html#a4508602c352170e18afc35ea773edb98">radio.c</a></li>
<li>radio_tx()&#160;:&#160;<a class="el" href="radio_8h.html#aa98086e3cef509cbd1f899e79e62a39c">radio.h</a>, <a class="el" href="radio_8c.html#aa98086e3cef509cbd1f899e79e62a39c">radio.c</a></li>
<li>radio_tx_burst()&#160;:&#160;<a class="el" href="radio_8h.html#a797c6c01e1ad4076ab54412b8c116de2">radio.h</a>, <a class="el" href="radio_8c.html#a797c6c01e1ad4076ab54412b8c116de2">radio.c</a></li>
<li>Reset_Handler()&#160;:&#160;<a class="el" href="startup_8c.html#ae7ee340978f5c25f52f0cad1457c6616">startup.c</a></li>
</ul>
<h3><a id="index_s" name="index_s"></a>- s -</h3><ul>
<li>shared_key&#160;:&#160;<a class="el" href="fhss_8c.html#aefc147b3b6fc7be18cbeabfa8babaacc">fhss.c</a></li>
<li>slot&#160;:&#160;<a class="el" href="fhss_8c.html#a8da4ee0fe1f6d2dcab3b7562d79c10a1">fhss.c</a></li>
</ul>
<h3><a id="index_t" name="index_t"></a>- t -</h3><ul>
<li>timer_init()&#160;:&#160;<a class="el" href="radio_8c.html#a2d7a2412663c9b0521415553939b1b05">radio.c</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
</small></address>
</body>
</html>

110
globals_defs.html Normal file
View File

@@ -0,0 +1,110 @@
<!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" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>ptt-fhss: Globals</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">ptt-fhss
</div>
<div id="projectbrief">Bare-metal PTT firmware for nRF52840 with FHSS</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="contents">
<div class="textblock">Here is a list of all macros with links to the files they belong to:</div><ul>
<li>BUF_SIZE&#160;:&#160;<a class="el" href="radio_8c.html#a6821bafc3c88dfb2e433a095df9940c6">radio.c</a></li>
<li>BUTTON_ACTIVE_LOW&#160;:&#160;<a class="el" href="power_8c.html#a5a87f76c63957bd0bdf5f7ca1d1bfe8c">power.c</a></li>
<li>BUTTON_PIN&#160;:&#160;<a class="el" href="power_8c.html#abc2ad14f0789907024ac765711ffd3da">power.c</a></li>
<li>DEFAULT_CHANNEL&#160;:&#160;<a class="el" href="radio_8c.html#aafa17c307af8c45323500fdac999d294">radio.c</a></li>
<li>FHSS_CHANNELS&#160;:&#160;<a class="el" href="fhss_8h.html#af92d3579d3a9e88e73dd54a7bcad6341">fhss.h</a></li>
<li>FHSS_DWELL_MS&#160;:&#160;<a class="el" href="fhss_8h.html#a6874b77e366ca7dd46cd88c41b4b1759">fhss.h</a></li>
<li>GPIO_PULL_DISABLED&#160;:&#160;<a class="el" href="regs_8h.html#a8268f23dff5a30e738c70ea92060a998">regs.h</a></li>
<li>GPIO_PULL_PULLDOWN&#160;:&#160;<a class="el" href="regs_8h.html#a115d6bca63aeb83afc532ab85680a680">regs.h</a></li>
<li>GPIO_PULL_PULLUP&#160;:&#160;<a class="el" href="regs_8h.html#a787786e3d8c5fb98acffc64e4f003242">regs.h</a></li>
<li>GPIOTE_MODE_DISABLED&#160;:&#160;<a class="el" href="regs_8h.html#a3930e8d039be27c6db21bf7fd5b34fb9">regs.h</a></li>
<li>GPIOTE_MODE_EVENT&#160;:&#160;<a class="el" href="regs_8h.html#ae521de6ddd2e39788f7dd4427333aa69">regs.h</a></li>
<li>GPIOTE_MODE_TASK&#160;:&#160;<a class="el" href="regs_8h.html#a6a2d56f7c698008e646b882430539f85">regs.h</a></li>
<li>GPIOTE_POL_HITOLO&#160;:&#160;<a class="el" href="regs_8h.html#a6756f4bec11b9b61511b2f6878fb8da6">regs.h</a></li>
<li>GPIOTE_POL_LOTOHI&#160;:&#160;<a class="el" href="regs_8h.html#a88b6140017ac6a545efd0dc450f5d975">regs.h</a></li>
<li>GPIOTE_POL_NONE&#160;:&#160;<a class="el" href="regs_8h.html#a0a4c598f841ffb6aaeedbce0ab7ba0d8">regs.h</a></li>
<li>GPIOTE_POL_TOGGLE&#160;:&#160;<a class="el" href="regs_8h.html#abb4d4593b0b4f22cdcf99d5800d28e08">regs.h</a></li>
<li>MAX_PAYLOAD&#160;:&#160;<a class="el" href="radio_8c.html#aa7a7521abb3a3664218d8dc0e3759f0f">radio.c</a></li>
<li>PTT_FLAG_ACTIVE&#160;:&#160;<a class="el" href="radio_8h.html#a641b5c6f5b38da442b995f3d4f549e6f">radio.h</a></li>
<li>RADIO_BASE0&#160;:&#160;<a class="el" href="radio_8c.html#a5ba6ab6a6b9198ea1b4699619f932d42">radio.c</a></li>
<li>RADIO_CRCCNF_LEN_DISABLED&#160;:&#160;<a class="el" href="regs_8h.html#a6a72a810ee6c57526139e30dacdbeca4">regs.h</a></li>
<li>RADIO_CRCCNF_LEN_ONE&#160;:&#160;<a class="el" href="regs_8h.html#af22780616d83d265e9f5440e42ff84a9">regs.h</a></li>
<li>RADIO_CRCCNF_LEN_THREE&#160;:&#160;<a class="el" href="regs_8h.html#a23bfd71b1a3197ae1b8bc8916a0d4874">regs.h</a></li>
<li>RADIO_CRCCNF_LEN_TWO&#160;:&#160;<a class="el" href="regs_8h.html#aa3b0603cad0f7c441a411fe706080892">regs.h</a></li>
<li>RADIO_MAP_BLE&#160;:&#160;<a class="el" href="regs_8h.html#a1c70f2abb32fb5ce85e55bb39ef072ce">regs.h</a></li>
<li>RADIO_MAP_DEFAULT&#160;:&#160;<a class="el" href="regs_8h.html#adc60679cbbac9204d0897097c2413c0b">regs.h</a></li>
<li>RADIO_MODE_BLE_1MBIT&#160;:&#160;<a class="el" href="regs_8h.html#a20310c14a9e989f96fb5f8c570a3e414">regs.h</a></li>
<li>RADIO_MODE_NRF_1MBIT&#160;:&#160;<a class="el" href="regs_8h.html#a200465030c4696a45f86df7776993ab3">regs.h</a></li>
<li>RADIO_MODE_NRF_2MBIT&#160;:&#160;<a class="el" href="regs_8h.html#aa11b189f4292942f555592f19fd011e1">regs.h</a></li>
<li>RADIO_PREFIX0&#160;:&#160;<a class="el" href="radio_8c.html#aef53fc9f6c8f7ce51d3b94dfd9ada305">radio.c</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
</small></address>
</body>
</html>

136
globals_func.html Normal file
View File

@@ -0,0 +1,136 @@
<!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" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>ptt-fhss: Globals</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">ptt-fhss
</div>
<div id="projectbrief">Bare-metal PTT firmware for nRF52840 with FHSS</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="contents">
<div class="textblock">Here is a list of all functions with links to the files they belong to:</div>
<h3><a id="index__5F" name="index__5F"></a>- _ -</h3><ul>
<li>__attribute__()&#160;:&#160;<a class="el" href="radio_8h.html#ab898071398b359603a35c202e9c65f3b">radio.h</a>, <a class="el" href="startup_8c.html#ab087560e36aae73d74d28d1708d41e76">startup.c</a></li>
</ul>
<h3><a id="index_d" name="index_d"></a>- d -</h3><ul>
<li>dwell_start()&#160;:&#160;<a class="el" href="radio_8c.html#a07de6df4fc71061db1bad70f4370a3fe">radio.c</a></li>
<li>dwell_wait()&#160;:&#160;<a class="el" href="radio_8c.html#acb45071ad37f0aa0928848eb4a7fc3c6">radio.c</a></li>
</ul>
<h3><a id="index_f" name="index_f"></a>- f -</h3><ul>
<li>fhss_get_slot()&#160;:&#160;<a class="el" href="fhss_8h.html#a7c45cff675465f11798eaf0a0e0b8d0e">fhss.h</a>, <a class="el" href="fhss_8c.html#a7c45cff675465f11798eaf0a0e0b8d0e">fhss.c</a></li>
<li>fhss_init()&#160;:&#160;<a class="el" href="fhss_8h.html#a44cfe02274ceefa5de0fed51e1c4e741">fhss.h</a>, <a class="el" href="fhss_8c.html#a44cfe02274ceefa5de0fed51e1c4e741">fhss.c</a></li>
<li>fhss_next_channel()&#160;:&#160;<a class="el" href="fhss_8h.html#a28190a786a8da0f56bfbe8261dfc359a">fhss.h</a>, <a class="el" href="fhss_8c.html#a28190a786a8da0f56bfbe8261dfc359a">fhss.c</a></li>
<li>fhss_set_slot()&#160;:&#160;<a class="el" href="fhss_8h.html#a4db6a04939b3d885681ebd1bbab03cb2">fhss.h</a>, <a class="el" href="fhss_8c.html#a4db6a04939b3d885681ebd1bbab03cb2">fhss.c</a></li>
<li>fhss_sync_tick()&#160;:&#160;<a class="el" href="fhss_8h.html#aa254dd2e4da40c6ac7f1d1b189666eca">fhss.h</a>, <a class="el" href="fhss_8c.html#aa254dd2e4da40c6ac7f1d1b189666eca">fhss.c</a></li>
</ul>
<h3><a id="index_g" name="index_g"></a>- g -</h3><ul>
<li>GPIOTE_IRQHandler()&#160;:&#160;<a class="el" href="power_8c.html#a26b108e2296d5514a2391960b4231d71">power.c</a></li>
</ul>
<h3><a id="index_m" name="index_m"></a>- m -</h3><ul>
<li>main()&#160;:&#160;<a class="el" href="main_8c.html#a840291bc02cba5474a4cb46a9b9566fe">main.c</a>, <a class="el" href="startup_8c.html#a840291bc02cba5474a4cb46a9b9566fe">startup.c</a></li>
</ul>
<h3><a id="index_n" name="index_n"></a>- n -</h3><ul>
<li>NMI_Handler()&#160;:&#160;<a class="el" href="startup_8c.html#a6ad7a5e3ee69cb6db6a6b9111ba898bc">startup.c</a></li>
</ul>
<h3><a id="index_p" name="index_p"></a>- p -</h3><ul>
<li>power_button_pressed()&#160;:&#160;<a class="el" href="power_8h.html#ada513e112411aa36f06f4a36ccf6edb3">power.h</a>, <a class="el" href="power_8c.html#ada513e112411aa36f06f4a36ccf6edb3">power.c</a></li>
<li>power_init()&#160;:&#160;<a class="el" href="power_8h.html#a1ca9d74e081ad1377b5c9b7773be973b">power.h</a>, <a class="el" href="power_8c.html#a1ca9d74e081ad1377b5c9b7773be973b">power.c</a></li>
<li>power_sleep_until_button()&#160;:&#160;<a class="el" href="power_8h.html#a7b84b3559a86acf1fef1fab03daded6b">power.h</a>, <a class="el" href="power_8c.html#a7b84b3559a86acf1fef1fab03daded6b">power.c</a></li>
</ul>
<h3><a id="index_r" name="index_r"></a>- r -</h3><ul>
<li>radio_init()&#160;:&#160;<a class="el" href="radio_8h.html#acfb21351bb3f0146635745bfacfe26a8">radio.h</a>, <a class="el" href="radio_8c.html#acfb21351bb3f0146635745bfacfe26a8">radio.c</a></li>
<li>radio_rx_burst()&#160;:&#160;<a class="el" href="radio_8h.html#a93ad6d90796885b32326efe3b7c93b17">radio.h</a>, <a class="el" href="radio_8c.html#a93ad6d90796885b32326efe3b7c93b17">radio.c</a></li>
<li>radio_set_channel()&#160;:&#160;<a class="el" href="radio_8h.html#a4508602c352170e18afc35ea773edb98">radio.h</a>, <a class="el" href="radio_8c.html#a4508602c352170e18afc35ea773edb98">radio.c</a></li>
<li>radio_tx()&#160;:&#160;<a class="el" href="radio_8h.html#aa98086e3cef509cbd1f899e79e62a39c">radio.h</a>, <a class="el" href="radio_8c.html#aa98086e3cef509cbd1f899e79e62a39c">radio.c</a></li>
<li>radio_tx_burst()&#160;:&#160;<a class="el" href="radio_8h.html#a797c6c01e1ad4076ab54412b8c116de2">radio.h</a>, <a class="el" href="radio_8c.html#a797c6c01e1ad4076ab54412b8c116de2">radio.c</a></li>
<li>Reset_Handler()&#160;:&#160;<a class="el" href="startup_8c.html#ae7ee340978f5c25f52f0cad1457c6616">startup.c</a></li>
</ul>
<h3><a id="index_t" name="index_t"></a>- t -</h3><ul>
<li>timer_init()&#160;:&#160;<a class="el" href="radio_8c.html#a2d7a2412663c9b0521415553939b1b05">radio.c</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
</small></address>
</body>
</html>

91
globals_vars.html Normal file
View File

@@ -0,0 +1,91 @@
<!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" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>ptt-fhss: Globals</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">ptt-fhss
</div>
<div id="projectbrief">Bare-metal PTT firmware for nRF52840 with FHSS</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="contents">
<div class="textblock">Here is a list of all variables with links to the files they belong to:</div><ul>
<li>_ebss&#160;:&#160;<a class="el" href="startup_8c.html#a580f44faf8ff886796f2114d0de12c77">startup.c</a></li>
<li>_edata&#160;:&#160;<a class="el" href="startup_8c.html#a1fc4a71c31f5b048d3b1b7b2d10684d1">startup.c</a></li>
<li>_estack&#160;:&#160;<a class="el" href="startup_8c.html#a69247aef56f755ef3b08265060dea50f">startup.c</a></li>
<li>_sbss&#160;:&#160;<a class="el" href="startup_8c.html#adcc3ae1cacdf95ad88f01dd26f589175">startup.c</a></li>
<li>_sdata&#160;:&#160;<a class="el" href="startup_8c.html#a61687bc10bffbfec9c6fd33bddff3094">startup.c</a></li>
<li>_sidata&#160;:&#160;<a class="el" href="startup_8c.html#a1ecae4ad04c5b02e60d2db51706c2d75">startup.c</a></li>
<li>pkt_buf&#160;:&#160;<a class="el" href="radio_8c.html#a883657f0d0158e64f07b1cabb26c4233">radio.c</a></li>
<li>ptt_frame_t&#160;:&#160;<a class="el" href="radio_8h.html#a0f54f3002fc4eaef20595ed5e64b35d7">radio.h</a></li>
<li>shared_key&#160;:&#160;<a class="el" href="fhss_8c.html#aefc147b3b6fc7be18cbeabfa8babaacc">fhss.c</a></li>
<li>slot&#160;:&#160;<a class="el" href="fhss_8c.html#a8da4ee0fe1f6d2dcab3b7562d79c10a1">fhss.c</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
</small></address>
</body>
</html>

82
index.html Normal file
View File

@@ -0,0 +1,82 @@
<!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" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>ptt-fhss: Main Page</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">ptt-fhss
</div>
<div id="projectbrief">Bare-metal PTT firmware for nRF52840 with FHSS</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">ptt-fhss Documentation</div></div>
</div><!--header-->
<div class="contents">
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
</small></address>
</body>
</html>

34
jquery.js vendored Normal file

File diff suppressed because one or more lines are too long

121
main_8c.html Normal file
View File

@@ -0,0 +1,121 @@
<!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" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>ptt-fhss: src/main.c File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">ptt-fhss
</div>
<div id="projectbrief">Bare-metal PTT firmware for nRF52840 with FHSS</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle"><div class="title">main.c File Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Entry point: initialise peripherals and run the PTT event loop.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="fhss_8h_source.html">fhss.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="power_8h_source.html">power.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="radio_8h_source.html">radio.h</a>&quot;</code><br />
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a840291bc02cba5474a4cb46a9b9566fe" id="r_a840291bc02cba5474a4cb46a9b9566fe"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="main_8c.html#a840291bc02cba5474a4cb46a9b9566fe">main</a> (void)</td></tr>
<tr class="separator:a840291bc02cba5474a4cb46a9b9566fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Entry point: initialise peripherals and run the PTT event loop. </p>
</div><h2 class="groupheader">Function Documentation</h2>
<a id="a840291bc02cba5474a4cb46a9b9566fe" name="a840291bc02cba5474a4cb46a9b9566fe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a840291bc02cba5474a4cb46a9b9566fe">&#9670;&#160;</a></span>main()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int main </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
</small></address>
</body>
</html>

136
menu.js Normal file
View File

@@ -0,0 +1,136 @@
/*
@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
*/
function initMenu(relPath,searchEnabled,serverSide,searchPage,search) {
function makeTree(data,relPath) {
var result='';
if ('children' in data) {
result+='<ul>';
for (var i in data.children) {
var url;
var link;
link = data.children[i].url;
if (link.substring(0,1)=='^') {
url = link.substring(1);
} else {
url = relPath+link;
}
result+='<li><a href="'+url+'">'+
data.children[i].text+'</a>'+
makeTree(data.children[i],relPath)+'</li>';
}
result+='</ul>';
}
return result;
}
var searchBoxHtml;
if (searchEnabled) {
if (serverSide) {
searchBoxHtml='<div id="MSearchBox" class="MSearchBoxInactive">'+
'<div class="left">'+
'<form id="FSearchBox" action="'+relPath+searchPage+
'" method="get"><span id="MSearchSelectExt">&#160;</span>'+
'<input type="text" id="MSearchField" name="query" value="" placeholder="'+search+
'" size="20" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)"'+
' onblur="searchBox.OnSearchFieldFocus(false)"/>'+
'</form>'+
'</div>'+
'<div class="right"></div>'+
'</div>';
} else {
searchBoxHtml='<div id="MSearchBox" class="MSearchBoxInactive">'+
'<span class="left">'+
'<span id="MSearchSelect" onmouseover="return searchBox.OnSearchSelectShow()"'+
' onmouseout="return searchBox.OnSearchSelectHide()">&#160;</span>'+
'<input type="text" id="MSearchField" value="" placeholder="'+search+
'" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" '+
'onblur="searchBox.OnSearchFieldFocus(false)" '+
'onkeyup="searchBox.OnSearchFieldChange(event)"/>'+
'</span>'+
'<span class="right"><a id="MSearchClose" '+
'href="javascript:searchBox.CloseResultsWindow()">'+
'<img id="MSearchCloseImg" border="0" src="'+relPath+
'search/close.svg" alt=""/></a>'+
'</span>'+
'</div>';
}
}
$('#main-nav').before('<div class="sm sm-dox"><input id="main-menu-state" type="checkbox"/>'+
'<label class="main-menu-btn" for="main-menu-state">'+
'<span class="main-menu-btn-icon"></span> '+
'Toggle main menu visibility</label>'+
'<span id="searchBoxPos1" style="position:absolute;right:8px;top:8px;height:36px;"></span>'+
'</div>');
$('#main-nav').append(makeTree(menudata,relPath));
$('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu');
if (searchBoxHtml) {
$('#main-menu').append('<li id="searchBoxPos2" style="float:right"></li>');
}
var $mainMenuState = $('#main-menu-state');
var prevWidth = 0;
if ($mainMenuState.length) {
function initResizableIfExists() {
if (typeof initResizable==='function') initResizable();
}
// animate mobile menu
$mainMenuState.change(function(e) {
var $menu = $('#main-menu');
var options = { duration: 250, step: initResizableIfExists };
if (this.checked) {
options['complete'] = function() { $menu.css('display', 'block') };
$menu.hide().slideDown(options);
} else {
options['complete'] = function() { $menu.css('display', 'none') };
$menu.show().slideUp(options);
}
});
// set default menu visibility
function resetState() {
var $menu = $('#main-menu');
var $mainMenuState = $('#main-menu-state');
var newWidth = $(window).outerWidth();
if (newWidth!=prevWidth) {
if ($(window).outerWidth()<768) {
$mainMenuState.prop('checked',false); $menu.hide();
$('#searchBoxPos1').html(searchBoxHtml);
$('#searchBoxPos2').hide();
} else {
$menu.show();
$('#searchBoxPos1').empty();
$('#searchBoxPos2').html(searchBoxHtml);
$('#searchBoxPos2').show();
}
if (typeof searchBox!=='undefined') {
searchBox.CloseResultsWindow();
}
prevWidth = newWidth;
}
}
$(window).ready(function() { resetState(); initResizableIfExists(); });
$(window).resize(resetState);
}
$('#main-menu').smartmenus();
}
/* @license-end */

91
menudata.js Normal file
View File

@@ -0,0 +1,91 @@
/*
@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 menudata={children:[
{text:"Main Page",url:"index.html"},
{text:"Data Structures",url:"annotated.html",children:[
{text:"Data Structures",url:"annotated.html"},
{text:"Data Structure Index",url:"classes.html"},
{text:"Data Fields",url:"functions.html",children:[
{text:"All",url:"functions.html",children:[
{text:"_",url:"functions.html#index__5F"},
{text:"a",url:"functions.html#index_a"},
{text:"b",url:"functions.html#index_b"},
{text:"c",url:"functions.html#index_c"},
{text:"d",url:"functions.html#index_d"},
{text:"e",url:"functions.html#index_e"},
{text:"f",url:"functions.html#index_f"},
{text:"i",url:"functions.html#index_i"},
{text:"l",url:"functions.html#index_l"},
{text:"m",url:"functions.html#index_m"},
{text:"o",url:"functions.html#index_o"},
{text:"p",url:"functions.html#index_p"},
{text:"r",url:"functions.html#index_r"},
{text:"s",url:"functions.html#index_s"},
{text:"t",url:"functions.html#index_t"},
{text:"w",url:"functions.html#index_w"}]},
{text:"Variables",url:"functions_vars.html",children:[
{text:"_",url:"functions_vars.html#index__5F"},
{text:"a",url:"functions_vars.html#index_a"},
{text:"b",url:"functions_vars.html#index_b"},
{text:"c",url:"functions_vars.html#index_c"},
{text:"d",url:"functions_vars.html#index_d"},
{text:"e",url:"functions_vars.html#index_e"},
{text:"f",url:"functions_vars.html#index_f"},
{text:"i",url:"functions_vars.html#index_i"},
{text:"l",url:"functions_vars.html#index_l"},
{text:"m",url:"functions_vars.html#index_m"},
{text:"o",url:"functions_vars.html#index_o"},
{text:"p",url:"functions_vars.html#index_p"},
{text:"r",url:"functions_vars.html#index_r"},
{text:"s",url:"functions_vars.html#index_s"},
{text:"t",url:"functions_vars.html#index_t"},
{text:"w",url:"functions_vars.html#index_w"}]}]}]},
{text:"Files",url:"files.html",children:[
{text:"File List",url:"files.html"},
{text:"Globals",url:"globals.html",children:[
{text:"All",url:"globals.html",children:[
{text:"_",url:"globals.html#index__5F"},
{text:"b",url:"globals.html#index_b"},
{text:"d",url:"globals.html#index_d"},
{text:"f",url:"globals.html#index_f"},
{text:"g",url:"globals.html#index_g"},
{text:"m",url:"globals.html#index_m"},
{text:"n",url:"globals.html#index_n"},
{text:"p",url:"globals.html#index_p"},
{text:"r",url:"globals.html#index_r"},
{text:"s",url:"globals.html#index_s"},
{text:"t",url:"globals.html#index_t"}]},
{text:"Functions",url:"globals_func.html",children:[
{text:"_",url:"globals_func.html#index__5F"},
{text:"d",url:"globals_func.html#index_d"},
{text:"f",url:"globals_func.html#index_f"},
{text:"g",url:"globals_func.html#index_g"},
{text:"m",url:"globals_func.html#index_m"},
{text:"n",url:"globals_func.html#index_n"},
{text:"p",url:"globals_func.html#index_p"},
{text:"r",url:"globals_func.html#index_r"},
{text:"t",url:"globals_func.html#index_t"}]},
{text:"Variables",url:"globals_vars.html"},
{text:"Macros",url:"globals_defs.html"}]}]}]}

8
minus.svg Normal file
View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="12px" height="12px" viewBox="0 0 105.83333 105.83333" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg">
<g>
<rect style="fill:#808080;stroke-width:0" width="105.83333" height="105.83334" x="4.2409692e-08" y="-1.2701158e-06" ry="0" />
<rect style="fill:#fcfcfc;stroke-width:0" width="79.375" height="79.375" x="13.229166" y="13.229166" />
<rect style="fill:#808080;stroke-width:0" width="52.916668" height="15.874998" x="26.458332" y="44.979168" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 582 B

8
minusd.svg Normal file
View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="12px" height="12px" viewBox="0 0 105.83333 105.83333" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg">
<g>
<rect style="fill:#808080;stroke-width:0" width="105.83333" height="105.83334" x="4.2409692e-08" y="-1.2701158e-06" ry="0" />
<rect style="fill:#000000;stroke-width:0" width="79.375" height="79.375" x="13.229166" y="13.229166" />
<rect style="fill:#808080;stroke-width:0" width="52.916668" height="15.874998" x="26.458332" y="44.979168" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 582 B

BIN
nav_f.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 153 B

BIN
nav_fd.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 169 B

BIN
nav_g.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 B

BIN
nav_h.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 B

BIN
nav_hd.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 114 B

BIN
open.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 B

9
plus.svg Normal file
View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="12px" height="12px" viewBox="0 0 105.83333 105.83333" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg">
<g>
<rect style="fill:#808080;stroke-width:0" width="105.83333" height="105.83334" x="4.2409692e-08" y="-1.2701158e-06" ry="0" />
<rect style="fill:#fcfcfc;stroke-width:0" width="79.375" height="79.375" x="13.229166" y="13.229166" />
<rect style="fill:#808080;stroke-width:0" width="52.916668" height="15.874998" x="26.458332" y="44.979168" />
<rect style="fill:#808080;stroke-width:0" width="15.874998" height="52.916668" x="44.979168" y="26.458332" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 696 B

9
plusd.svg Normal file
View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="12px" height="12px" viewBox="0 0 105.83333 105.83333" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg">
<g>
<rect style="fill:#808080;stroke-width:0" width="105.83333" height="105.83334" x="4.2409692e-08" y="-1.2701158e-06" ry="0" />
<rect style="fill:#000000;stroke-width:0" width="79.375" height="79.375" x="13.229166" y="13.229166" />
<rect style="fill:#808080;stroke-width:0" width="52.916668" height="15.874998" x="26.458332" y="44.979168" />
<rect style="fill:#808080;stroke-width:0" width="15.874998" height="52.916668" x="44.979168" y="26.458332" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 696 B

230
power_8c.html Normal file
View File

@@ -0,0 +1,230 @@
<!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" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>ptt-fhss: src/power.c File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">ptt-fhss
</div>
<div id="projectbrief">Bare-metal PTT firmware for nRF52840 with FHSS</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle"><div class="title">power.c File Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Power management implementation.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="power_8h_source.html">power.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="regs_8h_source.html">regs.h</a>&quot;</code><br />
<code>#include &lt;nrf52840.h&gt;</code><br />
<code>#include &lt;cmsis_gcc.h&gt;</code><br />
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:abc2ad14f0789907024ac765711ffd3da" id="r_abc2ad14f0789907024ac765711ffd3da"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="power_8c.html#abc2ad14f0789907024ac765711ffd3da">BUTTON_PIN</a>&#160;&#160;&#160;2u</td></tr>
<tr class="separator:abc2ad14f0789907024ac765711ffd3da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a87f76c63957bd0bdf5f7ca1d1bfe8c" id="r_a5a87f76c63957bd0bdf5f7ca1d1bfe8c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="power_8c.html#a5a87f76c63957bd0bdf5f7ca1d1bfe8c">BUTTON_ACTIVE_LOW</a>&#160;&#160;&#160;1u</td></tr>
<tr class="separator:a5a87f76c63957bd0bdf5f7ca1d1bfe8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a1ca9d74e081ad1377b5c9b7773be973b" id="r_a1ca9d74e081ad1377b5c9b7773be973b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="power_8c.html#a1ca9d74e081ad1377b5c9b7773be973b">power_init</a> (void)</td></tr>
<tr class="memdesc:a1ca9d74e081ad1377b5c9b7773be973b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable the DC/DC converter, configure GPIO input and GPIOTE wakeup on the PTT button. <br /></td></tr>
<tr class="separator:a1ca9d74e081ad1377b5c9b7773be973b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b84b3559a86acf1fef1fab03daded6b" id="r_a7b84b3559a86acf1fef1fab03daded6b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="power_8c.html#a7b84b3559a86acf1fef1fab03daded6b">power_sleep_until_button</a> (void)</td></tr>
<tr class="memdesc:a7b84b3559a86acf1fef1fab03daded6b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enter SYSTEM_ON low-power sleep and return on the next GPIOTE event. <br /></td></tr>
<tr class="separator:a7b84b3559a86acf1fef1fab03daded6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ada513e112411aa36f06f4a36ccf6edb3" id="r_ada513e112411aa36f06f4a36ccf6edb3"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="power_8c.html#ada513e112411aa36f06f4a36ccf6edb3">power_button_pressed</a> (void)</td></tr>
<tr class="memdesc:ada513e112411aa36f06f4a36ccf6edb3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the current state of the PTT button. <br /></td></tr>
<tr class="separator:ada513e112411aa36f06f4a36ccf6edb3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a26b108e2296d5514a2391960b4231d71" id="r_a26b108e2296d5514a2391960b4231d71"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="power_8c.html#a26b108e2296d5514a2391960b4231d71">GPIOTE_IRQHandler</a> (void)</td></tr>
<tr class="separator:a26b108e2296d5514a2391960b4231d71"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Power management implementation. </p>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a id="a5a87f76c63957bd0bdf5f7ca1d1bfe8c" name="a5a87f76c63957bd0bdf5f7ca1d1bfe8c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5a87f76c63957bd0bdf5f7ca1d1bfe8c">&#9670;&#160;</a></span>BUTTON_ACTIVE_LOW</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define BUTTON_ACTIVE_LOW&#160;&#160;&#160;1u</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="abc2ad14f0789907024ac765711ffd3da" name="abc2ad14f0789907024ac765711ffd3da"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abc2ad14f0789907024ac765711ffd3da">&#9670;&#160;</a></span>BUTTON_PIN</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define BUTTON_PIN&#160;&#160;&#160;2u</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="a26b108e2296d5514a2391960b4231d71" name="a26b108e2296d5514a2391960b4231d71"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a26b108e2296d5514a2391960b4231d71">&#9670;&#160;</a></span>GPIOTE_IRQHandler()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void GPIOTE_IRQHandler </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ada513e112411aa36f06f4a36ccf6edb3" name="ada513e112411aa36f06f4a36ccf6edb3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ada513e112411aa36f06f4a36ccf6edb3">&#9670;&#160;</a></span>power_button_pressed()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool power_button_pressed </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Return the current state of the PTT button. </p>
<dl class="section return"><dt>Returns</dt><dd>true when the button is pressed. </dd></dl>
</div>
</div>
<a id="a1ca9d74e081ad1377b5c9b7773be973b" name="a1ca9d74e081ad1377b5c9b7773be973b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1ca9d74e081ad1377b5c9b7773be973b">&#9670;&#160;</a></span>power_init()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void power_init </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Enable the DC/DC converter, configure GPIO input and GPIOTE wakeup on the PTT button. </p>
</div>
</div>
<a id="a7b84b3559a86acf1fef1fab03daded6b" name="a7b84b3559a86acf1fef1fab03daded6b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7b84b3559a86acf1fef1fab03daded6b">&#9670;&#160;</a></span>power_sleep_until_button()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void power_sleep_until_button </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Enter SYSTEM_ON low-power sleep and return on the next GPIOTE event. </p>
<p>Sets TASKS_LOWPWR then executes WFI. The CPU wakes when the GPIOTE interrupt fires (button press) and resumes from here. </p>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
</small></address>
</body>
</html>

172
power_8h.html Normal file
View File

@@ -0,0 +1,172 @@
<!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" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>ptt-fhss: include/power.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">ptt-fhss
</div>
<div id="projectbrief">Bare-metal PTT firmware for nRF52840 with FHSS</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle"><div class="title">power.h File Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Power management: DC/DC regulator, GPIOTE wakeup, WFI sleep.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;stdbool.h&gt;</code><br />
</div>
<p><a href="power_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a1ca9d74e081ad1377b5c9b7773be973b" id="r_a1ca9d74e081ad1377b5c9b7773be973b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="power_8h.html#a1ca9d74e081ad1377b5c9b7773be973b">power_init</a> (void)</td></tr>
<tr class="memdesc:a1ca9d74e081ad1377b5c9b7773be973b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable the DC/DC converter, configure GPIO input and GPIOTE wakeup on the PTT button. <br /></td></tr>
<tr class="separator:a1ca9d74e081ad1377b5c9b7773be973b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b84b3559a86acf1fef1fab03daded6b" id="r_a7b84b3559a86acf1fef1fab03daded6b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="power_8h.html#a7b84b3559a86acf1fef1fab03daded6b">power_sleep_until_button</a> (void)</td></tr>
<tr class="memdesc:a7b84b3559a86acf1fef1fab03daded6b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enter SYSTEM_ON low-power sleep and return on the next GPIOTE event. <br /></td></tr>
<tr class="separator:a7b84b3559a86acf1fef1fab03daded6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ada513e112411aa36f06f4a36ccf6edb3" id="r_ada513e112411aa36f06f4a36ccf6edb3"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="power_8h.html#ada513e112411aa36f06f4a36ccf6edb3">power_button_pressed</a> (void)</td></tr>
<tr class="memdesc:ada513e112411aa36f06f4a36ccf6edb3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the current state of the PTT button. <br /></td></tr>
<tr class="separator:ada513e112411aa36f06f4a36ccf6edb3"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Power management: DC/DC regulator, GPIOTE wakeup, WFI sleep. </p>
</div><h2 class="groupheader">Function Documentation</h2>
<a id="ada513e112411aa36f06f4a36ccf6edb3" name="ada513e112411aa36f06f4a36ccf6edb3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ada513e112411aa36f06f4a36ccf6edb3">&#9670;&#160;</a></span>power_button_pressed()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool power_button_pressed </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Return the current state of the PTT button. </p>
<dl class="section return"><dt>Returns</dt><dd>true when the button is pressed. </dd></dl>
</div>
</div>
<a id="a1ca9d74e081ad1377b5c9b7773be973b" name="a1ca9d74e081ad1377b5c9b7773be973b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1ca9d74e081ad1377b5c9b7773be973b">&#9670;&#160;</a></span>power_init()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void power_init </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Enable the DC/DC converter, configure GPIO input and GPIOTE wakeup on the PTT button. </p>
</div>
</div>
<a id="a7b84b3559a86acf1fef1fab03daded6b" name="a7b84b3559a86acf1fef1fab03daded6b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7b84b3559a86acf1fef1fab03daded6b">&#9670;&#160;</a></span>power_sleep_until_button()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void power_sleep_until_button </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Enter SYSTEM_ON low-power sleep and return on the next GPIOTE event. </p>
<p>Sets TASKS_LOWPWR then executes WFI. The CPU wakes when the GPIOTE interrupt fires (button press) and resumes from here. </p>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
</small></address>
</body>
</html>

103
power_8h_source.html Normal file
View File

@@ -0,0 +1,103 @@
<!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" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>ptt-fhss: include/power.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">ptt-fhss
</div>
<div id="projectbrief">Bare-metal PTT firmware for nRF52840 with FHSS</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function() { init_codefold(0); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle"><div class="title">power.h</div></div>
</div><!--header-->
<div class="contents">
<a href="power_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span> </div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="preprocessor">#pragma once</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="preprocessor">#include &lt;stdbool.h&gt;</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span> </div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="keywordtype">void</span> <a class="code hl_function" href="power_8h.html#a1ca9d74e081ad1377b5c9b7773be973b">power_init</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span> </div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="keywordtype">void</span> <a class="code hl_function" href="power_8h.html#a7b84b3559a86acf1fef1fab03daded6b">power_sleep_until_button</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span> </div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="keywordtype">bool</span> <a class="code hl_function" href="power_8h.html#ada513e112411aa36f06f4a36ccf6edb3">power_button_pressed</a>(<span class="keywordtype">void</span>);</div>
<div class="ttc" id="apower_8h_html_a1ca9d74e081ad1377b5c9b7773be973b"><div class="ttname"><a href="power_8h.html#a1ca9d74e081ad1377b5c9b7773be973b">power_init</a></div><div class="ttdeci">void power_init(void)</div><div class="ttdoc">Enable the DC/DC converter, configure GPIO input and GPIOTE wakeup on the PTT button.</div><div class="ttdef"><b>Definition</b> power.c:16</div></div>
<div class="ttc" id="apower_8h_html_a7b84b3559a86acf1fef1fab03daded6b"><div class="ttname"><a href="power_8h.html#a7b84b3559a86acf1fef1fab03daded6b">power_sleep_until_button</a></div><div class="ttdeci">void power_sleep_until_button(void)</div><div class="ttdoc">Enter SYSTEM_ON low-power sleep and return on the next GPIOTE event.</div><div class="ttdef"><b>Definition</b> power.c:42</div></div>
<div class="ttc" id="apower_8h_html_ada513e112411aa36f06f4a36ccf6edb3"><div class="ttname"><a href="power_8h.html#ada513e112411aa36f06f4a36ccf6edb3">power_button_pressed</a></div><div class="ttdeci">bool power_button_pressed(void)</div><div class="ttdoc">Return the current state of the PTT button.</div><div class="ttdef"><b>Definition</b> power.c:48</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
</small></address>
</body>
</html>

449
radio_8c.html Normal file
View File

@@ -0,0 +1,449 @@
<!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" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>ptt-fhss: src/radio.c File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">ptt-fhss
</div>
<div id="projectbrief">Bare-metal PTT firmware for nRF52840 with FHSS</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a> </div>
<div class="headertitle"><div class="title">radio.c File Reference</div></div>
</div><!--header-->
<div class="contents">
<p>RADIO peripheral driver implementation.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="radio_8h_source.html">radio.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="fhss_8h_source.html">fhss.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="regs_8h_source.html">regs.h</a>&quot;</code><br />
<code>#include &lt;nrf52840.h&gt;</code><br />
<code>#include &lt;string.h&gt;</code><br />
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:aa7a7521abb3a3664218d8dc0e3759f0f" id="r_aa7a7521abb3a3664218d8dc0e3759f0f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="radio_8c.html#aa7a7521abb3a3664218d8dc0e3759f0f">MAX_PAYLOAD</a>&#160;&#160;&#160;255u</td></tr>
<tr class="separator:aa7a7521abb3a3664218d8dc0e3759f0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6821bafc3c88dfb2e433a095df9940c6" id="r_a6821bafc3c88dfb2e433a095df9940c6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="radio_8c.html#a6821bafc3c88dfb2e433a095df9940c6">BUF_SIZE</a>&#160;&#160;&#160;(1u + <a class="el" href="radio_8c.html#aa7a7521abb3a3664218d8dc0e3759f0f">MAX_PAYLOAD</a>)</td></tr>
<tr class="separator:a6821bafc3c88dfb2e433a095df9940c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aafa17c307af8c45323500fdac999d294" id="r_aafa17c307af8c45323500fdac999d294"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="radio_8c.html#aafa17c307af8c45323500fdac999d294">DEFAULT_CHANNEL</a>&#160;&#160;&#160;20u /* 2400 + 20 = 2420 MHz (MAP=0) */</td></tr>
<tr class="separator:aafa17c307af8c45323500fdac999d294"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ba6ab6a6b9198ea1b4699619f932d42" id="r_a5ba6ab6a6b9198ea1b4699619f932d42"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="radio_8c.html#a5ba6ab6a6b9198ea1b4699619f932d42">RADIO_BASE0</a>&#160;&#160;&#160;0x12345678u</td></tr>
<tr class="separator:a5ba6ab6a6b9198ea1b4699619f932d42"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef53fc9f6c8f7ce51d3b94dfd9ada305" id="r_aef53fc9f6c8f7ce51d3b94dfd9ada305"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="radio_8c.html#aef53fc9f6c8f7ce51d3b94dfd9ada305">RADIO_PREFIX0</a>&#160;&#160;&#160;0xABu /* logical address 0: <a class="el" href="radio_8c.html#a5ba6ab6a6b9198ea1b4699619f932d42">RADIO_BASE0</a> + RADIO_PREFIX0[7:0] */</td></tr>
<tr class="separator:aef53fc9f6c8f7ce51d3b94dfd9ada305"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a2d7a2412663c9b0521415553939b1b05" id="r_a2d7a2412663c9b0521415553939b1b05"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="radio_8c.html#a2d7a2412663c9b0521415553939b1b05">timer_init</a> (void)</td></tr>
<tr class="separator:a2d7a2412663c9b0521415553939b1b05"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a07de6df4fc71061db1bad70f4370a3fe" id="r_a07de6df4fc71061db1bad70f4370a3fe"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="radio_8c.html#a07de6df4fc71061db1bad70f4370a3fe">dwell_start</a> (void)</td></tr>
<tr class="separator:a07de6df4fc71061db1bad70f4370a3fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acb45071ad37f0aa0928848eb4a7fc3c6" id="r_acb45071ad37f0aa0928848eb4a7fc3c6"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="radio_8c.html#acb45071ad37f0aa0928848eb4a7fc3c6">dwell_wait</a> (void)</td></tr>
<tr class="separator:acb45071ad37f0aa0928848eb4a7fc3c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acfb21351bb3f0146635745bfacfe26a8" id="r_acfb21351bb3f0146635745bfacfe26a8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="radio_8c.html#acfb21351bb3f0146635745bfacfe26a8">radio_init</a> (void)</td></tr>
<tr class="memdesc:acfb21351bb3f0146635745bfacfe26a8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configure the RADIO peripheral (mode, packet format, address, CRC, power). <br /></td></tr>
<tr class="separator:acfb21351bb3f0146635745bfacfe26a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4508602c352170e18afc35ea773edb98" id="r_a4508602c352170e18afc35ea773edb98"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="radio_8c.html#a4508602c352170e18afc35ea773edb98">radio_set_channel</a> (uint8_t ch)</td></tr>
<tr class="memdesc:a4508602c352170e18afc35ea773edb98"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the RF channel. <br /></td></tr>
<tr class="separator:a4508602c352170e18afc35ea773edb98"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa98086e3cef509cbd1f899e79e62a39c" id="r_aa98086e3cef509cbd1f899e79e62a39c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="radio_8c.html#aa98086e3cef509cbd1f899e79e62a39c">radio_tx</a> (const uint8_t *data, uint8_t len)</td></tr>
<tr class="memdesc:aa98086e3cef509cbd1f899e79e62a39c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transmit one packet synchronously. <br /></td></tr>
<tr class="separator:aa98086e3cef509cbd1f899e79e62a39c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a797c6c01e1ad4076ab54412b8c116de2" id="r_a797c6c01e1ad4076ab54412b8c116de2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="radio_8c.html#a797c6c01e1ad4076ab54412b8c116de2">radio_tx_burst</a> (void)</td></tr>
<tr class="memdesc:a797c6c01e1ad4076ab54412b8c116de2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transmit one FHSS hop: advance channel, send PTT frame, hold dwell time. <br /></td></tr>
<tr class="separator:a797c6c01e1ad4076ab54412b8c116de2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a93ad6d90796885b32326efe3b7c93b17" id="r_a93ad6d90796885b32326efe3b7c93b17"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="radio_8c.html#a93ad6d90796885b32326efe3b7c93b17">radio_rx_burst</a> (<a class="el" href="radio_8h.html#a0f54f3002fc4eaef20595ed5e64b35d7">ptt_frame_t</a> *frame_out)</td></tr>
<tr class="memdesc:a93ad6d90796885b32326efe3b7c93b17"><td class="mdescLeft">&#160;</td><td class="mdescRight">Receive one FHSS hop: advance channel, listen for FHSS_DWELL_MS ms. <br /></td></tr>
<tr class="separator:a93ad6d90796885b32326efe3b7c93b17"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="var-members" name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:a883657f0d0158e64f07b1cabb26c4233" id="r_a883657f0d0158e64f07b1cabb26c4233"><td class="memItemLeft" align="right" valign="top">static uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="radio_8c.html#a883657f0d0158e64f07b1cabb26c4233">pkt_buf</a> [<a class="el" href="radio_8c.html#a6821bafc3c88dfb2e433a095df9940c6">BUF_SIZE</a>]</td></tr>
<tr class="separator:a883657f0d0158e64f07b1cabb26c4233"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>RADIO peripheral driver implementation. </p>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a id="a6821bafc3c88dfb2e433a095df9940c6" name="a6821bafc3c88dfb2e433a095df9940c6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6821bafc3c88dfb2e433a095df9940c6">&#9670;&#160;</a></span>BUF_SIZE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define BUF_SIZE&#160;&#160;&#160;(1u + <a class="el" href="radio_8c.html#aa7a7521abb3a3664218d8dc0e3759f0f">MAX_PAYLOAD</a>)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aafa17c307af8c45323500fdac999d294" name="aafa17c307af8c45323500fdac999d294"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aafa17c307af8c45323500fdac999d294">&#9670;&#160;</a></span>DEFAULT_CHANNEL</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DEFAULT_CHANNEL&#160;&#160;&#160;20u /* 2400 + 20 = 2420 MHz (MAP=0) */</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aa7a7521abb3a3664218d8dc0e3759f0f" name="aa7a7521abb3a3664218d8dc0e3759f0f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa7a7521abb3a3664218d8dc0e3759f0f">&#9670;&#160;</a></span>MAX_PAYLOAD</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MAX_PAYLOAD&#160;&#160;&#160;255u</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a5ba6ab6a6b9198ea1b4699619f932d42" name="a5ba6ab6a6b9198ea1b4699619f932d42"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5ba6ab6a6b9198ea1b4699619f932d42">&#9670;&#160;</a></span>RADIO_BASE0</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define RADIO_BASE0&#160;&#160;&#160;0x12345678u</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aef53fc9f6c8f7ce51d3b94dfd9ada305" name="aef53fc9f6c8f7ce51d3b94dfd9ada305"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aef53fc9f6c8f7ce51d3b94dfd9ada305">&#9670;&#160;</a></span>RADIO_PREFIX0</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define RADIO_PREFIX0&#160;&#160;&#160;0xABu /* logical address 0: <a class="el" href="radio_8c.html#a5ba6ab6a6b9198ea1b4699619f932d42">RADIO_BASE0</a> + RADIO_PREFIX0[7:0] */</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="a07de6df4fc71061db1bad70f4370a3fe" name="a07de6df4fc71061db1bad70f4370a3fe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a07de6df4fc71061db1bad70f4370a3fe">&#9670;&#160;</a></span>dwell_start()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void dwell_start </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="acb45071ad37f0aa0928848eb4a7fc3c6" name="acb45071ad37f0aa0928848eb4a7fc3c6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acb45071ad37f0aa0928848eb4a7fc3c6">&#9670;&#160;</a></span>dwell_wait()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void dwell_wait </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="acfb21351bb3f0146635745bfacfe26a8" name="acfb21351bb3f0146635745bfacfe26a8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acfb21351bb3f0146635745bfacfe26a8">&#9670;&#160;</a></span>radio_init()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void radio_init </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Configure the RADIO peripheral (mode, packet format, address, CRC, power). </p>
</div>
</div>
<a id="a93ad6d90796885b32326efe3b7c93b17" name="a93ad6d90796885b32326efe3b7c93b17"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a93ad6d90796885b32326efe3b7c93b17">&#9670;&#160;</a></span>radio_rx_burst()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool radio_rx_burst </td>
<td>(</td>
<td class="paramtype"><a class="el" href="radio_8h.html#a0f54f3002fc4eaef20595ed5e64b35d7">ptt_frame_t</a> *&#160;</td>
<td class="paramname"><em>frame_out</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Receive one FHSS hop: advance channel, listen for FHSS_DWELL_MS ms. </p>
<p>If a packet with a valid CRC arrives during the dwell window, <code>frame_out</code> is filled and the function returns true. The caller should then call fhss_set_slot(frame_out-&gt;slot + 1) to synchronise the hopping sequence.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">frame_out</td><td>Destination for the received frame (must not be NULL). </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if a valid packet was received, false on timeout or CRC error. </dd></dl>
</div>
</div>
<a id="a4508602c352170e18afc35ea773edb98" name="a4508602c352170e18afc35ea773edb98"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4508602c352170e18afc35ea773edb98">&#9670;&#160;</a></span>radio_set_channel()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void radio_set_channel </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>ch</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the RF channel. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">ch</td><td>Channel index 0-39, maps to 2400+ch MHz (MAP=0). </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aa98086e3cef509cbd1f899e79e62a39c" name="aa98086e3cef509cbd1f899e79e62a39c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa98086e3cef509cbd1f899e79e62a39c">&#9670;&#160;</a></span>radio_tx()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void radio_tx </td>
<td>(</td>
<td class="paramtype">const uint8_t *&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>len</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Transmit one packet synchronously. </p>
<p>Loads <code>data</code> into the internal packet buffer, asserts TASKS_TXEN, and returns after EVENTS_END fires. RADIO is DISABLED automatically via the END_DISABLE shortcut before the function returns.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>Payload bytes. </td></tr>
<tr><td class="paramname">len</td><td>Payload length (0-255 bytes). </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a797c6c01e1ad4076ab54412b8c116de2" name="a797c6c01e1ad4076ab54412b8c116de2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a797c6c01e1ad4076ab54412b8c116de2">&#9670;&#160;</a></span>radio_tx_burst()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void radio_tx_burst </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Transmit one FHSS hop: advance channel, send PTT frame, hold dwell time. </p>
<p>Call repeatedly in a loop while the PTT button is held. Each call occupies exactly FHSS_DWELL_MS milliseconds. </p>
</div>
</div>
<a id="a2d7a2412663c9b0521415553939b1b05" name="a2d7a2412663c9b0521415553939b1b05"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2d7a2412663c9b0521415553939b1b05">&#9670;&#160;</a></span>timer_init()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void timer_init </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a id="a883657f0d0158e64f07b1cabb26c4233" name="a883657f0d0158e64f07b1cabb26c4233"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a883657f0d0158e64f07b1cabb26c4233">&#9670;&#160;</a></span>pkt_buf</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint8_t pkt_buf[<a class="el" href="radio_8c.html#a6821bafc3c88dfb2e433a095df9940c6">BUF_SIZE</a>]</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
</small></address>
</body>
</html>

321
radio_8h.html Normal file
View File

@@ -0,0 +1,321 @@
<!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" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>ptt-fhss: include/radio.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">ptt-fhss
</div>
<div id="projectbrief">Bare-metal PTT firmware for nRF52840 with FHSS</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a> </div>
<div class="headertitle"><div class="title">radio.h File Reference</div></div>
</div><!--header-->
<div class="contents">
<p>RADIO peripheral driver &ndash; NRF_1Mbit proprietary mode.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;stdbool.h&gt;</code><br />
<code>#include &lt;stdint.h&gt;</code><br />
</div>
<p><a href="radio_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a641b5c6f5b38da442b995f3d4f549e6f" id="r_a641b5c6f5b38da442b995f3d4f549e6f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="radio_8h.html#a641b5c6f5b38da442b995f3d4f549e6f">PTT_FLAG_ACTIVE</a>&#160;&#160;&#160;0x01u</td></tr>
<tr class="memdesc:a641b5c6f5b38da442b995f3d4f549e6f"><td class="mdescLeft">&#160;</td><td class="mdescRight">PTT button is held on the transmitting side. <br /></td></tr>
<tr class="separator:a641b5c6f5b38da442b995f3d4f549e6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ab898071398b359603a35c202e9c65f3b" id="r_ab898071398b359603a35c202e9c65f3b"><td class="memItemLeft" align="right" valign="top">struct&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="radio_8h.html#ab898071398b359603a35c202e9c65f3b">__attribute__</a> ((packed))</td></tr>
<tr class="memdesc:ab898071398b359603a35c202e9c65f3b"><td class="mdescLeft">&#160;</td><td class="mdescRight">PTT packet transmitted on every FHSS hop. <br /></td></tr>
<tr class="separator:ab898071398b359603a35c202e9c65f3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acfb21351bb3f0146635745bfacfe26a8" id="r_acfb21351bb3f0146635745bfacfe26a8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="radio_8h.html#acfb21351bb3f0146635745bfacfe26a8">radio_init</a> (void)</td></tr>
<tr class="memdesc:acfb21351bb3f0146635745bfacfe26a8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configure the RADIO peripheral (mode, packet format, address, CRC, power). <br /></td></tr>
<tr class="separator:acfb21351bb3f0146635745bfacfe26a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4508602c352170e18afc35ea773edb98" id="r_a4508602c352170e18afc35ea773edb98"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="radio_8h.html#a4508602c352170e18afc35ea773edb98">radio_set_channel</a> (uint8_t ch)</td></tr>
<tr class="memdesc:a4508602c352170e18afc35ea773edb98"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the RF channel. <br /></td></tr>
<tr class="separator:a4508602c352170e18afc35ea773edb98"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa98086e3cef509cbd1f899e79e62a39c" id="r_aa98086e3cef509cbd1f899e79e62a39c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="radio_8h.html#aa98086e3cef509cbd1f899e79e62a39c">radio_tx</a> (const uint8_t *data, uint8_t len)</td></tr>
<tr class="memdesc:aa98086e3cef509cbd1f899e79e62a39c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transmit one packet synchronously. <br /></td></tr>
<tr class="separator:aa98086e3cef509cbd1f899e79e62a39c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a797c6c01e1ad4076ab54412b8c116de2" id="r_a797c6c01e1ad4076ab54412b8c116de2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="radio_8h.html#a797c6c01e1ad4076ab54412b8c116de2">radio_tx_burst</a> (void)</td></tr>
<tr class="memdesc:a797c6c01e1ad4076ab54412b8c116de2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transmit one FHSS hop: advance channel, send PTT frame, hold dwell time. <br /></td></tr>
<tr class="separator:a797c6c01e1ad4076ab54412b8c116de2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a93ad6d90796885b32326efe3b7c93b17" id="r_a93ad6d90796885b32326efe3b7c93b17"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="radio_8h.html#a93ad6d90796885b32326efe3b7c93b17">radio_rx_burst</a> (<a class="el" href="radio_8h.html#a0f54f3002fc4eaef20595ed5e64b35d7">ptt_frame_t</a> *frame_out)</td></tr>
<tr class="memdesc:a93ad6d90796885b32326efe3b7c93b17"><td class="mdescLeft">&#160;</td><td class="mdescRight">Receive one FHSS hop: advance channel, listen for FHSS_DWELL_MS ms. <br /></td></tr>
<tr class="separator:a93ad6d90796885b32326efe3b7c93b17"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="var-members" name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:a0f54f3002fc4eaef20595ed5e64b35d7" id="r_a0f54f3002fc4eaef20595ed5e64b35d7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="radio_8h.html#a0f54f3002fc4eaef20595ed5e64b35d7">ptt_frame_t</a></td></tr>
<tr class="separator:a0f54f3002fc4eaef20595ed5e64b35d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>RADIO peripheral driver &ndash; NRF_1Mbit proprietary mode. </p>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a id="a641b5c6f5b38da442b995f3d4f549e6f" name="a641b5c6f5b38da442b995f3d4f549e6f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a641b5c6f5b38da442b995f3d4f549e6f">&#9670;&#160;</a></span>PTT_FLAG_ACTIVE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define PTT_FLAG_ACTIVE&#160;&#160;&#160;0x01u</td>
</tr>
</table>
</div><div class="memdoc">
<p>PTT button is held on the transmitting side. </p>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="ab898071398b359603a35c202e9c65f3b" name="ab898071398b359603a35c202e9c65f3b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab898071398b359603a35c202e9c65f3b">&#9670;&#160;</a></span>__attribute__()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct __attribute__ </td>
<td>(</td>
<td class="paramtype">(packed)&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>PTT packet transmitted on every FHSS hop. </p>
<p>The receiver uses <code>slot</code> to resynchronise its FHSS counter after receiving the first packet. </p>
<p>&lt; Sender's FHSS slot number at time of transmission.</p>
<p>&lt; Bitmask: PTT_FLAG_ACTIVE when voice channel is open.</p>
</div>
</div>
<a id="acfb21351bb3f0146635745bfacfe26a8" name="acfb21351bb3f0146635745bfacfe26a8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acfb21351bb3f0146635745bfacfe26a8">&#9670;&#160;</a></span>radio_init()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void radio_init </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Configure the RADIO peripheral (mode, packet format, address, CRC, power). </p>
</div>
</div>
<a id="a93ad6d90796885b32326efe3b7c93b17" name="a93ad6d90796885b32326efe3b7c93b17"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a93ad6d90796885b32326efe3b7c93b17">&#9670;&#160;</a></span>radio_rx_burst()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool radio_rx_burst </td>
<td>(</td>
<td class="paramtype"><a class="el" href="radio_8h.html#a0f54f3002fc4eaef20595ed5e64b35d7">ptt_frame_t</a> *&#160;</td>
<td class="paramname"><em>frame_out</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Receive one FHSS hop: advance channel, listen for FHSS_DWELL_MS ms. </p>
<p>If a packet with a valid CRC arrives during the dwell window, <code>frame_out</code> is filled and the function returns true. The caller should then call fhss_set_slot(frame_out-&gt;slot + 1) to synchronise the hopping sequence.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">frame_out</td><td>Destination for the received frame (must not be NULL). </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if a valid packet was received, false on timeout or CRC error. </dd></dl>
</div>
</div>
<a id="a4508602c352170e18afc35ea773edb98" name="a4508602c352170e18afc35ea773edb98"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4508602c352170e18afc35ea773edb98">&#9670;&#160;</a></span>radio_set_channel()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void radio_set_channel </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>ch</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the RF channel. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">ch</td><td>Channel index 0-39, maps to 2400+ch MHz (MAP=0). </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aa98086e3cef509cbd1f899e79e62a39c" name="aa98086e3cef509cbd1f899e79e62a39c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa98086e3cef509cbd1f899e79e62a39c">&#9670;&#160;</a></span>radio_tx()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void radio_tx </td>
<td>(</td>
<td class="paramtype">const uint8_t *&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>len</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Transmit one packet synchronously. </p>
<p>Loads <code>data</code> into the internal packet buffer, asserts TASKS_TXEN, and returns after EVENTS_END fires. RADIO is DISABLED automatically via the END_DISABLE shortcut before the function returns.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>Payload bytes. </td></tr>
<tr><td class="paramname">len</td><td>Payload length (0-255 bytes). </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a797c6c01e1ad4076ab54412b8c116de2" name="a797c6c01e1ad4076ab54412b8c116de2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a797c6c01e1ad4076ab54412b8c116de2">&#9670;&#160;</a></span>radio_tx_burst()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void radio_tx_burst </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Transmit one FHSS hop: advance channel, send PTT frame, hold dwell time. </p>
<p>Call repeatedly in a loop while the PTT button is held. Each call occupies exactly FHSS_DWELL_MS milliseconds. </p>
</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a id="a0f54f3002fc4eaef20595ed5e64b35d7" name="a0f54f3002fc4eaef20595ed5e64b35d7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0f54f3002fc4eaef20595ed5e64b35d7">&#9670;&#160;</a></span>ptt_frame_t</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ptt_frame_t</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
</small></address>
</body>
</html>

121
radio_8h_source.html Normal file
View File

@@ -0,0 +1,121 @@
<!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" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>ptt-fhss: include/radio.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">ptt-fhss
</div>
<div id="projectbrief">Bare-metal PTT firmware for nRF52840 with FHSS</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function() { init_codefold(0); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle"><div class="title">radio.h</div></div>
</div><!--header-->
<div class="contents">
<a href="radio_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="foldopen" id="foldopen00001" data-start="{" data-end="}">
<div class="line"><a id="l00001" name="l00001"></a><span class="lineno"><a class="line" href="radio_8h.html#ab898071398b359603a35c202e9c65f3b"> 1</a></span> </div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="preprocessor">#pragma once</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="preprocessor">#include &lt;stdbool.h&gt;</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="preprocessor">#include &lt;stdint.h&gt;</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span> </div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code hl_function" href="radio_8h.html#ab898071398b359603a35c202e9c65f3b">__attribute__</a>((packed)) {</div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span> uint32_t <a class="code hl_variable" href="fhss_8c.html#a8da4ee0fe1f6d2dcab3b7562d79c10a1">slot</a>; </div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span> uint8_t flags; </div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"><a class="line" href="radio_8h.html#a0f54f3002fc4eaef20595ed5e64b35d7"> 18</a></span>} <a class="code hl_variable" href="radio_8h.html#a0f54f3002fc4eaef20595ed5e64b35d7">ptt_frame_t</a>;</div>
</div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> </div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"><a class="line" href="radio_8h.html#a641b5c6f5b38da442b995f3d4f549e6f"> 20</a></span><span class="preprocessor">#define PTT_FLAG_ACTIVE 0x01u </span></div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="keywordtype">void</span> <a class="code hl_function" href="radio_8h.html#acfb21351bb3f0146635745bfacfe26a8">radio_init</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> </div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><span class="keywordtype">void</span> <a class="code hl_function" href="radio_8h.html#a4508602c352170e18afc35ea773edb98">radio_set_channel</a>(uint8_t ch);</div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> </div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span><span class="keywordtype">void</span> <a class="code hl_function" href="radio_8h.html#aa98086e3cef509cbd1f899e79e62a39c">radio_tx</a>(<span class="keyword">const</span> uint8_t *data, uint8_t len);</div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> </div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span><span class="keywordtype">void</span> <a class="code hl_function" href="radio_8h.html#a797c6c01e1ad4076ab54412b8c116de2">radio_tx_burst</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> </div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span><span class="keywordtype">bool</span> <a class="code hl_function" href="radio_8h.html#a93ad6d90796885b32326efe3b7c93b17">radio_rx_burst</a>(<a class="code hl_variable" href="radio_8h.html#a0f54f3002fc4eaef20595ed5e64b35d7">ptt_frame_t</a> *frame_out);</div>
<div class="ttc" id="afhss_8c_html_a8da4ee0fe1f6d2dcab3b7562d79c10a1"><div class="ttname"><a href="fhss_8c.html#a8da4ee0fe1f6d2dcab3b7562d79c10a1">slot</a></div><div class="ttdeci">static uint32_t slot</div><div class="ttdef"><b>Definition</b> fhss.c:15</div></div>
<div class="ttc" id="aradio_8h_html_a0f54f3002fc4eaef20595ed5e64b35d7"><div class="ttname"><a href="radio_8h.html#a0f54f3002fc4eaef20595ed5e64b35d7">ptt_frame_t</a></div><div class="ttdeci">ptt_frame_t</div><div class="ttdef"><b>Definition</b> radio.h:18</div></div>
<div class="ttc" id="aradio_8h_html_a4508602c352170e18afc35ea773edb98"><div class="ttname"><a href="radio_8h.html#a4508602c352170e18afc35ea773edb98">radio_set_channel</a></div><div class="ttdeci">void radio_set_channel(uint8_t ch)</div><div class="ttdoc">Set the RF channel.</div><div class="ttdef"><b>Definition</b> radio.c:101</div></div>
<div class="ttc" id="aradio_8h_html_a797c6c01e1ad4076ab54412b8c116de2"><div class="ttname"><a href="radio_8h.html#a797c6c01e1ad4076ab54412b8c116de2">radio_tx_burst</a></div><div class="ttdeci">void radio_tx_burst(void)</div><div class="ttdoc">Transmit one FHSS hop: advance channel, send PTT frame, hold dwell time.</div><div class="ttdef"><b>Definition</b> radio.c:126</div></div>
<div class="ttc" id="aradio_8h_html_a93ad6d90796885b32326efe3b7c93b17"><div class="ttname"><a href="radio_8h.html#a93ad6d90796885b32326efe3b7c93b17">radio_rx_burst</a></div><div class="ttdeci">bool radio_rx_burst(ptt_frame_t *frame_out)</div><div class="ttdoc">Receive one FHSS hop: advance channel, listen for FHSS_DWELL_MS ms.</div><div class="ttdef"><b>Definition</b> radio.c:142</div></div>
<div class="ttc" id="aradio_8h_html_aa98086e3cef509cbd1f899e79e62a39c"><div class="ttname"><a href="radio_8h.html#aa98086e3cef509cbd1f899e79e62a39c">radio_tx</a></div><div class="ttdeci">void radio_tx(const uint8_t *data, uint8_t len)</div><div class="ttdoc">Transmit one packet synchronously.</div><div class="ttdef"><b>Definition</b> radio.c:109</div></div>
<div class="ttc" id="aradio_8h_html_ab898071398b359603a35c202e9c65f3b"><div class="ttname"><a href="radio_8h.html#ab898071398b359603a35c202e9c65f3b">__attribute__</a></div><div class="ttdeci">struct __attribute__((packed))</div><div class="ttdoc">PTT packet transmitted on every FHSS hop.</div><div class="ttdef"><b>Definition</b> radio.h:15</div></div>
<div class="ttc" id="aradio_8h_html_acfb21351bb3f0146635745bfacfe26a8"><div class="ttname"><a href="radio_8h.html#acfb21351bb3f0146635745bfacfe26a8">radio_init</a></div><div class="ttdeci">void radio_init(void)</div><div class="ttdoc">Configure the RADIO peripheral (mode, packet format, address, CRC, power).</div><div class="ttdef"><b>Definition</b> radio.c:59</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
</small></address>
</body>
</html>

440
regs_8h.html Normal file
View File

@@ -0,0 +1,440 @@
<!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" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>ptt-fhss: include/regs.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">ptt-fhss
</div>
<div id="projectbrief">Bare-metal PTT firmware for nRF52840 with FHSS</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> </div>
<div class="headertitle"><div class="title">regs.h File Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Hardware register bitfield unions for nRF52840 peripherals.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;stdint.h&gt;</code><br />
</div>
<p><a href="regs_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">union &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uniongpiote__config__t.html">gpiote_config_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">GPIOTE CONFIG[n]: channel configuration register. <a href="uniongpiote__config__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">union &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uniongpiote__inten__t.html">gpiote_inten_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">GPIOTE INTENSET / INTENCLR: interrupt enable register. <a href="uniongpiote__inten__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">union &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="unionradio__frequency__t.html">radio_frequency_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">RADIO FREQUENCY: RF channel selection register. <a href="unionradio__frequency__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">union &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="unionradio__txpower__t.html">radio_txpower_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">RADIO TXPOWER: transmit power register. <a href="unionradio__txpower__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">union &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="unionradio__mode__t.html">radio_mode_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">RADIO MODE: data rate and modulation register. <a href="unionradio__mode__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">union &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="unionradio__pcnf0__t.html">radio_pcnf0_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">RADIO PCNF0: packet configuration register 0 (header fields). <a href="unionradio__pcnf0__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">union &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="unionradio__pcnf1__t.html">radio_pcnf1_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">RADIO PCNF1: packet configuration register 1 (payload and address). <a href="unionradio__pcnf1__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">union &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="unionradio__crccnf__t.html">radio_crccnf_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">RADIO CRCCNF: CRC configuration register. <a href="unionradio__crccnf__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">union &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="unionradio__shorts__t.html">radio_shorts_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">RADIO SHORTS: hardware shortcut register. <a href="unionradio__shorts__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">union &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uniongpio__pin__cnf__t.html">gpio_pin_cnf_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">GPIO PIN_CNF[n]: pin configuration register. <a href="uniongpio__pin__cnf__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a3930e8d039be27c6db21bf7fd5b34fb9" id="r_a3930e8d039be27c6db21bf7fd5b34fb9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="regs_8h.html#a3930e8d039be27c6db21bf7fd5b34fb9">GPIOTE_MODE_DISABLED</a>&#160;&#160;&#160;0u</td></tr>
<tr class="separator:a3930e8d039be27c6db21bf7fd5b34fb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae521de6ddd2e39788f7dd4427333aa69" id="r_ae521de6ddd2e39788f7dd4427333aa69"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="regs_8h.html#ae521de6ddd2e39788f7dd4427333aa69">GPIOTE_MODE_EVENT</a>&#160;&#160;&#160;1u</td></tr>
<tr class="separator:ae521de6ddd2e39788f7dd4427333aa69"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6a2d56f7c698008e646b882430539f85" id="r_a6a2d56f7c698008e646b882430539f85"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="regs_8h.html#a6a2d56f7c698008e646b882430539f85">GPIOTE_MODE_TASK</a>&#160;&#160;&#160;3u</td></tr>
<tr class="separator:a6a2d56f7c698008e646b882430539f85"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a4c598f841ffb6aaeedbce0ab7ba0d8" id="r_a0a4c598f841ffb6aaeedbce0ab7ba0d8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="regs_8h.html#a0a4c598f841ffb6aaeedbce0ab7ba0d8">GPIOTE_POL_NONE</a>&#160;&#160;&#160;0u</td></tr>
<tr class="separator:a0a4c598f841ffb6aaeedbce0ab7ba0d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a88b6140017ac6a545efd0dc450f5d975" id="r_a88b6140017ac6a545efd0dc450f5d975"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="regs_8h.html#a88b6140017ac6a545efd0dc450f5d975">GPIOTE_POL_LOTOHI</a>&#160;&#160;&#160;1u</td></tr>
<tr class="separator:a88b6140017ac6a545efd0dc450f5d975"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6756f4bec11b9b61511b2f6878fb8da6" id="r_a6756f4bec11b9b61511b2f6878fb8da6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="regs_8h.html#a6756f4bec11b9b61511b2f6878fb8da6">GPIOTE_POL_HITOLO</a>&#160;&#160;&#160;2u</td></tr>
<tr class="separator:a6756f4bec11b9b61511b2f6878fb8da6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb4d4593b0b4f22cdcf99d5800d28e08" id="r_abb4d4593b0b4f22cdcf99d5800d28e08"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="regs_8h.html#abb4d4593b0b4f22cdcf99d5800d28e08">GPIOTE_POL_TOGGLE</a>&#160;&#160;&#160;3u</td></tr>
<tr class="separator:abb4d4593b0b4f22cdcf99d5800d28e08"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adc60679cbbac9204d0897097c2413c0b" id="r_adc60679cbbac9204d0897097c2413c0b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="regs_8h.html#adc60679cbbac9204d0897097c2413c0b">RADIO_MAP_DEFAULT</a>&#160;&#160;&#160;0u /* channel n -&gt; 2400+n MHz */</td></tr>
<tr class="separator:adc60679cbbac9204d0897097c2413c0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1c70f2abb32fb5ce85e55bb39ef072ce" id="r_a1c70f2abb32fb5ce85e55bb39ef072ce"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="regs_8h.html#a1c70f2abb32fb5ce85e55bb39ef072ce">RADIO_MAP_BLE</a>&#160;&#160;&#160;1u /* channel n -&gt; 2360+n MHz */</td></tr>
<tr class="separator:a1c70f2abb32fb5ce85e55bb39ef072ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a200465030c4696a45f86df7776993ab3" id="r_a200465030c4696a45f86df7776993ab3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="regs_8h.html#a200465030c4696a45f86df7776993ab3">RADIO_MODE_NRF_1MBIT</a>&#160;&#160;&#160;0u</td></tr>
<tr class="separator:a200465030c4696a45f86df7776993ab3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa11b189f4292942f555592f19fd011e1" id="r_aa11b189f4292942f555592f19fd011e1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="regs_8h.html#aa11b189f4292942f555592f19fd011e1">RADIO_MODE_NRF_2MBIT</a>&#160;&#160;&#160;1u</td></tr>
<tr class="separator:aa11b189f4292942f555592f19fd011e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a20310c14a9e989f96fb5f8c570a3e414" id="r_a20310c14a9e989f96fb5f8c570a3e414"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="regs_8h.html#a20310c14a9e989f96fb5f8c570a3e414">RADIO_MODE_BLE_1MBIT</a>&#160;&#160;&#160;4u</td></tr>
<tr class="separator:a20310c14a9e989f96fb5f8c570a3e414"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6a72a810ee6c57526139e30dacdbeca4" id="r_a6a72a810ee6c57526139e30dacdbeca4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="regs_8h.html#a6a72a810ee6c57526139e30dacdbeca4">RADIO_CRCCNF_LEN_DISABLED</a>&#160;&#160;&#160;0u</td></tr>
<tr class="separator:a6a72a810ee6c57526139e30dacdbeca4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af22780616d83d265e9f5440e42ff84a9" id="r_af22780616d83d265e9f5440e42ff84a9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="regs_8h.html#af22780616d83d265e9f5440e42ff84a9">RADIO_CRCCNF_LEN_ONE</a>&#160;&#160;&#160;1u</td></tr>
<tr class="separator:af22780616d83d265e9f5440e42ff84a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa3b0603cad0f7c441a411fe706080892" id="r_aa3b0603cad0f7c441a411fe706080892"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="regs_8h.html#aa3b0603cad0f7c441a411fe706080892">RADIO_CRCCNF_LEN_TWO</a>&#160;&#160;&#160;2u</td></tr>
<tr class="separator:aa3b0603cad0f7c441a411fe706080892"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a23bfd71b1a3197ae1b8bc8916a0d4874" id="r_a23bfd71b1a3197ae1b8bc8916a0d4874"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="regs_8h.html#a23bfd71b1a3197ae1b8bc8916a0d4874">RADIO_CRCCNF_LEN_THREE</a>&#160;&#160;&#160;3u</td></tr>
<tr class="separator:a23bfd71b1a3197ae1b8bc8916a0d4874"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8268f23dff5a30e738c70ea92060a998" id="r_a8268f23dff5a30e738c70ea92060a998"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="regs_8h.html#a8268f23dff5a30e738c70ea92060a998">GPIO_PULL_DISABLED</a>&#160;&#160;&#160;0u</td></tr>
<tr class="separator:a8268f23dff5a30e738c70ea92060a998"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a115d6bca63aeb83afc532ab85680a680" id="r_a115d6bca63aeb83afc532ab85680a680"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="regs_8h.html#a115d6bca63aeb83afc532ab85680a680">GPIO_PULL_PULLDOWN</a>&#160;&#160;&#160;1u</td></tr>
<tr class="separator:a115d6bca63aeb83afc532ab85680a680"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a787786e3d8c5fb98acffc64e4f003242" id="r_a787786e3d8c5fb98acffc64e4f003242"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="regs_8h.html#a787786e3d8c5fb98acffc64e4f003242">GPIO_PULL_PULLUP</a>&#160;&#160;&#160;3u</td></tr>
<tr class="separator:a787786e3d8c5fb98acffc64e4f003242"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Hardware register bitfield unions for nRF52840 peripherals. </p>
<p>Layout is guaranteed correct only with arm-none-eabi-gcc (LSB-first bitfields). Bit ranges match nRF52840 Product Specification v1.7. </p>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a id="a8268f23dff5a30e738c70ea92060a998" name="a8268f23dff5a30e738c70ea92060a998"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8268f23dff5a30e738c70ea92060a998">&#9670;&#160;</a></span>GPIO_PULL_DISABLED</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define GPIO_PULL_DISABLED&#160;&#160;&#160;0u</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a115d6bca63aeb83afc532ab85680a680" name="a115d6bca63aeb83afc532ab85680a680"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a115d6bca63aeb83afc532ab85680a680">&#9670;&#160;</a></span>GPIO_PULL_PULLDOWN</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define GPIO_PULL_PULLDOWN&#160;&#160;&#160;1u</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a787786e3d8c5fb98acffc64e4f003242" name="a787786e3d8c5fb98acffc64e4f003242"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a787786e3d8c5fb98acffc64e4f003242">&#9670;&#160;</a></span>GPIO_PULL_PULLUP</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define GPIO_PULL_PULLUP&#160;&#160;&#160;3u</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a3930e8d039be27c6db21bf7fd5b34fb9" name="a3930e8d039be27c6db21bf7fd5b34fb9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3930e8d039be27c6db21bf7fd5b34fb9">&#9670;&#160;</a></span>GPIOTE_MODE_DISABLED</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define GPIOTE_MODE_DISABLED&#160;&#160;&#160;0u</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ae521de6ddd2e39788f7dd4427333aa69" name="ae521de6ddd2e39788f7dd4427333aa69"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae521de6ddd2e39788f7dd4427333aa69">&#9670;&#160;</a></span>GPIOTE_MODE_EVENT</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define GPIOTE_MODE_EVENT&#160;&#160;&#160;1u</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a6a2d56f7c698008e646b882430539f85" name="a6a2d56f7c698008e646b882430539f85"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6a2d56f7c698008e646b882430539f85">&#9670;&#160;</a></span>GPIOTE_MODE_TASK</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define GPIOTE_MODE_TASK&#160;&#160;&#160;3u</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a6756f4bec11b9b61511b2f6878fb8da6" name="a6756f4bec11b9b61511b2f6878fb8da6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6756f4bec11b9b61511b2f6878fb8da6">&#9670;&#160;</a></span>GPIOTE_POL_HITOLO</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define GPIOTE_POL_HITOLO&#160;&#160;&#160;2u</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a88b6140017ac6a545efd0dc450f5d975" name="a88b6140017ac6a545efd0dc450f5d975"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a88b6140017ac6a545efd0dc450f5d975">&#9670;&#160;</a></span>GPIOTE_POL_LOTOHI</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define GPIOTE_POL_LOTOHI&#160;&#160;&#160;1u</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a0a4c598f841ffb6aaeedbce0ab7ba0d8" name="a0a4c598f841ffb6aaeedbce0ab7ba0d8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0a4c598f841ffb6aaeedbce0ab7ba0d8">&#9670;&#160;</a></span>GPIOTE_POL_NONE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define GPIOTE_POL_NONE&#160;&#160;&#160;0u</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="abb4d4593b0b4f22cdcf99d5800d28e08" name="abb4d4593b0b4f22cdcf99d5800d28e08"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abb4d4593b0b4f22cdcf99d5800d28e08">&#9670;&#160;</a></span>GPIOTE_POL_TOGGLE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define GPIOTE_POL_TOGGLE&#160;&#160;&#160;3u</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a6a72a810ee6c57526139e30dacdbeca4" name="a6a72a810ee6c57526139e30dacdbeca4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6a72a810ee6c57526139e30dacdbeca4">&#9670;&#160;</a></span>RADIO_CRCCNF_LEN_DISABLED</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define RADIO_CRCCNF_LEN_DISABLED&#160;&#160;&#160;0u</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="af22780616d83d265e9f5440e42ff84a9" name="af22780616d83d265e9f5440e42ff84a9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af22780616d83d265e9f5440e42ff84a9">&#9670;&#160;</a></span>RADIO_CRCCNF_LEN_ONE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define RADIO_CRCCNF_LEN_ONE&#160;&#160;&#160;1u</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a23bfd71b1a3197ae1b8bc8916a0d4874" name="a23bfd71b1a3197ae1b8bc8916a0d4874"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a23bfd71b1a3197ae1b8bc8916a0d4874">&#9670;&#160;</a></span>RADIO_CRCCNF_LEN_THREE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define RADIO_CRCCNF_LEN_THREE&#160;&#160;&#160;3u</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aa3b0603cad0f7c441a411fe706080892" name="aa3b0603cad0f7c441a411fe706080892"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa3b0603cad0f7c441a411fe706080892">&#9670;&#160;</a></span>RADIO_CRCCNF_LEN_TWO</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define RADIO_CRCCNF_LEN_TWO&#160;&#160;&#160;2u</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a1c70f2abb32fb5ce85e55bb39ef072ce" name="a1c70f2abb32fb5ce85e55bb39ef072ce"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1c70f2abb32fb5ce85e55bb39ef072ce">&#9670;&#160;</a></span>RADIO_MAP_BLE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define RADIO_MAP_BLE&#160;&#160;&#160;1u /* channel n -&gt; 2360+n MHz */</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="adc60679cbbac9204d0897097c2413c0b" name="adc60679cbbac9204d0897097c2413c0b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adc60679cbbac9204d0897097c2413c0b">&#9670;&#160;</a></span>RADIO_MAP_DEFAULT</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define RADIO_MAP_DEFAULT&#160;&#160;&#160;0u /* channel n -&gt; 2400+n MHz */</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a20310c14a9e989f96fb5f8c570a3e414" name="a20310c14a9e989f96fb5f8c570a3e414"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a20310c14a9e989f96fb5f8c570a3e414">&#9670;&#160;</a></span>RADIO_MODE_BLE_1MBIT</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define RADIO_MODE_BLE_1MBIT&#160;&#160;&#160;4u</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a200465030c4696a45f86df7776993ab3" name="a200465030c4696a45f86df7776993ab3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a200465030c4696a45f86df7776993ab3">&#9670;&#160;</a></span>RADIO_MODE_NRF_1MBIT</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define RADIO_MODE_NRF_1MBIT&#160;&#160;&#160;0u</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aa11b189f4292942f555592f19fd011e1" name="aa11b189f4292942f555592f19fd011e1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa11b189f4292942f555592f19fd011e1">&#9670;&#160;</a></span>RADIO_MODE_NRF_2MBIT</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define RADIO_MODE_NRF_2MBIT&#160;&#160;&#160;1u</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
</small></address>
</body>
</html>

335
regs_8h_source.html Normal file
View File

@@ -0,0 +1,335 @@
<!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" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>ptt-fhss: include/regs.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">ptt-fhss
</div>
<div id="projectbrief">Bare-metal PTT firmware for nRF52840 with FHSS</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function() { init_codefold(0); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle"><div class="title">regs.h</div></div>
</div><!--header-->
<div class="contents">
<a href="regs_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span> </div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="preprocessor">#pragma once</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="preprocessor">#include &lt;stdint.h&gt;</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span> </div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment">/* GPIOTE */</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span> </div>
<div class="foldopen" id="foldopen00014" data-start="{" data-end="};">
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"><a class="line" href="uniongpiote__config__t.html"> 14</a></span><span class="keyword">typedef</span> <span class="keyword">union </span>{</div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span> <span class="keyword">struct </span>{</div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"><a class="line" href="uniongpiote__config__t.html#a642a70d0562a022179a8d6b26119c200"> 16</a></span> uint32_t <a class="code hl_variable" href="uniongpiote__config__t.html#a642a70d0562a022179a8d6b26119c200">MODE</a> : 2; <span class="comment">/* [1:0] 0=Disabled 1=Event 3=Task */</span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"><a class="line" href="uniongpiote__config__t.html#a3119e033378c1cb616828cf3f4b19039"> 17</a></span> uint32_t : 6; <span class="comment">/* [7:2] reserved */</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"><a class="line" href="uniongpiote__config__t.html#a2b6a24c03f4879a90401750d42751292"> 18</a></span> uint32_t <a class="code hl_variable" href="uniongpiote__config__t.html#a2b6a24c03f4879a90401750d42751292">PSEL</a> : 5; <span class="comment">/* [12:8] pin number within port */</span></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"><a class="line" href="uniongpiote__config__t.html#af0b806f1845c04a0dd7a678f1cc97bdf"> 19</a></span> uint32_t <a class="code hl_variable" href="uniongpiote__config__t.html#af0b806f1845c04a0dd7a678f1cc97bdf">PORT</a> : 1; <span class="comment">/* [13] 0=Port0 1=Port1 */</span></div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"><a class="line" href="uniongpiote__config__t.html#acacb6ff5adada164347e5f7ee6048e64"> 20</a></span> uint32_t : 2; <span class="comment">/* [15:14] reserved */</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"><a class="line" href="uniongpiote__config__t.html#a124c951c53159cc37e0cae0714f0435c"> 21</a></span> uint32_t <a class="code hl_variable" href="uniongpiote__config__t.html#a124c951c53159cc37e0cae0714f0435c">POLARITY</a> : 2; <span class="comment">/* [17:16] 0=None 1=LoToHi 2=HiToLo 3=Toggle */</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"><a class="line" href="uniongpiote__config__t.html#ac5154e0d325d53e0df92ef00a8e5dac1"> 22</a></span> uint32_t : 2; <span class="comment">/* [19:18] reserved */</span></div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"><a class="line" href="uniongpiote__config__t.html#a59bd567e14f56a01ddd0ed548e6a423f"> 23</a></span> uint32_t <a class="code hl_variable" href="uniongpiote__config__t.html#a59bd567e14f56a01ddd0ed548e6a423f">OUTINIT</a> : 1; <span class="comment">/* [20] initial output value for Task mode */</span></div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"><a class="line" href="uniongpiote__config__t.html#aedc7be502b31d10b7f6c1660d6773bc2"> 24</a></span> uint32_t : 11; <span class="comment">/* [31:21] reserved */</span></div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"><a class="line" href="uniongpiote__config__t.html#a68fd0b2d0a865e7ff600fad41f1aed41"> 25</a></span> } bit;</div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"><a class="line" href="uniongpiote__config__t.html#a22f4cd44f48c20792e3baacabd08ed93"> 26</a></span> uint32_t <a class="code hl_variable" href="uniongpiote__config__t.html#a22f4cd44f48c20792e3baacabd08ed93">reg</a>;</div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span>} <a class="code hl_union" href="uniongpiote__config__t.html">gpiote_config_t</a>;</div>
</div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> </div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"><a class="line" href="regs_8h.html#a3930e8d039be27c6db21bf7fd5b34fb9"> 29</a></span><span class="preprocessor">#define GPIOTE_MODE_DISABLED 0u</span></div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"><a class="line" href="regs_8h.html#ae521de6ddd2e39788f7dd4427333aa69"> 30</a></span><span class="preprocessor">#define GPIOTE_MODE_EVENT 1u</span></div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"><a class="line" href="regs_8h.html#a6a2d56f7c698008e646b882430539f85"> 31</a></span><span class="preprocessor">#define GPIOTE_MODE_TASK 3u</span></div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"><a class="line" href="regs_8h.html#a0a4c598f841ffb6aaeedbce0ab7ba0d8"> 32</a></span><span class="preprocessor">#define GPIOTE_POL_NONE 0u</span></div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"><a class="line" href="regs_8h.html#a88b6140017ac6a545efd0dc450f5d975"> 33</a></span><span class="preprocessor">#define GPIOTE_POL_LOTOHI 1u</span></div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"><a class="line" href="regs_8h.html#a6756f4bec11b9b61511b2f6878fb8da6"> 34</a></span><span class="preprocessor">#define GPIOTE_POL_HITOLO 2u</span></div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"><a class="line" href="regs_8h.html#abb4d4593b0b4f22cdcf99d5800d28e08"> 35</a></span><span class="preprocessor">#define GPIOTE_POL_TOGGLE 3u</span></div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> </div>
<div class="foldopen" id="foldopen00038" data-start="{" data-end="};">
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"><a class="line" href="uniongpiote__inten__t.html"> 38</a></span><span class="keyword">typedef</span> <span class="keyword">union </span>{</div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> <span class="keyword">struct </span>{</div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"><a class="line" href="uniongpiote__inten__t.html#ab48c0239b94abc7cd1f3be351dacf09b"> 40</a></span> uint32_t <a class="code hl_variable" href="uniongpiote__inten__t.html#ab48c0239b94abc7cd1f3be351dacf09b">IN0</a> : 1; <span class="comment">/* [0] channel 0 input event */</span></div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"><a class="line" href="uniongpiote__inten__t.html#a55d8550aaeb0160a2af2c53259e3d0c5"> 41</a></span> uint32_t <a class="code hl_variable" href="uniongpiote__inten__t.html#a55d8550aaeb0160a2af2c53259e3d0c5">IN1</a> : 1; <span class="comment">/* [1] channel 1 input event */</span></div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"><a class="line" href="uniongpiote__inten__t.html#a1a1aa12d2446813e8ee2c5a4e20cacc1"> 42</a></span> uint32_t <a class="code hl_variable" href="uniongpiote__inten__t.html#a1a1aa12d2446813e8ee2c5a4e20cacc1">IN2</a> : 1; <span class="comment">/* [2] */</span></div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"><a class="line" href="uniongpiote__inten__t.html#a4d39a3279f5c13b49885211930d9d707"> 43</a></span> uint32_t <a class="code hl_variable" href="uniongpiote__inten__t.html#a4d39a3279f5c13b49885211930d9d707">IN3</a> : 1; <span class="comment">/* [3] */</span></div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"><a class="line" href="uniongpiote__inten__t.html#a91042a5d90d9450c3c886fab2b95fe29"> 44</a></span> uint32_t <a class="code hl_variable" href="uniongpiote__inten__t.html#a91042a5d90d9450c3c886fab2b95fe29">IN4</a> : 1; <span class="comment">/* [4] */</span></div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"><a class="line" href="uniongpiote__inten__t.html#a6dab9f0cdfa5a060cafe5a92251fd434"> 45</a></span> uint32_t <a class="code hl_variable" href="uniongpiote__inten__t.html#a6dab9f0cdfa5a060cafe5a92251fd434">IN5</a> : 1; <span class="comment">/* [5] */</span></div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"><a class="line" href="uniongpiote__inten__t.html#a2a8e99a412b980317ae3909de8ed77f4"> 46</a></span> uint32_t <a class="code hl_variable" href="uniongpiote__inten__t.html#a2a8e99a412b980317ae3909de8ed77f4">IN6</a> : 1; <span class="comment">/* [6] */</span></div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"><a class="line" href="uniongpiote__inten__t.html#afd93d78b4cc09deee99f3dc3cff95902"> 47</a></span> uint32_t <a class="code hl_variable" href="uniongpiote__inten__t.html#afd93d78b4cc09deee99f3dc3cff95902">IN7</a> : 1; <span class="comment">/* [7] */</span></div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"><a class="line" href="uniongpiote__inten__t.html#a23d8e507cc78204f87cc32895008b1fb"> 48</a></span> uint32_t : 23; <span class="comment">/* [30:8] reserved */</span></div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"><a class="line" href="uniongpiote__inten__t.html#aa8a80d19cb6579125305500c60bec533"> 49</a></span> uint32_t <a class="code hl_variable" href="uniongpiote__inten__t.html#aa8a80d19cb6579125305500c60bec533">PORT</a> : 1; <span class="comment">/* [31] PORT event */</span></div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"><a class="line" href="uniongpiote__inten__t.html#a86050dc9395a6951e2b076270864e30e"> 50</a></span> } bit;</div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"><a class="line" href="uniongpiote__inten__t.html#a0e3ec8ea0eee31b7676b23b7a909e3b3"> 51</a></span> uint32_t <a class="code hl_variable" href="uniongpiote__inten__t.html#a0e3ec8ea0eee31b7676b23b7a909e3b3">reg</a>;</div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span>} <a class="code hl_union" href="uniongpiote__inten__t.html">gpiote_inten_t</a>;</div>
</div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> </div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span><span class="comment">/* RADIO */</span></div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> </div>
<div class="foldopen" id="foldopen00057" data-start="{" data-end="};">
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"><a class="line" href="unionradio__frequency__t.html"> 57</a></span><span class="keyword">typedef</span> <span class="keyword">union </span>{</div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> <span class="keyword">struct </span>{</div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"><a class="line" href="unionradio__frequency__t.html#a0fab5f30757d8feaa6cded2d592b5761"> 59</a></span> uint32_t <a class="code hl_variable" href="unionradio__frequency__t.html#a0fab5f30757d8feaa6cded2d592b5761">FREQUENCY</a> : 7; <span class="comment">/* [6:0] offset from base frequency in MHz */</span></div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"><a class="line" href="unionradio__frequency__t.html#a187028086c421925ddb47fecddd03ced"> 60</a></span> uint32_t : 1; <span class="comment">/* [7] reserved */</span></div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"><a class="line" href="unionradio__frequency__t.html#abd28ee1611a4fc6b6d76a29a9cf79ca8"> 61</a></span> uint32_t <a class="code hl_variable" href="unionradio__frequency__t.html#abd28ee1611a4fc6b6d76a29a9cf79ca8">MAP</a> : 1; <span class="comment">/* [8] 0: base=2400 MHz 1: base=2360 MHz */</span></div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"><a class="line" href="unionradio__frequency__t.html#a6dbd022d6eb28bbf7b680cb0287d8ca5"> 62</a></span> uint32_t : 23; <span class="comment">/* [31:9] reserved */</span></div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"><a class="line" href="unionradio__frequency__t.html#ab08b2c415d5259b1a6933c2a9f9a6235"> 63</a></span> } bit;</div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"><a class="line" href="unionradio__frequency__t.html#a2cb3661c3867f15124ea06f1c9289ae3"> 64</a></span> uint32_t <a class="code hl_variable" href="unionradio__frequency__t.html#a2cb3661c3867f15124ea06f1c9289ae3">reg</a>;</div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span>} <a class="code hl_union" href="unionradio__frequency__t.html">radio_frequency_t</a>;</div>
</div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> </div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"><a class="line" href="regs_8h.html#adc60679cbbac9204d0897097c2413c0b"> 67</a></span><span class="preprocessor">#define RADIO_MAP_DEFAULT 0u </span><span class="comment">/* channel n -&gt; 2400+n MHz */</span><span class="preprocessor"></span></div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"><a class="line" href="regs_8h.html#a1c70f2abb32fb5ce85e55bb39ef072ce"> 68</a></span><span class="preprocessor">#define RADIO_MAP_BLE 1u </span><span class="comment">/* channel n -&gt; 2360+n MHz */</span><span class="preprocessor"></span></div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> </div>
<div class="foldopen" id="foldopen00071" data-start="{" data-end="};">
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"><a class="line" href="unionradio__txpower__t.html"> 71</a></span><span class="keyword">typedef</span> <span class="keyword">union </span>{</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> <span class="keyword">struct </span>{</div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"><a class="line" href="unionradio__txpower__t.html#aed646509fe985bcfc469f6539b7e1743"> 73</a></span> int32_t <a class="code hl_variable" href="unionradio__txpower__t.html#aed646509fe985bcfc469f6539b7e1743">TXPOWER</a> : 8; <span class="comment">/* [7:0] signed dBm: +8, +7, +6, +5, +4, +3, +2,</span></div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span><span class="comment"> 0, -4, -8, -12, -16, -20, -40 */</span></div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"><a class="line" href="unionradio__txpower__t.html#a3a94d8ed83501db954aed06f0bd0ff29"> 75</a></span> uint32_t : 24; <span class="comment">/* [31:8] reserved */</span></div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"><a class="line" href="unionradio__txpower__t.html#afceaff5768934d643bf80c3e9c2d97ee"> 76</a></span> } bit;</div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"><a class="line" href="unionradio__txpower__t.html#af1f8fc7050181b67c72d83d4de89face"> 77</a></span> uint32_t <a class="code hl_variable" href="unionradio__txpower__t.html#af1f8fc7050181b67c72d83d4de89face">reg</a>;</div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span>} <a class="code hl_union" href="unionradio__txpower__t.html">radio_txpower_t</a>;</div>
</div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> </div>
<div class="foldopen" id="foldopen00081" data-start="{" data-end="};">
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"><a class="line" href="unionradio__mode__t.html"> 81</a></span><span class="keyword">typedef</span> <span class="keyword">union </span>{</div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> <span class="keyword">struct </span>{</div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"><a class="line" href="unionradio__mode__t.html#a7035a8c2b6b7309a658d89595901abf5"> 83</a></span> uint32_t <a class="code hl_variable" href="unionradio__mode__t.html#a7035a8c2b6b7309a658d89595901abf5">MODE</a> : 4; <span class="comment">/* [3:0] 0=NRF_1Mbit 1=NRF_2Mbit 4=BLE_1Mbit ... */</span></div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"><a class="line" href="unionradio__mode__t.html#a3114bfc5f4c675867fdf370692ea028c"> 84</a></span> uint32_t : 28; <span class="comment">/* [31:4] reserved */</span></div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"><a class="line" href="unionradio__mode__t.html#a8fd517d86ece1c1924f3cefe63cf8508"> 85</a></span> } bit;</div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"><a class="line" href="unionradio__mode__t.html#a34ea667ed15bb9a403a78f119403ecf5"> 86</a></span> uint32_t <a class="code hl_variable" href="unionradio__mode__t.html#a34ea667ed15bb9a403a78f119403ecf5">reg</a>;</div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span>} <a class="code hl_union" href="unionradio__mode__t.html">radio_mode_t</a>;</div>
</div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> </div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"><a class="line" href="regs_8h.html#a200465030c4696a45f86df7776993ab3"> 89</a></span><span class="preprocessor">#define RADIO_MODE_NRF_1MBIT 0u</span></div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"><a class="line" href="regs_8h.html#aa11b189f4292942f555592f19fd011e1"> 90</a></span><span class="preprocessor">#define RADIO_MODE_NRF_2MBIT 1u</span></div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"><a class="line" href="regs_8h.html#a20310c14a9e989f96fb5f8c570a3e414"> 91</a></span><span class="preprocessor">#define RADIO_MODE_BLE_1MBIT 4u</span></div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> </div>
<div class="foldopen" id="foldopen00094" data-start="{" data-end="};">
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"><a class="line" href="unionradio__pcnf0__t.html"> 94</a></span><span class="keyword">typedef</span> <span class="keyword">union </span>{</div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> <span class="keyword">struct </span>{</div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"><a class="line" href="unionradio__pcnf0__t.html#ad6d76ec2ab020911add3db156153defb"> 96</a></span> uint32_t <a class="code hl_variable" href="unionradio__pcnf0__t.html#ad6d76ec2ab020911add3db156153defb">LFLEN</a> : 4; <span class="comment">/* [3:0] length of LENGTH field in bits */</span></div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"><a class="line" href="unionradio__pcnf0__t.html#a45da5ca7d3070a6c1e305230e142443d"> 97</a></span> uint32_t : 4; <span class="comment">/* [7:4] reserved */</span></div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"><a class="line" href="unionradio__pcnf0__t.html#a4c562075b6a0dd4fdf96b47c61d22df3"> 98</a></span> uint32_t <a class="code hl_variable" href="unionradio__pcnf0__t.html#a4c562075b6a0dd4fdf96b47c61d22df3">S0LEN</a> : 1; <span class="comment">/* [8] length of S0 field in bytes (0 or 1) */</span></div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"><a class="line" href="unionradio__pcnf0__t.html#a9bbd78d6a29f1d2f358b405cb6a8e358"> 99</a></span> uint32_t : 7; <span class="comment">/* [15:9] reserved */</span></div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"><a class="line" href="unionradio__pcnf0__t.html#a27c4aef283f2dead8ce38a76e0362392"> 100</a></span> uint32_t <a class="code hl_variable" href="unionradio__pcnf0__t.html#a27c4aef283f2dead8ce38a76e0362392">S1LEN</a> : 4; <span class="comment">/* [19:16] length of S1 field in bits */</span></div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"><a class="line" href="unionradio__pcnf0__t.html#af6ef4d47f4d093385b745e418fef9fdd"> 101</a></span> uint32_t <a class="code hl_variable" href="unionradio__pcnf0__t.html#af6ef4d47f4d093385b745e418fef9fdd">S1INCL</a> : 1; <span class="comment">/* [20] include S1 field in RAM even if zero length */</span></div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"><a class="line" href="unionradio__pcnf0__t.html#a8652a6e25ff4cc8d0493337d74b98684"> 102</a></span> uint32_t : 3; <span class="comment">/* [23:21] reserved */</span></div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"><a class="line" href="unionradio__pcnf0__t.html#adf089d2e0820cacd56cbb9bb3909008c"> 103</a></span> uint32_t <a class="code hl_variable" href="unionradio__pcnf0__t.html#adf089d2e0820cacd56cbb9bb3909008c">PLEN</a> : 1; <span class="comment">/* [24] 0=8-bit preamble 1=16-bit preamble */</span></div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"><a class="line" href="unionradio__pcnf0__t.html#a30c621d4d48d3e4c2e6e4365580de2a9"> 104</a></span> uint32_t : 6; <span class="comment">/* [30:25] reserved */</span></div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"><a class="line" href="unionradio__pcnf0__t.html#ad656a5c31b1c7155b21cd0f5388c2990"> 105</a></span> uint32_t <a class="code hl_variable" href="unionradio__pcnf0__t.html#ad656a5c31b1c7155b21cd0f5388c2990">CRCINC</a> : 1; <span class="comment">/* [31] include CRC in LENGTH field */</span></div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"><a class="line" href="unionradio__pcnf0__t.html#aff0e234d519fd316ad276bedb01a9e03"> 106</a></span> } bit;</div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"><a class="line" href="unionradio__pcnf0__t.html#a7b010a8ad59a3d36513f443c85678589"> 107</a></span> uint32_t <a class="code hl_variable" href="unionradio__pcnf0__t.html#a7b010a8ad59a3d36513f443c85678589">reg</a>;</div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span>} <a class="code hl_union" href="unionradio__pcnf0__t.html">radio_pcnf0_t</a>;</div>
</div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> </div>
<div class="foldopen" id="foldopen00111" data-start="{" data-end="};">
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"><a class="line" href="unionradio__pcnf1__t.html"> 111</a></span><span class="keyword">typedef</span> <span class="keyword">union </span>{</div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> <span class="keyword">struct </span>{</div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"><a class="line" href="unionradio__pcnf1__t.html#ae425c6027300e833868d5a2a7c46e23a"> 113</a></span> uint32_t <a class="code hl_variable" href="unionradio__pcnf1__t.html#ae425c6027300e833868d5a2a7c46e23a">MAXLEN</a> : 8; <span class="comment">/* [7:0] maximum payload length in bytes */</span></div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"><a class="line" href="unionradio__pcnf1__t.html#af81e41a31bf8c757fb8c329242dc420c"> 114</a></span> uint32_t <a class="code hl_variable" href="unionradio__pcnf1__t.html#af81e41a31bf8c757fb8c329242dc420c">STATLEN</a> : 8; <span class="comment">/* [15:8] static length added to payload */</span></div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"><a class="line" href="unionradio__pcnf1__t.html#a36b9fb2eefb4dd25c82560f4c2a5488a"> 115</a></span> uint32_t <a class="code hl_variable" href="unionradio__pcnf1__t.html#a36b9fb2eefb4dd25c82560f4c2a5488a">BALEN</a> : 3; <span class="comment">/* [18:16] base address length (2-4 bytes) */</span></div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"><a class="line" href="unionradio__pcnf1__t.html#af182fe2ada05698f7d682819643467a6"> 116</a></span> uint32_t : 5; <span class="comment">/* [23:19] reserved */</span></div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"><a class="line" href="unionradio__pcnf1__t.html#ac367c886efd29469e306c554a95e9013"> 117</a></span> uint32_t <a class="code hl_variable" href="unionradio__pcnf1__t.html#ac367c886efd29469e306c554a95e9013">ENDIAN</a> : 1; <span class="comment">/* [24] 0=little-endian 1=big-endian */</span></div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"><a class="line" href="unionradio__pcnf1__t.html#a3e7aef95e9cf1a9eef912373281c695e"> 118</a></span> uint32_t <a class="code hl_variable" href="unionradio__pcnf1__t.html#a3e7aef95e9cf1a9eef912373281c695e">WHITEEN</a> : 1; <span class="comment">/* [25] 1=enable data whitening */</span></div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"><a class="line" href="unionradio__pcnf1__t.html#a33009de4a8e224b670475995378aca7e"> 119</a></span> uint32_t : 6; <span class="comment">/* [31:26] reserved */</span></div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"><a class="line" href="unionradio__pcnf1__t.html#a0cc13173e359e19ab0e22863ea7f3677"> 120</a></span> } bit;</div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"><a class="line" href="unionradio__pcnf1__t.html#a6b0c83b84e5a72e1388d16cf089a5302"> 121</a></span> uint32_t <a class="code hl_variable" href="unionradio__pcnf1__t.html#a6b0c83b84e5a72e1388d16cf089a5302">reg</a>;</div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span>} <a class="code hl_union" href="unionradio__pcnf1__t.html">radio_pcnf1_t</a>;</div>
</div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> </div>
<div class="foldopen" id="foldopen00125" data-start="{" data-end="};">
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"><a class="line" href="unionradio__crccnf__t.html"> 125</a></span><span class="keyword">typedef</span> <span class="keyword">union </span>{</div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> <span class="keyword">struct </span>{</div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"><a class="line" href="unionradio__crccnf__t.html#a0bce2b3a46ad97f0f9e174485cb71c7f"> 127</a></span> uint32_t <a class="code hl_variable" href="unionradio__crccnf__t.html#a0bce2b3a46ad97f0f9e174485cb71c7f">LEN</a> : 2; <span class="comment">/* [1:0] 0=disabled 1=1 byte 2=2 bytes 3=3 bytes */</span></div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"><a class="line" href="unionradio__crccnf__t.html#a870f6d2805cd7d389dba712e02984c86"> 128</a></span> uint32_t : 6; <span class="comment">/* [7:2] reserved */</span></div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"><a class="line" href="unionradio__crccnf__t.html#a45ff3977e23d837fef74a9978768ea89"> 129</a></span> uint32_t <a class="code hl_variable" href="unionradio__crccnf__t.html#a45ff3977e23d837fef74a9978768ea89">SKIPADDR</a> : 1; <span class="comment">/* [8] 1=skip address field in CRC calculation */</span></div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"><a class="line" href="unionradio__crccnf__t.html#a2d57a6c5d888a1f9ede388e516ada955"> 130</a></span> uint32_t : 23; <span class="comment">/* [31:9] reserved */</span></div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"><a class="line" href="unionradio__crccnf__t.html#a8775d8075890fc7fec4d0060c13b8cd3"> 131</a></span> } bit;</div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"><a class="line" href="unionradio__crccnf__t.html#a20b774674aae78211a981e4d1f611d34"> 132</a></span> uint32_t <a class="code hl_variable" href="unionradio__crccnf__t.html#a20b774674aae78211a981e4d1f611d34">reg</a>;</div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span>} <a class="code hl_union" href="unionradio__crccnf__t.html">radio_crccnf_t</a>;</div>
</div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> </div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"><a class="line" href="regs_8h.html#a6a72a810ee6c57526139e30dacdbeca4"> 135</a></span><span class="preprocessor">#define RADIO_CRCCNF_LEN_DISABLED 0u</span></div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"><a class="line" href="regs_8h.html#af22780616d83d265e9f5440e42ff84a9"> 136</a></span><span class="preprocessor">#define RADIO_CRCCNF_LEN_ONE 1u</span></div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"><a class="line" href="regs_8h.html#aa3b0603cad0f7c441a411fe706080892"> 137</a></span><span class="preprocessor">#define RADIO_CRCCNF_LEN_TWO 2u</span></div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"><a class="line" href="regs_8h.html#a23bfd71b1a3197ae1b8bc8916a0d4874"> 138</a></span><span class="preprocessor">#define RADIO_CRCCNF_LEN_THREE 3u</span></div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> </div>
<div class="foldopen" id="foldopen00141" data-start="{" data-end="};">
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"><a class="line" href="unionradio__shorts__t.html"> 141</a></span><span class="keyword">typedef</span> <span class="keyword">union </span>{</div>
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span> <span class="keyword">struct </span>{</div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"><a class="line" href="unionradio__shorts__t.html#ab0229f263af4d80b28eeb11eb4d152ca"> 143</a></span> uint32_t <a class="code hl_variable" href="unionradio__shorts__t.html#ab0229f263af4d80b28eeb11eb4d152ca">READY_START</a> : 1; <span class="comment">/* [0] READY -&gt; TASKS_START */</span></div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"><a class="line" href="unionradio__shorts__t.html#a4dfc41e8a83d70b605bd43a5ffd3b570"> 144</a></span> uint32_t <a class="code hl_variable" href="unionradio__shorts__t.html#a4dfc41e8a83d70b605bd43a5ffd3b570">END_DISABLE</a> : 1; <span class="comment">/* [1] END -&gt; TASKS_DISABLE */</span></div>
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"><a class="line" href="unionradio__shorts__t.html#ac7b891d177e7836bef054b91b6ec37cb"> 145</a></span> uint32_t <a class="code hl_variable" href="unionradio__shorts__t.html#ac7b891d177e7836bef054b91b6ec37cb">DISABLED_TXEN</a> : 1; <span class="comment">/* [2] DISABLED -&gt; TASKS_TXEN */</span></div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"><a class="line" href="unionradio__shorts__t.html#a3030c9c5119b334281c782248348eed6"> 146</a></span> uint32_t <a class="code hl_variable" href="unionradio__shorts__t.html#a3030c9c5119b334281c782248348eed6">DISABLED_RXEN</a> : 1; <span class="comment">/* [3] DISABLED -&gt; TASKS_RXEN */</span></div>
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"><a class="line" href="unionradio__shorts__t.html#a17957fb43be1ca321b85504c790001f4"> 147</a></span> uint32_t <a class="code hl_variable" href="unionradio__shorts__t.html#a17957fb43be1ca321b85504c790001f4">ADDRESS_RSSISTART</a> : 1; <span class="comment">/* [4] ADDRESS -&gt; TASKS_RSSISTART */</span></div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"><a class="line" href="unionradio__shorts__t.html#ad07293b2ee443a0b0f3679147c3d7635"> 148</a></span> uint32_t <a class="code hl_variable" href="unionradio__shorts__t.html#ad07293b2ee443a0b0f3679147c3d7635">END_START</a> : 1; <span class="comment">/* [5] END -&gt; TASKS_START */</span></div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"><a class="line" href="unionradio__shorts__t.html#aee0eed0fd63e4244c59ef72be9ea4a83"> 149</a></span> uint32_t <a class="code hl_variable" href="unionradio__shorts__t.html#aee0eed0fd63e4244c59ef72be9ea4a83">ADDRESS_BCSTART</a> : 1; <span class="comment">/* [6] ADDRESS -&gt; TASKS_BCSTART */</span></div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"><a class="line" href="unionradio__shorts__t.html#a8e76c3046219fc1077dba0d31db79dca"> 150</a></span> uint32_t : 1; <span class="comment">/* [7] reserved */</span></div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"><a class="line" href="unionradio__shorts__t.html#adbf9a640dbee8f873af89ebc603fe5ba"> 151</a></span> uint32_t <a class="code hl_variable" href="unionradio__shorts__t.html#adbf9a640dbee8f873af89ebc603fe5ba">DISABLED_RSSISTOP</a> : 1; <span class="comment">/* [8] DISABLED -&gt; TASKS_RSSISTOP */</span></div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"><a class="line" href="unionradio__shorts__t.html#a294c267e2619469257cca00dcc469f35"> 152</a></span> uint32_t : 23; <span class="comment">/* [31:9] reserved */</span></div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"><a class="line" href="unionradio__shorts__t.html#afb932bd97f1d8e3f5ca3dc3f738a21f9"> 153</a></span> } bit;</div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"><a class="line" href="unionradio__shorts__t.html#ac1565e6d7d7b8a2c4d60a998902efdda"> 154</a></span> uint32_t <a class="code hl_variable" href="unionradio__shorts__t.html#ac1565e6d7d7b8a2c4d60a998902efdda">reg</a>;</div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span>} <a class="code hl_union" href="unionradio__shorts__t.html">radio_shorts_t</a>;</div>
</div>
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> </div>
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span><span class="comment">/* GPIO */</span></div>
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> </div>
<div class="foldopen" id="foldopen00160" data-start="{" data-end="};">
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"><a class="line" href="uniongpio__pin__cnf__t.html"> 160</a></span><span class="keyword">typedef</span> <span class="keyword">union </span>{</div>
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> <span class="keyword">struct </span>{</div>
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"><a class="line" href="uniongpio__pin__cnf__t.html#abf8eaa613f154b9a00acf666c129daa1"> 162</a></span> uint32_t <a class="code hl_variable" href="uniongpio__pin__cnf__t.html#abf8eaa613f154b9a00acf666c129daa1">DIR</a> : 1; <span class="comment">/* [0] 0=Input 1=Output */</span></div>
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"><a class="line" href="uniongpio__pin__cnf__t.html#a8102df3e68b6ce5e73e6333f880f6361"> 163</a></span> uint32_t <a class="code hl_variable" href="uniongpio__pin__cnf__t.html#a8102df3e68b6ce5e73e6333f880f6361">INPUT</a> : 1; <span class="comment">/* [1] 0=Connect 1=Disconnect */</span></div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"><a class="line" href="uniongpio__pin__cnf__t.html#a5d4631a88a946b9cc68d3e8c1ab14f96"> 164</a></span> uint32_t <a class="code hl_variable" href="uniongpio__pin__cnf__t.html#a5d4631a88a946b9cc68d3e8c1ab14f96">PULL</a> : 2; <span class="comment">/* [3:2] 0=Disabled 1=Pulldown 3=Pullup */</span></div>
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"><a class="line" href="uniongpio__pin__cnf__t.html#ad13f66bb77986d27cf94d68e3ab05b17"> 165</a></span> uint32_t : 4; <span class="comment">/* [7:4] reserved */</span></div>
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"><a class="line" href="uniongpio__pin__cnf__t.html#a68da32beb9aeb813c2c550adf6f04fe1"> 166</a></span> uint32_t <a class="code hl_variable" href="uniongpio__pin__cnf__t.html#a68da32beb9aeb813c2c550adf6f04fe1">DRIVE</a> : 3; <span class="comment">/* [10:8] 0=S0S1 standard drive */</span></div>
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"><a class="line" href="uniongpio__pin__cnf__t.html#af1111556e83021a8a15a3f8de2702eba"> 167</a></span> uint32_t : 5; <span class="comment">/* [15:11] reserved */</span></div>
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"><a class="line" href="uniongpio__pin__cnf__t.html#a58225de597d574ed9c4b1292c1026d36"> 168</a></span> uint32_t <a class="code hl_variable" href="uniongpio__pin__cnf__t.html#a58225de597d574ed9c4b1292c1026d36">SENSE</a> : 2; <span class="comment">/* [17:16] 0=Disabled 2=SenseHigh 3=SenseLow */</span></div>
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"><a class="line" href="uniongpio__pin__cnf__t.html#a18b7e18f5c909cbc48e473390ea0f6e5"> 169</a></span> uint32_t : 14; <span class="comment">/* [31:18] reserved */</span></div>
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"><a class="line" href="uniongpio__pin__cnf__t.html#a1b8a65dff2986e8e8b1a62ca074b01a6"> 170</a></span> } bit;</div>
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"><a class="line" href="uniongpio__pin__cnf__t.html#a2c8d226853df0a989250a4ddf7f6645c"> 171</a></span> uint32_t <a class="code hl_variable" href="uniongpio__pin__cnf__t.html#a2c8d226853df0a989250a4ddf7f6645c">reg</a>;</div>
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span>} <a class="code hl_union" href="uniongpio__pin__cnf__t.html">gpio_pin_cnf_t</a>;</div>
</div>
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> </div>
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"><a class="line" href="regs_8h.html#a8268f23dff5a30e738c70ea92060a998"> 174</a></span><span class="preprocessor">#define GPIO_PULL_DISABLED 0u</span></div>
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"><a class="line" href="regs_8h.html#a115d6bca63aeb83afc532ab85680a680"> 175</a></span><span class="preprocessor">#define GPIO_PULL_PULLDOWN 1u</span></div>
<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"><a class="line" href="regs_8h.html#a787786e3d8c5fb98acffc64e4f003242"> 176</a></span><span class="preprocessor">#define GPIO_PULL_PULLUP 3u</span></div>
<div class="ttc" id="auniongpio__pin__cnf__t_html"><div class="ttname"><a href="uniongpio__pin__cnf__t.html">gpio_pin_cnf_t</a></div><div class="ttdoc">GPIO PIN_CNF[n]: pin configuration register.</div><div class="ttdef"><b>Definition</b> regs.h:160</div></div>
<div class="ttc" id="auniongpio__pin__cnf__t_html_a2c8d226853df0a989250a4ddf7f6645c"><div class="ttname"><a href="uniongpio__pin__cnf__t.html#a2c8d226853df0a989250a4ddf7f6645c">gpio_pin_cnf_t::reg</a></div><div class="ttdeci">uint32_t reg</div><div class="ttdef"><b>Definition</b> regs.h:171</div></div>
<div class="ttc" id="auniongpio__pin__cnf__t_html_a58225de597d574ed9c4b1292c1026d36"><div class="ttname"><a href="uniongpio__pin__cnf__t.html#a58225de597d574ed9c4b1292c1026d36">gpio_pin_cnf_t::SENSE</a></div><div class="ttdeci">uint32_t SENSE</div><div class="ttdef"><b>Definition</b> regs.h:168</div></div>
<div class="ttc" id="auniongpio__pin__cnf__t_html_a5d4631a88a946b9cc68d3e8c1ab14f96"><div class="ttname"><a href="uniongpio__pin__cnf__t.html#a5d4631a88a946b9cc68d3e8c1ab14f96">gpio_pin_cnf_t::PULL</a></div><div class="ttdeci">uint32_t PULL</div><div class="ttdef"><b>Definition</b> regs.h:164</div></div>
<div class="ttc" id="auniongpio__pin__cnf__t_html_a68da32beb9aeb813c2c550adf6f04fe1"><div class="ttname"><a href="uniongpio__pin__cnf__t.html#a68da32beb9aeb813c2c550adf6f04fe1">gpio_pin_cnf_t::DRIVE</a></div><div class="ttdeci">uint32_t DRIVE</div><div class="ttdef"><b>Definition</b> regs.h:166</div></div>
<div class="ttc" id="auniongpio__pin__cnf__t_html_a8102df3e68b6ce5e73e6333f880f6361"><div class="ttname"><a href="uniongpio__pin__cnf__t.html#a8102df3e68b6ce5e73e6333f880f6361">gpio_pin_cnf_t::INPUT</a></div><div class="ttdeci">uint32_t INPUT</div><div class="ttdef"><b>Definition</b> regs.h:163</div></div>
<div class="ttc" id="auniongpio__pin__cnf__t_html_abf8eaa613f154b9a00acf666c129daa1"><div class="ttname"><a href="uniongpio__pin__cnf__t.html#abf8eaa613f154b9a00acf666c129daa1">gpio_pin_cnf_t::DIR</a></div><div class="ttdeci">uint32_t DIR</div><div class="ttdef"><b>Definition</b> regs.h:162</div></div>
<div class="ttc" id="auniongpiote__config__t_html"><div class="ttname"><a href="uniongpiote__config__t.html">gpiote_config_t</a></div><div class="ttdoc">GPIOTE CONFIG[n]: channel configuration register.</div><div class="ttdef"><b>Definition</b> regs.h:14</div></div>
<div class="ttc" id="auniongpiote__config__t_html_a124c951c53159cc37e0cae0714f0435c"><div class="ttname"><a href="uniongpiote__config__t.html#a124c951c53159cc37e0cae0714f0435c">gpiote_config_t::POLARITY</a></div><div class="ttdeci">uint32_t POLARITY</div><div class="ttdef"><b>Definition</b> regs.h:21</div></div>
<div class="ttc" id="auniongpiote__config__t_html_a22f4cd44f48c20792e3baacabd08ed93"><div class="ttname"><a href="uniongpiote__config__t.html#a22f4cd44f48c20792e3baacabd08ed93">gpiote_config_t::reg</a></div><div class="ttdeci">uint32_t reg</div><div class="ttdef"><b>Definition</b> regs.h:26</div></div>
<div class="ttc" id="auniongpiote__config__t_html_a2b6a24c03f4879a90401750d42751292"><div class="ttname"><a href="uniongpiote__config__t.html#a2b6a24c03f4879a90401750d42751292">gpiote_config_t::PSEL</a></div><div class="ttdeci">uint32_t PSEL</div><div class="ttdef"><b>Definition</b> regs.h:18</div></div>
<div class="ttc" id="auniongpiote__config__t_html_a59bd567e14f56a01ddd0ed548e6a423f"><div class="ttname"><a href="uniongpiote__config__t.html#a59bd567e14f56a01ddd0ed548e6a423f">gpiote_config_t::OUTINIT</a></div><div class="ttdeci">uint32_t OUTINIT</div><div class="ttdef"><b>Definition</b> regs.h:23</div></div>
<div class="ttc" id="auniongpiote__config__t_html_a642a70d0562a022179a8d6b26119c200"><div class="ttname"><a href="uniongpiote__config__t.html#a642a70d0562a022179a8d6b26119c200">gpiote_config_t::MODE</a></div><div class="ttdeci">uint32_t MODE</div><div class="ttdef"><b>Definition</b> regs.h:16</div></div>
<div class="ttc" id="auniongpiote__config__t_html_af0b806f1845c04a0dd7a678f1cc97bdf"><div class="ttname"><a href="uniongpiote__config__t.html#af0b806f1845c04a0dd7a678f1cc97bdf">gpiote_config_t::PORT</a></div><div class="ttdeci">uint32_t PORT</div><div class="ttdef"><b>Definition</b> regs.h:19</div></div>
<div class="ttc" id="auniongpiote__inten__t_html"><div class="ttname"><a href="uniongpiote__inten__t.html">gpiote_inten_t</a></div><div class="ttdoc">GPIOTE INTENSET / INTENCLR: interrupt enable register.</div><div class="ttdef"><b>Definition</b> regs.h:38</div></div>
<div class="ttc" id="auniongpiote__inten__t_html_a0e3ec8ea0eee31b7676b23b7a909e3b3"><div class="ttname"><a href="uniongpiote__inten__t.html#a0e3ec8ea0eee31b7676b23b7a909e3b3">gpiote_inten_t::reg</a></div><div class="ttdeci">uint32_t reg</div><div class="ttdef"><b>Definition</b> regs.h:51</div></div>
<div class="ttc" id="auniongpiote__inten__t_html_a1a1aa12d2446813e8ee2c5a4e20cacc1"><div class="ttname"><a href="uniongpiote__inten__t.html#a1a1aa12d2446813e8ee2c5a4e20cacc1">gpiote_inten_t::IN2</a></div><div class="ttdeci">uint32_t IN2</div><div class="ttdef"><b>Definition</b> regs.h:42</div></div>
<div class="ttc" id="auniongpiote__inten__t_html_a2a8e99a412b980317ae3909de8ed77f4"><div class="ttname"><a href="uniongpiote__inten__t.html#a2a8e99a412b980317ae3909de8ed77f4">gpiote_inten_t::IN6</a></div><div class="ttdeci">uint32_t IN6</div><div class="ttdef"><b>Definition</b> regs.h:46</div></div>
<div class="ttc" id="auniongpiote__inten__t_html_a4d39a3279f5c13b49885211930d9d707"><div class="ttname"><a href="uniongpiote__inten__t.html#a4d39a3279f5c13b49885211930d9d707">gpiote_inten_t::IN3</a></div><div class="ttdeci">uint32_t IN3</div><div class="ttdef"><b>Definition</b> regs.h:43</div></div>
<div class="ttc" id="auniongpiote__inten__t_html_a55d8550aaeb0160a2af2c53259e3d0c5"><div class="ttname"><a href="uniongpiote__inten__t.html#a55d8550aaeb0160a2af2c53259e3d0c5">gpiote_inten_t::IN1</a></div><div class="ttdeci">uint32_t IN1</div><div class="ttdef"><b>Definition</b> regs.h:41</div></div>
<div class="ttc" id="auniongpiote__inten__t_html_a6dab9f0cdfa5a060cafe5a92251fd434"><div class="ttname"><a href="uniongpiote__inten__t.html#a6dab9f0cdfa5a060cafe5a92251fd434">gpiote_inten_t::IN5</a></div><div class="ttdeci">uint32_t IN5</div><div class="ttdef"><b>Definition</b> regs.h:45</div></div>
<div class="ttc" id="auniongpiote__inten__t_html_a91042a5d90d9450c3c886fab2b95fe29"><div class="ttname"><a href="uniongpiote__inten__t.html#a91042a5d90d9450c3c886fab2b95fe29">gpiote_inten_t::IN4</a></div><div class="ttdeci">uint32_t IN4</div><div class="ttdef"><b>Definition</b> regs.h:44</div></div>
<div class="ttc" id="auniongpiote__inten__t_html_aa8a80d19cb6579125305500c60bec533"><div class="ttname"><a href="uniongpiote__inten__t.html#aa8a80d19cb6579125305500c60bec533">gpiote_inten_t::PORT</a></div><div class="ttdeci">uint32_t PORT</div><div class="ttdef"><b>Definition</b> regs.h:49</div></div>
<div class="ttc" id="auniongpiote__inten__t_html_ab48c0239b94abc7cd1f3be351dacf09b"><div class="ttname"><a href="uniongpiote__inten__t.html#ab48c0239b94abc7cd1f3be351dacf09b">gpiote_inten_t::IN0</a></div><div class="ttdeci">uint32_t IN0</div><div class="ttdef"><b>Definition</b> regs.h:40</div></div>
<div class="ttc" id="auniongpiote__inten__t_html_afd93d78b4cc09deee99f3dc3cff95902"><div class="ttname"><a href="uniongpiote__inten__t.html#afd93d78b4cc09deee99f3dc3cff95902">gpiote_inten_t::IN7</a></div><div class="ttdeci">uint32_t IN7</div><div class="ttdef"><b>Definition</b> regs.h:47</div></div>
<div class="ttc" id="aunionradio__crccnf__t_html"><div class="ttname"><a href="unionradio__crccnf__t.html">radio_crccnf_t</a></div><div class="ttdoc">RADIO CRCCNF: CRC configuration register.</div><div class="ttdef"><b>Definition</b> regs.h:125</div></div>
<div class="ttc" id="aunionradio__crccnf__t_html_a0bce2b3a46ad97f0f9e174485cb71c7f"><div class="ttname"><a href="unionradio__crccnf__t.html#a0bce2b3a46ad97f0f9e174485cb71c7f">radio_crccnf_t::LEN</a></div><div class="ttdeci">uint32_t LEN</div><div class="ttdef"><b>Definition</b> regs.h:127</div></div>
<div class="ttc" id="aunionradio__crccnf__t_html_a20b774674aae78211a981e4d1f611d34"><div class="ttname"><a href="unionradio__crccnf__t.html#a20b774674aae78211a981e4d1f611d34">radio_crccnf_t::reg</a></div><div class="ttdeci">uint32_t reg</div><div class="ttdef"><b>Definition</b> regs.h:132</div></div>
<div class="ttc" id="aunionradio__crccnf__t_html_a45ff3977e23d837fef74a9978768ea89"><div class="ttname"><a href="unionradio__crccnf__t.html#a45ff3977e23d837fef74a9978768ea89">radio_crccnf_t::SKIPADDR</a></div><div class="ttdeci">uint32_t SKIPADDR</div><div class="ttdef"><b>Definition</b> regs.h:129</div></div>
<div class="ttc" id="aunionradio__frequency__t_html"><div class="ttname"><a href="unionradio__frequency__t.html">radio_frequency_t</a></div><div class="ttdoc">RADIO FREQUENCY: RF channel selection register.</div><div class="ttdef"><b>Definition</b> regs.h:57</div></div>
<div class="ttc" id="aunionradio__frequency__t_html_a0fab5f30757d8feaa6cded2d592b5761"><div class="ttname"><a href="unionradio__frequency__t.html#a0fab5f30757d8feaa6cded2d592b5761">radio_frequency_t::FREQUENCY</a></div><div class="ttdeci">uint32_t FREQUENCY</div><div class="ttdef"><b>Definition</b> regs.h:59</div></div>
<div class="ttc" id="aunionradio__frequency__t_html_a2cb3661c3867f15124ea06f1c9289ae3"><div class="ttname"><a href="unionradio__frequency__t.html#a2cb3661c3867f15124ea06f1c9289ae3">radio_frequency_t::reg</a></div><div class="ttdeci">uint32_t reg</div><div class="ttdef"><b>Definition</b> regs.h:64</div></div>
<div class="ttc" id="aunionradio__frequency__t_html_abd28ee1611a4fc6b6d76a29a9cf79ca8"><div class="ttname"><a href="unionradio__frequency__t.html#abd28ee1611a4fc6b6d76a29a9cf79ca8">radio_frequency_t::MAP</a></div><div class="ttdeci">uint32_t MAP</div><div class="ttdef"><b>Definition</b> regs.h:61</div></div>
<div class="ttc" id="aunionradio__mode__t_html"><div class="ttname"><a href="unionradio__mode__t.html">radio_mode_t</a></div><div class="ttdoc">RADIO MODE: data rate and modulation register.</div><div class="ttdef"><b>Definition</b> regs.h:81</div></div>
<div class="ttc" id="aunionradio__mode__t_html_a34ea667ed15bb9a403a78f119403ecf5"><div class="ttname"><a href="unionradio__mode__t.html#a34ea667ed15bb9a403a78f119403ecf5">radio_mode_t::reg</a></div><div class="ttdeci">uint32_t reg</div><div class="ttdef"><b>Definition</b> regs.h:86</div></div>
<div class="ttc" id="aunionradio__mode__t_html_a7035a8c2b6b7309a658d89595901abf5"><div class="ttname"><a href="unionradio__mode__t.html#a7035a8c2b6b7309a658d89595901abf5">radio_mode_t::MODE</a></div><div class="ttdeci">uint32_t MODE</div><div class="ttdef"><b>Definition</b> regs.h:83</div></div>
<div class="ttc" id="aunionradio__pcnf0__t_html"><div class="ttname"><a href="unionradio__pcnf0__t.html">radio_pcnf0_t</a></div><div class="ttdoc">RADIO PCNF0: packet configuration register 0 (header fields).</div><div class="ttdef"><b>Definition</b> regs.h:94</div></div>
<div class="ttc" id="aunionradio__pcnf0__t_html_a27c4aef283f2dead8ce38a76e0362392"><div class="ttname"><a href="unionradio__pcnf0__t.html#a27c4aef283f2dead8ce38a76e0362392">radio_pcnf0_t::S1LEN</a></div><div class="ttdeci">uint32_t S1LEN</div><div class="ttdef"><b>Definition</b> regs.h:100</div></div>
<div class="ttc" id="aunionradio__pcnf0__t_html_a4c562075b6a0dd4fdf96b47c61d22df3"><div class="ttname"><a href="unionradio__pcnf0__t.html#a4c562075b6a0dd4fdf96b47c61d22df3">radio_pcnf0_t::S0LEN</a></div><div class="ttdeci">uint32_t S0LEN</div><div class="ttdef"><b>Definition</b> regs.h:98</div></div>
<div class="ttc" id="aunionradio__pcnf0__t_html_a7b010a8ad59a3d36513f443c85678589"><div class="ttname"><a href="unionradio__pcnf0__t.html#a7b010a8ad59a3d36513f443c85678589">radio_pcnf0_t::reg</a></div><div class="ttdeci">uint32_t reg</div><div class="ttdef"><b>Definition</b> regs.h:107</div></div>
<div class="ttc" id="aunionradio__pcnf0__t_html_ad656a5c31b1c7155b21cd0f5388c2990"><div class="ttname"><a href="unionradio__pcnf0__t.html#ad656a5c31b1c7155b21cd0f5388c2990">radio_pcnf0_t::CRCINC</a></div><div class="ttdeci">uint32_t CRCINC</div><div class="ttdef"><b>Definition</b> regs.h:105</div></div>
<div class="ttc" id="aunionradio__pcnf0__t_html_ad6d76ec2ab020911add3db156153defb"><div class="ttname"><a href="unionradio__pcnf0__t.html#ad6d76ec2ab020911add3db156153defb">radio_pcnf0_t::LFLEN</a></div><div class="ttdeci">uint32_t LFLEN</div><div class="ttdef"><b>Definition</b> regs.h:96</div></div>
<div class="ttc" id="aunionradio__pcnf0__t_html_adf089d2e0820cacd56cbb9bb3909008c"><div class="ttname"><a href="unionradio__pcnf0__t.html#adf089d2e0820cacd56cbb9bb3909008c">radio_pcnf0_t::PLEN</a></div><div class="ttdeci">uint32_t PLEN</div><div class="ttdef"><b>Definition</b> regs.h:103</div></div>
<div class="ttc" id="aunionradio__pcnf0__t_html_af6ef4d47f4d093385b745e418fef9fdd"><div class="ttname"><a href="unionradio__pcnf0__t.html#af6ef4d47f4d093385b745e418fef9fdd">radio_pcnf0_t::S1INCL</a></div><div class="ttdeci">uint32_t S1INCL</div><div class="ttdef"><b>Definition</b> regs.h:101</div></div>
<div class="ttc" id="aunionradio__pcnf1__t_html"><div class="ttname"><a href="unionradio__pcnf1__t.html">radio_pcnf1_t</a></div><div class="ttdoc">RADIO PCNF1: packet configuration register 1 (payload and address).</div><div class="ttdef"><b>Definition</b> regs.h:111</div></div>
<div class="ttc" id="aunionradio__pcnf1__t_html_a36b9fb2eefb4dd25c82560f4c2a5488a"><div class="ttname"><a href="unionradio__pcnf1__t.html#a36b9fb2eefb4dd25c82560f4c2a5488a">radio_pcnf1_t::BALEN</a></div><div class="ttdeci">uint32_t BALEN</div><div class="ttdef"><b>Definition</b> regs.h:115</div></div>
<div class="ttc" id="aunionradio__pcnf1__t_html_a3e7aef95e9cf1a9eef912373281c695e"><div class="ttname"><a href="unionradio__pcnf1__t.html#a3e7aef95e9cf1a9eef912373281c695e">radio_pcnf1_t::WHITEEN</a></div><div class="ttdeci">uint32_t WHITEEN</div><div class="ttdef"><b>Definition</b> regs.h:118</div></div>
<div class="ttc" id="aunionradio__pcnf1__t_html_a6b0c83b84e5a72e1388d16cf089a5302"><div class="ttname"><a href="unionradio__pcnf1__t.html#a6b0c83b84e5a72e1388d16cf089a5302">radio_pcnf1_t::reg</a></div><div class="ttdeci">uint32_t reg</div><div class="ttdef"><b>Definition</b> regs.h:121</div></div>
<div class="ttc" id="aunionradio__pcnf1__t_html_ac367c886efd29469e306c554a95e9013"><div class="ttname"><a href="unionradio__pcnf1__t.html#ac367c886efd29469e306c554a95e9013">radio_pcnf1_t::ENDIAN</a></div><div class="ttdeci">uint32_t ENDIAN</div><div class="ttdef"><b>Definition</b> regs.h:117</div></div>
<div class="ttc" id="aunionradio__pcnf1__t_html_ae425c6027300e833868d5a2a7c46e23a"><div class="ttname"><a href="unionradio__pcnf1__t.html#ae425c6027300e833868d5a2a7c46e23a">radio_pcnf1_t::MAXLEN</a></div><div class="ttdeci">uint32_t MAXLEN</div><div class="ttdef"><b>Definition</b> regs.h:113</div></div>
<div class="ttc" id="aunionradio__pcnf1__t_html_af81e41a31bf8c757fb8c329242dc420c"><div class="ttname"><a href="unionradio__pcnf1__t.html#af81e41a31bf8c757fb8c329242dc420c">radio_pcnf1_t::STATLEN</a></div><div class="ttdeci">uint32_t STATLEN</div><div class="ttdef"><b>Definition</b> regs.h:114</div></div>
<div class="ttc" id="aunionradio__shorts__t_html"><div class="ttname"><a href="unionradio__shorts__t.html">radio_shorts_t</a></div><div class="ttdoc">RADIO SHORTS: hardware shortcut register.</div><div class="ttdef"><b>Definition</b> regs.h:141</div></div>
<div class="ttc" id="aunionradio__shorts__t_html_a17957fb43be1ca321b85504c790001f4"><div class="ttname"><a href="unionradio__shorts__t.html#a17957fb43be1ca321b85504c790001f4">radio_shorts_t::ADDRESS_RSSISTART</a></div><div class="ttdeci">uint32_t ADDRESS_RSSISTART</div><div class="ttdef"><b>Definition</b> regs.h:147</div></div>
<div class="ttc" id="aunionradio__shorts__t_html_a3030c9c5119b334281c782248348eed6"><div class="ttname"><a href="unionradio__shorts__t.html#a3030c9c5119b334281c782248348eed6">radio_shorts_t::DISABLED_RXEN</a></div><div class="ttdeci">uint32_t DISABLED_RXEN</div><div class="ttdef"><b>Definition</b> regs.h:146</div></div>
<div class="ttc" id="aunionradio__shorts__t_html_a4dfc41e8a83d70b605bd43a5ffd3b570"><div class="ttname"><a href="unionradio__shorts__t.html#a4dfc41e8a83d70b605bd43a5ffd3b570">radio_shorts_t::END_DISABLE</a></div><div class="ttdeci">uint32_t END_DISABLE</div><div class="ttdef"><b>Definition</b> regs.h:144</div></div>
<div class="ttc" id="aunionradio__shorts__t_html_ab0229f263af4d80b28eeb11eb4d152ca"><div class="ttname"><a href="unionradio__shorts__t.html#ab0229f263af4d80b28eeb11eb4d152ca">radio_shorts_t::READY_START</a></div><div class="ttdeci">uint32_t READY_START</div><div class="ttdef"><b>Definition</b> regs.h:143</div></div>
<div class="ttc" id="aunionradio__shorts__t_html_ac1565e6d7d7b8a2c4d60a998902efdda"><div class="ttname"><a href="unionradio__shorts__t.html#ac1565e6d7d7b8a2c4d60a998902efdda">radio_shorts_t::reg</a></div><div class="ttdeci">uint32_t reg</div><div class="ttdef"><b>Definition</b> regs.h:154</div></div>
<div class="ttc" id="aunionradio__shorts__t_html_ac7b891d177e7836bef054b91b6ec37cb"><div class="ttname"><a href="unionradio__shorts__t.html#ac7b891d177e7836bef054b91b6ec37cb">radio_shorts_t::DISABLED_TXEN</a></div><div class="ttdeci">uint32_t DISABLED_TXEN</div><div class="ttdef"><b>Definition</b> regs.h:145</div></div>
<div class="ttc" id="aunionradio__shorts__t_html_ad07293b2ee443a0b0f3679147c3d7635"><div class="ttname"><a href="unionradio__shorts__t.html#ad07293b2ee443a0b0f3679147c3d7635">radio_shorts_t::END_START</a></div><div class="ttdeci">uint32_t END_START</div><div class="ttdef"><b>Definition</b> regs.h:148</div></div>
<div class="ttc" id="aunionradio__shorts__t_html_adbf9a640dbee8f873af89ebc603fe5ba"><div class="ttname"><a href="unionradio__shorts__t.html#adbf9a640dbee8f873af89ebc603fe5ba">radio_shorts_t::DISABLED_RSSISTOP</a></div><div class="ttdeci">uint32_t DISABLED_RSSISTOP</div><div class="ttdef"><b>Definition</b> regs.h:151</div></div>
<div class="ttc" id="aunionradio__shorts__t_html_aee0eed0fd63e4244c59ef72be9ea4a83"><div class="ttname"><a href="unionradio__shorts__t.html#aee0eed0fd63e4244c59ef72be9ea4a83">radio_shorts_t::ADDRESS_BCSTART</a></div><div class="ttdeci">uint32_t ADDRESS_BCSTART</div><div class="ttdef"><b>Definition</b> regs.h:149</div></div>
<div class="ttc" id="aunionradio__txpower__t_html"><div class="ttname"><a href="unionradio__txpower__t.html">radio_txpower_t</a></div><div class="ttdoc">RADIO TXPOWER: transmit power register.</div><div class="ttdef"><b>Definition</b> regs.h:71</div></div>
<div class="ttc" id="aunionradio__txpower__t_html_aed646509fe985bcfc469f6539b7e1743"><div class="ttname"><a href="unionradio__txpower__t.html#aed646509fe985bcfc469f6539b7e1743">radio_txpower_t::TXPOWER</a></div><div class="ttdeci">int32_t TXPOWER</div><div class="ttdef"><b>Definition</b> regs.h:73</div></div>
<div class="ttc" id="aunionradio__txpower__t_html_af1f8fc7050181b67c72d83d4de89face"><div class="ttname"><a href="unionradio__txpower__t.html#af1f8fc7050181b67c72d83d4de89face">radio_txpower_t::reg</a></div><div class="ttdeci">uint32_t reg</div><div class="ttdef"><b>Definition</b> regs.h:77</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
</small></address>
</body>
</html>

14
search/all_0.js Normal file
View File

@@ -0,0 +1,14 @@
var searchData=
[
['_5f_5fattribute_5f_5f_0',['__attribute__',['../startup_8c.html#ab087560e36aae73d74d28d1708d41e76',1,'__attribute__((used)):&#160;startup.c'],['../radio_8h.html#ab898071398b359603a35c202e9c65f3b',1,'__attribute__((packed)):&#160;radio.h']]],
['_5f_5fpad0_5f_5f_1',['__pad0__',['../uniongpiote__inten__t.html#a23d8e507cc78204f87cc32895008b1fb',1,'gpiote_inten_t::__pad0__'],['../unionradio__frequency__t.html#a187028086c421925ddb47fecddd03ced',1,'radio_frequency_t::__pad0__'],['../unionradio__txpower__t.html#a3a94d8ed83501db954aed06f0bd0ff29',1,'radio_txpower_t::__pad0__'],['../unionradio__mode__t.html#a3114bfc5f4c675867fdf370692ea028c',1,'radio_mode_t::__pad0__'],['../unionradio__pcnf0__t.html#a45da5ca7d3070a6c1e305230e142443d',1,'radio_pcnf0_t::__pad0__'],['../unionradio__pcnf1__t.html#af182fe2ada05698f7d682819643467a6',1,'radio_pcnf1_t::__pad0__'],['../unionradio__crccnf__t.html#a870f6d2805cd7d389dba712e02984c86',1,'radio_crccnf_t::__pad0__'],['../unionradio__shorts__t.html#a8e76c3046219fc1077dba0d31db79dca',1,'radio_shorts_t::__pad0__'],['../uniongpio__pin__cnf__t.html#ad13f66bb77986d27cf94d68e3ab05b17',1,'gpio_pin_cnf_t::__pad0__'],['../uniongpiote__config__t.html#a3119e033378c1cb616828cf3f4b19039',1,'gpiote_config_t::__pad0__']]],
['_5f_5fpad1_5f_5f_2',['__pad1__',['../unionradio__shorts__t.html#a294c267e2619469257cca00dcc469f35',1,'radio_shorts_t::__pad1__'],['../uniongpio__pin__cnf__t.html#af1111556e83021a8a15a3f8de2702eba',1,'gpio_pin_cnf_t::__pad1__'],['../unionradio__crccnf__t.html#a2d57a6c5d888a1f9ede388e516ada955',1,'radio_crccnf_t::__pad1__'],['../unionradio__pcnf1__t.html#a33009de4a8e224b670475995378aca7e',1,'radio_pcnf1_t::__pad1__'],['../unionradio__pcnf0__t.html#a9bbd78d6a29f1d2f358b405cb6a8e358',1,'radio_pcnf0_t::__pad1__'],['../unionradio__frequency__t.html#a6dbd022d6eb28bbf7b680cb0287d8ca5',1,'radio_frequency_t::__pad1__'],['../uniongpiote__config__t.html#acacb6ff5adada164347e5f7ee6048e64',1,'gpiote_config_t::__pad1__']]],
['_5f_5fpad2_5f_5f_3',['__pad2__',['../uniongpiote__config__t.html#ac5154e0d325d53e0df92ef00a8e5dac1',1,'gpiote_config_t::__pad2__'],['../unionradio__pcnf0__t.html#a8652a6e25ff4cc8d0493337d74b98684',1,'radio_pcnf0_t::__pad2__'],['../uniongpio__pin__cnf__t.html#a18b7e18f5c909cbc48e473390ea0f6e5',1,'gpio_pin_cnf_t::__pad2__']]],
['_5f_5fpad3_5f_5f_4',['__pad3__',['../uniongpiote__config__t.html#aedc7be502b31d10b7f6c1660d6773bc2',1,'gpiote_config_t::__pad3__'],['../unionradio__pcnf0__t.html#a30c621d4d48d3e4c2e6e4365580de2a9',1,'radio_pcnf0_t::__pad3__']]],
['_5febss_5',['_ebss',['../startup_8c.html#a580f44faf8ff886796f2114d0de12c77',1,'startup.c']]],
['_5fedata_6',['_edata',['../startup_8c.html#a1fc4a71c31f5b048d3b1b7b2d10684d1',1,'startup.c']]],
['_5festack_7',['_estack',['../startup_8c.html#a69247aef56f755ef3b08265060dea50f',1,'startup.c']]],
['_5fsbss_8',['_sbss',['../startup_8c.html#adcc3ae1cacdf95ad88f01dd26f589175',1,'startup.c']]],
['_5fsdata_9',['_sdata',['../startup_8c.html#a61687bc10bffbfec9c6fd33bddff3094',1,'startup.c']]],
['_5fsidata_10',['_sidata',['../startup_8c.html#a1ecae4ad04c5b02e60d2db51706c2d75',1,'startup.c']]]
];

5
search/all_1.js Normal file
View File

@@ -0,0 +1,5 @@
var searchData=
[
['address_5fbcstart_0',['ADDRESS_BCSTART',['../unionradio__shorts__t.html#aee0eed0fd63e4244c59ef72be9ea4a83',1,'radio_shorts_t']]],
['address_5frssistart_1',['ADDRESS_RSSISTART',['../unionradio__shorts__t.html#a17957fb43be1ca321b85504c790001f4',1,'radio_shorts_t']]]
];

5
search/all_10.js Normal file
View File

@@ -0,0 +1,5 @@
var searchData=
[
['timer_5finit_0',['timer_init',['../radio_8c.html#a2d7a2412663c9b0521415553939b1b05',1,'radio.c']]],
['txpower_1',['TXPOWER',['../unionradio__txpower__t.html#aed646509fe985bcfc469f6539b7e1743',1,'radio_txpower_t']]]
];

4
search/all_11.js Normal file
View File

@@ -0,0 +1,4 @@
var searchData=
[
['whiteen_0',['WHITEEN',['../unionradio__pcnf1__t.html#a3e7aef95e9cf1a9eef912373281c695e',1,'radio_pcnf1_t']]]
];

8
search/all_2.js Normal file
View File

@@ -0,0 +1,8 @@
var searchData=
[
['balen_0',['BALEN',['../unionradio__pcnf1__t.html#a36b9fb2eefb4dd25c82560f4c2a5488a',1,'radio_pcnf1_t']]],
['bit_1',['bit',['../uniongpiote__config__t.html#a68fd0b2d0a865e7ff600fad41f1aed41',1,'gpiote_config_t::bit'],['../uniongpiote__inten__t.html#a86050dc9395a6951e2b076270864e30e',1,'gpiote_inten_t::bit'],['../unionradio__frequency__t.html#ab08b2c415d5259b1a6933c2a9f9a6235',1,'radio_frequency_t::bit'],['../unionradio__txpower__t.html#afceaff5768934d643bf80c3e9c2d97ee',1,'radio_txpower_t::bit'],['../unionradio__mode__t.html#a8fd517d86ece1c1924f3cefe63cf8508',1,'radio_mode_t::bit'],['../unionradio__pcnf0__t.html#aff0e234d519fd316ad276bedb01a9e03',1,'radio_pcnf0_t::bit'],['../unionradio__pcnf1__t.html#a0cc13173e359e19ab0e22863ea7f3677',1,'radio_pcnf1_t::bit'],['../unionradio__crccnf__t.html#a8775d8075890fc7fec4d0060c13b8cd3',1,'radio_crccnf_t::bit'],['../unionradio__shorts__t.html#afb932bd97f1d8e3f5ca3dc3f738a21f9',1,'radio_shorts_t::bit'],['../uniongpio__pin__cnf__t.html#a1b8a65dff2986e8e8b1a62ca074b01a6',1,'gpio_pin_cnf_t::bit']]],
['buf_5fsize_2',['BUF_SIZE',['../radio_8c.html#a6821bafc3c88dfb2e433a095df9940c6',1,'radio.c']]],
['button_5factive_5flow_3',['BUTTON_ACTIVE_LOW',['../power_8c.html#a5a87f76c63957bd0bdf5f7ca1d1bfe8c',1,'power.c']]],
['button_5fpin_4',['BUTTON_PIN',['../power_8c.html#abc2ad14f0789907024ac765711ffd3da',1,'power.c']]]
];

4
search/all_3.js Normal file
View File

@@ -0,0 +1,4 @@
var searchData=
[
['crcinc_0',['CRCINC',['../unionradio__pcnf0__t.html#ad656a5c31b1c7155b21cd0f5388c2990',1,'radio_pcnf0_t']]]
];

11
search/all_4.js Normal file
View File

@@ -0,0 +1,11 @@
var searchData=
[
['default_5fchannel_0',['DEFAULT_CHANNEL',['../radio_8c.html#aafa17c307af8c45323500fdac999d294',1,'radio.c']]],
['dir_1',['DIR',['../uniongpio__pin__cnf__t.html#abf8eaa613f154b9a00acf666c129daa1',1,'gpio_pin_cnf_t']]],
['disabled_5frssistop_2',['DISABLED_RSSISTOP',['../unionradio__shorts__t.html#adbf9a640dbee8f873af89ebc603fe5ba',1,'radio_shorts_t']]],
['disabled_5frxen_3',['DISABLED_RXEN',['../unionradio__shorts__t.html#a3030c9c5119b334281c782248348eed6',1,'radio_shorts_t']]],
['disabled_5ftxen_4',['DISABLED_TXEN',['../unionradio__shorts__t.html#ac7b891d177e7836bef054b91b6ec37cb',1,'radio_shorts_t']]],
['drive_5',['DRIVE',['../uniongpio__pin__cnf__t.html#a68da32beb9aeb813c2c550adf6f04fe1',1,'gpio_pin_cnf_t']]],
['dwell_5fstart_6',['dwell_start',['../radio_8c.html#a07de6df4fc71061db1bad70f4370a3fe',1,'radio.c']]],
['dwell_5fwait_7',['dwell_wait',['../radio_8c.html#acb45071ad37f0aa0928848eb4a7fc3c6',1,'radio.c']]]
];

6
search/all_5.js Normal file
View File

@@ -0,0 +1,6 @@
var searchData=
[
['end_5fdisable_0',['END_DISABLE',['../unionradio__shorts__t.html#a4dfc41e8a83d70b605bd43a5ffd3b570',1,'radio_shorts_t']]],
['end_5fstart_1',['END_START',['../unionradio__shorts__t.html#ad07293b2ee443a0b0f3679147c3d7635',1,'radio_shorts_t']]],
['endian_2',['ENDIAN',['../unionradio__pcnf1__t.html#ac367c886efd29469e306c554a95e9013',1,'radio_pcnf1_t']]]
];

13
search/all_6.js Normal file
View File

@@ -0,0 +1,13 @@
var searchData=
[
['fhss_2ec_0',['fhss.c',['../fhss_8c.html',1,'']]],
['fhss_2eh_1',['fhss.h',['../fhss_8h.html',1,'']]],
['fhss_5fchannels_2',['FHSS_CHANNELS',['../fhss_8h.html#af92d3579d3a9e88e73dd54a7bcad6341',1,'fhss.h']]],
['fhss_5fdwell_5fms_3',['FHSS_DWELL_MS',['../fhss_8h.html#a6874b77e366ca7dd46cd88c41b4b1759',1,'fhss.h']]],
['fhss_5fget_5fslot_4',['fhss_get_slot',['../fhss_8h.html#a7c45cff675465f11798eaf0a0e0b8d0e',1,'fhss_get_slot(void):&#160;fhss.c'],['../fhss_8c.html#a7c45cff675465f11798eaf0a0e0b8d0e',1,'fhss_get_slot(void):&#160;fhss.c']]],
['fhss_5finit_5',['fhss_init',['../fhss_8h.html#a44cfe02274ceefa5de0fed51e1c4e741',1,'fhss_init(void):&#160;fhss.c'],['../fhss_8c.html#a44cfe02274ceefa5de0fed51e1c4e741',1,'fhss_init(void):&#160;fhss.c']]],
['fhss_5fnext_5fchannel_6',['fhss_next_channel',['../fhss_8h.html#a28190a786a8da0f56bfbe8261dfc359a',1,'fhss_next_channel(void):&#160;fhss.c'],['../fhss_8c.html#a28190a786a8da0f56bfbe8261dfc359a',1,'fhss_next_channel(void):&#160;fhss.c']]],
['fhss_5fset_5fslot_7',['fhss_set_slot',['../fhss_8h.html#a4db6a04939b3d885681ebd1bbab03cb2',1,'fhss_set_slot(uint32_t s):&#160;fhss.c'],['../fhss_8c.html#a4db6a04939b3d885681ebd1bbab03cb2',1,'fhss_set_slot(uint32_t s):&#160;fhss.c']]],
['fhss_5fsync_5ftick_8',['fhss_sync_tick',['../fhss_8h.html#aa254dd2e4da40c6ac7f1d1b189666eca',1,'fhss_sync_tick(void):&#160;fhss.c'],['../fhss_8c.html#aa254dd2e4da40c6ac7f1d1b189666eca',1,'fhss_sync_tick(void):&#160;fhss.c']]],
['frequency_9',['FREQUENCY',['../unionradio__frequency__t.html#a0fab5f30757d8feaa6cded2d592b5761',1,'radio_frequency_t']]]
];

17
search/all_7.js Normal file
View File

@@ -0,0 +1,17 @@
var searchData=
[
['gpio_5fpin_5fcnf_5ft_0',['gpio_pin_cnf_t',['../uniongpio__pin__cnf__t.html',1,'']]],
['gpio_5fpull_5fdisabled_1',['GPIO_PULL_DISABLED',['../regs_8h.html#a8268f23dff5a30e738c70ea92060a998',1,'regs.h']]],
['gpio_5fpull_5fpulldown_2',['GPIO_PULL_PULLDOWN',['../regs_8h.html#a115d6bca63aeb83afc532ab85680a680',1,'regs.h']]],
['gpio_5fpull_5fpullup_3',['GPIO_PULL_PULLUP',['../regs_8h.html#a787786e3d8c5fb98acffc64e4f003242',1,'regs.h']]],
['gpiote_5fconfig_5ft_4',['gpiote_config_t',['../uniongpiote__config__t.html',1,'']]],
['gpiote_5finten_5ft_5',['gpiote_inten_t',['../uniongpiote__inten__t.html',1,'']]],
['gpiote_5firqhandler_6',['GPIOTE_IRQHandler',['../power_8c.html#a26b108e2296d5514a2391960b4231d71',1,'power.c']]],
['gpiote_5fmode_5fdisabled_7',['GPIOTE_MODE_DISABLED',['../regs_8h.html#a3930e8d039be27c6db21bf7fd5b34fb9',1,'regs.h']]],
['gpiote_5fmode_5fevent_8',['GPIOTE_MODE_EVENT',['../regs_8h.html#ae521de6ddd2e39788f7dd4427333aa69',1,'regs.h']]],
['gpiote_5fmode_5ftask_9',['GPIOTE_MODE_TASK',['../regs_8h.html#a6a2d56f7c698008e646b882430539f85',1,'regs.h']]],
['gpiote_5fpol_5fhitolo_10',['GPIOTE_POL_HITOLO',['../regs_8h.html#a6756f4bec11b9b61511b2f6878fb8da6',1,'regs.h']]],
['gpiote_5fpol_5flotohi_11',['GPIOTE_POL_LOTOHI',['../regs_8h.html#a88b6140017ac6a545efd0dc450f5d975',1,'regs.h']]],
['gpiote_5fpol_5fnone_12',['GPIOTE_POL_NONE',['../regs_8h.html#a0a4c598f841ffb6aaeedbce0ab7ba0d8',1,'regs.h']]],
['gpiote_5fpol_5ftoggle_13',['GPIOTE_POL_TOGGLE',['../regs_8h.html#abb4d4593b0b4f22cdcf99d5800d28e08',1,'regs.h']]]
];

12
search/all_8.js Normal file
View File

@@ -0,0 +1,12 @@
var searchData=
[
['in0_0',['IN0',['../uniongpiote__inten__t.html#ab48c0239b94abc7cd1f3be351dacf09b',1,'gpiote_inten_t']]],
['in1_1',['IN1',['../uniongpiote__inten__t.html#a55d8550aaeb0160a2af2c53259e3d0c5',1,'gpiote_inten_t']]],
['in2_2',['IN2',['../uniongpiote__inten__t.html#a1a1aa12d2446813e8ee2c5a4e20cacc1',1,'gpiote_inten_t']]],
['in3_3',['IN3',['../uniongpiote__inten__t.html#a4d39a3279f5c13b49885211930d9d707',1,'gpiote_inten_t']]],
['in4_4',['IN4',['../uniongpiote__inten__t.html#a91042a5d90d9450c3c886fab2b95fe29',1,'gpiote_inten_t']]],
['in5_5',['IN5',['../uniongpiote__inten__t.html#a6dab9f0cdfa5a060cafe5a92251fd434',1,'gpiote_inten_t']]],
['in6_6',['IN6',['../uniongpiote__inten__t.html#a2a8e99a412b980317ae3909de8ed77f4',1,'gpiote_inten_t']]],
['in7_7',['IN7',['../uniongpiote__inten__t.html#afd93d78b4cc09deee99f3dc3cff95902',1,'gpiote_inten_t']]],
['input_8',['INPUT',['../uniongpio__pin__cnf__t.html#a8102df3e68b6ce5e73e6333f880f6361',1,'gpio_pin_cnf_t']]]
];

5
search/all_9.js Normal file
View File

@@ -0,0 +1,5 @@
var searchData=
[
['len_0',['LEN',['../unionradio__crccnf__t.html#a0bce2b3a46ad97f0f9e174485cb71c7f',1,'radio_crccnf_t']]],
['lflen_1',['LFLEN',['../unionradio__pcnf0__t.html#ad6d76ec2ab020911add3db156153defb',1,'radio_pcnf0_t']]]
];

9
search/all_a.js Normal file
View File

@@ -0,0 +1,9 @@
var searchData=
[
['main_0',['main',['../main_8c.html#a840291bc02cba5474a4cb46a9b9566fe',1,'main(void):&#160;main.c'],['../startup_8c.html#a840291bc02cba5474a4cb46a9b9566fe',1,'main(void):&#160;main.c']]],
['main_2ec_1',['main.c',['../main_8c.html',1,'']]],
['map_2',['MAP',['../unionradio__frequency__t.html#abd28ee1611a4fc6b6d76a29a9cf79ca8',1,'radio_frequency_t']]],
['max_5fpayload_3',['MAX_PAYLOAD',['../radio_8c.html#aa7a7521abb3a3664218d8dc0e3759f0f',1,'radio.c']]],
['maxlen_4',['MAXLEN',['../unionradio__pcnf1__t.html#ae425c6027300e833868d5a2a7c46e23a',1,'radio_pcnf1_t']]],
['mode_5',['mode',['../uniongpiote__config__t.html#a642a70d0562a022179a8d6b26119c200',1,'gpiote_config_t::MODE'],['../unionradio__mode__t.html#a7035a8c2b6b7309a658d89595901abf5',1,'radio_mode_t::MODE']]]
];

4
search/all_b.js Normal file
View File

@@ -0,0 +1,4 @@
var searchData=
[
['nmi_5fhandler_0',['NMI_Handler',['../startup_8c.html#a6ad7a5e3ee69cb6db6a6b9111ba898bc',1,'startup.c']]]
];

4
search/all_c.js Normal file
View File

@@ -0,0 +1,4 @@
var searchData=
[
['outinit_0',['OUTINIT',['../uniongpiote__config__t.html#a59bd567e14f56a01ddd0ed548e6a423f',1,'gpiote_config_t']]]
];

16
search/all_d.js Normal file
View File

@@ -0,0 +1,16 @@
var searchData=
[
['pkt_5fbuf_0',['pkt_buf',['../radio_8c.html#a883657f0d0158e64f07b1cabb26c4233',1,'radio.c']]],
['plen_1',['PLEN',['../unionradio__pcnf0__t.html#adf089d2e0820cacd56cbb9bb3909008c',1,'radio_pcnf0_t']]],
['polarity_2',['POLARITY',['../uniongpiote__config__t.html#a124c951c53159cc37e0cae0714f0435c',1,'gpiote_config_t']]],
['port_3',['port',['../uniongpiote__config__t.html#af0b806f1845c04a0dd7a678f1cc97bdf',1,'gpiote_config_t::PORT'],['../uniongpiote__inten__t.html#aa8a80d19cb6579125305500c60bec533',1,'gpiote_inten_t::PORT']]],
['power_2ec_4',['power.c',['../power_8c.html',1,'']]],
['power_2eh_5',['power.h',['../power_8h.html',1,'']]],
['power_5fbutton_5fpressed_6',['power_button_pressed',['../power_8h.html#ada513e112411aa36f06f4a36ccf6edb3',1,'power_button_pressed(void):&#160;power.c'],['../power_8c.html#ada513e112411aa36f06f4a36ccf6edb3',1,'power_button_pressed(void):&#160;power.c']]],
['power_5finit_7',['power_init',['../power_8h.html#a1ca9d74e081ad1377b5c9b7773be973b',1,'power_init(void):&#160;power.c'],['../power_8c.html#a1ca9d74e081ad1377b5c9b7773be973b',1,'power_init(void):&#160;power.c']]],
['power_5fsleep_5funtil_5fbutton_8',['power_sleep_until_button',['../power_8h.html#a7b84b3559a86acf1fef1fab03daded6b',1,'power_sleep_until_button(void):&#160;power.c'],['../power_8c.html#a7b84b3559a86acf1fef1fab03daded6b',1,'power_sleep_until_button(void):&#160;power.c']]],
['psel_9',['PSEL',['../uniongpiote__config__t.html#a2b6a24c03f4879a90401750d42751292',1,'gpiote_config_t']]],
['ptt_5fflag_5factive_10',['PTT_FLAG_ACTIVE',['../radio_8h.html#a641b5c6f5b38da442b995f3d4f549e6f',1,'radio.h']]],
['ptt_5fframe_5ft_11',['ptt_frame_t',['../radio_8h.html#a0f54f3002fc4eaef20595ed5e64b35d7',1,'radio.h']]],
['pull_12',['PULL',['../uniongpio__pin__cnf__t.html#a5d4631a88a946b9cc68d3e8c1ab14f96',1,'gpio_pin_cnf_t']]]
];

32
search/all_e.js Normal file
View File

@@ -0,0 +1,32 @@
var searchData=
[
['radio_2ec_0',['radio.c',['../radio_8c.html',1,'']]],
['radio_2eh_1',['radio.h',['../radio_8h.html',1,'']]],
['radio_5fbase0_2',['RADIO_BASE0',['../radio_8c.html#a5ba6ab6a6b9198ea1b4699619f932d42',1,'radio.c']]],
['radio_5fcrccnf_5flen_5fdisabled_3',['RADIO_CRCCNF_LEN_DISABLED',['../regs_8h.html#a6a72a810ee6c57526139e30dacdbeca4',1,'regs.h']]],
['radio_5fcrccnf_5flen_5fone_4',['RADIO_CRCCNF_LEN_ONE',['../regs_8h.html#af22780616d83d265e9f5440e42ff84a9',1,'regs.h']]],
['radio_5fcrccnf_5flen_5fthree_5',['RADIO_CRCCNF_LEN_THREE',['../regs_8h.html#a23bfd71b1a3197ae1b8bc8916a0d4874',1,'regs.h']]],
['radio_5fcrccnf_5flen_5ftwo_6',['RADIO_CRCCNF_LEN_TWO',['../regs_8h.html#aa3b0603cad0f7c441a411fe706080892',1,'regs.h']]],
['radio_5fcrccnf_5ft_7',['radio_crccnf_t',['../unionradio__crccnf__t.html',1,'']]],
['radio_5ffrequency_5ft_8',['radio_frequency_t',['../unionradio__frequency__t.html',1,'']]],
['radio_5finit_9',['radio_init',['../radio_8c.html#acfb21351bb3f0146635745bfacfe26a8',1,'radio_init(void):&#160;radio.c'],['../radio_8h.html#acfb21351bb3f0146635745bfacfe26a8',1,'radio_init(void):&#160;radio.c']]],
['radio_5fmap_5fble_10',['RADIO_MAP_BLE',['../regs_8h.html#a1c70f2abb32fb5ce85e55bb39ef072ce',1,'regs.h']]],
['radio_5fmap_5fdefault_11',['RADIO_MAP_DEFAULT',['../regs_8h.html#adc60679cbbac9204d0897097c2413c0b',1,'regs.h']]],
['radio_5fmode_5fble_5f1mbit_12',['RADIO_MODE_BLE_1MBIT',['../regs_8h.html#a20310c14a9e989f96fb5f8c570a3e414',1,'regs.h']]],
['radio_5fmode_5fnrf_5f1mbit_13',['RADIO_MODE_NRF_1MBIT',['../regs_8h.html#a200465030c4696a45f86df7776993ab3',1,'regs.h']]],
['radio_5fmode_5fnrf_5f2mbit_14',['RADIO_MODE_NRF_2MBIT',['../regs_8h.html#aa11b189f4292942f555592f19fd011e1',1,'regs.h']]],
['radio_5fmode_5ft_15',['radio_mode_t',['../unionradio__mode__t.html',1,'']]],
['radio_5fpcnf0_5ft_16',['radio_pcnf0_t',['../unionradio__pcnf0__t.html',1,'']]],
['radio_5fpcnf1_5ft_17',['radio_pcnf1_t',['../unionradio__pcnf1__t.html',1,'']]],
['radio_5fprefix0_18',['RADIO_PREFIX0',['../radio_8c.html#aef53fc9f6c8f7ce51d3b94dfd9ada305',1,'radio.c']]],
['radio_5frx_5fburst_19',['radio_rx_burst',['../radio_8c.html#a93ad6d90796885b32326efe3b7c93b17',1,'radio_rx_burst(ptt_frame_t *frame_out):&#160;radio.c'],['../radio_8h.html#a93ad6d90796885b32326efe3b7c93b17',1,'radio_rx_burst(ptt_frame_t *frame_out):&#160;radio.c']]],
['radio_5fset_5fchannel_20',['radio_set_channel',['../radio_8h.html#a4508602c352170e18afc35ea773edb98',1,'radio_set_channel(uint8_t ch):&#160;radio.c'],['../radio_8c.html#a4508602c352170e18afc35ea773edb98',1,'radio_set_channel(uint8_t ch):&#160;radio.c']]],
['radio_5fshorts_5ft_21',['radio_shorts_t',['../unionradio__shorts__t.html',1,'']]],
['radio_5ftx_22',['radio_tx',['../radio_8h.html#aa98086e3cef509cbd1f899e79e62a39c',1,'radio_tx(const uint8_t *data, uint8_t len):&#160;radio.c'],['../radio_8c.html#aa98086e3cef509cbd1f899e79e62a39c',1,'radio_tx(const uint8_t *data, uint8_t len):&#160;radio.c']]],
['radio_5ftx_5fburst_23',['radio_tx_burst',['../radio_8h.html#a797c6c01e1ad4076ab54412b8c116de2',1,'radio_tx_burst(void):&#160;radio.c'],['../radio_8c.html#a797c6c01e1ad4076ab54412b8c116de2',1,'radio_tx_burst(void):&#160;radio.c']]],
['radio_5ftxpower_5ft_24',['radio_txpower_t',['../unionradio__txpower__t.html',1,'']]],
['ready_5fstart_25',['READY_START',['../unionradio__shorts__t.html#ab0229f263af4d80b28eeb11eb4d152ca',1,'radio_shorts_t']]],
['reg_26',['reg',['../uniongpio__pin__cnf__t.html#a2c8d226853df0a989250a4ddf7f6645c',1,'gpio_pin_cnf_t::reg'],['../unionradio__shorts__t.html#ac1565e6d7d7b8a2c4d60a998902efdda',1,'radio_shorts_t::reg'],['../unionradio__crccnf__t.html#a20b774674aae78211a981e4d1f611d34',1,'radio_crccnf_t::reg'],['../unionradio__pcnf1__t.html#a6b0c83b84e5a72e1388d16cf089a5302',1,'radio_pcnf1_t::reg'],['../unionradio__pcnf0__t.html#a7b010a8ad59a3d36513f443c85678589',1,'radio_pcnf0_t::reg'],['../unionradio__mode__t.html#a34ea667ed15bb9a403a78f119403ecf5',1,'radio_mode_t::reg'],['../unionradio__txpower__t.html#af1f8fc7050181b67c72d83d4de89face',1,'radio_txpower_t::reg'],['../unionradio__frequency__t.html#a2cb3661c3867f15124ea06f1c9289ae3',1,'radio_frequency_t::reg'],['../uniongpiote__inten__t.html#a0e3ec8ea0eee31b7676b23b7a909e3b3',1,'gpiote_inten_t::reg'],['../uniongpiote__config__t.html#a22f4cd44f48c20792e3baacabd08ed93',1,'gpiote_config_t::reg']]],
['regs_2eh_27',['regs.h',['../regs_8h.html',1,'']]],
['reset_5fhandler_28',['Reset_Handler',['../startup_8c.html#ae7ee340978f5c25f52f0cad1457c6616',1,'startup.c']]]
];

12
search/all_f.js Normal file
View File

@@ -0,0 +1,12 @@
var searchData=
[
['s0len_0',['S0LEN',['../unionradio__pcnf0__t.html#a4c562075b6a0dd4fdf96b47c61d22df3',1,'radio_pcnf0_t']]],
['s1incl_1',['S1INCL',['../unionradio__pcnf0__t.html#af6ef4d47f4d093385b745e418fef9fdd',1,'radio_pcnf0_t']]],
['s1len_2',['S1LEN',['../unionradio__pcnf0__t.html#a27c4aef283f2dead8ce38a76e0362392',1,'radio_pcnf0_t']]],
['sense_3',['SENSE',['../uniongpio__pin__cnf__t.html#a58225de597d574ed9c4b1292c1026d36',1,'gpio_pin_cnf_t']]],
['shared_5fkey_4',['shared_key',['../fhss_8c.html#aefc147b3b6fc7be18cbeabfa8babaacc',1,'fhss.c']]],
['skipaddr_5',['SKIPADDR',['../unionradio__crccnf__t.html#a45ff3977e23d837fef74a9978768ea89',1,'radio_crccnf_t']]],
['slot_6',['slot',['../fhss_8c.html#a8da4ee0fe1f6d2dcab3b7562d79c10a1',1,'fhss.c']]],
['startup_2ec_7',['startup.c',['../startup_8c.html',1,'']]],
['statlen_8',['STATLEN',['../unionradio__pcnf1__t.html#af81e41a31bf8c757fb8c329242dc420c',1,'radio_pcnf1_t']]]
];

6
search/classes_0.js Normal file
View File

@@ -0,0 +1,6 @@
var searchData=
[
['gpio_5fpin_5fcnf_5ft_0',['gpio_pin_cnf_t',['../uniongpio__pin__cnf__t.html',1,'']]],
['gpiote_5fconfig_5ft_1',['gpiote_config_t',['../uniongpiote__config__t.html',1,'']]],
['gpiote_5finten_5ft_2',['gpiote_inten_t',['../uniongpiote__inten__t.html',1,'']]]
];

10
search/classes_1.js Normal file
View File

@@ -0,0 +1,10 @@
var searchData=
[
['radio_5fcrccnf_5ft_0',['radio_crccnf_t',['../unionradio__crccnf__t.html',1,'']]],
['radio_5ffrequency_5ft_1',['radio_frequency_t',['../unionradio__frequency__t.html',1,'']]],
['radio_5fmode_5ft_2',['radio_mode_t',['../unionradio__mode__t.html',1,'']]],
['radio_5fpcnf0_5ft_3',['radio_pcnf0_t',['../unionradio__pcnf0__t.html',1,'']]],
['radio_5fpcnf1_5ft_4',['radio_pcnf1_t',['../unionradio__pcnf1__t.html',1,'']]],
['radio_5fshorts_5ft_5',['radio_shorts_t',['../unionradio__shorts__t.html',1,'']]],
['radio_5ftxpower_5ft_6',['radio_txpower_t',['../unionradio__txpower__t.html',1,'']]]
];

18
search/close.svg Normal file
View File

@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 11 11"
height="11"
width="11"
id="svg2"
version="1.1">
<defs
id="defs6" />
<path
id="path12"
d="M 5.5 0.5 A 5 5 0 0 0 0.5 5.5 A 5 5 0 0 0 5.5 10.5 A 5 5 0 0 0 10.5 5.5 A 5 5 0 0 0 5.5 0.5 z M 3.5820312 3 A 0.58291923 0.58291923 0 0 1 4 3.1757812 L 5.5 4.6757812 L 7 3.1757812 A 0.58291923 0.58291923 0 0 1 7.4003906 3 A 0.58291923 0.58291923 0 0 1 7.8242188 4 L 6.3242188 5.5 L 7.8242188 7 A 0.58291923 0.58291923 0 1 1 7 7.8242188 L 5.5 6.3242188 L 4 7.8242188 A 0.58291923 0.58291923 0 1 1 3.1757812 7 L 4.6757812 5.5 L 3.1757812 4 A 0.58291923 0.58291923 0 0 1 3.5820312 3 z "
style="stroke-width:1.09870648;fill:#bababa;fill-opacity:1" />
</svg>

After

Width:  |  Height:  |  Size: 947 B

6
search/defines_0.js Normal file
View File

@@ -0,0 +1,6 @@
var searchData=
[
['buf_5fsize_0',['BUF_SIZE',['../radio_8c.html#a6821bafc3c88dfb2e433a095df9940c6',1,'radio.c']]],
['button_5factive_5flow_1',['BUTTON_ACTIVE_LOW',['../power_8c.html#a5a87f76c63957bd0bdf5f7ca1d1bfe8c',1,'power.c']]],
['button_5fpin_2',['BUTTON_PIN',['../power_8c.html#abc2ad14f0789907024ac765711ffd3da',1,'power.c']]]
];

4
search/defines_1.js Normal file
View File

@@ -0,0 +1,4 @@
var searchData=
[
['default_5fchannel_0',['DEFAULT_CHANNEL',['../radio_8c.html#aafa17c307af8c45323500fdac999d294',1,'radio.c']]]
];

5
search/defines_2.js Normal file
View File

@@ -0,0 +1,5 @@
var searchData=
[
['fhss_5fchannels_0',['FHSS_CHANNELS',['../fhss_8h.html#af92d3579d3a9e88e73dd54a7bcad6341',1,'fhss.h']]],
['fhss_5fdwell_5fms_1',['FHSS_DWELL_MS',['../fhss_8h.html#a6874b77e366ca7dd46cd88c41b4b1759',1,'fhss.h']]]
];

13
search/defines_3.js Normal file
View File

@@ -0,0 +1,13 @@
var searchData=
[
['gpio_5fpull_5fdisabled_0',['GPIO_PULL_DISABLED',['../regs_8h.html#a8268f23dff5a30e738c70ea92060a998',1,'regs.h']]],
['gpio_5fpull_5fpulldown_1',['GPIO_PULL_PULLDOWN',['../regs_8h.html#a115d6bca63aeb83afc532ab85680a680',1,'regs.h']]],
['gpio_5fpull_5fpullup_2',['GPIO_PULL_PULLUP',['../regs_8h.html#a787786e3d8c5fb98acffc64e4f003242',1,'regs.h']]],
['gpiote_5fmode_5fdisabled_3',['GPIOTE_MODE_DISABLED',['../regs_8h.html#a3930e8d039be27c6db21bf7fd5b34fb9',1,'regs.h']]],
['gpiote_5fmode_5fevent_4',['GPIOTE_MODE_EVENT',['../regs_8h.html#ae521de6ddd2e39788f7dd4427333aa69',1,'regs.h']]],
['gpiote_5fmode_5ftask_5',['GPIOTE_MODE_TASK',['../regs_8h.html#a6a2d56f7c698008e646b882430539f85',1,'regs.h']]],
['gpiote_5fpol_5fhitolo_6',['GPIOTE_POL_HITOLO',['../regs_8h.html#a6756f4bec11b9b61511b2f6878fb8da6',1,'regs.h']]],
['gpiote_5fpol_5flotohi_7',['GPIOTE_POL_LOTOHI',['../regs_8h.html#a88b6140017ac6a545efd0dc450f5d975',1,'regs.h']]],
['gpiote_5fpol_5fnone_8',['GPIOTE_POL_NONE',['../regs_8h.html#a0a4c598f841ffb6aaeedbce0ab7ba0d8',1,'regs.h']]],
['gpiote_5fpol_5ftoggle_9',['GPIOTE_POL_TOGGLE',['../regs_8h.html#abb4d4593b0b4f22cdcf99d5800d28e08',1,'regs.h']]]
];

4
search/defines_4.js Normal file
View File

@@ -0,0 +1,4 @@
var searchData=
[
['max_5fpayload_0',['MAX_PAYLOAD',['../radio_8c.html#aa7a7521abb3a3664218d8dc0e3759f0f',1,'radio.c']]]
];

4
search/defines_5.js Normal file
View File

@@ -0,0 +1,4 @@
var searchData=
[
['ptt_5fflag_5factive_0',['PTT_FLAG_ACTIVE',['../radio_8h.html#a641b5c6f5b38da442b995f3d4f549e6f',1,'radio.h']]]
];

14
search/defines_6.js Normal file
View File

@@ -0,0 +1,14 @@
var searchData=
[
['radio_5fbase0_0',['RADIO_BASE0',['../radio_8c.html#a5ba6ab6a6b9198ea1b4699619f932d42',1,'radio.c']]],
['radio_5fcrccnf_5flen_5fdisabled_1',['RADIO_CRCCNF_LEN_DISABLED',['../regs_8h.html#a6a72a810ee6c57526139e30dacdbeca4',1,'regs.h']]],
['radio_5fcrccnf_5flen_5fone_2',['RADIO_CRCCNF_LEN_ONE',['../regs_8h.html#af22780616d83d265e9f5440e42ff84a9',1,'regs.h']]],
['radio_5fcrccnf_5flen_5fthree_3',['RADIO_CRCCNF_LEN_THREE',['../regs_8h.html#a23bfd71b1a3197ae1b8bc8916a0d4874',1,'regs.h']]],
['radio_5fcrccnf_5flen_5ftwo_4',['RADIO_CRCCNF_LEN_TWO',['../regs_8h.html#aa3b0603cad0f7c441a411fe706080892',1,'regs.h']]],
['radio_5fmap_5fble_5',['RADIO_MAP_BLE',['../regs_8h.html#a1c70f2abb32fb5ce85e55bb39ef072ce',1,'regs.h']]],
['radio_5fmap_5fdefault_6',['RADIO_MAP_DEFAULT',['../regs_8h.html#adc60679cbbac9204d0897097c2413c0b',1,'regs.h']]],
['radio_5fmode_5fble_5f1mbit_7',['RADIO_MODE_BLE_1MBIT',['../regs_8h.html#a20310c14a9e989f96fb5f8c570a3e414',1,'regs.h']]],
['radio_5fmode_5fnrf_5f1mbit_8',['RADIO_MODE_NRF_1MBIT',['../regs_8h.html#a200465030c4696a45f86df7776993ab3',1,'regs.h']]],
['radio_5fmode_5fnrf_5f2mbit_9',['RADIO_MODE_NRF_2MBIT',['../regs_8h.html#aa11b189f4292942f555592f19fd011e1',1,'regs.h']]],
['radio_5fprefix0_10',['RADIO_PREFIX0',['../radio_8c.html#aef53fc9f6c8f7ce51d3b94dfd9ada305',1,'radio.c']]]
];

5
search/files_0.js Normal file
View File

@@ -0,0 +1,5 @@
var searchData=
[
['fhss_2ec_0',['fhss.c',['../fhss_8c.html',1,'']]],
['fhss_2eh_1',['fhss.h',['../fhss_8h.html',1,'']]]
];

4
search/files_1.js Normal file
View File

@@ -0,0 +1,4 @@
var searchData=
[
['main_2ec_0',['main.c',['../main_8c.html',1,'']]]
];

5
search/files_2.js Normal file
View File

@@ -0,0 +1,5 @@
var searchData=
[
['power_2ec_0',['power.c',['../power_8c.html',1,'']]],
['power_2eh_1',['power.h',['../power_8h.html',1,'']]]
];

6
search/files_3.js Normal file
View File

@@ -0,0 +1,6 @@
var searchData=
[
['radio_2ec_0',['radio.c',['../radio_8c.html',1,'']]],
['radio_2eh_1',['radio.h',['../radio_8h.html',1,'']]],
['regs_2eh_2',['regs.h',['../regs_8h.html',1,'']]]
];

4
search/files_4.js Normal file
View File

@@ -0,0 +1,4 @@
var searchData=
[
['startup_2ec_0',['startup.c',['../startup_8c.html',1,'']]]
];

4
search/functions_0.js Normal file
View File

@@ -0,0 +1,4 @@
var searchData=
[
['_5f_5fattribute_5f_5f_0',['__attribute__',['../radio_8h.html#ab898071398b359603a35c202e9c65f3b',1,'__attribute__((packed)):&#160;radio.h'],['../startup_8c.html#ab087560e36aae73d74d28d1708d41e76',1,'__attribute__((used)):&#160;startup.c']]]
];

5
search/functions_1.js Normal file
View File

@@ -0,0 +1,5 @@
var searchData=
[
['dwell_5fstart_0',['dwell_start',['../radio_8c.html#a07de6df4fc71061db1bad70f4370a3fe',1,'radio.c']]],
['dwell_5fwait_1',['dwell_wait',['../radio_8c.html#acb45071ad37f0aa0928848eb4a7fc3c6',1,'radio.c']]]
];

8
search/functions_2.js Normal file
View File

@@ -0,0 +1,8 @@
var searchData=
[
['fhss_5fget_5fslot_0',['fhss_get_slot',['../fhss_8h.html#a7c45cff675465f11798eaf0a0e0b8d0e',1,'fhss_get_slot(void):&#160;fhss.c'],['../fhss_8c.html#a7c45cff675465f11798eaf0a0e0b8d0e',1,'fhss_get_slot(void):&#160;fhss.c']]],
['fhss_5finit_1',['fhss_init',['../fhss_8h.html#a44cfe02274ceefa5de0fed51e1c4e741',1,'fhss_init(void):&#160;fhss.c'],['../fhss_8c.html#a44cfe02274ceefa5de0fed51e1c4e741',1,'fhss_init(void):&#160;fhss.c']]],
['fhss_5fnext_5fchannel_2',['fhss_next_channel',['../fhss_8h.html#a28190a786a8da0f56bfbe8261dfc359a',1,'fhss_next_channel(void):&#160;fhss.c'],['../fhss_8c.html#a28190a786a8da0f56bfbe8261dfc359a',1,'fhss_next_channel(void):&#160;fhss.c']]],
['fhss_5fset_5fslot_3',['fhss_set_slot',['../fhss_8h.html#a4db6a04939b3d885681ebd1bbab03cb2',1,'fhss_set_slot(uint32_t s):&#160;fhss.c'],['../fhss_8c.html#a4db6a04939b3d885681ebd1bbab03cb2',1,'fhss_set_slot(uint32_t s):&#160;fhss.c']]],
['fhss_5fsync_5ftick_4',['fhss_sync_tick',['../fhss_8h.html#aa254dd2e4da40c6ac7f1d1b189666eca',1,'fhss_sync_tick(void):&#160;fhss.c'],['../fhss_8c.html#aa254dd2e4da40c6ac7f1d1b189666eca',1,'fhss_sync_tick(void):&#160;fhss.c']]]
];

4
search/functions_3.js Normal file
View File

@@ -0,0 +1,4 @@
var searchData=
[
['gpiote_5firqhandler_0',['GPIOTE_IRQHandler',['../power_8c.html#a26b108e2296d5514a2391960b4231d71',1,'power.c']]]
];

4
search/functions_4.js Normal file
View File

@@ -0,0 +1,4 @@
var searchData=
[
['main_0',['main',['../main_8c.html#a840291bc02cba5474a4cb46a9b9566fe',1,'main(void):&#160;main.c'],['../startup_8c.html#a840291bc02cba5474a4cb46a9b9566fe',1,'main(void):&#160;main.c']]]
];

4
search/functions_5.js Normal file
View File

@@ -0,0 +1,4 @@
var searchData=
[
['nmi_5fhandler_0',['NMI_Handler',['../startup_8c.html#a6ad7a5e3ee69cb6db6a6b9111ba898bc',1,'startup.c']]]
];

6
search/functions_6.js Normal file
View File

@@ -0,0 +1,6 @@
var searchData=
[
['power_5fbutton_5fpressed_0',['power_button_pressed',['../power_8h.html#ada513e112411aa36f06f4a36ccf6edb3',1,'power_button_pressed(void):&#160;power.c'],['../power_8c.html#ada513e112411aa36f06f4a36ccf6edb3',1,'power_button_pressed(void):&#160;power.c']]],
['power_5finit_1',['power_init',['../power_8h.html#a1ca9d74e081ad1377b5c9b7773be973b',1,'power_init(void):&#160;power.c'],['../power_8c.html#a1ca9d74e081ad1377b5c9b7773be973b',1,'power_init(void):&#160;power.c']]],
['power_5fsleep_5funtil_5fbutton_2',['power_sleep_until_button',['../power_8h.html#a7b84b3559a86acf1fef1fab03daded6b',1,'power_sleep_until_button(void):&#160;power.c'],['../power_8c.html#a7b84b3559a86acf1fef1fab03daded6b',1,'power_sleep_until_button(void):&#160;power.c']]]
];

9
search/functions_7.js Normal file
View File

@@ -0,0 +1,9 @@
var searchData=
[
['radio_5finit_0',['radio_init',['../radio_8h.html#acfb21351bb3f0146635745bfacfe26a8',1,'radio_init(void):&#160;radio.c'],['../radio_8c.html#acfb21351bb3f0146635745bfacfe26a8',1,'radio_init(void):&#160;radio.c']]],
['radio_5frx_5fburst_1',['radio_rx_burst',['../radio_8h.html#a93ad6d90796885b32326efe3b7c93b17',1,'radio_rx_burst(ptt_frame_t *frame_out):&#160;radio.c'],['../radio_8c.html#a93ad6d90796885b32326efe3b7c93b17',1,'radio_rx_burst(ptt_frame_t *frame_out):&#160;radio.c']]],
['radio_5fset_5fchannel_2',['radio_set_channel',['../radio_8h.html#a4508602c352170e18afc35ea773edb98',1,'radio_set_channel(uint8_t ch):&#160;radio.c'],['../radio_8c.html#a4508602c352170e18afc35ea773edb98',1,'radio_set_channel(uint8_t ch):&#160;radio.c']]],
['radio_5ftx_3',['radio_tx',['../radio_8h.html#aa98086e3cef509cbd1f899e79e62a39c',1,'radio_tx(const uint8_t *data, uint8_t len):&#160;radio.c'],['../radio_8c.html#aa98086e3cef509cbd1f899e79e62a39c',1,'radio_tx(const uint8_t *data, uint8_t len):&#160;radio.c']]],
['radio_5ftx_5fburst_4',['radio_tx_burst',['../radio_8h.html#a797c6c01e1ad4076ab54412b8c116de2',1,'radio_tx_burst(void):&#160;radio.c'],['../radio_8c.html#a797c6c01e1ad4076ab54412b8c116de2',1,'radio_tx_burst(void):&#160;radio.c']]],
['reset_5fhandler_5',['Reset_Handler',['../startup_8c.html#ae7ee340978f5c25f52f0cad1457c6616',1,'startup.c']]]
];

4
search/functions_8.js Normal file
View File

@@ -0,0 +1,4 @@
var searchData=
[
['timer_5finit_0',['timer_init',['../radio_8c.html#a2d7a2412663c9b0521415553939b1b05',1,'radio.c']]]
];

24
search/mag.svg Normal file
View File

@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 20 19"
height="19"
width="20"
id="svg2"
version="1.1">
<defs
id="defs6" />
<circle
r="3.5"
cy="8.5"
cx="5.5"
id="path4611"
style="fill:#000000;fill-opacity:0;stroke:#656565;stroke-width:1.4;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" />
<path
id="path4630"
d="m 8.1085854,11.109059 2.7823556,2.782356"
style="fill:none;stroke:#656565;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
</svg>

After

Width:  |  Height:  |  Size: 804 B

24
search/mag_d.svg Normal file
View File

@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 20 19"
height="19"
width="20"
id="svg2"
version="1.1">
<defs
id="defs6" />
<circle
r="3.5"
cy="8.5"
cx="5.5"
id="path4611"
style="fill:#000000;fill-opacity:0;stroke:#C5C5C5;stroke-width:1.4;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" />
<path
id="path4630"
d="m 8.1085854,11.109059 2.7823556,2.782356"
style="fill:none;stroke:#C5C5C5;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
</svg>

After

Width:  |  Height:  |  Size: 804 B

31
search/mag_sel.svg Normal file
View File

@@ -0,0 +1,31 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg
xmlns="http://www.w3.org/2000/svg"
version="1.1"
id="svg2"
width="20"
height="19"
viewBox="0 0 20 19"
>
<defs
id="defs6" />
<circle
style="fill:#000000;fill-opacity:0;stroke:#656565;stroke-width:1.4;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
id="path4611"
cx="5.5"
cy="8.5"
r="3.5" />
<path
style="fill:#656565;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 11,7 13.5,10 16,7 Z"
id="path4609"
/>
<path
style="fill:none;stroke:#656565;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 8.1085854,11.109059 2.7823556,2.782356"
id="path4630"
/>
</svg>

After

Width:  |  Height:  |  Size: 1019 B

31
search/mag_seld.svg Normal file
View File

@@ -0,0 +1,31 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg
xmlns="http://www.w3.org/2000/svg"
version="1.1"
id="svg2"
width="20"
height="19"
viewBox="0 0 20 19"
>
<defs
id="defs6" />
<circle
style="fill:#000000;fill-opacity:0;stroke:#c5C5C5;stroke-width:1.4;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
id="path4611"
cx="5.5"
cy="8.5"
r="3.5" />
<path
style="fill:#c5C5C5;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 11,7 13.5,10 16,7 Z"
id="path4609"
/>
<path
style="fill:none;stroke:#c5C5C5;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 8.1085854,11.109059 2.7823556,2.782356"
id="path4630"
/>
</svg>

After

Width:  |  Height:  |  Size: 1019 B

291
search/search.css Normal file
View File

@@ -0,0 +1,291 @@
/*---------------- Search Box positioning */
#main-menu > li:last-child {
/* This <li> object is the parent of the search bar */
display: flex;
justify-content: center;
align-items: center;
height: 36px;
margin-right: 1em;
}
/*---------------- Search box styling */
.SRPage * {
font-weight: normal;
line-height: normal;
}
dark-mode-toggle {
margin-left: 5px;
display: flex;
float: right;
}
#MSearchBox {
display: inline-block;
white-space : nowrap;
background: var(--search-background-color);
border-radius: 0.65em;
box-shadow: var(--search-box-shadow);
z-index: 102;
}
#MSearchBox .left {
display: inline-block;
vertical-align: middle;
height: 1.4em;
}
#MSearchSelect {
display: inline-block;
vertical-align: middle;
width: 20px;
height: 19px;
background-image: var(--search-magnification-select-image);
margin: 0 0 0 0.3em;
padding: 0;
}
#MSearchSelectExt {
display: inline-block;
vertical-align: middle;
width: 10px;
height: 19px;
background-image: var(--search-magnification-image);
margin: 0 0 0 0.5em;
padding: 0;
}
#MSearchField {
display: inline-block;
vertical-align: middle;
width: 7.5em;
height: 19px;
margin: 0 0.15em;
padding: 0;
line-height: 1em;
border:none;
color: var(--search-foreground-color);
outline: none;
font-family: var(--font-family-search);
-webkit-border-radius: 0px;
border-radius: 0px;
background: none;
}
@media(hover: none) {
/* to avoid zooming on iOS */
#MSearchField {
font-size: 16px;
}
}
#MSearchBox .right {
display: inline-block;
vertical-align: middle;
width: 1.4em;
height: 1.4em;
}
#MSearchClose {
display: none;
font-size: inherit;
background : none;
border: none;
margin: 0;
padding: 0;
outline: none;
}
#MSearchCloseImg {
padding: 0.3em;
margin: 0;
}
.MSearchBoxActive #MSearchField {
color: var(--search-active-color);
}
/*---------------- Search filter selection */
#MSearchSelectWindow {
display: none;
position: absolute;
left: 0; top: 0;
border: 1px solid var(--search-filter-border-color);
background-color: var(--search-filter-background-color);
z-index: 10001;
padding-top: 4px;
padding-bottom: 4px;
-moz-border-radius: 4px;
-webkit-border-top-left-radius: 4px;
-webkit-border-top-right-radius: 4px;
-webkit-border-bottom-left-radius: 4px;
-webkit-border-bottom-right-radius: 4px;
-webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
}
.SelectItem {
font: 8pt var(--font-family-search);
padding-left: 2px;
padding-right: 12px;
border: 0px;
}
span.SelectionMark {
margin-right: 4px;
font-family: var(--font-family-monospace);
outline-style: none;
text-decoration: none;
}
a.SelectItem {
display: block;
outline-style: none;
color: var(--search-filter-foreground-color);
text-decoration: none;
padding-left: 6px;
padding-right: 12px;
}
a.SelectItem:focus,
a.SelectItem:active {
color: var(--search-filter-foreground-color);
outline-style: none;
text-decoration: none;
}
a.SelectItem:hover {
color: var(--search-filter-highlight-text-color);
background-color: var(--search-filter-highlight-bg-color);
outline-style: none;
text-decoration: none;
cursor: pointer;
display: block;
}
/*---------------- Search results window */
iframe#MSearchResults {
/*width: 60ex;*/
height: 15em;
}
#MSearchResultsWindow {
display: none;
position: absolute;
left: 0; top: 0;
border: 1px solid var(--search-results-border-color);
background-color: var(--search-results-background-color);
z-index:10000;
width: 300px;
height: 400px;
overflow: auto;
}
/* ----------------------------------- */
#SRIndex {
clear:both;
}
.SREntry {
font-size: 10pt;
padding-left: 1ex;
}
.SRPage .SREntry {
font-size: 8pt;
padding: 1px 5px;
}
div.SRPage {
margin: 5px 2px;
background-color: var(--search-results-background-color);
}
.SRChildren {
padding-left: 3ex; padding-bottom: .5em
}
.SRPage .SRChildren {
display: none;
}
.SRSymbol {
font-weight: bold;
color: var(--search-results-foreground-color);
font-family: var(--font-family-search);
text-decoration: none;
outline: none;
}
a.SRScope {
display: block;
color: var(--search-results-foreground-color);
font-family: var(--font-family-search);
font-size: 8pt;
text-decoration: none;
outline: none;
}
a.SRSymbol:focus, a.SRSymbol:active,
a.SRScope:focus, a.SRScope:active {
text-decoration: underline;
}
span.SRScope {
padding-left: 4px;
font-family: var(--font-family-search);
}
.SRPage .SRStatus {
padding: 2px 5px;
font-size: 8pt;
font-style: italic;
font-family: var(--font-family-search);
}
.SRResult {
display: none;
}
div.searchresults {
margin-left: 10px;
margin-right: 10px;
}
/*---------------- External search page results */
.pages b {
color: white;
padding: 5px 5px 3px 5px;
background-image: var(--nav-gradient-active-image-parent);
background-repeat: repeat-x;
text-shadow: 0 1px 1px #000000;
}
.pages {
line-height: 17px;
margin-left: 4px;
text-decoration: none;
}
.hl {
font-weight: bold;
}
#searchresults {
margin-bottom: 20px;
}
.searchpages {
margin-top: 10px;
}

840
search/search.js Normal file
View File

@@ -0,0 +1,840 @@
/*
@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
*/
function convertToId(search)
{
var result = '';
for (i=0;i<search.length;i++)
{
var c = search.charAt(i);
var cn = c.charCodeAt(0);
if (c.match(/[a-z0-9\u0080-\uFFFF]/))
{
result+=c;
}
else if (cn<16)
{
result+="_0"+cn.toString(16);
}
else
{
result+="_"+cn.toString(16);
}
}
return result;
}
function getXPos(item)
{
var x = 0;
if (item.offsetWidth)
{
while (item && item!=document.body)
{
x += item.offsetLeft;
item = item.offsetParent;
}
}
return x;
}
function getYPos(item)
{
var y = 0;
if (item.offsetWidth)
{
while (item && item!=document.body)
{
y += item.offsetTop;
item = item.offsetParent;
}
}
return y;
}
var searchResults = new SearchResults("searchResults");
/* A class handling everything associated with the search panel.
Parameters:
name - The name of the global variable that will be
storing this instance. Is needed to be able to set timeouts.
resultPath - path to use for external files
*/
function SearchBox(name, resultsPath, extension)
{
if (!name || !resultsPath) { alert("Missing parameters to SearchBox."); }
if (!extension || extension == "") { extension = ".html"; }
// ---------- Instance variables
this.name = name;
this.resultsPath = resultsPath;
this.keyTimeout = 0;
this.keyTimeoutLength = 500;
this.closeSelectionTimeout = 300;
this.lastSearchValue = "";
this.lastResultsPage = "";
this.hideTimeout = 0;
this.searchIndex = 0;
this.searchActive = false;
this.extension = extension;
// ----------- DOM Elements
this.DOMSearchField = function()
{ return document.getElementById("MSearchField"); }
this.DOMSearchSelect = function()
{ return document.getElementById("MSearchSelect"); }
this.DOMSearchSelectWindow = function()
{ return document.getElementById("MSearchSelectWindow"); }
this.DOMPopupSearchResults = function()
{ return document.getElementById("MSearchResults"); }
this.DOMPopupSearchResultsWindow = function()
{ return document.getElementById("MSearchResultsWindow"); }
this.DOMSearchClose = function()
{ return document.getElementById("MSearchClose"); }
this.DOMSearchBox = function()
{ return document.getElementById("MSearchBox"); }
// ------------ Event Handlers
// Called when focus is added or removed from the search field.
this.OnSearchFieldFocus = function(isActive)
{
this.Activate(isActive);
}
this.OnSearchSelectShow = function()
{
var searchSelectWindow = this.DOMSearchSelectWindow();
var searchField = this.DOMSearchSelect();
var left = getXPos(searchField);
var top = getYPos(searchField);
top += searchField.offsetHeight;
// show search selection popup
searchSelectWindow.style.display='block';
searchSelectWindow.style.left = left + 'px';
searchSelectWindow.style.top = top + 'px';
// stop selection hide timer
if (this.hideTimeout)
{
clearTimeout(this.hideTimeout);
this.hideTimeout=0;
}
return false; // to avoid "image drag" default event
}
this.OnSearchSelectHide = function()
{
this.hideTimeout = setTimeout(this.CloseSelectionWindow.bind(this),
this.closeSelectionTimeout);
}
// Called when the content of the search field is changed.
this.OnSearchFieldChange = function(evt)
{
if (this.keyTimeout) // kill running timer
{
clearTimeout(this.keyTimeout);
this.keyTimeout = 0;
}
var e = (evt) ? evt : window.event; // for IE
if (e.keyCode==40 || e.keyCode==13)
{
if (e.shiftKey==1)
{
this.OnSearchSelectShow();
var win=this.DOMSearchSelectWindow();
for (i=0;i<win.childNodes.length;i++)
{
var child = win.childNodes[i]; // get span within a
if (child.className=='SelectItem')
{
child.focus();
return;
}
}
return;
}
else
{
var elem = searchResults.NavNext(0);
if (elem) elem.focus();
}
}
else if (e.keyCode==27) // Escape out of the search field
{
e.stopPropagation();
this.DOMSearchField().blur();
this.DOMPopupSearchResultsWindow().style.display = 'none';
this.DOMSearchClose().style.display = 'none';
this.lastSearchValue = '';
this.Activate(false);
return;
}
// strip whitespaces
var searchValue = this.DOMSearchField().value.replace(/ +/g, "");
if (searchValue != this.lastSearchValue) // search value has changed
{
if (searchValue != "") // non-empty search
{
// set timer for search update
this.keyTimeout = setTimeout(this.Search.bind(this),
this.keyTimeoutLength);
}
else // empty search field
{
this.DOMPopupSearchResultsWindow().style.display = 'none';
this.DOMSearchClose().style.display = 'none';
this.lastSearchValue = '';
}
}
}
this.SelectItemCount = function(id)
{
var count=0;
var win=this.DOMSearchSelectWindow();
for (i=0;i<win.childNodes.length;i++)
{
var child = win.childNodes[i]; // get span within a
if (child.className=='SelectItem')
{
count++;
}
}
return count;
}
this.SelectItemSet = function(id)
{
var i,j=0;
var win=this.DOMSearchSelectWindow();
for (i=0;i<win.childNodes.length;i++)
{
var child = win.childNodes[i]; // get span within a
if (child.className=='SelectItem')
{
var node = child.firstChild;
if (j==id)
{
node.innerHTML='&#8226;';
}
else
{
node.innerHTML='&#160;';
}
j++;
}
}
}
// Called when an search filter selection is made.
// set item with index id as the active item
this.OnSelectItem = function(id)
{
this.searchIndex = id;
this.SelectItemSet(id);
var searchValue = this.DOMSearchField().value.replace(/ +/g, "");
if (searchValue!="" && this.searchActive) // something was found -> do a search
{
this.Search();
}
}
this.OnSearchSelectKey = function(evt)
{
var e = (evt) ? evt : window.event; // for IE
if (e.keyCode==40 && this.searchIndex<this.SelectItemCount()) // Down
{
this.searchIndex++;
this.OnSelectItem(this.searchIndex);
}
else if (e.keyCode==38 && this.searchIndex>0) // Up
{
this.searchIndex--;
this.OnSelectItem(this.searchIndex);
}
else if (e.keyCode==13 || e.keyCode==27)
{
e.stopPropagation();
this.OnSelectItem(this.searchIndex);
this.CloseSelectionWindow();
this.DOMSearchField().focus();
}
return false;
}
// --------- Actions
// Closes the results window.
this.CloseResultsWindow = function()
{
this.DOMPopupSearchResultsWindow().style.display = 'none';
this.DOMSearchClose().style.display = 'none';
this.Activate(false);
}
this.CloseSelectionWindow = function()
{
this.DOMSearchSelectWindow().style.display = 'none';
}
// Performs a search.
this.Search = function()
{
this.keyTimeout = 0;
// strip leading whitespace
var searchValue = this.DOMSearchField().value.replace(/^ +/, "");
var code = searchValue.toLowerCase().charCodeAt(0);
var idxChar = searchValue.substr(0, 1).toLowerCase();
if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair
{
idxChar = searchValue.substr(0, 2);
}
var jsFile;
var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar);
if (idx!=-1)
{
var hexCode=idx.toString(16);
jsFile = this.resultsPath + indexSectionNames[this.searchIndex] + '_' + hexCode + '.js';
}
var loadJS = function(url, impl, loc){
var scriptTag = document.createElement('script');
scriptTag.src = url;
scriptTag.onload = impl;
scriptTag.onreadystatechange = impl;
loc.appendChild(scriptTag);
}
var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow();
var domSearchBox = this.DOMSearchBox();
var domPopupSearchResults = this.DOMPopupSearchResults();
var domSearchClose = this.DOMSearchClose();
var resultsPath = this.resultsPath;
var handleResults = function() {
document.getElementById("Loading").style.display="none";
if (typeof searchData !== 'undefined') {
createResults(resultsPath);
document.getElementById("NoMatches").style.display="none";
}
if (idx!=-1) {
searchResults.Search(searchValue);
} else { // no file with search results => force empty search results
searchResults.Search('====');
}
if (domPopupSearchResultsWindow.style.display!='block')
{
domSearchClose.style.display = 'inline-block';
var left = getXPos(domSearchBox) + 150;
var top = getYPos(domSearchBox) + 20;
domPopupSearchResultsWindow.style.display = 'block';
left -= domPopupSearchResults.offsetWidth;
var maxWidth = document.body.clientWidth;
var maxHeight = document.body.clientHeight;
var width = 300;
if (left<10) left=10;
if (width+left+8>maxWidth) width=maxWidth-left-8;
var height = 400;
if (height+top+8>maxHeight) height=maxHeight-top-8;
domPopupSearchResultsWindow.style.top = top + 'px';
domPopupSearchResultsWindow.style.left = left + 'px';
domPopupSearchResultsWindow.style.width = width + 'px';
domPopupSearchResultsWindow.style.height = height + 'px';
}
}
if (jsFile) {
loadJS(jsFile, handleResults, this.DOMPopupSearchResultsWindow());
} else {
handleResults();
}
this.lastSearchValue = searchValue;
}
// -------- Activation Functions
// Activates or deactivates the search panel, resetting things to
// their default values if necessary.
this.Activate = function(isActive)
{
if (isActive || // open it
this.DOMPopupSearchResultsWindow().style.display == 'block'
)
{
this.DOMSearchBox().className = 'MSearchBoxActive';
this.searchActive = true;
}
else if (!isActive) // directly remove the panel
{
this.DOMSearchBox().className = 'MSearchBoxInactive';
this.searchActive = false;
this.lastSearchValue = ''
this.lastResultsPage = '';
this.DOMSearchField().value = '';
}
}
}
// -----------------------------------------------------------------------
// The class that handles everything on the search results page.
function SearchResults(name)
{
// The number of matches from the last run of <Search()>.
this.lastMatchCount = 0;
this.lastKey = 0;
this.repeatOn = false;
// Toggles the visibility of the passed element ID.
this.FindChildElement = function(id)
{
var parentElement = document.getElementById(id);
var element = parentElement.firstChild;
while (element && element!=parentElement)
{
if (element.nodeName.toLowerCase() == 'div' && element.className == 'SRChildren')
{
return element;
}
if (element.nodeName.toLowerCase() == 'div' && element.hasChildNodes())
{
element = element.firstChild;
}
else if (element.nextSibling)
{
element = element.nextSibling;
}
else
{
do
{
element = element.parentNode;
}
while (element && element!=parentElement && !element.nextSibling);
if (element && element!=parentElement)
{
element = element.nextSibling;
}
}
}
}
this.Toggle = function(id)
{
var element = this.FindChildElement(id);
if (element)
{
if (element.style.display == 'block')
{
element.style.display = 'none';
}
else
{
element.style.display = 'block';
}
}
}
// Searches for the passed string. If there is no parameter,
// it takes it from the URL query.
//
// Always returns true, since other documents may try to call it
// and that may or may not be possible.
this.Search = function(search)
{
if (!search) // get search word from URL
{
search = window.location.search;
search = search.substring(1); // Remove the leading '?'
search = unescape(search);
}
search = search.replace(/^ +/, ""); // strip leading spaces
search = search.replace(/ +$/, ""); // strip trailing spaces
search = search.toLowerCase();
search = convertToId(search);
var resultRows = document.getElementsByTagName("div");
var matches = 0;
var i = 0;
while (i < resultRows.length)
{
var row = resultRows.item(i);
if (row.className == "SRResult")
{
var rowMatchName = row.id.toLowerCase();
rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_'
if (search.length<=rowMatchName.length &&
rowMatchName.substr(0, search.length)==search)
{
row.style.display = 'block';
matches++;
}
else
{
row.style.display = 'none';
}
}
i++;
}
document.getElementById("Searching").style.display='none';
if (matches == 0) // no results
{
document.getElementById("NoMatches").style.display='block';
}
else // at least one result
{
document.getElementById("NoMatches").style.display='none';
}
this.lastMatchCount = matches;
return true;
}
// return the first item with index index or higher that is visible
this.NavNext = function(index)
{
var focusItem;
while (1)
{
var focusName = 'Item'+index;
focusItem = document.getElementById(focusName);
if (focusItem && focusItem.parentNode.parentNode.style.display=='block')
{
break;
}
else if (!focusItem) // last element
{
break;
}
focusItem=null;
index++;
}
return focusItem;
}
this.NavPrev = function(index)
{
var focusItem;
while (1)
{
var focusName = 'Item'+index;
focusItem = document.getElementById(focusName);
if (focusItem && focusItem.parentNode.parentNode.style.display=='block')
{
break;
}
else if (!focusItem) // last element
{
break;
}
focusItem=null;
index--;
}
return focusItem;
}
this.ProcessKeys = function(e)
{
if (e.type == "keydown")
{
this.repeatOn = false;
this.lastKey = e.keyCode;
}
else if (e.type == "keypress")
{
if (!this.repeatOn)
{
if (this.lastKey) this.repeatOn = true;
return false; // ignore first keypress after keydown
}
}
else if (e.type == "keyup")
{
this.lastKey = 0;
this.repeatOn = false;
}
return this.lastKey!=0;
}
this.Nav = function(evt,itemIndex)
{
var e = (evt) ? evt : window.event; // for IE
if (e.keyCode==13) return true;
if (!this.ProcessKeys(e)) return false;
if (this.lastKey==38) // Up
{
var newIndex = itemIndex-1;
var focusItem = this.NavPrev(newIndex);
if (focusItem)
{
var child = this.FindChildElement(focusItem.parentNode.parentNode.id);
if (child && child.style.display == 'block') // children visible
{
var n=0;
var tmpElem;
while (1) // search for last child
{
tmpElem = document.getElementById('Item'+newIndex+'_c'+n);
if (tmpElem)
{
focusItem = tmpElem;
}
else // found it!
{
break;
}
n++;
}
}
}
if (focusItem)
{
focusItem.focus();
}
else // return focus to search field
{
document.getElementById("MSearchField").focus();
}
}
else if (this.lastKey==40) // Down
{
var newIndex = itemIndex+1;
var focusItem;
var item = document.getElementById('Item'+itemIndex);
var elem = this.FindChildElement(item.parentNode.parentNode.id);
if (elem && elem.style.display == 'block') // children visible
{
focusItem = document.getElementById('Item'+itemIndex+'_c0');
}
if (!focusItem) focusItem = this.NavNext(newIndex);
if (focusItem) focusItem.focus();
}
else if (this.lastKey==39) // Right
{
var item = document.getElementById('Item'+itemIndex);
var elem = this.FindChildElement(item.parentNode.parentNode.id);
if (elem) elem.style.display = 'block';
}
else if (this.lastKey==37) // Left
{
var item = document.getElementById('Item'+itemIndex);
var elem = this.FindChildElement(item.parentNode.parentNode.id);
if (elem) elem.style.display = 'none';
}
else if (this.lastKey==27) // Escape
{
e.stopPropagation();
searchBox.CloseResultsWindow();
document.getElementById("MSearchField").focus();
}
else if (this.lastKey==13) // Enter
{
return true;
}
return false;
}
this.NavChild = function(evt,itemIndex,childIndex)
{
var e = (evt) ? evt : window.event; // for IE
if (e.keyCode==13) return true;
if (!this.ProcessKeys(e)) return false;
if (this.lastKey==38) // Up
{
if (childIndex>0)
{
var newIndex = childIndex-1;
document.getElementById('Item'+itemIndex+'_c'+newIndex).focus();
}
else // already at first child, jump to parent
{
document.getElementById('Item'+itemIndex).focus();
}
}
else if (this.lastKey==40) // Down
{
var newIndex = childIndex+1;
var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex);
if (!elem) // last child, jump to parent next parent
{
elem = this.NavNext(itemIndex+1);
}
if (elem)
{
elem.focus();
}
}
else if (this.lastKey==27) // Escape
{
e.stopPropagation();
searchBox.CloseResultsWindow();
document.getElementById("MSearchField").focus();
}
else if (this.lastKey==13) // Enter
{
return true;
}
return false;
}
}
function setKeyActions(elem,action)
{
elem.setAttribute('onkeydown',action);
elem.setAttribute('onkeypress',action);
elem.setAttribute('onkeyup',action);
}
function setClassAttr(elem,attr)
{
elem.setAttribute('class',attr);
elem.setAttribute('className',attr);
}
function createResults(resultsPath)
{
var results = document.getElementById("SRResults");
results.innerHTML = '';
for (var e=0; e<searchData.length; e++)
{
var id = searchData[e][0];
var srResult = document.createElement('div');
srResult.setAttribute('id','SR_'+id);
setClassAttr(srResult,'SRResult');
var srEntry = document.createElement('div');
setClassAttr(srEntry,'SREntry');
var srLink = document.createElement('a');
srLink.setAttribute('id','Item'+e);
setKeyActions(srLink,'return searchResults.Nav(event,'+e+')');
setClassAttr(srLink,'SRSymbol');
srLink.innerHTML = searchData[e][1][0];
srEntry.appendChild(srLink);
if (searchData[e][1].length==2) // single result
{
srLink.setAttribute('href',resultsPath+searchData[e][1][1][0]);
srLink.setAttribute('onclick','searchBox.CloseResultsWindow()');
if (searchData[e][1][1][1])
{
srLink.setAttribute('target','_parent');
}
else
{
srLink.setAttribute('target','_blank');
}
var srScope = document.createElement('span');
setClassAttr(srScope,'SRScope');
srScope.innerHTML = searchData[e][1][1][2];
srEntry.appendChild(srScope);
}
else // multiple results
{
srLink.setAttribute('href','javascript:searchResults.Toggle("SR_'+id+'")');
var srChildren = document.createElement('div');
setClassAttr(srChildren,'SRChildren');
for (var c=0; c<searchData[e][1].length-1; c++)
{
var srChild = document.createElement('a');
srChild.setAttribute('id','Item'+e+'_c'+c);
setKeyActions(srChild,'return searchResults.NavChild(event,'+e+','+c+')');
setClassAttr(srChild,'SRScope');
srChild.setAttribute('href',resultsPath+searchData[e][1][c+1][0]);
srChild.setAttribute('onclick','searchBox.CloseResultsWindow()');
if (searchData[e][1][c+1][1])
{
srChild.setAttribute('target','_parent');
}
else
{
srChild.setAttribute('target','_blank');
}
srChild.innerHTML = searchData[e][1][c+1][2];
srChildren.appendChild(srChild);
}
srEntry.appendChild(srChildren);
}
srResult.appendChild(srEntry);
results.appendChild(srResult);
}
}
function init_search()
{
var results = document.getElementById("MSearchSelectWindow");
results.tabIndex=0;
for (var key in indexSectionLabels)
{
var link = document.createElement('a');
link.setAttribute('class','SelectItem');
link.setAttribute('onclick','searchBox.OnSelectItem('+key+')');
link.href='javascript:void(0)';
link.innerHTML='<span class="SelectionMark">&#160;</span>'+indexSectionLabels[key];
results.appendChild(link);
}
searchBox.OnSelectItem(0);
var input = document.getElementById("MSearchSelect");
var searchSelectWindow = document.getElementById("MSearchSelectWindow");
input.tabIndex=0;
input.addEventListener("keydown", function(event) {
if (event.keyCode==13 || event.keyCode==40) {
event.preventDefault();
if (searchSelectWindow.style.display == 'block') {
searchBox.CloseSelectionWindow();
} else {
searchBox.OnSearchSelectShow();
searchBox.DOMSearchSelectWindow().focus();
}
}
});
}
/* @license-end */

30
search/searchdata.js Normal file
View File

@@ -0,0 +1,30 @@
var indexSectionsWithContent =
{
0: "_abcdefgilmnoprstw",
1: "gr",
2: "fmprs",
3: "_dfgmnprt",
4: "_abcdefilmoprstw",
5: "bdfgmpr"
};
var indexSectionNames =
{
0: "all",
1: "classes",
2: "files",
3: "functions",
4: "variables",
5: "defines"
};
var indexSectionLabels =
{
0: "All",
1: "Data Structures",
2: "Files",
3: "Functions",
4: "Variables",
5: "Macros"
};

13
search/variables_0.js Normal file
View File

@@ -0,0 +1,13 @@
var searchData=
[
['_5f_5fpad0_5f_5f_0',['__pad0__',['../uniongpiote__inten__t.html#a23d8e507cc78204f87cc32895008b1fb',1,'gpiote_inten_t::__pad0__'],['../unionradio__frequency__t.html#a187028086c421925ddb47fecddd03ced',1,'radio_frequency_t::__pad0__'],['../unionradio__txpower__t.html#a3a94d8ed83501db954aed06f0bd0ff29',1,'radio_txpower_t::__pad0__'],['../unionradio__mode__t.html#a3114bfc5f4c675867fdf370692ea028c',1,'radio_mode_t::__pad0__'],['../unionradio__pcnf0__t.html#a45da5ca7d3070a6c1e305230e142443d',1,'radio_pcnf0_t::__pad0__'],['../unionradio__pcnf1__t.html#af182fe2ada05698f7d682819643467a6',1,'radio_pcnf1_t::__pad0__'],['../unionradio__crccnf__t.html#a870f6d2805cd7d389dba712e02984c86',1,'radio_crccnf_t::__pad0__'],['../unionradio__shorts__t.html#a8e76c3046219fc1077dba0d31db79dca',1,'radio_shorts_t::__pad0__'],['../uniongpio__pin__cnf__t.html#ad13f66bb77986d27cf94d68e3ab05b17',1,'gpio_pin_cnf_t::__pad0__'],['../uniongpiote__config__t.html#a3119e033378c1cb616828cf3f4b19039',1,'gpiote_config_t::__pad0__']]],
['_5f_5fpad1_5f_5f_1',['__pad1__',['../unionradio__crccnf__t.html#a2d57a6c5d888a1f9ede388e516ada955',1,'radio_crccnf_t::__pad1__'],['../uniongpio__pin__cnf__t.html#af1111556e83021a8a15a3f8de2702eba',1,'gpio_pin_cnf_t::__pad1__'],['../unionradio__shorts__t.html#a294c267e2619469257cca00dcc469f35',1,'radio_shorts_t::__pad1__'],['../unionradio__pcnf1__t.html#a33009de4a8e224b670475995378aca7e',1,'radio_pcnf1_t::__pad1__'],['../unionradio__pcnf0__t.html#a9bbd78d6a29f1d2f358b405cb6a8e358',1,'radio_pcnf0_t::__pad1__'],['../unionradio__frequency__t.html#a6dbd022d6eb28bbf7b680cb0287d8ca5',1,'radio_frequency_t::__pad1__'],['../uniongpiote__config__t.html#acacb6ff5adada164347e5f7ee6048e64',1,'gpiote_config_t::__pad1__']]],
['_5f_5fpad2_5f_5f_2',['__pad2__',['../uniongpiote__config__t.html#ac5154e0d325d53e0df92ef00a8e5dac1',1,'gpiote_config_t::__pad2__'],['../unionradio__pcnf0__t.html#a8652a6e25ff4cc8d0493337d74b98684',1,'radio_pcnf0_t::__pad2__'],['../uniongpio__pin__cnf__t.html#a18b7e18f5c909cbc48e473390ea0f6e5',1,'gpio_pin_cnf_t::__pad2__']]],
['_5f_5fpad3_5f_5f_3',['__pad3__',['../uniongpiote__config__t.html#aedc7be502b31d10b7f6c1660d6773bc2',1,'gpiote_config_t::__pad3__'],['../unionradio__pcnf0__t.html#a30c621d4d48d3e4c2e6e4365580de2a9',1,'radio_pcnf0_t::__pad3__']]],
['_5febss_4',['_ebss',['../startup_8c.html#a580f44faf8ff886796f2114d0de12c77',1,'startup.c']]],
['_5fedata_5',['_edata',['../startup_8c.html#a1fc4a71c31f5b048d3b1b7b2d10684d1',1,'startup.c']]],
['_5festack_6',['_estack',['../startup_8c.html#a69247aef56f755ef3b08265060dea50f',1,'startup.c']]],
['_5fsbss_7',['_sbss',['../startup_8c.html#adcc3ae1cacdf95ad88f01dd26f589175',1,'startup.c']]],
['_5fsdata_8',['_sdata',['../startup_8c.html#a61687bc10bffbfec9c6fd33bddff3094',1,'startup.c']]],
['_5fsidata_9',['_sidata',['../startup_8c.html#a1ecae4ad04c5b02e60d2db51706c2d75',1,'startup.c']]]
];

5
search/variables_1.js Normal file
View File

@@ -0,0 +1,5 @@
var searchData=
[
['address_5fbcstart_0',['ADDRESS_BCSTART',['../unionradio__shorts__t.html#aee0eed0fd63e4244c59ef72be9ea4a83',1,'radio_shorts_t']]],
['address_5frssistart_1',['ADDRESS_RSSISTART',['../unionradio__shorts__t.html#a17957fb43be1ca321b85504c790001f4',1,'radio_shorts_t']]]
];

Some files were not shown because too many files have changed in this diff Show More