Deploying to gh-pages from @ 4086afa691 🚀

This commit is contained in:
jgromes 2021-08-14 06:03:29 +00:00
parent e883608504
commit 2fb0a93e8c

View file

@ -546,188 +546,189 @@ $(document).ready(function(){initNavTree('_c_c1101_8h_source.html',''); initResi
<div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160;<span class="comment">// CC1101_REG_VERSION</span></div>
<div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160;<span class="preprocessor">#define CC1101_VERSION_CURRENT 0x14</span></div>
<div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160;<span class="preprocessor">#define CC1101_VERSION_LEGACY 0x04</span></div>
<div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; </div>
<div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160;<span class="comment">// CC1101_REG_MARCSTATE</span></div>
<div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160;<span class="preprocessor">#define CC1101_MARC_STATE_SLEEP 0x00 // 4 0 main radio control state: sleep</span></div>
<div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160;<span class="preprocessor">#define CC1101_MARC_STATE_IDLE 0x01 // 4 0 idle</span></div>
<div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160;<span class="preprocessor">#define CC1101_MARC_STATE_XOFF 0x02 // 4 0 XOFF</span></div>
<div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160;<span class="preprocessor">#define CC1101_MARC_STATE_VCOON_MC 0x03 // 4 0 VCOON_MC</span></div>
<div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160;<span class="preprocessor">#define CC1101_MARC_STATE_REGON_MC 0x04 // 4 0 REGON_MC</span></div>
<div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160;<span class="preprocessor">#define CC1101_MARC_STATE_MANCAL 0x05 // 4 0 MANCAL</span></div>
<div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160;<span class="preprocessor">#define CC1101_MARC_STATE_VCOON 0x06 // 4 0 VCOON</span></div>
<div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160;<span class="preprocessor">#define CC1101_MARC_STATE_REGON 0x07 // 4 0 REGON</span></div>
<div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160;<span class="preprocessor">#define CC1101_MARC_STATE_STARTCAL 0x08 // 4 0 STARTCAL</span></div>
<div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160;<span class="preprocessor">#define CC1101_MARC_STATE_BWBOOST 0x09 // 4 0 BWBOOST</span></div>
<div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160;<span class="preprocessor">#define CC1101_MARC_STATE_FS_LOCK 0x0A // 4 0 FS_LOCK</span></div>
<div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160;<span class="preprocessor">#define CC1101_MARC_STATE_IFADCON 0x0B // 4 0 IFADCON</span></div>
<div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160;<span class="preprocessor">#define CC1101_MARC_STATE_ENDCAL 0x0C // 4 0 ENDCAL</span></div>
<div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160;<span class="preprocessor">#define CC1101_MARC_STATE_RX 0x0D // 4 0 RX</span></div>
<div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160;<span class="preprocessor">#define CC1101_MARC_STATE_RX_END 0x0E // 4 0 RX_END</span></div>
<div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160;<span class="preprocessor">#define CC1101_MARC_STATE_RX_RST 0x0F // 4 0 RX_RST</span></div>
<div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160;<span class="preprocessor">#define CC1101_MARC_STATE_TXRX_SWITCH 0x10 // 4 0 TXRX_SWITCH</span></div>
<div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160;<span class="preprocessor">#define CC1101_MARC_STATE_RXFIFO_OVERFLOW 0x11 // 4 0 RXFIFO_OVERFLOW</span></div>
<div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160;<span class="preprocessor">#define CC1101_MARC_STATE_FSTXON 0x12 // 4 0 FSTXON</span></div>
<div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160;<span class="preprocessor">#define CC1101_MARC_STATE_TX 0x13 // 4 0 TX</span></div>
<div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160;<span class="preprocessor">#define CC1101_MARC_STATE_TX_END 0x14 // 4 0 TX_END</span></div>
<div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160;<span class="preprocessor">#define CC1101_MARC_STATE_RXTX_SWITCH 0x15 // 4 0 RXTX_SWITCH</span></div>
<div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160;<span class="preprocessor">#define CC1101_MARC_STATE_TXFIFO_UNDERFLOW 0x16 // 4 0 TXFIFO_UNDERFLOW</span></div>
<div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; </div>
<div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160;<span class="comment">// CC1101_REG_WORTIME1 + REG_WORTIME0</span></div>
<div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160;<span class="preprocessor">#define CC1101_WORTIME_MSB 0x00 // 7 0 WOR timer value</span></div>
<div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160;<span class="preprocessor">#define CC1101_WORTIME_LSB 0x00 // 7 0</span></div>
<div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; </div>
<div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160;<span class="comment">// CC1101_REG_PKTSTATUS</span></div>
<div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160;<span class="preprocessor">#define CC1101_CRC_OK 0b10000000 // 7 7 CRC check passed</span></div>
<div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160;<span class="preprocessor">#define CC1101_CRC_ERROR 0b00000000 // 7 7 CRC check failed</span></div>
<div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160;<span class="preprocessor">#define CC1101_CS 0b01000000 // 6 6 carrier sense</span></div>
<div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160;<span class="preprocessor">#define CC1101_PQT_REACHED 0b00100000 // 5 5 preamble quality reached</span></div>
<div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160;<span class="preprocessor">#define CC1101_CCA 0b00010000 // 4 4 channel clear</span></div>
<div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160;<span class="preprocessor">#define CC1101_SFD 0b00001000 // 3 3 start of frame delimiter - sync word received</span></div>
<div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160;<span class="preprocessor">#define CC1101_GDO2_ACTIVE 0b00000100 // 2 2 GDO2 is active/asserted</span></div>
<div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160;<span class="preprocessor">#define CC1101_GDO0_ACTIVE 0b00000001 // 0 0 GDO0 is active/asserted</span></div>
<div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; </div>
<div class="line"><a name="l00506"></a><span class="lineno"><a class="line" href="class_c_c1101.html"> 506</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_c_c1101.html">CC1101</a>: <span class="keyword">public</span> <a class="code" href="class_physical_layer.html">PhysicalLayer</a> {</div>
<div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; <span class="comment">// introduce PhysicalLayer overloads</span></div>
<div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; <span class="keyword">using</span> <a class="code" href="class_physical_layer.html#ab139a34e03a6fd5a781cd54da21d308f">PhysicalLayer::transmit</a>;</div>
<div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; <span class="keyword">using</span> <a class="code" href="class_physical_layer.html#afb1b090348d9091bfa3a0b5ba3d85b36">PhysicalLayer::receive</a>;</div>
<div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; <span class="keyword">using</span> <a class="code" href="class_physical_layer.html#af068e6e862c99e39d0261a7971dd56db">PhysicalLayer::startTransmit</a>;</div>
<div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160; <span class="keyword">using</span> <a class="code" href="class_physical_layer.html#ae8eed0e888a7c8742e89d2b850977de2">PhysicalLayer::readData</a>;</div>
<div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160; </div>
<div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; <a class="code" href="class_c_c1101.html#a6807e4254c4b55fa8d393b2bf8f2db3e">CC1101</a>(<a class="code" href="class_module.html">Module</a>* module);</div>
<div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; </div>
<div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; <span class="comment">// basic methods</span></div>
<div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; </div>
<div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160; int16_t <a class="code" href="class_c_c1101.html#adcf6b5c4e1a066d6b9be326a9ee04284">begin</a>(<span class="keywordtype">float</span> freq = 434.0, <span class="keywordtype">float</span> br = 48.0, <span class="keywordtype">float</span> freqDev = 48.0, <span class="keywordtype">float</span> rxBw = 135.0, int8_t power = 10, uint8_t preambleLength = 16);</div>
<div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160; </div>
<div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160; int16_t <a class="code" href="class_c_c1101.html#a7cb99a9200b21829b50e3fc3878573f4">transmit</a>(uint8_t* data, <span class="keywordtype">size_t</span> len, uint8_t addr = 0) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160; </div>
<div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160; int16_t <a class="code" href="class_c_c1101.html#aedc1067d0334bb69ed5316146014097d">receive</a>(uint8_t* data, <span class="keywordtype">size_t</span> len) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160; </div>
<div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160; int16_t <a class="code" href="class_c_c1101.html#a7612bf81e48086004c62548de2682266">standby</a>() <span class="keyword">override</span>;</div>
<div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160; </div>
<div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160; int16_t <a class="code" href="class_c_c1101.html#a240eef8fa7d838d76f3c11086dc50e46">transmitDirect</a>(uint32_t frf = 0) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160; </div>
<div class="line"><a name="l00589"></a><span class="lineno"> 589</span>&#160; int16_t <a class="code" href="class_c_c1101.html#ab053c185330519d58f364790108d29ac">receiveDirect</a>() <span class="keyword">override</span>;</div>
<div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160; </div>
<div class="line"><a name="l00594"></a><span class="lineno"> 594</span>&#160; int16_t <a class="code" href="class_c_c1101.html#a38f6978c757b0dd73e3ef98164a735a2">packetMode</a>();</div>
<div class="line"><a name="l00595"></a><span class="lineno"> 595</span>&#160; </div>
<div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160; <span class="comment">// interrupt methods</span></div>
<div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160; </div>
<div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_c_c1101.html#ae60ea5cacfb1543fcecde5bfac16361a">setGdo0Action</a>(<span class="keywordtype">void</span> (*func)(<span class="keywordtype">void</span>), RADIOLIB_INTERRUPT_STATUS dir = RISING);</div>
<div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160; </div>
<div class="line"><a name="l00610"></a><span class="lineno"> 610</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_c_c1101.html#ab5e6b3745f80cf61e1ced33303311df8">clearGdo0Action</a>();</div>
<div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160; </div>
<div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_c_c1101.html#ac6338c2f5c937a12dac06069944ffb77">setGdo2Action</a>(<span class="keywordtype">void</span> (*func)(<span class="keywordtype">void</span>), RADIOLIB_INTERRUPT_STATUS dir = FALLING);</div>
<div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160; </div>
<div class="line"><a name="l00624"></a><span class="lineno"> 624</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_c_c1101.html#ac7a8b1fe7d08dc6db20cf1569b0d37b4">clearGdo2Action</a>();</div>
<div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160; </div>
<div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160; int16_t <a class="code" href="class_c_c1101.html#a0df2938e2509a8f2746b20ae0558d4ea">startTransmit</a>(uint8_t* data, <span class="keywordtype">size_t</span> len, uint8_t addr = 0) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160; </div>
<div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160; int16_t <a class="code" href="class_c_c1101.html#af727750d05be0bcef4bb8ac260d110e3">startReceive</a>();</div>
<div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160; </div>
<div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160; int16_t <a class="code" href="class_c_c1101.html#a8c79975a7bbe8a37f8214ecd1f69ba22">readData</a>(uint8_t* data, <span class="keywordtype">size_t</span> len) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00657"></a><span class="lineno"> 657</span>&#160; </div>
<div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160; <span class="comment">// configuration methods</span></div>
<div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160; </div>
<div class="line"><a name="l00667"></a><span class="lineno"> 667</span>&#160; int16_t <a class="code" href="class_c_c1101.html#a9592c023556c38c2b8066a23da96ae5e">setFrequency</a>(<span class="keywordtype">float</span> freq);</div>
<div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160; </div>
<div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160; int16_t <a class="code" href="class_c_c1101.html#aa53427cabcda0778f287ed1d850bbe37">setBitRate</a>(<span class="keywordtype">float</span> br);</div>
<div class="line"><a name="l00677"></a><span class="lineno"> 677</span>&#160; </div>
<div class="line"><a name="l00685"></a><span class="lineno"> 685</span>&#160; int16_t <a class="code" href="class_c_c1101.html#a381d0059d7a0ccd8a2f54d7d3376f9b6">setRxBandwidth</a>(<span class="keywordtype">float</span> rxBw);</div>
<div class="line"><a name="l00686"></a><span class="lineno"> 686</span>&#160; </div>
<div class="line"><a name="l00694"></a><span class="lineno"> 694</span>&#160; int16_t <a class="code" href="class_c_c1101.html#a0d69713b9f20c9de354c13c3167b18b3">setFrequencyDeviation</a>(<span class="keywordtype">float</span> freqDev) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160; </div>
<div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160; int16_t <a class="code" href="class_c_c1101.html#ac3ff8051af5ca50c349e02257f1a3bda">setOutputPower</a>(int8_t power);</div>
<div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160; </div>
<div class="line"><a name="l00718"></a><span class="lineno"> 718</span>&#160; int16_t <a class="code" href="class_c_c1101.html#a433f1a40b33be6c84d3665a1b4cd57d6">setSyncWord</a>(uint8_t syncH, uint8_t syncL, uint8_t maxErrBits = 0, <span class="keywordtype">bool</span> requireCarrierSense = <span class="keyword">false</span>);</div>
<div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160; </div>
<div class="line"><a name="l00733"></a><span class="lineno"> 733</span>&#160; int16_t <a class="code" href="class_c_c1101.html#a433f1a40b33be6c84d3665a1b4cd57d6">setSyncWord</a>(uint8_t* syncWord, uint8_t len, uint8_t maxErrBits = 0, <span class="keywordtype">bool</span> requireCarrierSense = <span class="keyword">false</span>);</div>
<div class="line"><a name="l00734"></a><span class="lineno"> 734</span>&#160; </div>
<div class="line"><a name="l00742"></a><span class="lineno"> 742</span>&#160; int16_t <a class="code" href="class_c_c1101.html#acbfa80f431f335d5597500319f0affa8">setPreambleLength</a>(uint8_t preambleLength);</div>
<div class="line"><a name="l00743"></a><span class="lineno"> 743</span>&#160; </div>
<div class="line"><a name="l00753"></a><span class="lineno"> 753</span>&#160; int16_t <a class="code" href="class_c_c1101.html#a6e62914790f132816134fc68c2bb5eb8">setNodeAddress</a>(uint8_t nodeAddr, uint8_t numBroadcastAddrs = 0);</div>
<div class="line"><a name="l00754"></a><span class="lineno"> 754</span>&#160; </div>
<div class="line"><a name="l00760"></a><span class="lineno"> 760</span>&#160; int16_t <a class="code" href="class_c_c1101.html#a9aee5df428d30b9c80b8a8700609a883">disableAddressFiltering</a>();</div>
<div class="line"><a name="l00761"></a><span class="lineno"> 761</span>&#160; </div>
<div class="line"><a name="l00769"></a><span class="lineno"> 769</span>&#160; int16_t <a class="code" href="class_c_c1101.html#afa64d1ad4789d3146b38d14437234756">setOOK</a>(<span class="keywordtype">bool</span> enableOOK);</div>
<div class="line"><a name="l00770"></a><span class="lineno"> 770</span>&#160; </div>
<div class="line"><a name="l00776"></a><span class="lineno"> 776</span>&#160; <span class="keywordtype">float</span> <a class="code" href="class_c_c1101.html#a48fd0452d6f7d7d51ea7d23b2dbe1551">getRSSI</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00777"></a><span class="lineno"> 777</span>&#160; </div>
<div class="line"><a name="l00783"></a><span class="lineno"> 783</span>&#160; uint8_t <a class="code" href="class_c_c1101.html#a59ca9e8956e308159949638bf327e5fb">getLQI</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00784"></a><span class="lineno"> 784</span>&#160; </div>
<div class="line"><a name="l00792"></a><span class="lineno"> 792</span>&#160; <span class="keywordtype">size_t</span> <a class="code" href="class_c_c1101.html#a122281f6a915b77ee9dafc9926e731a0">getPacketLength</a>(<span class="keywordtype">bool</span> update = <span class="keyword">true</span>) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00793"></a><span class="lineno"> 793</span>&#160; </div>
<div class="line"><a name="l00801"></a><span class="lineno"> 801</span>&#160; int16_t <a class="code" href="class_c_c1101.html#a9335f1d5ccab7aab2357449002203810">fixedPacketLengthMode</a>(uint8_t len = CC1101_MAX_PACKET_LENGTH);</div>
<div class="line"><a name="l00802"></a><span class="lineno"> 802</span>&#160; </div>
<div class="line"><a name="l00810"></a><span class="lineno"> 810</span>&#160; int16_t <a class="code" href="class_c_c1101.html#a881122ec3457c5f95760859f8e0297c7">variablePacketLengthMode</a>(uint8_t maxLen = CC1101_MAX_PACKET_LENGTH);</div>
<div class="line"><a name="l00811"></a><span class="lineno"> 811</span>&#160; </div>
<div class="line"><a name="l00821"></a><span class="lineno"> 821</span>&#160; int16_t <a class="code" href="class_c_c1101.html#a6fe55d0217bf5218865198ef8d6fdab4">enableSyncWordFiltering</a>(uint8_t maxErrBits = 0, <span class="keywordtype">bool</span> requireCarrierSense = <span class="keyword">false</span>);</div>
<div class="line"><a name="l00822"></a><span class="lineno"> 822</span>&#160; </div>
<div class="line"><a name="l00830"></a><span class="lineno"> 830</span>&#160; int16_t <a class="code" href="class_c_c1101.html#a4f2dc4176b62a0636636088e31b8e85b">disableSyncWordFiltering</a>(<span class="keywordtype">bool</span> requireCarrierSense = <span class="keyword">false</span>);</div>
<div class="line"><a name="l00831"></a><span class="lineno"> 831</span>&#160; </div>
<div class="line"><a name="l00839"></a><span class="lineno"> 839</span>&#160; int16_t <a class="code" href="class_c_c1101.html#aafac40359c4a1bb01aae12da6b03be26">setCrcFiltering</a>(<span class="keywordtype">bool</span> crcOn = <span class="keyword">true</span>);</div>
<div class="line"><a name="l00840"></a><span class="lineno"> 840</span>&#160; </div>
<div class="line"><a name="l00848"></a><span class="lineno"> 848</span>&#160; int16_t <a class="code" href="class_c_c1101.html#a2911d49d1c293542f7a374c9af60df0e">setPromiscuousMode</a>(<span class="keywordtype">bool</span> promiscuous = <span class="keyword">true</span>);</div>
<div class="line"><a name="l00849"></a><span class="lineno"> 849</span>&#160; </div>
<div class="line"><a name="l00855"></a><span class="lineno"> 855</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="class_c_c1101.html#aeea78919ec14d940cda0f213e4fdced6">getPromiscuousMode</a>();</div>
<div class="line"><a name="l00856"></a><span class="lineno"> 856</span>&#160; </div>
<div class="line"><a name="l00865"></a><span class="lineno"> 865</span>&#160; int16_t <a class="code" href="class_c_c1101.html#adf96e77f25b7e256891601bef04f35a6">setDataShaping</a>(uint8_t sh) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00866"></a><span class="lineno"> 866</span>&#160; </div>
<div class="line"><a name="l00874"></a><span class="lineno"> 874</span>&#160; int16_t <a class="code" href="class_c_c1101.html#ab4b98eb6af33d006306bb7514ed216ea">setEncoding</a>(uint8_t encoding) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00875"></a><span class="lineno"> 875</span>&#160; </div>
<div class="line"><a name="l00884"></a><span class="lineno"> 884</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_c_c1101.html#a45ab4e3f4f9db367185333d36ba21ed2">setRfSwitchPins</a>(RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn);</div>
<div class="line"><a name="l00885"></a><span class="lineno"> 885</span>&#160; </div>
<div class="line"><a name="l00891"></a><span class="lineno"> 891</span>&#160; uint8_t <a class="code" href="class_c_c1101.html#a7ecf49d530ea7c29dd755f56db17d833">randomByte</a>();</div>
<div class="line"><a name="l00892"></a><span class="lineno"> 892</span>&#160; </div>
<div class="line"><a name="l00898"></a><span class="lineno"> 898</span>&#160; int16_t <a class="code" href="class_c_c1101.html#a2a4c6e622dffd2788d8ac52d708b0705">getChipVersion</a>();</div>
<div class="line"><a name="l00899"></a><span class="lineno"> 899</span>&#160; </div>
<div class="line"><a name="l00905"></a><span class="lineno"> 905</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_c_c1101.html#a5161fa10b19d857840579601ef565363">setDirectAction</a>(<span class="keywordtype">void</span> (*func)(<span class="keywordtype">void</span>));</div>
<div class="line"><a name="l00906"></a><span class="lineno"> 906</span>&#160; </div>
<div class="line"><a name="l00912"></a><span class="lineno"> 912</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_c_c1101.html#a5cebec89fc0fa0f5ccbce28c6ce7d2dc">readBit</a>(RADIOLIB_PIN_TYPE pin);</div>
<div class="line"><a name="l00913"></a><span class="lineno"> 913</span>&#160; </div>
<div class="line"><a name="l00914"></a><span class="lineno"> 914</span>&#160;<span class="preprocessor"> #if !defined(RADIOLIB_GODMODE) &amp;&amp; !defined(RADIOLIB_LOW_LEVEL)</span></div>
<div class="line"><a name="l00915"></a><span class="lineno"> 915</span>&#160; <span class="keyword">protected</span>:</div>
<div class="line"><a name="l00916"></a><span class="lineno"> 916</span>&#160;<span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00917"></a><span class="lineno"> 917</span>&#160; <a class="code" href="class_module.html">Module</a>* _mod;</div>
<div class="line"><a name="l00918"></a><span class="lineno"> 918</span>&#160; </div>
<div class="line"><a name="l00919"></a><span class="lineno"> 919</span>&#160; <span class="comment">// SPI read overrides to set bit for burst write and status registers access</span></div>
<div class="line"><a name="l00920"></a><span class="lineno"> 920</span>&#160; int16_t SPIgetRegValue(uint8_t reg, uint8_t msb = 7, uint8_t lsb = 0);</div>
<div class="line"><a name="l00921"></a><span class="lineno"> 921</span>&#160; int16_t SPIsetRegValue(uint8_t reg, uint8_t value, uint8_t msb = 7, uint8_t lsb = 0, uint8_t checkInterval = 2);</div>
<div class="line"><a name="l00922"></a><span class="lineno"> 922</span>&#160; <span class="keywordtype">void</span> SPIreadRegisterBurst(uint8_t reg, uint8_t numBytes, uint8_t* inBytes);</div>
<div class="line"><a name="l00923"></a><span class="lineno"> 923</span>&#160; uint8_t SPIreadRegister(uint8_t reg);</div>
<div class="line"><a name="l00924"></a><span class="lineno"> 924</span>&#160; <span class="keywordtype">void</span> SPIwriteRegisterBurst(uint8_t reg, uint8_t* data, <span class="keywordtype">size_t</span> len);</div>
<div class="line"><a name="l00925"></a><span class="lineno"> 925</span>&#160; <span class="keywordtype">void</span> SPIwriteRegister(uint8_t reg, uint8_t data);</div>
<div class="line"><a name="l00926"></a><span class="lineno"> 926</span>&#160; </div>
<div class="line"><a name="l00927"></a><span class="lineno"> 927</span>&#160; <span class="keywordtype">void</span> SPIsendCommand(uint8_t cmd);</div>
<div class="line"><a name="l00928"></a><span class="lineno"> 928</span>&#160; </div>
<div class="line"><a name="l00929"></a><span class="lineno"> 929</span>&#160;<span class="preprocessor"> #if !defined(RADIOLIB_GODMODE)</span></div>
<div class="line"><a name="l00930"></a><span class="lineno"> 930</span>&#160; <span class="keyword">protected</span>:</div>
<div class="line"><a name="l00931"></a><span class="lineno"> 931</span>&#160;<span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00932"></a><span class="lineno"> 932</span>&#160; </div>
<div class="line"><a name="l00933"></a><span class="lineno"> 933</span>&#160; <span class="keywordtype">float</span> _freq = 0;</div>
<div class="line"><a name="l00934"></a><span class="lineno"> 934</span>&#160; <span class="keywordtype">float</span> _br = 0;</div>
<div class="line"><a name="l00935"></a><span class="lineno"> 935</span>&#160; uint8_t _rawRSSI = 0;</div>
<div class="line"><a name="l00936"></a><span class="lineno"> 936</span>&#160; uint8_t _rawLQI = 0;</div>
<div class="line"><a name="l00937"></a><span class="lineno"> 937</span>&#160; uint8_t _modulation = CC1101_MOD_FORMAT_2_FSK;</div>
<div class="line"><a name="l00938"></a><span class="lineno"> 938</span>&#160; </div>
<div class="line"><a name="l00939"></a><span class="lineno"> 939</span>&#160; <span class="keywordtype">size_t</span> _packetLength = 0;</div>
<div class="line"><a name="l00940"></a><span class="lineno"> 940</span>&#160; <span class="keywordtype">bool</span> _packetLengthQueried = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00941"></a><span class="lineno"> 941</span>&#160; uint8_t _packetLengthConfig = CC1101_LENGTH_CONFIG_VARIABLE;</div>
<div class="line"><a name="l00942"></a><span class="lineno"> 942</span>&#160; </div>
<div class="line"><a name="l00943"></a><span class="lineno"> 943</span>&#160; <span class="keywordtype">bool</span> _promiscuous = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00944"></a><span class="lineno"> 944</span>&#160; <span class="keywordtype">bool</span> _crcOn = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00945"></a><span class="lineno"> 945</span>&#160; </div>
<div class="line"><a name="l00946"></a><span class="lineno"> 946</span>&#160; uint8_t _syncWordLength = 2;</div>
<div class="line"><a name="l00947"></a><span class="lineno"> 947</span>&#160; int8_t _power = 0;</div>
<div class="line"><a name="l00948"></a><span class="lineno"> 948</span>&#160; </div>
<div class="line"><a name="l00949"></a><span class="lineno"> 949</span>&#160; int16_t config();</div>
<div class="line"><a name="l00950"></a><span class="lineno"> 950</span>&#160; int16_t directMode();</div>
<div class="line"><a name="l00951"></a><span class="lineno"> 951</span>&#160; <span class="keyword">static</span> <span class="keywordtype">void</span> getExpMant(<span class="keywordtype">float</span> target, uint16_t mantOffset, uint8_t divExp, uint8_t expMax, uint8_t&amp; exp, uint8_t&amp; mant);</div>
<div class="line"><a name="l00952"></a><span class="lineno"> 952</span>&#160; int16_t setPacketMode(uint8_t mode, uint8_t len);</div>
<div class="line"><a name="l00953"></a><span class="lineno"> 953</span>&#160;};</div>
<div class="line"><a name="l00954"></a><span class="lineno"> 954</span>&#160; </div>
<div class="line"><a name="l00955"></a><span class="lineno"> 955</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160;<span class="preprocessor">#define CC1101_VERSION_CLONE 0x17</span></div>
<div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; </div>
<div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160;<span class="comment">// CC1101_REG_MARCSTATE</span></div>
<div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160;<span class="preprocessor">#define CC1101_MARC_STATE_SLEEP 0x00 // 4 0 main radio control state: sleep</span></div>
<div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160;<span class="preprocessor">#define CC1101_MARC_STATE_IDLE 0x01 // 4 0 idle</span></div>
<div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160;<span class="preprocessor">#define CC1101_MARC_STATE_XOFF 0x02 // 4 0 XOFF</span></div>
<div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160;<span class="preprocessor">#define CC1101_MARC_STATE_VCOON_MC 0x03 // 4 0 VCOON_MC</span></div>
<div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160;<span class="preprocessor">#define CC1101_MARC_STATE_REGON_MC 0x04 // 4 0 REGON_MC</span></div>
<div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160;<span class="preprocessor">#define CC1101_MARC_STATE_MANCAL 0x05 // 4 0 MANCAL</span></div>
<div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160;<span class="preprocessor">#define CC1101_MARC_STATE_VCOON 0x06 // 4 0 VCOON</span></div>
<div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160;<span class="preprocessor">#define CC1101_MARC_STATE_REGON 0x07 // 4 0 REGON</span></div>
<div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160;<span class="preprocessor">#define CC1101_MARC_STATE_STARTCAL 0x08 // 4 0 STARTCAL</span></div>
<div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160;<span class="preprocessor">#define CC1101_MARC_STATE_BWBOOST 0x09 // 4 0 BWBOOST</span></div>
<div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160;<span class="preprocessor">#define CC1101_MARC_STATE_FS_LOCK 0x0A // 4 0 FS_LOCK</span></div>
<div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160;<span class="preprocessor">#define CC1101_MARC_STATE_IFADCON 0x0B // 4 0 IFADCON</span></div>
<div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160;<span class="preprocessor">#define CC1101_MARC_STATE_ENDCAL 0x0C // 4 0 ENDCAL</span></div>
<div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160;<span class="preprocessor">#define CC1101_MARC_STATE_RX 0x0D // 4 0 RX</span></div>
<div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160;<span class="preprocessor">#define CC1101_MARC_STATE_RX_END 0x0E // 4 0 RX_END</span></div>
<div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160;<span class="preprocessor">#define CC1101_MARC_STATE_RX_RST 0x0F // 4 0 RX_RST</span></div>
<div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160;<span class="preprocessor">#define CC1101_MARC_STATE_TXRX_SWITCH 0x10 // 4 0 TXRX_SWITCH</span></div>
<div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160;<span class="preprocessor">#define CC1101_MARC_STATE_RXFIFO_OVERFLOW 0x11 // 4 0 RXFIFO_OVERFLOW</span></div>
<div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160;<span class="preprocessor">#define CC1101_MARC_STATE_FSTXON 0x12 // 4 0 FSTXON</span></div>
<div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160;<span class="preprocessor">#define CC1101_MARC_STATE_TX 0x13 // 4 0 TX</span></div>
<div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160;<span class="preprocessor">#define CC1101_MARC_STATE_TX_END 0x14 // 4 0 TX_END</span></div>
<div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160;<span class="preprocessor">#define CC1101_MARC_STATE_RXTX_SWITCH 0x15 // 4 0 RXTX_SWITCH</span></div>
<div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160;<span class="preprocessor">#define CC1101_MARC_STATE_TXFIFO_UNDERFLOW 0x16 // 4 0 TXFIFO_UNDERFLOW</span></div>
<div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; </div>
<div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160;<span class="comment">// CC1101_REG_WORTIME1 + REG_WORTIME0</span></div>
<div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160;<span class="preprocessor">#define CC1101_WORTIME_MSB 0x00 // 7 0 WOR timer value</span></div>
<div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160;<span class="preprocessor">#define CC1101_WORTIME_LSB 0x00 // 7 0</span></div>
<div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; </div>
<div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160;<span class="comment">// CC1101_REG_PKTSTATUS</span></div>
<div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160;<span class="preprocessor">#define CC1101_CRC_OK 0b10000000 // 7 7 CRC check passed</span></div>
<div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160;<span class="preprocessor">#define CC1101_CRC_ERROR 0b00000000 // 7 7 CRC check failed</span></div>
<div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160;<span class="preprocessor">#define CC1101_CS 0b01000000 // 6 6 carrier sense</span></div>
<div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160;<span class="preprocessor">#define CC1101_PQT_REACHED 0b00100000 // 5 5 preamble quality reached</span></div>
<div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160;<span class="preprocessor">#define CC1101_CCA 0b00010000 // 4 4 channel clear</span></div>
<div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160;<span class="preprocessor">#define CC1101_SFD 0b00001000 // 3 3 start of frame delimiter - sync word received</span></div>
<div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160;<span class="preprocessor">#define CC1101_GDO2_ACTIVE 0b00000100 // 2 2 GDO2 is active/asserted</span></div>
<div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160;<span class="preprocessor">#define CC1101_GDO0_ACTIVE 0b00000001 // 0 0 GDO0 is active/asserted</span></div>
<div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; </div>
<div class="line"><a name="l00507"></a><span class="lineno"><a class="line" href="class_c_c1101.html"> 507</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_c_c1101.html">CC1101</a>: <span class="keyword">public</span> <a class="code" href="class_physical_layer.html">PhysicalLayer</a> {</div>
<div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; <span class="comment">// introduce PhysicalLayer overloads</span></div>
<div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; <span class="keyword">using</span> <a class="code" href="class_physical_layer.html#ab139a34e03a6fd5a781cd54da21d308f">PhysicalLayer::transmit</a>;</div>
<div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; <span class="keyword">using</span> <a class="code" href="class_physical_layer.html#afb1b090348d9091bfa3a0b5ba3d85b36">PhysicalLayer::receive</a>;</div>
<div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160; <span class="keyword">using</span> <a class="code" href="class_physical_layer.html#af068e6e862c99e39d0261a7971dd56db">PhysicalLayer::startTransmit</a>;</div>
<div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160; <span class="keyword">using</span> <a class="code" href="class_physical_layer.html#ae8eed0e888a7c8742e89d2b850977de2">PhysicalLayer::readData</a>;</div>
<div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; </div>
<div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; <a class="code" href="class_c_c1101.html#a6807e4254c4b55fa8d393b2bf8f2db3e">CC1101</a>(<a class="code" href="class_module.html">Module</a>* module);</div>
<div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; </div>
<div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; <span class="comment">// basic methods</span></div>
<div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; </div>
<div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160; int16_t <a class="code" href="class_c_c1101.html#adcf6b5c4e1a066d6b9be326a9ee04284">begin</a>(<span class="keywordtype">float</span> freq = 434.0, <span class="keywordtype">float</span> br = 48.0, <span class="keywordtype">float</span> freqDev = 48.0, <span class="keywordtype">float</span> rxBw = 135.0, int8_t power = 10, uint8_t preambleLength = 16);</div>
<div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160; </div>
<div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160; int16_t <a class="code" href="class_c_c1101.html#a7cb99a9200b21829b50e3fc3878573f4">transmit</a>(uint8_t* data, <span class="keywordtype">size_t</span> len, uint8_t addr = 0) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160; </div>
<div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160; int16_t <a class="code" href="class_c_c1101.html#aedc1067d0334bb69ed5316146014097d">receive</a>(uint8_t* data, <span class="keywordtype">size_t</span> len) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160; </div>
<div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160; int16_t <a class="code" href="class_c_c1101.html#a7612bf81e48086004c62548de2682266">standby</a>() <span class="keyword">override</span>;</div>
<div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160; </div>
<div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160; int16_t <a class="code" href="class_c_c1101.html#a240eef8fa7d838d76f3c11086dc50e46">transmitDirect</a>(uint32_t frf = 0) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160; </div>
<div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160; int16_t <a class="code" href="class_c_c1101.html#ab053c185330519d58f364790108d29ac">receiveDirect</a>() <span class="keyword">override</span>;</div>
<div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160; </div>
<div class="line"><a name="l00595"></a><span class="lineno"> 595</span>&#160; int16_t <a class="code" href="class_c_c1101.html#a38f6978c757b0dd73e3ef98164a735a2">packetMode</a>();</div>
<div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160; </div>
<div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160; <span class="comment">// interrupt methods</span></div>
<div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160; </div>
<div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_c_c1101.html#ae60ea5cacfb1543fcecde5bfac16361a">setGdo0Action</a>(<span class="keywordtype">void</span> (*func)(<span class="keywordtype">void</span>), RADIOLIB_INTERRUPT_STATUS dir = RISING);</div>
<div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160; </div>
<div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_c_c1101.html#ab5e6b3745f80cf61e1ced33303311df8">clearGdo0Action</a>();</div>
<div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160; </div>
<div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_c_c1101.html#ac6338c2f5c937a12dac06069944ffb77">setGdo2Action</a>(<span class="keywordtype">void</span> (*func)(<span class="keywordtype">void</span>), RADIOLIB_INTERRUPT_STATUS dir = FALLING);</div>
<div class="line"><a name="l00621"></a><span class="lineno"> 621</span>&#160; </div>
<div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_c_c1101.html#ac7a8b1fe7d08dc6db20cf1569b0d37b4">clearGdo2Action</a>();</div>
<div class="line"><a name="l00626"></a><span class="lineno"> 626</span>&#160; </div>
<div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160; int16_t <a class="code" href="class_c_c1101.html#a0df2938e2509a8f2746b20ae0558d4ea">startTransmit</a>(uint8_t* data, <span class="keywordtype">size_t</span> len, uint8_t addr = 0) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160; </div>
<div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160; int16_t <a class="code" href="class_c_c1101.html#af727750d05be0bcef4bb8ac260d110e3">startReceive</a>();</div>
<div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160; </div>
<div class="line"><a name="l00657"></a><span class="lineno"> 657</span>&#160; int16_t <a class="code" href="class_c_c1101.html#a8c79975a7bbe8a37f8214ecd1f69ba22">readData</a>(uint8_t* data, <span class="keywordtype">size_t</span> len) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160; </div>
<div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160; <span class="comment">// configuration methods</span></div>
<div class="line"><a name="l00660"></a><span class="lineno"> 660</span>&#160; </div>
<div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160; int16_t <a class="code" href="class_c_c1101.html#a9592c023556c38c2b8066a23da96ae5e">setFrequency</a>(<span class="keywordtype">float</span> freq);</div>
<div class="line"><a name="l00669"></a><span class="lineno"> 669</span>&#160; </div>
<div class="line"><a name="l00677"></a><span class="lineno"> 677</span>&#160; int16_t <a class="code" href="class_c_c1101.html#aa53427cabcda0778f287ed1d850bbe37">setBitRate</a>(<span class="keywordtype">float</span> br);</div>
<div class="line"><a name="l00678"></a><span class="lineno"> 678</span>&#160; </div>
<div class="line"><a name="l00686"></a><span class="lineno"> 686</span>&#160; int16_t <a class="code" href="class_c_c1101.html#a381d0059d7a0ccd8a2f54d7d3376f9b6">setRxBandwidth</a>(<span class="keywordtype">float</span> rxBw);</div>
<div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160; </div>
<div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160; int16_t <a class="code" href="class_c_c1101.html#a0d69713b9f20c9de354c13c3167b18b3">setFrequencyDeviation</a>(<span class="keywordtype">float</span> freqDev) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00696"></a><span class="lineno"> 696</span>&#160; </div>
<div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160; int16_t <a class="code" href="class_c_c1101.html#ac3ff8051af5ca50c349e02257f1a3bda">setOutputPower</a>(int8_t power);</div>
<div class="line"><a name="l00705"></a><span class="lineno"> 705</span>&#160; </div>
<div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160; int16_t <a class="code" href="class_c_c1101.html#a433f1a40b33be6c84d3665a1b4cd57d6">setSyncWord</a>(uint8_t syncH, uint8_t syncL, uint8_t maxErrBits = 0, <span class="keywordtype">bool</span> requireCarrierSense = <span class="keyword">false</span>);</div>
<div class="line"><a name="l00720"></a><span class="lineno"> 720</span>&#160; </div>
<div class="line"><a name="l00734"></a><span class="lineno"> 734</span>&#160; int16_t <a class="code" href="class_c_c1101.html#a433f1a40b33be6c84d3665a1b4cd57d6">setSyncWord</a>(uint8_t* syncWord, uint8_t len, uint8_t maxErrBits = 0, <span class="keywordtype">bool</span> requireCarrierSense = <span class="keyword">false</span>);</div>
<div class="line"><a name="l00735"></a><span class="lineno"> 735</span>&#160; </div>
<div class="line"><a name="l00743"></a><span class="lineno"> 743</span>&#160; int16_t <a class="code" href="class_c_c1101.html#acbfa80f431f335d5597500319f0affa8">setPreambleLength</a>(uint8_t preambleLength);</div>
<div class="line"><a name="l00744"></a><span class="lineno"> 744</span>&#160; </div>
<div class="line"><a name="l00754"></a><span class="lineno"> 754</span>&#160; int16_t <a class="code" href="class_c_c1101.html#a6e62914790f132816134fc68c2bb5eb8">setNodeAddress</a>(uint8_t nodeAddr, uint8_t numBroadcastAddrs = 0);</div>
<div class="line"><a name="l00755"></a><span class="lineno"> 755</span>&#160; </div>
<div class="line"><a name="l00761"></a><span class="lineno"> 761</span>&#160; int16_t <a class="code" href="class_c_c1101.html#a9aee5df428d30b9c80b8a8700609a883">disableAddressFiltering</a>();</div>
<div class="line"><a name="l00762"></a><span class="lineno"> 762</span>&#160; </div>
<div class="line"><a name="l00770"></a><span class="lineno"> 770</span>&#160; int16_t <a class="code" href="class_c_c1101.html#afa64d1ad4789d3146b38d14437234756">setOOK</a>(<span class="keywordtype">bool</span> enableOOK);</div>
<div class="line"><a name="l00771"></a><span class="lineno"> 771</span>&#160; </div>
<div class="line"><a name="l00777"></a><span class="lineno"> 777</span>&#160; <span class="keywordtype">float</span> <a class="code" href="class_c_c1101.html#a48fd0452d6f7d7d51ea7d23b2dbe1551">getRSSI</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00778"></a><span class="lineno"> 778</span>&#160; </div>
<div class="line"><a name="l00784"></a><span class="lineno"> 784</span>&#160; uint8_t <a class="code" href="class_c_c1101.html#a59ca9e8956e308159949638bf327e5fb">getLQI</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00785"></a><span class="lineno"> 785</span>&#160; </div>
<div class="line"><a name="l00793"></a><span class="lineno"> 793</span>&#160; <span class="keywordtype">size_t</span> <a class="code" href="class_c_c1101.html#a122281f6a915b77ee9dafc9926e731a0">getPacketLength</a>(<span class="keywordtype">bool</span> update = <span class="keyword">true</span>) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00794"></a><span class="lineno"> 794</span>&#160; </div>
<div class="line"><a name="l00802"></a><span class="lineno"> 802</span>&#160; int16_t <a class="code" href="class_c_c1101.html#a9335f1d5ccab7aab2357449002203810">fixedPacketLengthMode</a>(uint8_t len = CC1101_MAX_PACKET_LENGTH);</div>
<div class="line"><a name="l00803"></a><span class="lineno"> 803</span>&#160; </div>
<div class="line"><a name="l00811"></a><span class="lineno"> 811</span>&#160; int16_t <a class="code" href="class_c_c1101.html#a881122ec3457c5f95760859f8e0297c7">variablePacketLengthMode</a>(uint8_t maxLen = CC1101_MAX_PACKET_LENGTH);</div>
<div class="line"><a name="l00812"></a><span class="lineno"> 812</span>&#160; </div>
<div class="line"><a name="l00822"></a><span class="lineno"> 822</span>&#160; int16_t <a class="code" href="class_c_c1101.html#a6fe55d0217bf5218865198ef8d6fdab4">enableSyncWordFiltering</a>(uint8_t maxErrBits = 0, <span class="keywordtype">bool</span> requireCarrierSense = <span class="keyword">false</span>);</div>
<div class="line"><a name="l00823"></a><span class="lineno"> 823</span>&#160; </div>
<div class="line"><a name="l00831"></a><span class="lineno"> 831</span>&#160; int16_t <a class="code" href="class_c_c1101.html#a4f2dc4176b62a0636636088e31b8e85b">disableSyncWordFiltering</a>(<span class="keywordtype">bool</span> requireCarrierSense = <span class="keyword">false</span>);</div>
<div class="line"><a name="l00832"></a><span class="lineno"> 832</span>&#160; </div>
<div class="line"><a name="l00840"></a><span class="lineno"> 840</span>&#160; int16_t <a class="code" href="class_c_c1101.html#aafac40359c4a1bb01aae12da6b03be26">setCrcFiltering</a>(<span class="keywordtype">bool</span> crcOn = <span class="keyword">true</span>);</div>
<div class="line"><a name="l00841"></a><span class="lineno"> 841</span>&#160; </div>
<div class="line"><a name="l00849"></a><span class="lineno"> 849</span>&#160; int16_t <a class="code" href="class_c_c1101.html#a2911d49d1c293542f7a374c9af60df0e">setPromiscuousMode</a>(<span class="keywordtype">bool</span> promiscuous = <span class="keyword">true</span>);</div>
<div class="line"><a name="l00850"></a><span class="lineno"> 850</span>&#160; </div>
<div class="line"><a name="l00856"></a><span class="lineno"> 856</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="class_c_c1101.html#aeea78919ec14d940cda0f213e4fdced6">getPromiscuousMode</a>();</div>
<div class="line"><a name="l00857"></a><span class="lineno"> 857</span>&#160; </div>
<div class="line"><a name="l00866"></a><span class="lineno"> 866</span>&#160; int16_t <a class="code" href="class_c_c1101.html#adf96e77f25b7e256891601bef04f35a6">setDataShaping</a>(uint8_t sh) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00867"></a><span class="lineno"> 867</span>&#160; </div>
<div class="line"><a name="l00875"></a><span class="lineno"> 875</span>&#160; int16_t <a class="code" href="class_c_c1101.html#ab4b98eb6af33d006306bb7514ed216ea">setEncoding</a>(uint8_t encoding) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00876"></a><span class="lineno"> 876</span>&#160; </div>
<div class="line"><a name="l00885"></a><span class="lineno"> 885</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_c_c1101.html#a45ab4e3f4f9db367185333d36ba21ed2">setRfSwitchPins</a>(RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn);</div>
<div class="line"><a name="l00886"></a><span class="lineno"> 886</span>&#160; </div>
<div class="line"><a name="l00892"></a><span class="lineno"> 892</span>&#160; uint8_t <a class="code" href="class_c_c1101.html#a7ecf49d530ea7c29dd755f56db17d833">randomByte</a>();</div>
<div class="line"><a name="l00893"></a><span class="lineno"> 893</span>&#160; </div>
<div class="line"><a name="l00899"></a><span class="lineno"> 899</span>&#160; int16_t <a class="code" href="class_c_c1101.html#a2a4c6e622dffd2788d8ac52d708b0705">getChipVersion</a>();</div>
<div class="line"><a name="l00900"></a><span class="lineno"> 900</span>&#160; </div>
<div class="line"><a name="l00906"></a><span class="lineno"> 906</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_c_c1101.html#a5161fa10b19d857840579601ef565363">setDirectAction</a>(<span class="keywordtype">void</span> (*func)(<span class="keywordtype">void</span>));</div>
<div class="line"><a name="l00907"></a><span class="lineno"> 907</span>&#160; </div>
<div class="line"><a name="l00913"></a><span class="lineno"> 913</span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_c_c1101.html#a5cebec89fc0fa0f5ccbce28c6ce7d2dc">readBit</a>(RADIOLIB_PIN_TYPE pin);</div>
<div class="line"><a name="l00914"></a><span class="lineno"> 914</span>&#160; </div>
<div class="line"><a name="l00915"></a><span class="lineno"> 915</span>&#160;<span class="preprocessor"> #if !defined(RADIOLIB_GODMODE) &amp;&amp; !defined(RADIOLIB_LOW_LEVEL)</span></div>
<div class="line"><a name="l00916"></a><span class="lineno"> 916</span>&#160; <span class="keyword">protected</span>:</div>
<div class="line"><a name="l00917"></a><span class="lineno"> 917</span>&#160;<span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00918"></a><span class="lineno"> 918</span>&#160; <a class="code" href="class_module.html">Module</a>* _mod;</div>
<div class="line"><a name="l00919"></a><span class="lineno"> 919</span>&#160; </div>
<div class="line"><a name="l00920"></a><span class="lineno"> 920</span>&#160; <span class="comment">// SPI read overrides to set bit for burst write and status registers access</span></div>
<div class="line"><a name="l00921"></a><span class="lineno"> 921</span>&#160; int16_t SPIgetRegValue(uint8_t reg, uint8_t msb = 7, uint8_t lsb = 0);</div>
<div class="line"><a name="l00922"></a><span class="lineno"> 922</span>&#160; int16_t SPIsetRegValue(uint8_t reg, uint8_t value, uint8_t msb = 7, uint8_t lsb = 0, uint8_t checkInterval = 2);</div>
<div class="line"><a name="l00923"></a><span class="lineno"> 923</span>&#160; <span class="keywordtype">void</span> SPIreadRegisterBurst(uint8_t reg, uint8_t numBytes, uint8_t* inBytes);</div>
<div class="line"><a name="l00924"></a><span class="lineno"> 924</span>&#160; uint8_t SPIreadRegister(uint8_t reg);</div>
<div class="line"><a name="l00925"></a><span class="lineno"> 925</span>&#160; <span class="keywordtype">void</span> SPIwriteRegisterBurst(uint8_t reg, uint8_t* data, <span class="keywordtype">size_t</span> len);</div>
<div class="line"><a name="l00926"></a><span class="lineno"> 926</span>&#160; <span class="keywordtype">void</span> SPIwriteRegister(uint8_t reg, uint8_t data);</div>
<div class="line"><a name="l00927"></a><span class="lineno"> 927</span>&#160; </div>
<div class="line"><a name="l00928"></a><span class="lineno"> 928</span>&#160; <span class="keywordtype">void</span> SPIsendCommand(uint8_t cmd);</div>
<div class="line"><a name="l00929"></a><span class="lineno"> 929</span>&#160; </div>
<div class="line"><a name="l00930"></a><span class="lineno"> 930</span>&#160;<span class="preprocessor"> #if !defined(RADIOLIB_GODMODE)</span></div>
<div class="line"><a name="l00931"></a><span class="lineno"> 931</span>&#160; <span class="keyword">protected</span>:</div>
<div class="line"><a name="l00932"></a><span class="lineno"> 932</span>&#160;<span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00933"></a><span class="lineno"> 933</span>&#160; </div>
<div class="line"><a name="l00934"></a><span class="lineno"> 934</span>&#160; <span class="keywordtype">float</span> _freq = 0;</div>
<div class="line"><a name="l00935"></a><span class="lineno"> 935</span>&#160; <span class="keywordtype">float</span> _br = 0;</div>
<div class="line"><a name="l00936"></a><span class="lineno"> 936</span>&#160; uint8_t _rawRSSI = 0;</div>
<div class="line"><a name="l00937"></a><span class="lineno"> 937</span>&#160; uint8_t _rawLQI = 0;</div>
<div class="line"><a name="l00938"></a><span class="lineno"> 938</span>&#160; uint8_t _modulation = CC1101_MOD_FORMAT_2_FSK;</div>
<div class="line"><a name="l00939"></a><span class="lineno"> 939</span>&#160; </div>
<div class="line"><a name="l00940"></a><span class="lineno"> 940</span>&#160; <span class="keywordtype">size_t</span> _packetLength = 0;</div>
<div class="line"><a name="l00941"></a><span class="lineno"> 941</span>&#160; <span class="keywordtype">bool</span> _packetLengthQueried = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00942"></a><span class="lineno"> 942</span>&#160; uint8_t _packetLengthConfig = CC1101_LENGTH_CONFIG_VARIABLE;</div>
<div class="line"><a name="l00943"></a><span class="lineno"> 943</span>&#160; </div>
<div class="line"><a name="l00944"></a><span class="lineno"> 944</span>&#160; <span class="keywordtype">bool</span> _promiscuous = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00945"></a><span class="lineno"> 945</span>&#160; <span class="keywordtype">bool</span> _crcOn = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00946"></a><span class="lineno"> 946</span>&#160; </div>
<div class="line"><a name="l00947"></a><span class="lineno"> 947</span>&#160; uint8_t _syncWordLength = 2;</div>
<div class="line"><a name="l00948"></a><span class="lineno"> 948</span>&#160; int8_t _power = 0;</div>
<div class="line"><a name="l00949"></a><span class="lineno"> 949</span>&#160; </div>
<div class="line"><a name="l00950"></a><span class="lineno"> 950</span>&#160; int16_t config();</div>
<div class="line"><a name="l00951"></a><span class="lineno"> 951</span>&#160; int16_t directMode();</div>
<div class="line"><a name="l00952"></a><span class="lineno"> 952</span>&#160; <span class="keyword">static</span> <span class="keywordtype">void</span> getExpMant(<span class="keywordtype">float</span> target, uint16_t mantOffset, uint8_t divExp, uint8_t expMax, uint8_t&amp; exp, uint8_t&amp; mant);</div>
<div class="line"><a name="l00953"></a><span class="lineno"> 953</span>&#160; int16_t setPacketMode(uint8_t mode, uint8_t len);</div>
<div class="line"><a name="l00954"></a><span class="lineno"> 954</span>&#160;};</div>
<div class="line"><a name="l00955"></a><span class="lineno"> 955</span>&#160; </div>
<div class="line"><a name="l00956"></a><span class="lineno"> 956</span>&#160;<span class="preprocessor">#endif</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="aclass_physical_layer_html_ab139a34e03a6fd5a781cd54da21d308f"><div class="ttname"><a href="class_physical_layer.html#ab139a34e03a6fd5a781cd54da21d308f">PhysicalLayer::transmit</a></div><div class="ttdeci">int16_t transmit(__FlashStringHelper *fstr, uint8_t addr=0)</div><div class="ttdoc">Arduino Flash String transmit method.</div><div class="ttdef"><b>Definition:</b> PhysicalLayer.cpp:10</div></div>
@ -772,7 +773,7 @@ $(document).ready(function(){initNavTree('_c_c1101_8h_source.html',''); initResi
<div class="ttc" id="aclass_c_c1101_html_ab053c185330519d58f364790108d29ac"><div class="ttname"><a href="class_c_c1101.html#ab053c185330519d58f364790108d29ac">CC1101::receiveDirect</a></div><div class="ttdeci">int16_t receiveDirect() override</div><div class="ttdoc">Starts direct mode reception.</div><div class="ttdef"><b>Definition:</b> CC1101.cpp:206</div></div>
<div class="ttc" id="aclass_c_c1101_html_a6fe55d0217bf5218865198ef8d6fdab4"><div class="ttname"><a href="class_c_c1101.html#a6fe55d0217bf5218865198ef8d6fdab4">CC1101::enableSyncWordFiltering</a></div><div class="ttdeci">int16_t enableSyncWordFiltering(uint8_t maxErrBits=0, bool requireCarrierSense=false)</div><div class="ttdoc">Enable sync word filtering and generation.</div><div class="ttdef"><b>Definition:</b> CC1101.cpp:743</div></div>
<div class="ttc" id="aclass_c_c1101_html_ae60ea5cacfb1543fcecde5bfac16361a"><div class="ttname"><a href="class_c_c1101.html#ae60ea5cacfb1543fcecde5bfac16361a">CC1101::setGdo0Action</a></div><div class="ttdeci">void setGdo0Action(void(*func)(void), RADIOLIB_INTERRUPT_STATUS dir=RISING)</div><div class="ttdoc">Sets interrupt service routine to call when GDO0 activates.</div><div class="ttdef"><b>Definition:</b> CC1101.cpp:226</div></div>
<div class="ttc" id="aclass_c_c1101_html"><div class="ttname"><a href="class_c_c1101.html">CC1101</a></div><div class="ttdoc">Control class for CC1101 module.</div><div class="ttdef"><b>Definition:</b> CC1101.h:506</div></div>
<div class="ttc" id="aclass_c_c1101_html"><div class="ttname"><a href="class_c_c1101.html">CC1101</a></div><div class="ttdoc">Control class for CC1101 module.</div><div class="ttdef"><b>Definition:</b> CC1101.h:507</div></div>
<div class="ttc" id="aclass_c_c1101_html_a45ab4e3f4f9db367185333d36ba21ed2"><div class="ttname"><a href="class_c_c1101.html#a45ab4e3f4f9db367185333d36ba21ed2">CC1101::setRfSwitchPins</a></div><div class="ttdeci">void setRfSwitchPins(RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn)</div><div class="ttdoc">Some modules contain external RF switch controlled by two pins. This function gives RadioLib control ...</div><div class="ttdef"><b>Definition:</b> CC1101.cpp:845</div></div>
<div class="ttc" id="aclass_c_c1101_html_a2911d49d1c293542f7a374c9af60df0e"><div class="ttname"><a href="class_c_c1101.html#a2911d49d1c293542f7a374c9af60df0e">CC1101::setPromiscuousMode</a></div><div class="ttdeci">int16_t setPromiscuousMode(bool promiscuous=true)</div><div class="ttdoc">Set modem in &quot;sniff&quot; mode: no packet filtering (e.g., no preamble, sync word, address,...</div><div class="ttdef"><b>Definition:</b> CC1101.cpp:770</div></div>
<div class="ttc" id="aclass_c_c1101_html_aafac40359c4a1bb01aae12da6b03be26"><div class="ttname"><a href="class_c_c1101.html#aafac40359c4a1bb01aae12da6b03be26">CC1101::setCrcFiltering</a></div><div class="ttdeci">int16_t setCrcFiltering(bool crcOn=true)</div><div class="ttdoc">Enable CRC filtering and generation.</div><div class="ttdef"><b>Definition:</b> CC1101.cpp:760</div></div>