| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226 |
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
- <meta http-equiv="X-UA-Compatible" content="IE=9"/>
- <meta name="generator" content="Doxygen 1.8.5"/>
- <title>NRF24: NRF24 Class 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="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 style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">NRF24
- </div>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <!-- end header part -->
- <!-- Generated by Doxygen 1.8.5 -->
- <div id="navrow1" class="tabs">
- <ul class="tablist">
- <li><a href="index.html"><span>Main Page</span></a></li>
- <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="examples.html"><span>Examples</span></a></li>
- </ul>
- </div>
- <div id="navrow2" class="tabs2">
- <ul class="tablist">
- <li><a href="annotated.html"><span>Class List</span></a></li>
- <li><a href="functions.html"><span>Class Members</span></a></li>
- </ul>
- </div>
- </div><!-- top -->
- <div class="header">
- <div class="summary">
- <a href="#pub-types">Public Types</a> |
- <a href="#pub-methods">Public Member Functions</a> |
- <a href="classNRF24-members.html">List of all members</a> </div>
- <div class="headertitle">
- <div class="title">NRF24 Class Reference</div> </div>
- </div><!--header-->
- <div class="contents">
- <p>Send and receive addressed, reliable, acknowledged datagrams by nRF24L01.
- <a href="classNRF24.html#details">More...</a></p>
- <p><code>#include <<a class="el" href="NRF24_8h_source.html">NRF24.h</a>></code></p>
- <table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
- Public Types</h2></td></tr>
- <tr class="memitem:a52d7af9188397d4a6f5dab55d4f04742"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="classNRF24.html#a52d7af9188397d4a6f5dab55d4f04742">NRF24DataRate</a> { <a class="el" href="classNRF24.html#a52d7af9188397d4a6f5dab55d4f04742a774c99f9cf1c98cb883d4a01c1444c52">NRF24DataRate1Mbps</a> = 0,
- <a class="el" href="classNRF24.html#a52d7af9188397d4a6f5dab55d4f04742aca0c89dd1b40bdc57b7026d8da54de9a">NRF24DataRate2Mbps</a>,
- <a class="el" href="classNRF24.html#a52d7af9188397d4a6f5dab55d4f04742ae4523002495ee537f2731b61a220e3af">NRF24DataRate250kbps</a>
- }</td></tr>
- <tr class="memdesc:a52d7af9188397d4a6f5dab55d4f04742"><td class="mdescLeft"> </td><td class="mdescRight">Defines convenient values for setting data rates in <a class="el" href="classNRF24.html#a3453db8390d5be4aa99d8c7fde3062a4">setRF()</a> <a href="classNRF24.html#a52d7af9188397d4a6f5dab55d4f04742">More...</a><br/></td></tr>
- <tr class="separator:a52d7af9188397d4a6f5dab55d4f04742"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a8386e81a9a4b824ab26e785879684c7e"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="classNRF24.html#a8386e81a9a4b824ab26e785879684c7e">NRF24TransmitPower</a> { <a class="el" href="classNRF24.html#a8386e81a9a4b824ab26e785879684c7ea4790420d436218aa3bf4c23687664853">NRF24TransmitPowerm18dBm</a> = 0,
- <a class="el" href="classNRF24.html#a8386e81a9a4b824ab26e785879684c7eacce8a36a9753c7c125ad6db450ddfff8">NRF24TransmitPowerm12dBm</a>,
- <a class="el" href="classNRF24.html#a8386e81a9a4b824ab26e785879684c7eaf8351d714335d0c24bcbb8d3c983d5c7">NRF24TransmitPowerm6dBm</a>,
- <a class="el" href="classNRF24.html#a8386e81a9a4b824ab26e785879684c7eacef1d6c037e276e6dadaff2b6056ec0c">NRF24TransmitPower0dBm</a>
- }</td></tr>
- <tr class="memdesc:a8386e81a9a4b824ab26e785879684c7e"><td class="mdescLeft"> </td><td class="mdescRight">Convenient values for setting transmitter power in <a class="el" href="classNRF24.html#a3453db8390d5be4aa99d8c7fde3062a4">setRF()</a> These are designed to agree with the values for RF_PWR To be passed to <a class="el" href="classNRF24.html#a3453db8390d5be4aa99d8c7fde3062a4">setRF()</a>;. <a href="classNRF24.html#a8386e81a9a4b824ab26e785879684c7e">More...</a><br/></td></tr>
- <tr class="separator:a8386e81a9a4b824ab26e785879684c7e"><td class="memSeparator" colspan="2"> </td></tr>
- </table><table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
- Public Member Functions</h2></td></tr>
- <tr class="memitem:ab0eb09c01f73bee4ff6935c0503a8ace"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classNRF24.html#ab0eb09c01f73bee4ff6935c0503a8ace">NRF24</a> (uint8_t chipEnablePin=8, uint8_t chipSelectPin=SS)</td></tr>
- <tr class="separator:ab0eb09c01f73bee4ff6935c0503a8ace"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a6e98cf508939240c1805245170a995f6"><td class="memItemLeft" align="right" valign="top">boolean </td><td class="memItemRight" valign="bottom"><a class="el" href="classNRF24.html#a6e98cf508939240c1805245170a995f6">init</a> ()</td></tr>
- <tr class="separator:a6e98cf508939240c1805245170a995f6"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a08ae66610a928a779c0b256e782128b5"><td class="memItemLeft" align="right" valign="top">uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classNRF24.html#a08ae66610a928a779c0b256e782128b5">spiCommand</a> (uint8_t command)</td></tr>
- <tr class="separator:a08ae66610a928a779c0b256e782128b5"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ab2f002c33ec719dfdd3ae70d70559254"><td class="memItemLeft" align="right" valign="top">uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classNRF24.html#ab2f002c33ec719dfdd3ae70d70559254">spiRead</a> (uint8_t command)</td></tr>
- <tr class="separator:ab2f002c33ec719dfdd3ae70d70559254"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a16f168ffe059120ba696936cd6bd76f1"><td class="memItemLeft" align="right" valign="top">uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classNRF24.html#a16f168ffe059120ba696936cd6bd76f1">spiWrite</a> (uint8_t command, uint8_t val)</td></tr>
- <tr class="separator:a16f168ffe059120ba696936cd6bd76f1"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a448aad6cda19f068009106aa5f6a7e6a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classNRF24.html#a448aad6cda19f068009106aa5f6a7e6a">spiBurstRead</a> (uint8_t command, uint8_t *dest, uint8_t len)</td></tr>
- <tr class="separator:a448aad6cda19f068009106aa5f6a7e6a"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a01161d0ba54c409e62ad670b9eceb73d"><td class="memItemLeft" align="right" valign="top">uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classNRF24.html#a01161d0ba54c409e62ad670b9eceb73d">spiBurstWrite</a> (uint8_t command, uint8_t *src, uint8_t len)</td></tr>
- <tr class="separator:a01161d0ba54c409e62ad670b9eceb73d"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a264f427858362e106705d92152bc634e"><td class="memItemLeft" align="right" valign="top">uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classNRF24.html#a264f427858362e106705d92152bc634e">spiReadRegister</a> (uint8_t reg)</td></tr>
- <tr class="separator:a264f427858362e106705d92152bc634e"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a81931bc1679b213b1cb1ae65b8357985"><td class="memItemLeft" align="right" valign="top">uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classNRF24.html#a81931bc1679b213b1cb1ae65b8357985">spiWriteRegister</a> (uint8_t reg, uint8_t val)</td></tr>
- <tr class="separator:a81931bc1679b213b1cb1ae65b8357985"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:abc48bb5a86d0bb498c753dc47cea8daa"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classNRF24.html#abc48bb5a86d0bb498c753dc47cea8daa">spiBurstReadRegister</a> (uint8_t reg, uint8_t *dest, uint8_t len)</td></tr>
- <tr class="separator:abc48bb5a86d0bb498c753dc47cea8daa"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a8562055be6ba65ca8fc292be5f8abc5a"><td class="memItemLeft" align="right" valign="top">uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classNRF24.html#a8562055be6ba65ca8fc292be5f8abc5a">spiBurstWriteRegister</a> (uint8_t reg, uint8_t *src, uint8_t len)</td></tr>
- <tr class="separator:a8562055be6ba65ca8fc292be5f8abc5a"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a9940479d33d554cab35d50b99112a166"><td class="memItemLeft" align="right" valign="top">uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classNRF24.html#a9940479d33d554cab35d50b99112a166">statusRead</a> ()</td></tr>
- <tr class="separator:a9940479d33d554cab35d50b99112a166"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a644f3b4fd446438fb340b52df4216ba9"><td class="memItemLeft" align="right" valign="top">uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classNRF24.html#a644f3b4fd446438fb340b52df4216ba9">flushTx</a> ()</td></tr>
- <tr class="separator:a644f3b4fd446438fb340b52df4216ba9"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a9d3d0d432b09d3403a52aa9a78d3f848"><td class="memItemLeft" align="right" valign="top">uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classNRF24.html#a9d3d0d432b09d3403a52aa9a78d3f848">flushRx</a> ()</td></tr>
- <tr class="separator:a9d3d0d432b09d3403a52aa9a78d3f848"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a3fa90005f98eb2744a533899f9b7e023"><td class="memItemLeft" align="right" valign="top">boolean </td><td class="memItemRight" valign="bottom"><a class="el" href="classNRF24.html#a3fa90005f98eb2744a533899f9b7e023">setChannel</a> (uint8_t channel)</td></tr>
- <tr class="separator:a3fa90005f98eb2744a533899f9b7e023"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a790d69e5cb1039fb2924f9405e30e250"><td class="memItemLeft" align="right" valign="top">boolean </td><td class="memItemRight" valign="bottom"><a class="el" href="classNRF24.html#a790d69e5cb1039fb2924f9405e30e250">setConfiguration</a> (uint8_t configuration)</td></tr>
- <tr class="separator:a790d69e5cb1039fb2924f9405e30e250"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a28b29969592f9f59c267ae7ffa020b2b"><td class="memItemLeft" align="right" valign="top">boolean </td><td class="memItemRight" valign="bottom"><a class="el" href="classNRF24.html#a28b29969592f9f59c267ae7ffa020b2b">setPipeAddress</a> (uint8_t pipe, uint8_t *address, uint8_t len)</td></tr>
- <tr class="separator:a28b29969592f9f59c267ae7ffa020b2b"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a1ac9bfce3833725b8b66d9875a8bc00e"><td class="memItemLeft" align="right" valign="top">boolean </td><td class="memItemRight" valign="bottom"><a class="el" href="classNRF24.html#a1ac9bfce3833725b8b66d9875a8bc00e">setRetry</a> (uint8_t delay, uint8_t count=3)</td></tr>
- <tr class="separator:a1ac9bfce3833725b8b66d9875a8bc00e"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ade21e0bd4f92d0dfa45909bbbb0e4b01"><td class="memItemLeft" align="right" valign="top">boolean </td><td class="memItemRight" valign="bottom"><a class="el" href="classNRF24.html#ade21e0bd4f92d0dfa45909bbbb0e4b01">setThisAddress</a> (uint8_t *address, uint8_t len)</td></tr>
- <tr class="separator:ade21e0bd4f92d0dfa45909bbbb0e4b01"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a7b40c4c481bddf343acdac5179fddc75"><td class="memItemLeft" align="right" valign="top">boolean </td><td class="memItemRight" valign="bottom"><a class="el" href="classNRF24.html#a7b40c4c481bddf343acdac5179fddc75">setTransmitAddress</a> (uint8_t *address, uint8_t len)</td></tr>
- <tr class="separator:a7b40c4c481bddf343acdac5179fddc75"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:adb2fbd1d1aadaad1e9b268508149b6c8"><td class="memItemLeft" align="right" valign="top">boolean </td><td class="memItemRight" valign="bottom"><a class="el" href="classNRF24.html#adb2fbd1d1aadaad1e9b268508149b6c8">setPayloadSize</a> (uint8_t size)</td></tr>
- <tr class="separator:adb2fbd1d1aadaad1e9b268508149b6c8"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a3453db8390d5be4aa99d8c7fde3062a4"><td class="memItemLeft" align="right" valign="top">boolean </td><td class="memItemRight" valign="bottom"><a class="el" href="classNRF24.html#a3453db8390d5be4aa99d8c7fde3062a4">setRF</a> (uint8_t data_rate, uint8_t power)</td></tr>
- <tr class="separator:a3453db8390d5be4aa99d8c7fde3062a4"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a5f40f4c8dcb3b5e097510dc6396c7f9b"><td class="memItemLeft" align="right" valign="top">boolean </td><td class="memItemRight" valign="bottom"><a class="el" href="classNRF24.html#a5f40f4c8dcb3b5e097510dc6396c7f9b">powerDown</a> ()</td></tr>
- <tr class="separator:a5f40f4c8dcb3b5e097510dc6396c7f9b"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a9e15babbfa487da3425b19c60a93c057"><td class="memItemLeft" align="right" valign="top">boolean </td><td class="memItemRight" valign="bottom"><a class="el" href="classNRF24.html#a9e15babbfa487da3425b19c60a93c057">powerUpRx</a> ()</td></tr>
- <tr class="separator:a9e15babbfa487da3425b19c60a93c057"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a796cb1901211284a958197d657d6f164"><td class="memItemLeft" align="right" valign="top">boolean </td><td class="memItemRight" valign="bottom"><a class="el" href="classNRF24.html#a796cb1901211284a958197d657d6f164">powerUpTx</a> ()</td></tr>
- <tr class="separator:a796cb1901211284a958197d657d6f164"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:aad280539b80b28e55ab3187714bc7f2f"><td class="memItemLeft" align="right" valign="top">boolean </td><td class="memItemRight" valign="bottom"><a class="el" href="classNRF24.html#aad280539b80b28e55ab3187714bc7f2f">send</a> (uint8_t *data, uint8_t len, boolean noack=false)</td></tr>
- <tr class="separator:aad280539b80b28e55ab3187714bc7f2f"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a78a011cddedb14b8764ad5ea760c28ae"><td class="memItemLeft" align="right" valign="top">boolean </td><td class="memItemRight" valign="bottom"><a class="el" href="classNRF24.html#a78a011cddedb14b8764ad5ea760c28ae">waitPacketSent</a> ()</td></tr>
- <tr class="separator:a78a011cddedb14b8764ad5ea760c28ae"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:aaff7453d951c74e87ca845e708742252"><td class="memItemLeft" align="right" valign="top">boolean </td><td class="memItemRight" valign="bottom"><a class="el" href="classNRF24.html#aaff7453d951c74e87ca845e708742252">isSending</a> ()</td></tr>
- <tr class="separator:aaff7453d951c74e87ca845e708742252"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ab6b14a05c78e40f0491793dcb73c8274"><td class="memItemLeft" align="right" valign="top">boolean </td><td class="memItemRight" valign="bottom"><a class="el" href="classNRF24.html#ab6b14a05c78e40f0491793dcb73c8274">printRegisters</a> ()</td></tr>
- <tr class="separator:ab6b14a05c78e40f0491793dcb73c8274"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a84a25d5654902ed6b69d3a0de9422cfd"><td class="memItemLeft" align="right" valign="top">boolean </td><td class="memItemRight" valign="bottom"><a class="el" href="classNRF24.html#a84a25d5654902ed6b69d3a0de9422cfd">available</a> ()</td></tr>
- <tr class="separator:a84a25d5654902ed6b69d3a0de9422cfd"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a5260f3e5eeb911e720290e652f628ab5"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classNRF24.html#a5260f3e5eeb911e720290e652f628ab5">waitAvailable</a> ()</td></tr>
- <tr class="separator:a5260f3e5eeb911e720290e652f628ab5"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ae36ca859ea942a6e9480e8747a27921e"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classNRF24.html#ae36ca859ea942a6e9480e8747a27921e">waitAvailableTimeout</a> (uint16_t timeout)</td></tr>
- <tr class="separator:ae36ca859ea942a6e9480e8747a27921e"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a12799e0afcb52f2a8cb7418dca9e0eab"><td class="memItemLeft" align="right" valign="top">boolean </td><td class="memItemRight" valign="bottom"><a class="el" href="classNRF24.html#a12799e0afcb52f2a8cb7418dca9e0eab">recv</a> (uint8_t *buf, uint8_t *len)</td></tr>
- <tr class="separator:a12799e0afcb52f2a8cb7418dca9e0eab"><td class="memSeparator" colspan="2"> </td></tr>
- </table>
- <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
- <div class="textblock"><p>Send and receive addressed, reliable, acknowledged datagrams by nRF24L01. </p>
- <p>This base class provides basic functions for sending and receiving addressed, reliable, automatically acknowledged and retransmitted datagrams via nRF24L01 of arbitrary length to 32 octets per packet. Sender and receiver must each know the addreesses of the other, so arbitrary meshes and stars are not possible at this level. Directed replies (ie replies sent back to the original sender) are not possible (the address of the sender is not carried in the message). See subclasses for support for this.</p>
- <p>Subclasses may use this class to implement streams, mesh routers, repeaters, translators etc.</p>
- <p>On transmission, the addresses of this node defaults to 0x0000000000, unless changed by a subclass.</p>
- <p>The radio is configured to use Enhanced Shockburst with retransmits. TX_ADDR and RX_ADDR_P0 are set to the transmit address (ie the address of the destination for the next message RX_ADDR_P1 is set to the address of this node RX_ADDR_P2 is set to RX_ADDR_P1 with the LSbyte set to 0xff, for use as a broadcast address</p>
- <p>Naturally, for any 2 radios to communicate that must be configured to use the same frequency and data rate, and with compatible addresses </p>
- <dl><dt><b>Examples: </b></dt><dd><a class="el" href="crazyflie_8ino-example.html#_a0">crazyflie.ino</a>, <a class="el" href="crazyflie_client_8ino-example.html#_a0">crazyflie_client.ino</a>, <a class="el" href="nrf24_audio_rx_8pde-example.html#_a0">nrf24_audio_rx.pde</a>, <a class="el" href="nrf24_audio_tx_8pde-example.html#_a0">nrf24_audio_tx.pde</a>, <a class="el" href="nrf24_ping_client_8pde-example.html#_a0">nrf24_ping_client.pde</a>, <a class="el" href="nrf24_ping_server_8pde-example.html#_a0">nrf24_ping_server.pde</a>, <a class="el" href="nrf24_specan_8pde-example.html#_a0">nrf24_specan.pde</a>, and <a class="el" href="nrf24_test_8pde-example.html#_a0">nrf24_test.pde</a>.</dd>
- </dl></div><h2 class="groupheader">Member Enumeration Documentation</h2>
- <a class="anchor" id="a52d7af9188397d4a6f5dab55d4f04742"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">enum <a class="el" href="classNRF24.html#a52d7af9188397d4a6f5dab55d4f04742">NRF24::NRF24DataRate</a></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Defines convenient values for setting data rates in <a class="el" href="classNRF24.html#a3453db8390d5be4aa99d8c7fde3062a4">setRF()</a> </p>
- <table class="fieldtable">
- <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a52d7af9188397d4a6f5dab55d4f04742a774c99f9cf1c98cb883d4a01c1444c52"></a>NRF24DataRate1Mbps</em> </td><td class="fielddoc">
- <p>1 Mbps </p>
- </td></tr>
- <tr><td class="fieldname"><em><a class="anchor" id="a52d7af9188397d4a6f5dab55d4f04742aca0c89dd1b40bdc57b7026d8da54de9a"></a>NRF24DataRate2Mbps</em> </td><td class="fielddoc">
- <p>2 Mbps </p>
- </td></tr>
- <tr><td class="fieldname"><em><a class="anchor" id="a52d7af9188397d4a6f5dab55d4f04742ae4523002495ee537f2731b61a220e3af"></a>NRF24DataRate250kbps</em> </td><td class="fielddoc">
- <p>250 kbps </p>
- </td></tr>
- </table>
- </div>
- </div>
- <a class="anchor" id="a8386e81a9a4b824ab26e785879684c7e"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">enum <a class="el" href="classNRF24.html#a8386e81a9a4b824ab26e785879684c7e">NRF24::NRF24TransmitPower</a></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Convenient values for setting transmitter power in <a class="el" href="classNRF24.html#a3453db8390d5be4aa99d8c7fde3062a4">setRF()</a> These are designed to agree with the values for RF_PWR To be passed to <a class="el" href="classNRF24.html#a3453db8390d5be4aa99d8c7fde3062a4">setRF()</a>;. </p>
- <table class="fieldtable">
- <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a8386e81a9a4b824ab26e785879684c7ea4790420d436218aa3bf4c23687664853"></a>NRF24TransmitPowerm18dBm</em> </td><td class="fielddoc">
- <p>-18 dBm </p>
- </td></tr>
- <tr><td class="fieldname"><em><a class="anchor" id="a8386e81a9a4b824ab26e785879684c7eacce8a36a9753c7c125ad6db450ddfff8"></a>NRF24TransmitPowerm12dBm</em> </td><td class="fielddoc">
- <p>-12 dBm </p>
- </td></tr>
- <tr><td class="fieldname"><em><a class="anchor" id="a8386e81a9a4b824ab26e785879684c7eaf8351d714335d0c24bcbb8d3c983d5c7"></a>NRF24TransmitPowerm6dBm</em> </td><td class="fielddoc">
- <p>-6 dBm </p>
- </td></tr>
- <tr><td class="fieldname"><em><a class="anchor" id="a8386e81a9a4b824ab26e785879684c7eacef1d6c037e276e6dadaff2b6056ec0c"></a>NRF24TransmitPower0dBm</em> </td><td class="fielddoc">
- <p>0 dBm </p>
- </td></tr>
- </table>
- </div>
- </div>
- <h2 class="groupheader">Constructor & Destructor Documentation</h2>
- <a class="anchor" id="ab0eb09c01f73bee4ff6935c0503a8ace"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">NRF24::NRF24 </td>
- <td>(</td>
- <td class="paramtype">uint8_t </td>
- <td class="paramname"><em>chipEnablePin</em> = <code>8</code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">uint8_t </td>
- <td class="paramname"><em>chipSelectPin</em> = <code>SS</code> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Constructor. You can have multiple instances, but each instance must have its own chip enable and slave select pin. After constructing, you must call <a class="el" href="classNRF24.html#a6e98cf508939240c1805245170a995f6">init()</a> to initialise the interface and the radio module </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">chipEnablePin</td><td>the Arduino pin to use to enable the chip for4 transmit/receive </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">chipSelectPin</td><td>the Arduino pin number of the output to use to select the <a class="el" href="classNRF24.html" title="Send and receive addressed, reliable, acknowledged datagrams by nRF24L01. ">NRF24</a> before accessing it </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <h2 class="groupheader">Member Function Documentation</h2>
- <a class="anchor" id="a84a25d5654902ed6b69d3a0de9422cfd"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">boolean NRF24::available </td>
- <td>(</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Checks whether a received message is available. This can be called multiple times in a timeout loop </p>
- <dl class="section return"><dt>Returns</dt><dd>true if a complete, valid message has been received and is able to be retrieved by <a class="el" href="classNRF24.html#a12799e0afcb52f2a8cb7418dca9e0eab">recv()</a> </dd></dl>
- <p>References <a class="el" href="classNRF24.html#a9d3d0d432b09d3403a52aa9a78d3f848">flushRx()</a>, <a class="el" href="classNRF24.html#ab2f002c33ec719dfdd3ae70d70559254">spiRead()</a>, and <a class="el" href="classNRF24.html#a264f427858362e106705d92152bc634e">spiReadRegister()</a>.</p>
- <p>Referenced by <a class="el" href="classNRF24.html#a12799e0afcb52f2a8cb7418dca9e0eab">recv()</a>, <a class="el" href="classNRF24.html#a5260f3e5eeb911e720290e652f628ab5">waitAvailable()</a>, and <a class="el" href="classNRF24.html#ae36ca859ea942a6e9480e8747a27921e">waitAvailableTimeout()</a>.</p>
- </div>
- </div>
- <a class="anchor" id="a9d3d0d432b09d3403a52aa9a78d3f848"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">uint8_t NRF24::flushRx </td>
- <td>(</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Flush the RX FIFOs </p>
- <dl class="section return"><dt>Returns</dt><dd>the value of the device status register </dd></dl>
- <p>References <a class="el" href="classNRF24.html#a08ae66610a928a779c0b256e782128b5">spiCommand()</a>.</p>
- <p>Referenced by <a class="el" href="classNRF24.html#a84a25d5654902ed6b69d3a0de9422cfd">available()</a>, and <a class="el" href="classNRF24.html#a6e98cf508939240c1805245170a995f6">init()</a>.</p>
- </div>
- </div>
- <a class="anchor" id="a644f3b4fd446438fb340b52df4216ba9"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">uint8_t NRF24::flushTx </td>
- <td>(</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Flush the TX FIFOs </p>
- <dl class="section return"><dt>Returns</dt><dd>the value of the device status register </dd></dl>
- <p>References <a class="el" href="classNRF24.html#a08ae66610a928a779c0b256e782128b5">spiCommand()</a>.</p>
- <p>Referenced by <a class="el" href="classNRF24.html#a6e98cf508939240c1805245170a995f6">init()</a>, and <a class="el" href="classNRF24.html#a78a011cddedb14b8764ad5ea760c28ae">waitPacketSent()</a>.</p>
- </div>
- </div>
- <a class="anchor" id="a6e98cf508939240c1805245170a995f6"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">boolean NRF24::init </td>
- <td>(</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Initialises this instance and the radio module connected to it. The following steps are taken:g</p>
- <ul>
- <li>Set the chip enable and chip select pins to output LOW, HIGH respectively.</li>
- <li>Initialise the SPI output pins</li>
- <li>Initialise the SPI interface library to 8MHz (Hint, if you want to lower the SPI frequency (perhaps where you have other SPI shields, low voltages etc), call SPI.setClockDivider() after <a class="el" href="classNRF24.html#a6e98cf508939240c1805245170a995f6">init()</a>). -Flush the receiver and transmitter buffers</li>
- <li>Set the radio to receive with <a class="el" href="classNRF24.html#a9e15babbfa487da3425b19c60a93c057">powerUpRx()</a>; <dl class="section return"><dt>Returns</dt><dd>true if everything was successful </dd></dl>
- </li>
- </ul>
- <dl><dt><b>Examples: </b></dt><dd><a class="el" href="crazyflie_8ino-example.html#a1">crazyflie.ino</a>, <a class="el" href="crazyflie_client_8ino-example.html#a1">crazyflie_client.ino</a>, <a class="el" href="nrf24_audio_rx_8pde-example.html#a1">nrf24_audio_rx.pde</a>, <a class="el" href="nrf24_audio_tx_8pde-example.html#a1">nrf24_audio_tx.pde</a>, <a class="el" href="nrf24_ping_client_8pde-example.html#a1">nrf24_ping_client.pde</a>, <a class="el" href="nrf24_ping_server_8pde-example.html#a1">nrf24_ping_server.pde</a>, <a class="el" href="nrf24_specan_8pde-example.html#a1">nrf24_specan.pde</a>, and <a class="el" href="nrf24_test_8pde-example.html#a1">nrf24_test.pde</a>.</dd>
- </dl>
- <p>References <a class="el" href="classNRF24.html#a9d3d0d432b09d3403a52aa9a78d3f848">flushRx()</a>, <a class="el" href="classNRF24.html#a644f3b4fd446438fb340b52df4216ba9">flushTx()</a>, <a class="el" href="classNRF24.html#a5f40f4c8dcb3b5e097510dc6396c7f9b">powerDown()</a>, <a class="el" href="classNRF24.html#a9e15babbfa487da3425b19c60a93c057">powerUpRx()</a>, and <a class="el" href="classNRF24.html#a81931bc1679b213b1cb1ae65b8357985">spiWriteRegister()</a>.</p>
- </div>
- </div>
- <a class="anchor" id="aaff7453d951c74e87ca845e708742252"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">boolean NRF24::isSending </td>
- <td>(</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Indicates if the chip is in transmit mode and there is a packet currently being transmitted </p>
- <dl class="section return"><dt>Returns</dt><dd>true if the chip is in transmit mode and there is a transmission in progress </dd></dl>
- <p>References <a class="el" href="classNRF24.html#a264f427858362e106705d92152bc634e">spiReadRegister()</a>, and <a class="el" href="classNRF24.html#a9940479d33d554cab35d50b99112a166">statusRead()</a>.</p>
- </div>
- </div>
- <a class="anchor" id="a5f40f4c8dcb3b5e097510dc6396c7f9b"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">boolean NRF24::powerDown </td>
- <td>(</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Sets the radio in power down mode. Sets chip enable to LOW. </p>
- <dl class="section return"><dt>Returns</dt><dd>true on success </dd></dl>
- <dl><dt><b>Examples: </b></dt><dd><a class="el" href="nrf24_test_8pde-example.html#a10">nrf24_test.pde</a>.</dd>
- </dl>
- <p>References <a class="el" href="classNRF24.html#a81931bc1679b213b1cb1ae65b8357985">spiWriteRegister()</a>.</p>
- <p>Referenced by <a class="el" href="classNRF24.html#a6e98cf508939240c1805245170a995f6">init()</a>.</p>
- </div>
- </div>
- <a class="anchor" id="a9e15babbfa487da3425b19c60a93c057"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">boolean NRF24::powerUpRx </td>
- <td>(</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Sets the radio in RX mode. Sets chip enable to HIGH to enable the chip in RX mode. </p>
- <dl class="section return"><dt>Returns</dt><dd>true on success </dd></dl>
- <dl><dt><b>Examples: </b></dt><dd><a class="el" href="nrf24_audio_rx_8pde-example.html#a8">nrf24_audio_rx.pde</a>, and <a class="el" href="nrf24_specan_8pde-example.html#a5">nrf24_specan.pde</a>.</dd>
- </dl>
- <p>References <a class="el" href="classNRF24.html#a81931bc1679b213b1cb1ae65b8357985">spiWriteRegister()</a>.</p>
- <p>Referenced by <a class="el" href="classNRF24.html#a6e98cf508939240c1805245170a995f6">init()</a>, <a class="el" href="classNRF24.html#a5260f3e5eeb911e720290e652f628ab5">waitAvailable()</a>, and <a class="el" href="classNRF24.html#ae36ca859ea942a6e9480e8747a27921e">waitAvailableTimeout()</a>.</p>
- </div>
- </div>
- <a class="anchor" id="a796cb1901211284a958197d657d6f164"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">boolean NRF24::powerUpTx </td>
- <td>(</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Sets the radio in TX mode. Pulses the chip enable LOW then HIGH to enable the chip in TX mode. </p>
- <dl class="section return"><dt>Returns</dt><dd>true on success </dd></dl>
- <dl><dt><b>Examples: </b></dt><dd><a class="el" href="nrf24_test_8pde-example.html#a9">nrf24_test.pde</a>.</dd>
- </dl>
- <p>References <a class="el" href="classNRF24.html#a81931bc1679b213b1cb1ae65b8357985">spiWriteRegister()</a>.</p>
- <p>Referenced by <a class="el" href="classNRF24.html#aad280539b80b28e55ab3187714bc7f2f">send()</a>.</p>
- </div>
- </div>
- <a class="anchor" id="ab6b14a05c78e40f0491793dcb73c8274"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">boolean NRF24::printRegisters </td>
- <td>(</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Prints the value of all chip registers for debugging purposes </p>
- <dl class="section return"><dt>Returns</dt><dd>true on success </dd></dl>
- <p>References <a class="el" href="classNRF24.html#a264f427858362e106705d92152bc634e">spiReadRegister()</a>.</p>
- </div>
- </div>
- <a class="anchor" id="a12799e0afcb52f2a8cb7418dca9e0eab"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">boolean NRF24::recv </td>
- <td>(</td>
- <td class="paramtype">uint8_t * </td>
- <td class="paramname"><em>buf</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">uint8_t * </td>
- <td class="paramname"><em>len</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Turns the receiver on if it not already on. If there is a valid message available, copy it to buf and return true else return false. If a message is copied, *len is set to the length (Caution, 0 length messages are permitted). You should be sure to call this function frequently enough to not miss any messages It is recommended that you call it in your main loop. </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">buf</td><td>Location to copy the received message </td></tr>
- <tr><td class="paramdir">[in,out]</td><td class="paramname">len</td><td>Pointer to available space in buf. Set to the actual number of octets copied. </td></tr>
- </table>
- </dd>
- </dl>
- <dl class="section return"><dt>Returns</dt><dd>true if a valid message was copied to buf </dd></dl>
- <dl><dt><b>Examples: </b></dt><dd><a class="el" href="crazyflie_8ino-example.html#a13">crazyflie.ino</a>, <a class="el" href="nrf24_audio_rx_8pde-example.html#a10">nrf24_audio_rx.pde</a>, <a class="el" href="nrf24_ping_client_8pde-example.html#a12">nrf24_ping_client.pde</a>, and <a class="el" href="nrf24_ping_server_8pde-example.html#a9">nrf24_ping_server.pde</a>.</dd>
- </dl>
- <p>References <a class="el" href="classNRF24.html#a84a25d5654902ed6b69d3a0de9422cfd">available()</a>, <a class="el" href="classNRF24.html#a448aad6cda19f068009106aa5f6a7e6a">spiBurstRead()</a>, <a class="el" href="classNRF24.html#ab2f002c33ec719dfdd3ae70d70559254">spiRead()</a>, and <a class="el" href="classNRF24.html#a81931bc1679b213b1cb1ae65b8357985">spiWriteRegister()</a>.</p>
- </div>
- </div>
- <a class="anchor" id="aad280539b80b28e55ab3187714bc7f2f"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">boolean NRF24::send </td>
- <td>(</td>
- <td class="paramtype">uint8_t * </td>
- <td class="paramname"><em>data</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">uint8_t </td>
- <td class="paramname"><em>len</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">boolean </td>
- <td class="paramname"><em>noack</em> = <code>false</code> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Sends data to the address set by <a class="el" href="classNRF24.html#a7b40c4c481bddf343acdac5179fddc75">setTransmitAddress()</a> Sets the radio to TX mode </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>Data bytes to send. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">len</td><td>Number of data bytes to set in teh TX buffer. The actual size of the transmitted data payload is set by setPayloadSize </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">noack</td><td>Optional parameter if true sends the message NOACK mode. Requires that the NOACK feature be enabled with spiWriteRegister(NRF24_REG_1D_FEATURE, NRF24_EN_DYN_ACK); </td></tr>
- </table>
- </dd>
- </dl>
- <dl class="section return"><dt>Returns</dt><dd>true on success </dd></dl>
- <dl><dt><b>Examples: </b></dt><dd><a class="el" href="crazyflie_client_8ino-example.html#a10">crazyflie_client.ino</a>, <a class="el" href="nrf24_audio_tx_8pde-example.html#a9">nrf24_audio_tx.pde</a>, <a class="el" href="nrf24_ping_client_8pde-example.html#a9">nrf24_ping_client.pde</a>, and <a class="el" href="nrf24_ping_server_8pde-example.html#a11">nrf24_ping_server.pde</a>.</dd>
- </dl>
- <p>References <a class="el" href="classNRF24.html#a796cb1901211284a958197d657d6f164">powerUpTx()</a>, and <a class="el" href="classNRF24.html#a01161d0ba54c409e62ad670b9eceb73d">spiBurstWrite()</a>.</p>
- </div>
- </div>
- <a class="anchor" id="a3fa90005f98eb2744a533899f9b7e023"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">boolean NRF24::setChannel </td>
- <td>(</td>
- <td class="paramtype">uint8_t </td>
- <td class="paramname"><em>channel</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Sets the transmit and receive channel number. The frequency used is (2400 + channel) MHz </p>
- <dl class="section return"><dt>Returns</dt><dd>true on success </dd></dl>
- <dl><dt><b>Examples: </b></dt><dd><a class="el" href="crazyflie_8ino-example.html#a2">crazyflie.ino</a>, <a class="el" href="crazyflie_client_8ino-example.html#a2">crazyflie_client.ino</a>, <a class="el" href="nrf24_audio_rx_8pde-example.html#a2">nrf24_audio_rx.pde</a>, <a class="el" href="nrf24_audio_tx_8pde-example.html#a2">nrf24_audio_tx.pde</a>, <a class="el" href="nrf24_ping_client_8pde-example.html#a2">nrf24_ping_client.pde</a>, <a class="el" href="nrf24_ping_server_8pde-example.html#a2">nrf24_ping_server.pde</a>, <a class="el" href="nrf24_specan_8pde-example.html#a6">nrf24_specan.pde</a>, and <a class="el" href="nrf24_test_8pde-example.html#a2">nrf24_test.pde</a>.</dd>
- </dl>
- <p>References <a class="el" href="classNRF24.html#a81931bc1679b213b1cb1ae65b8357985">spiWriteRegister()</a>.</p>
- </div>
- </div>
- <a class="anchor" id="a790d69e5cb1039fb2924f9405e30e250"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">boolean NRF24::setConfiguration </td>
- <td>(</td>
- <td class="paramtype">uint8_t </td>
- <td class="paramname"><em>configuration</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Sets the chip configuration that will be used to set the <a class="el" href="classNRF24.html" title="Send and receive addressed, reliable, acknowledged datagrams by nRF24L01. ">NRF24</a> NRF24_REG_00_CONFIG register. This allows you to change some chip configuration for compatibility with libraries other than this one. You should not normally need to call this. Defaults to NRF24_EN_CRC, which is the standard configuraiton for this library. </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">configuration</td><td>The chip configuration to be used. </td></tr>
- </table>
- </dd>
- </dl>
- <dl class="section return"><dt>Returns</dt><dd>true on success </dd></dl>
- <dl><dt><b>Examples: </b></dt><dd><a class="el" href="crazyflie_8ino-example.html#a7">crazyflie.ino</a>, and <a class="el" href="crazyflie_client_8ino-example.html#a6">crazyflie_client.ino</a>.</dd>
- </dl>
- </div>
- </div>
- <a class="anchor" id="adb2fbd1d1aadaad1e9b268508149b6c8"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">boolean NRF24::setPayloadSize </td>
- <td>(</td>
- <td class="paramtype">uint8_t </td>
- <td class="paramname"><em>size</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Sets the number of bytes transmitted in each payload </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>Size of the transmitted payload in bytes </td></tr>
- </table>
- </dd>
- </dl>
- <dl class="section return"><dt>Returns</dt><dd>true on success </dd></dl>
- <dl><dt><b>Examples: </b></dt><dd><a class="el" href="nrf24_audio_rx_8pde-example.html#a4">nrf24_audio_rx.pde</a>, <a class="el" href="nrf24_audio_tx_8pde-example.html#a3">nrf24_audio_tx.pde</a>, <a class="el" href="nrf24_ping_client_8pde-example.html#a4">nrf24_ping_client.pde</a>, <a class="el" href="nrf24_ping_server_8pde-example.html#a4">nrf24_ping_server.pde</a>, and <a class="el" href="nrf24_test_8pde-example.html#a4">nrf24_test.pde</a>.</dd>
- </dl>
- <p>References <a class="el" href="classNRF24.html#a81931bc1679b213b1cb1ae65b8357985">spiWriteRegister()</a>.</p>
- </div>
- </div>
- <a class="anchor" id="a28b29969592f9f59c267ae7ffa020b2b"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">boolean NRF24::setPipeAddress </td>
- <td>(</td>
- <td class="paramtype">uint8_t </td>
- <td class="paramname"><em>pipe</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">uint8_t * </td>
- <td class="paramname"><em>address</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">uint8_t </td>
- <td class="paramname"><em>len</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Sets the first len bytes of the address for the given <a class="el" href="classNRF24.html" title="Send and receive addressed, reliable, acknowledged datagrams by nRF24L01. ">NRF24</a> receiver pipe This is an internal function and is not normally used by appications, but can be used for specialised applications. </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">pipe</td><td>The index of the pipe to set, from 0 to 5 </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">address</td><td>The new address for receiving. Must match the transmit address of the transmitting node </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">len</td><td>Number of bytes of receive address to set. </td></tr>
- </table>
- </dd>
- </dl>
- <dl class="section return"><dt>Returns</dt><dd>true on success </dd></dl>
- <dl><dt><b>Examples: </b></dt><dd><a class="el" href="crazyflie_8ino-example.html#a6">crazyflie.ino</a>.</dd>
- </dl>
- <p>References <a class="el" href="classNRF24.html#a8562055be6ba65ca8fc292be5f8abc5a">spiBurstWriteRegister()</a>.</p>
- <p>Referenced by <a class="el" href="classNRF24.html#ade21e0bd4f92d0dfa45909bbbb0e4b01">setThisAddress()</a>.</p>
- </div>
- </div>
- <a class="anchor" id="a1ac9bfce3833725b8b66d9875a8bc00e"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">boolean NRF24::setRetry </td>
- <td>(</td>
- <td class="paramtype">uint8_t </td>
- <td class="paramname"><em>delay</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">uint8_t </td>
- <td class="paramname"><em>count</em> = <code>3</code> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Set the Auto Retransmit Delay and Auto Retransmit Count for Auto retransmission (ART). See section 7.4.2 in the <a class="el" href="classNRF24.html" title="Send and receive addressed, reliable, acknowledged datagrams by nRF24L01. ">NRF24</a> documentation It may be very important to set an appropriate delay and count for your application, especially with 250kbps (i.e. slow) data rate. The defaults are OK for faster data rates. If the delay is too short, the symptoms wil be unreliable transmission, or tranmsission failures </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">delay</td><td>The number of 250 microsecond intervals to wait for an ACK. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">count</td><td>The number of retries to us. </td></tr>
- </table>
- </dd>
- </dl>
- <dl class="section return"><dt>Returns</dt><dd>true on success </dd></dl>
- <dl><dt><b>Examples: </b></dt><dd><a class="el" href="crazyflie_8ino-example.html#a9">crazyflie.ino</a>, and <a class="el" href="crazyflie_client_8ino-example.html#a8">crazyflie_client.ino</a>.</dd>
- </dl>
- <p>References <a class="el" href="classNRF24.html#a81931bc1679b213b1cb1ae65b8357985">spiWriteRegister()</a>.</p>
- </div>
- </div>
- <a class="anchor" id="a3453db8390d5be4aa99d8c7fde3062a4"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">boolean NRF24::setRF </td>
- <td>(</td>
- <td class="paramtype">uint8_t </td>
- <td class="paramname"><em>data_rate</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">uint8_t </td>
- <td class="paramname"><em>power</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Sets the data rate and tranmitter power to use </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">data_rate</td><td>The data rate to use for all packets transmitted and received. One of NRF24DataRate </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">power</td><td>Transmitter power. One of NRF24TransmitPower. </td></tr>
- </table>
- </dd>
- </dl>
- <dl class="section return"><dt>Returns</dt><dd>true on success </dd></dl>
- <dl><dt><b>Examples: </b></dt><dd><a class="el" href="crazyflie_8ino-example.html#a3">crazyflie.ino</a>, <a class="el" href="crazyflie_client_8ino-example.html#a3">crazyflie_client.ino</a>, <a class="el" href="nrf24_audio_rx_8pde-example.html#a5">nrf24_audio_rx.pde</a>, <a class="el" href="nrf24_audio_tx_8pde-example.html#a4">nrf24_audio_tx.pde</a>, <a class="el" href="nrf24_ping_client_8pde-example.html#a5">nrf24_ping_client.pde</a>, <a class="el" href="nrf24_ping_server_8pde-example.html#a5">nrf24_ping_server.pde</a>, <a class="el" href="nrf24_specan_8pde-example.html#a2">nrf24_specan.pde</a>, and <a class="el" href="nrf24_test_8pde-example.html#a5">nrf24_test.pde</a>.</dd>
- </dl>
- <p>References <a class="el" href="classNRF24.html#a52d7af9188397d4a6f5dab55d4f04742ae4523002495ee537f2731b61a220e3af">NRF24DataRate250kbps</a>, <a class="el" href="classNRF24.html#a52d7af9188397d4a6f5dab55d4f04742aca0c89dd1b40bdc57b7026d8da54de9a">NRF24DataRate2Mbps</a>, and <a class="el" href="classNRF24.html#a81931bc1679b213b1cb1ae65b8357985">spiWriteRegister()</a>.</p>
- </div>
- </div>
- <a class="anchor" id="ade21e0bd4f92d0dfa45909bbbb0e4b01"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">boolean NRF24::setThisAddress </td>
- <td>(</td>
- <td class="paramtype">uint8_t * </td>
- <td class="paramname"><em>address</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">uint8_t </td>
- <td class="paramname"><em>len</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Sets the first len bytes of the address of this node Normally len is the same length as setAddressLength, but can be smaller in order to set the least significant bytes of the address </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">address</td><td>The new address for receiving. Must match the setTransmitAddress of the transmitting node. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">len</td><td>Number of bytes of receive address to set. </td></tr>
- </table>
- </dd>
- </dl>
- <dl class="section return"><dt>Returns</dt><dd>true on success </dd></dl>
- <dl><dt><b>Examples: </b></dt><dd><a class="el" href="nrf24_audio_rx_8pde-example.html#a3">nrf24_audio_rx.pde</a>, <a class="el" href="nrf24_ping_client_8pde-example.html#a3">nrf24_ping_client.pde</a>, <a class="el" href="nrf24_ping_server_8pde-example.html#a3">nrf24_ping_server.pde</a>, and <a class="el" href="nrf24_test_8pde-example.html#a3">nrf24_test.pde</a>.</dd>
- </dl>
- <p>References <a class="el" href="classNRF24.html#a28b29969592f9f59c267ae7ffa020b2b">setPipeAddress()</a>.</p>
- </div>
- </div>
- <a class="anchor" id="a7b40c4c481bddf343acdac5179fddc75"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">boolean NRF24::setTransmitAddress </td>
- <td>(</td>
- <td class="paramtype">uint8_t * </td>
- <td class="paramname"><em>address</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">uint8_t </td>
- <td class="paramname"><em>len</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Sets the next transmit address </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">address</td><td>The new address for transmitting. Must match the setThisAddress of the receiving node. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">len</td><td>Number of bytes of receive address to set. </td></tr>
- </table>
- </dd>
- </dl>
- <dl class="section return"><dt>Returns</dt><dd>true on success </dd></dl>
- <dl><dt><b>Examples: </b></dt><dd><a class="el" href="crazyflie_client_8ino-example.html#a9">crazyflie_client.ino</a>, <a class="el" href="nrf24_audio_tx_8pde-example.html#a8">nrf24_audio_tx.pde</a>, <a class="el" href="nrf24_ping_client_8pde-example.html#a8">nrf24_ping_client.pde</a>, and <a class="el" href="nrf24_ping_server_8pde-example.html#a10">nrf24_ping_server.pde</a>.</dd>
- </dl>
- <p>References <a class="el" href="classNRF24.html#a8562055be6ba65ca8fc292be5f8abc5a">spiBurstWriteRegister()</a>.</p>
- </div>
- </div>
- <a class="anchor" id="a448aad6cda19f068009106aa5f6a7e6a"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void NRF24::spiBurstRead </td>
- <td>(</td>
- <td class="paramtype">uint8_t </td>
- <td class="paramname"><em>command</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">uint8_t * </td>
- <td class="paramname"><em>dest</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">uint8_t </td>
- <td class="paramname"><em>len</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Reads a number of consecutive bytes from a command using burst read mode </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">command</td><td>Command number of NRF24_COMMAND_* </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">dest</td><td>Array to write the bytes returned by the command to. Must be at least len bytes </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">len</td><td>Number of bytes to read </td></tr>
- </table>
- </dd>
- </dl>
- <dl class="section return"><dt>Returns</dt><dd>the value of the device status register </dd></dl>
- <p>Referenced by <a class="el" href="classNRF24.html#a12799e0afcb52f2a8cb7418dca9e0eab">recv()</a>, and <a class="el" href="classNRF24.html#abc48bb5a86d0bb498c753dc47cea8daa">spiBurstReadRegister()</a>.</p>
- </div>
- </div>
- <a class="anchor" id="abc48bb5a86d0bb498c753dc47cea8daa"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void NRF24::spiBurstReadRegister </td>
- <td>(</td>
- <td class="paramtype">uint8_t </td>
- <td class="paramname"><em>reg</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">uint8_t * </td>
- <td class="paramname"><em>dest</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">uint8_t </td>
- <td class="paramname"><em>len</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Reads a number of consecutive registers from the <a class="el" href="classNRF24.html" title="Send and receive addressed, reliable, acknowledged datagrams by nRF24L01. ">NRF24</a> using burst read mode </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">reg</td><td>Register number of the first register, one of NRF24_REG_* </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">dest</td><td>Array to write the register values to. Must be at least len bytes </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">len</td><td>Number of bytes to read </td></tr>
- </table>
- </dd>
- </dl>
- <dl class="section return"><dt>Returns</dt><dd>the value of the device status register </dd></dl>
- <p>References <a class="el" href="classNRF24.html#a448aad6cda19f068009106aa5f6a7e6a">spiBurstRead()</a>.</p>
- </div>
- </div>
- <a class="anchor" id="a01161d0ba54c409e62ad670b9eceb73d"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">uint8_t NRF24::spiBurstWrite </td>
- <td>(</td>
- <td class="paramtype">uint8_t </td>
- <td class="paramname"><em>command</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">uint8_t * </td>
- <td class="paramname"><em>src</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">uint8_t </td>
- <td class="paramname"><em>len</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Write a number of consecutive bytes to a command using burst write mode </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">command</td><td>Command number of the first register, one of NRF24_COMMAND_* </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">src</td><td>Array of bytes to write. Must be at least len bytes </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">len</td><td>Number of bytes to write </td></tr>
- </table>
- </dd>
- </dl>
- <dl class="section return"><dt>Returns</dt><dd>the value of the device status register </dd></dl>
- <dl><dt><b>Examples: </b></dt><dd><a class="el" href="crazyflie_8ino-example.html#a10">crazyflie.ino</a>.</dd>
- </dl>
- <p>Referenced by <a class="el" href="classNRF24.html#aad280539b80b28e55ab3187714bc7f2f">send()</a>, and <a class="el" href="classNRF24.html#a8562055be6ba65ca8fc292be5f8abc5a">spiBurstWriteRegister()</a>.</p>
- </div>
- </div>
- <a class="anchor" id="a8562055be6ba65ca8fc292be5f8abc5a"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">uint8_t NRF24::spiBurstWriteRegister </td>
- <td>(</td>
- <td class="paramtype">uint8_t </td>
- <td class="paramname"><em>reg</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">uint8_t * </td>
- <td class="paramname"><em>src</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">uint8_t </td>
- <td class="paramname"><em>len</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Write a number of consecutive registers using burst write mode </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">reg</td><td>Register number of the first register, one of NRF24_REG_* </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">src</td><td>Array of new register values to write. Must be at least len bytes </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">len</td><td>Number of bytes to write </td></tr>
- </table>
- </dd>
- </dl>
- <dl class="section return"><dt>Returns</dt><dd>the value of the device status register </dd></dl>
- <p>References <a class="el" href="classNRF24.html#a01161d0ba54c409e62ad670b9eceb73d">spiBurstWrite()</a>.</p>
- <p>Referenced by <a class="el" href="classNRF24.html#a28b29969592f9f59c267ae7ffa020b2b">setPipeAddress()</a>, and <a class="el" href="classNRF24.html#a7b40c4c481bddf343acdac5179fddc75">setTransmitAddress()</a>.</p>
- </div>
- </div>
- <a class="anchor" id="a08ae66610a928a779c0b256e782128b5"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">uint8_t NRF24::spiCommand </td>
- <td>(</td>
- <td class="paramtype">uint8_t </td>
- <td class="paramname"><em>command</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Execute an SPI command that requires neither reading or writing </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">command</td><td>the SPI command to execute, one of NRF24_COMMAND_* </td></tr>
- </table>
- </dd>
- </dl>
- <dl class="section return"><dt>Returns</dt><dd>the value of the device status register </dd></dl>
- <p>Referenced by <a class="el" href="classNRF24.html#a9d3d0d432b09d3403a52aa9a78d3f848">flushRx()</a>, and <a class="el" href="classNRF24.html#a644f3b4fd446438fb340b52df4216ba9">flushTx()</a>.</p>
- </div>
- </div>
- <a class="anchor" id="ab2f002c33ec719dfdd3ae70d70559254"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">uint8_t NRF24::spiRead </td>
- <td>(</td>
- <td class="paramtype">uint8_t </td>
- <td class="paramname"><em>command</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Reads a single command byte from the <a class="el" href="classNRF24.html" title="Send and receive addressed, reliable, acknowledged datagrams by nRF24L01. ">NRF24</a> </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">command</td><td>Command number, one of NRF24_COMMAND_* </td></tr>
- </table>
- </dd>
- </dl>
- <dl class="section return"><dt>Returns</dt><dd>the single byte returned by the command </dd></dl>
- <p>Referenced by <a class="el" href="classNRF24.html#a84a25d5654902ed6b69d3a0de9422cfd">available()</a>, <a class="el" href="classNRF24.html#a12799e0afcb52f2a8cb7418dca9e0eab">recv()</a>, and <a class="el" href="classNRF24.html#a264f427858362e106705d92152bc634e">spiReadRegister()</a>.</p>
- </div>
- </div>
- <a class="anchor" id="a264f427858362e106705d92152bc634e"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">uint8_t NRF24::spiReadRegister </td>
- <td>(</td>
- <td class="paramtype">uint8_t </td>
- <td class="paramname"><em>reg</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Reads a single register from the <a class="el" href="classNRF24.html" title="Send and receive addressed, reliable, acknowledged datagrams by nRF24L01. ">NRF24</a> </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">reg</td><td>Register number, one of NRF24_REG_* </td></tr>
- </table>
- </dd>
- </dl>
- <dl class="section return"><dt>Returns</dt><dd>The value of the register </dd></dl>
- <dl><dt><b>Examples: </b></dt><dd><a class="el" href="nrf24_specan_8pde-example.html#a7">nrf24_specan.pde</a>.</dd>
- </dl>
- <p>References <a class="el" href="classNRF24.html#ab2f002c33ec719dfdd3ae70d70559254">spiRead()</a>.</p>
- <p>Referenced by <a class="el" href="classNRF24.html#a84a25d5654902ed6b69d3a0de9422cfd">available()</a>, <a class="el" href="classNRF24.html#aaff7453d951c74e87ca845e708742252">isSending()</a>, <a class="el" href="classNRF24.html#ab6b14a05c78e40f0491793dcb73c8274">printRegisters()</a>, <a class="el" href="classNRF24.html#a9940479d33d554cab35d50b99112a166">statusRead()</a>, and <a class="el" href="classNRF24.html#a78a011cddedb14b8764ad5ea760c28ae">waitPacketSent()</a>.</p>
- </div>
- </div>
- <a class="anchor" id="a16f168ffe059120ba696936cd6bd76f1"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">uint8_t NRF24::spiWrite </td>
- <td>(</td>
- <td class="paramtype">uint8_t </td>
- <td class="paramname"><em>command</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">uint8_t </td>
- <td class="paramname"><em>val</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Writes a single command byte to the <a class="el" href="classNRF24.html" title="Send and receive addressed, reliable, acknowledged datagrams by nRF24L01. ">NRF24</a> </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">command</td><td>Command number, one of NRF24_COMMAND_* </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>The value to write </td></tr>
- </table>
- </dd>
- </dl>
- <dl class="section return"><dt>Returns</dt><dd>the value of the device status register </dd></dl>
- <p>Referenced by <a class="el" href="classNRF24.html#a81931bc1679b213b1cb1ae65b8357985">spiWriteRegister()</a>.</p>
- </div>
- </div>
- <a class="anchor" id="a81931bc1679b213b1cb1ae65b8357985"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">uint8_t NRF24::spiWriteRegister </td>
- <td>(</td>
- <td class="paramtype">uint8_t </td>
- <td class="paramname"><em>reg</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">uint8_t </td>
- <td class="paramname"><em>val</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Writes a single byte to the <a class="el" href="classNRF24.html" title="Send and receive addressed, reliable, acknowledged datagrams by nRF24L01. ">NRF24</a>, and at the ame time reads the current STATUS register </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">reg</td><td>Register number, one of NRF24_REG_* </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>The value to write </td></tr>
- </table>
- </dd>
- </dl>
- <dl class="section return"><dt>Returns</dt><dd>the current STATUS (read while the command is sent) </dd></dl>
- <dl><dt><b>Examples: </b></dt><dd><a class="el" href="crazyflie_8ino-example.html#a8">crazyflie.ino</a>, <a class="el" href="crazyflie_client_8ino-example.html#a7">crazyflie_client.ino</a>, <a class="el" href="nrf24_audio_tx_8pde-example.html#a7">nrf24_audio_tx.pde</a>, and <a class="el" href="nrf24_test_8pde-example.html#a8">nrf24_test.pde</a>.</dd>
- </dl>
- <p>References <a class="el" href="classNRF24.html#a16f168ffe059120ba696936cd6bd76f1">spiWrite()</a>.</p>
- <p>Referenced by <a class="el" href="classNRF24.html#a6e98cf508939240c1805245170a995f6">init()</a>, <a class="el" href="classNRF24.html#a5f40f4c8dcb3b5e097510dc6396c7f9b">powerDown()</a>, <a class="el" href="classNRF24.html#a9e15babbfa487da3425b19c60a93c057">powerUpRx()</a>, <a class="el" href="classNRF24.html#a796cb1901211284a958197d657d6f164">powerUpTx()</a>, <a class="el" href="classNRF24.html#a12799e0afcb52f2a8cb7418dca9e0eab">recv()</a>, <a class="el" href="classNRF24.html#a3fa90005f98eb2744a533899f9b7e023">setChannel()</a>, <a class="el" href="classNRF24.html#adb2fbd1d1aadaad1e9b268508149b6c8">setPayloadSize()</a>, <a class="el" href="classNRF24.html#a1ac9bfce3833725b8b66d9875a8bc00e">setRetry()</a>, <a class="el" href="classNRF24.html#a3453db8390d5be4aa99d8c7fde3062a4">setRF()</a>, and <a class="el" href="classNRF24.html#a78a011cddedb14b8764ad5ea760c28ae">waitPacketSent()</a>.</p>
- </div>
- </div>
- <a class="anchor" id="a9940479d33d554cab35d50b99112a166"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">uint8_t NRF24::statusRead </td>
- <td>(</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Reads and returns the device status register NRF24_REG_02_DEVICE_STATUS </p>
- <dl class="section return"><dt>Returns</dt><dd>The value of the device status register </dd></dl>
- <p>References <a class="el" href="classNRF24.html#a264f427858362e106705d92152bc634e">spiReadRegister()</a>.</p>
- <p>Referenced by <a class="el" href="classNRF24.html#aaff7453d951c74e87ca845e708742252">isSending()</a>, and <a class="el" href="classNRF24.html#a78a011cddedb14b8764ad5ea760c28ae">waitPacketSent()</a>.</p>
- </div>
- </div>
- <a class="anchor" id="a5260f3e5eeb911e720290e652f628ab5"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void NRF24::waitAvailable </td>
- <td>(</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Starts the receiver and blocks until a valid received message is available. </p>
- <dl><dt><b>Examples: </b></dt><dd><a class="el" href="crazyflie_8ino-example.html#a12">crazyflie.ino</a>, <a class="el" href="nrf24_audio_rx_8pde-example.html#a9">nrf24_audio_rx.pde</a>, and <a class="el" href="nrf24_ping_server_8pde-example.html#a8">nrf24_ping_server.pde</a>.</dd>
- </dl>
- <p>References <a class="el" href="classNRF24.html#a84a25d5654902ed6b69d3a0de9422cfd">available()</a>, and <a class="el" href="classNRF24.html#a9e15babbfa487da3425b19c60a93c057">powerUpRx()</a>.</p>
- </div>
- </div>
- <a class="anchor" id="ae36ca859ea942a6e9480e8747a27921e"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">bool NRF24::waitAvailableTimeout </td>
- <td>(</td>
- <td class="paramtype">uint16_t </td>
- <td class="paramname"><em>timeout</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Starts the receiver and blocks until a received message is available or a timeout </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">timeout</td><td>Maximum time to wait in milliseconds. </td></tr>
- </table>
- </dd>
- </dl>
- <dl class="section return"><dt>Returns</dt><dd>true if a message is available </dd></dl>
- <dl><dt><b>Examples: </b></dt><dd><a class="el" href="nrf24_ping_client_8pde-example.html#a11">nrf24_ping_client.pde</a>.</dd>
- </dl>
- <p>References <a class="el" href="classNRF24.html#a84a25d5654902ed6b69d3a0de9422cfd">available()</a>, and <a class="el" href="classNRF24.html#a9e15babbfa487da3425b19c60a93c057">powerUpRx()</a>.</p>
- </div>
- </div>
- <a class="anchor" id="a78a011cddedb14b8764ad5ea760c28ae"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">boolean NRF24::waitPacketSent </td>
- <td>(</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Blocks until the current message (if any) has been transmitted </p>
- <dl class="section return"><dt>Returns</dt><dd>true on success, false if the Max retries were exceeded, or if the chip is not in transmit mode. </dd></dl>
- <dl><dt><b>Examples: </b></dt><dd><a class="el" href="crazyflie_8ino-example.html#a11">crazyflie.ino</a>, <a class="el" href="crazyflie_client_8ino-example.html#a11">crazyflie_client.ino</a>, <a class="el" href="nrf24_audio_tx_8pde-example.html#a10">nrf24_audio_tx.pde</a>, <a class="el" href="nrf24_ping_client_8pde-example.html#a10">nrf24_ping_client.pde</a>, and <a class="el" href="nrf24_ping_server_8pde-example.html#a12">nrf24_ping_server.pde</a>.</dd>
- </dl>
- <p>References <a class="el" href="classNRF24.html#a644f3b4fd446438fb340b52df4216ba9">flushTx()</a>, <a class="el" href="classNRF24.html#a264f427858362e106705d92152bc634e">spiReadRegister()</a>, <a class="el" href="classNRF24.html#a81931bc1679b213b1cb1ae65b8357985">spiWriteRegister()</a>, and <a class="el" href="classNRF24.html#a9940479d33d554cab35d50b99112a166">statusRead()</a>.</p>
- </div>
- </div>
- <hr/>The documentation for this class was generated from the following files:<ul>
- <li><a class="el" href="NRF24_8h_source.html">NRF24.h</a></li>
- <li>NRF24.cpp</li>
- </ul>
- </div><!-- contents -->
- <!-- start footer part -->
- <hr class="footer"/><address class="footer"><small>
- Generated by  <a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/>
- </a> 1.8.5
- </small></address>
- </body>
- </html>
|