deploy: 648ecbed3b
This commit is contained in:
parent
16bd5be75c
commit
bff8538efe
27 changed files with 140 additions and 140 deletions
|
@ -37,7 +37,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="headerItem">Date:</td>
|
||||
<td class="headerValue">2025-02-17 20:21:12</td>
|
||||
<td class="headerValue">2025-02-18 06:21:46</td>
|
||||
<td></td>
|
||||
<td class="headerItem">Functions:</td>
|
||||
<td class="headerCovTableEntry">3</td>
|
||||
|
@ -65,11 +65,11 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="coverFn"><a href="HardwareEmulation.hpp.gcov.html#56">_ZN13EmulatedRadio10HandleGPIOEv</a></td>
|
||||
<td class="coverFnHi">2932</td>
|
||||
<td class="coverFnHi">2934</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="coverFn"><a href="HardwareEmulation.hpp.gcov.html#50">_ZN13EmulatedRadio9HandleSPIEh</a></td>
|
||||
<td class="coverFnHi">4192</td>
|
||||
<td class="coverFnHi">4197</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br>
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="headerItem">Date:</td>
|
||||
<td class="headerValue">2025-02-17 20:21:12</td>
|
||||
<td class="headerValue">2025-02-18 06:21:46</td>
|
||||
<td></td>
|
||||
<td class="headerItem">Functions:</td>
|
||||
<td class="headerCovTableEntry">3</td>
|
||||
|
@ -61,7 +61,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="coverFn"><a href="HardwareEmulation.hpp.gcov.html#56">_ZN13EmulatedRadio10HandleGPIOEv</a></td>
|
||||
<td class="coverFnHi">2932</td>
|
||||
<td class="coverFnHi">2934</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="coverFn"><a href="HardwareEmulation.hpp.gcov.html#39">_ZN13EmulatedRadio7connectEP13EmulatedPin_tS1_S1_S1_</a></td>
|
||||
|
@ -69,7 +69,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="coverFn"><a href="HardwareEmulation.hpp.gcov.html#50">_ZN13EmulatedRadio9HandleSPIEh</a></td>
|
||||
<td class="coverFnHi">4192</td>
|
||||
<td class="coverFnHi">4197</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br>
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="headerItem">Date:</td>
|
||||
<td class="headerValue">2025-02-17 20:21:12</td>
|
||||
<td class="headerValue">2025-02-18 06:21:46</td>
|
||||
<td></td>
|
||||
<td class="headerItem">Functions:</td>
|
||||
<td class="headerCovTableEntry">3</td>
|
||||
|
@ -111,15 +111,15 @@
|
|||
<a name="49"><span class="lineNum"> 49 </span><span class="lineCov"> 4 : this->gpio->func = PIN_GPIO;</span></a>
|
||||
<a name="50"><span class="lineNum"> 50 </span><span class="lineCov"> 4 : }</span></a>
|
||||
<a name="51"><span class="lineNum"> 51 </span> : </a>
|
||||
<a name="52"><span class="lineNum"> 52 </span><span class="lineCov"> 4192 : virtual uint8_t HandleSPI(uint8_t b) {</span></a>
|
||||
<a name="52"><span class="lineNum"> 52 </span><span class="lineCov"> 4197 : virtual uint8_t HandleSPI(uint8_t b) {</span></a>
|
||||
<a name="53"><span class="lineNum"> 53 </span> : (void)b;</a>
|
||||
<a name="54"><span class="lineNum"> 54 </span> : // handle the SPI input and generate output here</a>
|
||||
<a name="55"><span class="lineNum"> 55 </span><span class="lineCov"> 4192 : return(EMULATED_RADIO_SPI_RETURN);</span></a>
|
||||
<a name="55"><span class="lineNum"> 55 </span><span class="lineCov"> 4197 : return(EMULATED_RADIO_SPI_RETURN);</span></a>
|
||||
<a name="56"><span class="lineNum"> 56 </span> : }</a>
|
||||
<a name="57"><span class="lineNum"> 57 </span> : </a>
|
||||
<a name="58"><span class="lineNum"> 58 </span><span class="lineCov"> 2932 : virtual void HandleGPIO() {</span></a>
|
||||
<a name="58"><span class="lineNum"> 58 </span><span class="lineCov"> 2934 : virtual void HandleGPIO() {</span></a>
|
||||
<a name="59"><span class="lineNum"> 59 </span> : // handle discrete GPIO signals here (e.g. reset state machine on NSS falling edge)</a>
|
||||
<a name="60"><span class="lineNum"> 60 </span><span class="lineCov"> 2932 : }</span></a>
|
||||
<a name="60"><span class="lineNum"> 60 </span><span class="lineCov"> 2934 : }</span></a>
|
||||
<a name="61"><span class="lineNum"> 61 </span> : </a>
|
||||
<a name="62"><span class="lineNum"> 62 </span> : protected:</a>
|
||||
<a name="63"><span class="lineNum"> 63 </span> : // pointers to emulated GPIO pins</a>
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="headerItem">Date:</td>
|
||||
<td class="headerValue">2025-02-17 20:21:12</td>
|
||||
<td class="headerValue">2025-02-18 06:21:46</td>
|
||||
<td></td>
|
||||
<td class="headerItem">Functions:</td>
|
||||
<td class="headerCovTableEntry">15</td>
|
||||
|
@ -125,35 +125,35 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="coverFn"><a href="TestHal.hpp.gcov.html#91">_ZN7TestHal11digitalReadEj</a></td>
|
||||
<td class="coverFnHi">846</td>
|
||||
<td class="coverFnHi">848</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="coverFn"><a href="TestHal.hpp.gcov.html#153">_ZN7TestHal6millisEv</a></td>
|
||||
<td class="coverFnHi">846</td>
|
||||
<td class="coverFnHi">848</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="coverFn"><a href="TestHal.hpp.gcov.html#161">_ZN7TestHal6microsEv</a></td>
|
||||
<td class="coverFnHi">1462</td>
|
||||
<td class="coverFnHi">1463</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="coverFn"><a href="TestHal.hpp.gcov.html#187">_ZN7TestHal11spiTransferEPhmS0_</a></td>
|
||||
<td class="coverFnHi">1464</td>
|
||||
<td class="coverFnHi">1465</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="coverFn"><a href="TestHal.hpp.gcov.html#207">_ZN7TestHal17spiEndTransactionEv</a></td>
|
||||
<td class="coverFnHi">1464</td>
|
||||
<td class="coverFnHi">1465</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="coverFn"><a href="TestHal.hpp.gcov.html#183">_ZN7TestHal19spiBeginTransactionEv</a></td>
|
||||
<td class="coverFnHi">1464</td>
|
||||
<td class="coverFnHi">1465</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="coverFn"><a href="TestHal.hpp.gcov.html#70">_ZN7TestHal12digitalWriteEjj</a></td>
|
||||
<td class="coverFnHi">2932</td>
|
||||
<td class="coverFnHi">2934</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="coverFn"><a href="TestHal.hpp.gcov.html#135">_ZN7TestHal17delayMicrosecondsEm</a></td>
|
||||
<td class="coverFnHi">4615</td>
|
||||
<td class="coverFnHi">4621</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br>
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="headerItem">Date:</td>
|
||||
<td class="headerValue">2025-02-17 20:21:12</td>
|
||||
<td class="headerValue">2025-02-18 06:21:46</td>
|
||||
<td></td>
|
||||
<td class="headerItem">Functions:</td>
|
||||
<td class="headerCovTableEntry">15</td>
|
||||
|
@ -65,11 +65,11 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="coverFn"><a href="TestHal.hpp.gcov.html#91">_ZN7TestHal11digitalReadEj</a></td>
|
||||
<td class="coverFnHi">846</td>
|
||||
<td class="coverFnHi">848</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="coverFn"><a href="TestHal.hpp.gcov.html#187">_ZN7TestHal11spiTransferEPhmS0_</a></td>
|
||||
<td class="coverFnHi">1464</td>
|
||||
<td class="coverFnHi">1465</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="coverFn"><a href="TestHal.hpp.gcov.html#244">_ZN7TestHal12connectRadioEP13EmulatedRadio</a></td>
|
||||
|
@ -77,7 +77,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="coverFn"><a href="TestHal.hpp.gcov.html#70">_ZN7TestHal12digitalWriteEjj</a></td>
|
||||
<td class="coverFnHi">2932</td>
|
||||
<td class="coverFnHi">2934</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="coverFn"><a href="TestHal.hpp.gcov.html#232">_ZN7TestHal12spiLogMemcmpEPKvm</a></td>
|
||||
|
@ -93,15 +93,15 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="coverFn"><a href="TestHal.hpp.gcov.html#135">_ZN7TestHal17delayMicrosecondsEm</a></td>
|
||||
<td class="coverFnHi">4615</td>
|
||||
<td class="coverFnHi">4621</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="coverFn"><a href="TestHal.hpp.gcov.html#207">_ZN7TestHal17spiEndTransactionEv</a></td>
|
||||
<td class="coverFnHi">1464</td>
|
||||
<td class="coverFnHi">1465</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="coverFn"><a href="TestHal.hpp.gcov.html#183">_ZN7TestHal19spiBeginTransactionEv</a></td>
|
||||
<td class="coverFnHi">1464</td>
|
||||
<td class="coverFnHi">1465</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="coverFn"><a href="TestHal.hpp.gcov.html#35">_ZN7TestHal4initEv</a></td>
|
||||
|
@ -125,11 +125,11 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="coverFn"><a href="TestHal.hpp.gcov.html#161">_ZN7TestHal6microsEv</a></td>
|
||||
<td class="coverFnHi">1462</td>
|
||||
<td class="coverFnHi">1463</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="coverFn"><a href="TestHal.hpp.gcov.html#153">_ZN7TestHal6millisEv</a></td>
|
||||
<td class="coverFnHi">846</td>
|
||||
<td class="coverFnHi">848</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="coverFn"><a href="TestHal.hpp.gcov.html#224">_ZN7TestHal6noToneEj</a></td>
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="headerItem">Date:</td>
|
||||
<td class="headerValue">2025-02-17 20:21:12</td>
|
||||
<td class="headerValue">2025-02-18 06:21:46</td>
|
||||
<td></td>
|
||||
<td class="headerItem">Functions:</td>
|
||||
<td class="headerCovTableEntry">15</td>
|
||||
|
@ -131,40 +131,40 @@
|
|||
<a name="69"><span class="lineNum"> 69 </span><span class="lineCov"> 4 : this->gpio[pin].mode = mode;</span></a>
|
||||
<a name="70"><span class="lineNum"> 70 </span><span class="lineCov"> 4 : }</span></a>
|
||||
<a name="71"><span class="lineNum"> 71 </span> : </a>
|
||||
<a name="72"><span class="lineNum"> 72 </span><span class="lineCov"> 2932 : void digitalWrite(uint32_t pin, uint32_t value) override {</span></a>
|
||||
<a name="72"><span class="lineNum"> 72 </span><span class="lineCov"> 2934 : void digitalWrite(uint32_t pin, uint32_t value) override {</span></a>
|
||||
<a name="73"><span class="lineNum"> 73 </span> : HAL_LOG("TestHal::digitalWrite(pin=" << pin << ", value=" << value << " [" << ((value == TEST_HAL_LOW) ? "LOW" : "HIGH") << "])");</a>
|
||||
<a name="74"><span class="lineNum"> 74 </span> : </a>
|
||||
<a name="75"><span class="lineNum"> 75 </span> : // check the range</a>
|
||||
<a name="76"><span class="lineNum"> 76 </span><span class="lineCov"> 2932 : BOOST_ASSERT_MSG(pin < TEST_HAL_NUM_GPIO_PINS, "Pin number out of range");</span></a>
|
||||
<a name="76"><span class="lineNum"> 76 </span><span class="lineCov"> 2934 : BOOST_ASSERT_MSG(pin < TEST_HAL_NUM_GPIO_PINS, "Pin number out of range");</span></a>
|
||||
<a name="77"><span class="lineNum"> 77 </span> : </a>
|
||||
<a name="78"><span class="lineNum"> 78 </span> : // check it is output</a>
|
||||
<a name="79"><span class="lineNum"> 79 </span><span class="lineCov"> 2932 : BOOST_ASSERT_MSG(this->gpio[pin].mode == TEST_HAL_OUTPUT, "GPIO is not output!");</span></a>
|
||||
<a name="79"><span class="lineNum"> 79 </span><span class="lineCov"> 2934 : BOOST_ASSERT_MSG(this->gpio[pin].mode == TEST_HAL_OUTPUT, "GPIO is not output!");</span></a>
|
||||
<a name="80"><span class="lineNum"> 80 </span> : </a>
|
||||
<a name="81"><span class="lineNum"> 81 </span> : // check known values</a>
|
||||
<a name="82"><span class="lineNum"> 82 </span><span class="lineCov"> 2932 : BOOST_ASSERT_MSG(((value == TEST_HAL_LOW) || (value == TEST_HAL_HIGH)), "Invalid output value");</span></a>
|
||||
<a name="82"><span class="lineNum"> 82 </span><span class="lineCov"> 2934 : BOOST_ASSERT_MSG(((value == TEST_HAL_LOW) || (value == TEST_HAL_HIGH)), "Invalid output value");</span></a>
|
||||
<a name="83"><span class="lineNum"> 83 </span> : </a>
|
||||
<a name="84"><span class="lineNum"> 84 </span> : // set value</a>
|
||||
<a name="85"><span class="lineNum"> 85 </span><span class="lineCov"> 2932 : this->gpio[pin].value = value;</span></a>
|
||||
<a name="86"><span class="lineNum"> 86 </span><span class="lineCov"> 2932 : this->gpio[pin].event = true;</span></a>
|
||||
<a name="87"><span class="lineNum"> 87 </span><span class="lineCov"> 2932 : if(radio) {</span></a>
|
||||
<a name="88"><span class="lineNum"> 88 </span><span class="lineCov"> 2932 : this->radio->HandleGPIO();</span></a>
|
||||
<a name="85"><span class="lineNum"> 85 </span><span class="lineCov"> 2934 : this->gpio[pin].value = value;</span></a>
|
||||
<a name="86"><span class="lineNum"> 86 </span><span class="lineCov"> 2934 : this->gpio[pin].event = true;</span></a>
|
||||
<a name="87"><span class="lineNum"> 87 </span><span class="lineCov"> 2934 : if(radio) {</span></a>
|
||||
<a name="88"><span class="lineNum"> 88 </span><span class="lineCov"> 2934 : this->radio->HandleGPIO();</span></a>
|
||||
<a name="89"><span class="lineNum"> 89 </span> : }</a>
|
||||
<a name="90"><span class="lineNum"> 90 </span><span class="lineCov"> 2932 : this->gpio[pin].event = false;</span></a>
|
||||
<a name="91"><span class="lineNum"> 91 </span><span class="lineCov"> 2932 : }</span></a>
|
||||
<a name="90"><span class="lineNum"> 90 </span><span class="lineCov"> 2934 : this->gpio[pin].event = false;</span></a>
|
||||
<a name="91"><span class="lineNum"> 91 </span><span class="lineCov"> 2934 : }</span></a>
|
||||
<a name="92"><span class="lineNum"> 92 </span> : </a>
|
||||
<a name="93"><span class="lineNum"> 93 </span><span class="lineCov"> 846 : uint32_t digitalRead(uint32_t pin) override {</span></a>
|
||||
<a name="93"><span class="lineNum"> 93 </span><span class="lineCov"> 848 : uint32_t digitalRead(uint32_t pin) override {</span></a>
|
||||
<a name="94"><span class="lineNum"> 94 </span> : HAL_LOG("TestHal::digitalRead(pin=" << pin << ")");</a>
|
||||
<a name="95"><span class="lineNum"> 95 </span> : </a>
|
||||
<a name="96"><span class="lineNum"> 96 </span> : // check the range</a>
|
||||
<a name="97"><span class="lineNum"> 97 </span><span class="lineCov"> 846 : BOOST_ASSERT_MSG(pin < TEST_HAL_NUM_GPIO_PINS, "Pin number out of range");</span></a>
|
||||
<a name="97"><span class="lineNum"> 97 </span><span class="lineCov"> 848 : BOOST_ASSERT_MSG(pin < TEST_HAL_NUM_GPIO_PINS, "Pin number out of range");</span></a>
|
||||
<a name="98"><span class="lineNum"> 98 </span> : </a>
|
||||
<a name="99"><span class="lineNum"> 99 </span> : // check it is input</a>
|
||||
<a name="100"><span class="lineNum"> 100 </span><span class="lineCov"> 846 : BOOST_ASSERT_MSG(this->gpio[pin].mode == TEST_HAL_INPUT, "GPIO is not input");</span></a>
|
||||
<a name="100"><span class="lineNum"> 100 </span><span class="lineCov"> 848 : BOOST_ASSERT_MSG(this->gpio[pin].mode == TEST_HAL_INPUT, "GPIO is not input");</span></a>
|
||||
<a name="101"><span class="lineNum"> 101 </span> : </a>
|
||||
<a name="102"><span class="lineNum"> 102 </span> : // read the value</a>
|
||||
<a name="103"><span class="lineNum"> 103 </span><span class="lineCov"> 846 : uint32_t value = this->gpio[pin].value;</span></a>
|
||||
<a name="103"><span class="lineNum"> 103 </span><span class="lineCov"> 848 : uint32_t value = this->gpio[pin].value;</span></a>
|
||||
<a name="104"><span class="lineNum"> 104 </span> : HAL_LOG("TestHal::digitalRead(pin=" << pin << ")=" << value << " [" << ((value == TEST_HAL_LOW) ? "LOW" : "HIGH") << "]");</a>
|
||||
<a name="105"><span class="lineNum"> 105 </span><span class="lineCov"> 846 : return(value);</span></a>
|
||||
<a name="105"><span class="lineNum"> 105 </span><span class="lineCov"> 848 : return(value);</span></a>
|
||||
<a name="106"><span class="lineNum"> 106 </span> : }</a>
|
||||
<a name="107"><span class="lineNum"> 107 </span> : </a>
|
||||
<a name="108"><span class="lineNum"> 108 </span><span class="lineNoCov"> 0 : void attachInterrupt(uint32_t interruptNum, void (*interruptCb)(void), uint32_t mode) override {</span></a>
|
||||
|
@ -196,38 +196,38 @@
|
|||
<a name="134"><span class="lineNum"> 134 </span> : HAL_LOG("TestHal::delay(ms=" << ms << ")=" << elapsed.count() << "ms");</a>
|
||||
<a name="135"><span class="lineNum"> 135 </span><span class="lineNoCov"> 0 : }</span></a>
|
||||
<a name="136"><span class="lineNum"> 136 </span> : </a>
|
||||
<a name="137"><span class="lineNum"> 137 </span><span class="lineCov"> 4615 : void delayMicroseconds(unsigned long us) override {</span></a>
|
||||
<a name="137"><span class="lineNum"> 137 </span><span class="lineCov"> 4621 : void delayMicroseconds(unsigned long us) override {</span></a>
|
||||
<a name="138"><span class="lineNum"> 138 </span> : HAL_LOG("TestHal::delayMicroseconds(us=" << us << ")");</a>
|
||||
<a name="139"><span class="lineNum"> 139 </span><span class="lineCov"> 4615 : const auto start = std::chrono::high_resolution_clock::now();</span></a>
|
||||
<a name="139"><span class="lineNum"> 139 </span><span class="lineCov"> 4621 : const auto start = std::chrono::high_resolution_clock::now();</span></a>
|
||||
<a name="140"><span class="lineNum"> 140 </span> : </a>
|
||||
<a name="141"><span class="lineNum"> 141 </span> : // busy wait is needed for microseconds precision</a>
|
||||
<a name="142"><span class="lineNum"> 142 </span><span class="lineCov"> 4615 : const auto len = std::chrono::microseconds(us);</span></a>
|
||||
<a name="143"><span class="lineNum"> 143 </span><span class="lineCov"> 6682903 : while(std::chrono::high_resolution_clock::now() - start < len);</span></a>
|
||||
<a name="142"><span class="lineNum"> 142 </span><span class="lineCov"> 4621 : const auto len = std::chrono::microseconds(us);</span></a>
|
||||
<a name="143"><span class="lineNum"> 143 </span><span class="lineCov"> 6694366 : while(std::chrono::high_resolution_clock::now() - start < len);</span></a>
|
||||
<a name="144"><span class="lineNum"> 144 </span> : </a>
|
||||
<a name="145"><span class="lineNum"> 145 </span> : // measure and print</a>
|
||||
<a name="146"><span class="lineNum"> 146 </span><span class="lineCov"> 4615 : const auto end = std::chrono::high_resolution_clock::now();</span></a>
|
||||
<a name="147"><span class="lineNum"> 147 </span><span class="lineCov"> 4615 : const std::chrono::duration<double, std::micro> elapsed = end - start;</span></a>
|
||||
<a name="146"><span class="lineNum"> 146 </span><span class="lineCov"> 4621 : const auto end = std::chrono::high_resolution_clock::now();</span></a>
|
||||
<a name="147"><span class="lineNum"> 147 </span><span class="lineCov"> 4621 : const std::chrono::duration<double, std::micro> elapsed = end - start;</span></a>
|
||||
<a name="148"><span class="lineNum"> 148 </span> : HAL_LOG("TestHal::delayMicroseconds(us=" << us << ")=" << elapsed.count() << "us");</a>
|
||||
<a name="149"><span class="lineNum"> 149 </span><span class="lineCov"> 4615 : }</span></a>
|
||||
<a name="149"><span class="lineNum"> 149 </span><span class="lineCov"> 4621 : }</span></a>
|
||||
<a name="150"><span class="lineNum"> 150 </span> : </a>
|
||||
<a name="151"><span class="lineNum"> 151 </span><span class="lineNoCov"> 0 : void yield() override {</span></a>
|
||||
<a name="152"><span class="lineNum"> 152 </span> : HAL_LOG("TestHal::yield()");</a>
|
||||
<a name="153"><span class="lineNum"> 153 </span><span class="lineNoCov"> 0 : }</span></a>
|
||||
<a name="154"><span class="lineNum"> 154 </span> : </a>
|
||||
<a name="155"><span class="lineNum"> 155 </span><span class="lineCov"> 846 : unsigned long millis() override {</span></a>
|
||||
<a name="155"><span class="lineNum"> 155 </span><span class="lineCov"> 848 : unsigned long millis() override {</span></a>
|
||||
<a name="156"><span class="lineNum"> 156 </span> : HAL_LOG("TestHal::millis()");</a>
|
||||
<a name="157"><span class="lineNum"> 157 </span><span class="lineCov"> 846 : std::chrono::time_point now = std::chrono::high_resolution_clock::now();</span></a>
|
||||
<a name="158"><span class="lineNum"> 158 </span><span class="lineCov"> 846 : auto res = std::chrono::duration_cast<std::chrono::milliseconds>(now - this->start);</span></a>
|
||||
<a name="157"><span class="lineNum"> 157 </span><span class="lineCov"> 848 : std::chrono::time_point now = std::chrono::high_resolution_clock::now();</span></a>
|
||||
<a name="158"><span class="lineNum"> 158 </span><span class="lineCov"> 848 : auto res = std::chrono::duration_cast<std::chrono::milliseconds>(now - this->start);</span></a>
|
||||
<a name="159"><span class="lineNum"> 159 </span> : HAL_LOG("TestHal::millis()=" << res.count());</a>
|
||||
<a name="160"><span class="lineNum"> 160 </span><span class="lineCov"> 846 : return(res.count());</span></a>
|
||||
<a name="160"><span class="lineNum"> 160 </span><span class="lineCov"> 848 : return(res.count());</span></a>
|
||||
<a name="161"><span class="lineNum"> 161 </span> : }</a>
|
||||
<a name="162"><span class="lineNum"> 162 </span> : </a>
|
||||
<a name="163"><span class="lineNum"> 163 </span><span class="lineCov"> 1462 : unsigned long micros() override {</span></a>
|
||||
<a name="163"><span class="lineNum"> 163 </span><span class="lineCov"> 1463 : unsigned long micros() override {</span></a>
|
||||
<a name="164"><span class="lineNum"> 164 </span> : HAL_LOG("TestHal::micros()");</a>
|
||||
<a name="165"><span class="lineNum"> 165 </span><span class="lineCov"> 1462 : std::chrono::time_point now = std::chrono::high_resolution_clock::now();</span></a>
|
||||
<a name="166"><span class="lineNum"> 166 </span><span class="lineCov"> 1462 : auto res = std::chrono::duration_cast<std::chrono::microseconds>(now - this->start);</span></a>
|
||||
<a name="165"><span class="lineNum"> 165 </span><span class="lineCov"> 1463 : std::chrono::time_point now = std::chrono::high_resolution_clock::now();</span></a>
|
||||
<a name="166"><span class="lineNum"> 166 </span><span class="lineCov"> 1463 : auto res = std::chrono::duration_cast<std::chrono::microseconds>(now - this->start);</span></a>
|
||||
<a name="167"><span class="lineNum"> 167 </span> : HAL_LOG("TestHal::micros()=" << res.count());</a>
|
||||
<a name="168"><span class="lineNum"> 168 </span><span class="lineCov"> 1462 : return(res.count());</span></a>
|
||||
<a name="168"><span class="lineNum"> 168 </span><span class="lineCov"> 1463 : return(res.count());</span></a>
|
||||
<a name="169"><span class="lineNum"> 169 </span> : }</a>
|
||||
<a name="170"><span class="lineNum"> 170 </span> : </a>
|
||||
<a name="171"><span class="lineNum"> 171 </span><span class="lineNoCov"> 0 : long pulseIn(uint32_t pin, uint32_t state, unsigned long timeout) override {</span></a>
|
||||
|
@ -244,33 +244,33 @@
|
|||
<a name="182"><span class="lineNum"> 182 </span> : HAL_LOG("TestHal::spiBegin()");</a>
|
||||
<a name="183"><span class="lineNum"> 183 </span><span class="lineNoCov"> 0 : }</span></a>
|
||||
<a name="184"><span class="lineNum"> 184 </span> : </a>
|
||||
<a name="185"><span class="lineNum"> 185 </span><span class="lineCov"> 1464 : void spiBeginTransaction() {</span></a>
|
||||
<a name="185"><span class="lineNum"> 185 </span><span class="lineCov"> 1465 : void spiBeginTransaction() {</span></a>
|
||||
<a name="186"><span class="lineNum"> 186 </span> : HAL_LOG("TestHal::spiBeginTransaction()");</a>
|
||||
<a name="187"><span class="lineNum"> 187 </span><span class="lineCov"> 1464 : }</span></a>
|
||||
<a name="187"><span class="lineNum"> 187 </span><span class="lineCov"> 1465 : }</span></a>
|
||||
<a name="188"><span class="lineNum"> 188 </span> : </a>
|
||||
<a name="189"><span class="lineNum"> 189 </span><span class="lineCov"> 1464 : void spiTransfer(uint8_t* out, size_t len, uint8_t* in) {</span></a>
|
||||
<a name="189"><span class="lineNum"> 189 </span><span class="lineCov"> 1465 : void spiTransfer(uint8_t* out, size_t len, uint8_t* in) {</span></a>
|
||||
<a name="190"><span class="lineNum"> 190 </span> : HAL_LOG("TestHal::spiTransfer(len=" << len << ")");</a>
|
||||
<a name="191"><span class="lineNum"> 191 </span> : </a>
|
||||
<a name="192"><span class="lineNum"> 192 </span><span class="lineCov"> 5656 : for(size_t i = 0; i < len; i++) {</span></a>
|
||||
<a name="192"><span class="lineNum"> 192 </span><span class="lineCov"> 5662 : for(size_t i = 0; i < len; i++) {</span></a>
|
||||
<a name="193"><span class="lineNum"> 193 </span> : // append to log</a>
|
||||
<a name="194"><span class="lineNum"> 194 </span><span class="lineCov"> 4192 : (*this->spiLogPtr++) = out[i];</span></a>
|
||||
<a name="194"><span class="lineNum"> 194 </span><span class="lineCov"> 4197 : (*this->spiLogPtr++) = out[i];</span></a>
|
||||
<a name="195"><span class="lineNum"> 195 </span> : </a>
|
||||
<a name="196"><span class="lineNum"> 196 </span> : // process the SPI byte</a>
|
||||
<a name="197"><span class="lineNum"> 197 </span><span class="lineCov"> 4192 : in[i] = this->radio->HandleSPI(out[i]);</span></a>
|
||||
<a name="197"><span class="lineNum"> 197 </span><span class="lineCov"> 4197 : in[i] = this->radio->HandleSPI(out[i]);</span></a>
|
||||
<a name="198"><span class="lineNum"> 198 </span> : </a>
|
||||
<a name="199"><span class="lineNum"> 199 </span> : // artificial delay to emulate SPI running at a finite speed</a>
|
||||
<a name="200"><span class="lineNum"> 200 </span> : // this is added because timeouts are based on time duration,</a>
|
||||
<a name="201"><span class="lineNum"> 201 </span> : // so we need to make sure some time actually elapses</a>
|
||||
<a name="202"><span class="lineNum"> 202 </span><span class="lineCov"> 4192 : this->delayMicroseconds(100);</span></a>
|
||||
<a name="202"><span class="lineNum"> 202 </span><span class="lineCov"> 4197 : this->delayMicroseconds(100);</span></a>
|
||||
<a name="203"><span class="lineNum"> 203 </span> : </a>
|
||||
<a name="204"><span class="lineNum"> 204 </span> : // output debug</a>
|
||||
<a name="205"><span class="lineNum"> 205 </span> : HAL_LOG(fmt::format("out={:#02x}, in={:#02x}", out[i], in[i]));</a>
|
||||
<a name="206"><span class="lineNum"> 206 </span> : }</a>
|
||||
<a name="207"><span class="lineNum"> 207 </span><span class="lineCov"> 1464 : }</span></a>
|
||||
<a name="207"><span class="lineNum"> 207 </span><span class="lineCov"> 1465 : }</span></a>
|
||||
<a name="208"><span class="lineNum"> 208 </span> : </a>
|
||||
<a name="209"><span class="lineNum"> 209 </span><span class="lineCov"> 1464 : void spiEndTransaction() {</span></a>
|
||||
<a name="209"><span class="lineNum"> 209 </span><span class="lineCov"> 1465 : void spiEndTransaction() {</span></a>
|
||||
<a name="210"><span class="lineNum"> 210 </span> : HAL_LOG("TestHal::spiEndTransaction()");</a>
|
||||
<a name="211"><span class="lineNum"> 211 </span><span class="lineCov"> 1464 : }</span></a>
|
||||
<a name="211"><span class="lineNum"> 211 </span><span class="lineCov"> 1465 : }</span></a>
|
||||
<a name="212"><span class="lineNum"> 212 </span> : </a>
|
||||
<a name="213"><span class="lineNum"> 213 </span><span class="lineNoCov"> 0 : void spiEnd() {</span></a>
|
||||
<a name="214"><span class="lineNum"> 214 </span> : HAL_LOG("TestHal::spiEnd()");</a>
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="headerItem">Date:</td>
|
||||
<td class="headerValue">2025-02-17 20:21:12</td>
|
||||
<td class="headerValue">2025-02-18 06:21:46</td>
|
||||
<td></td>
|
||||
<td class="headerItem">Functions:</td>
|
||||
<td class="headerCovTableEntry">18</td>
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="headerItem">Date:</td>
|
||||
<td class="headerValue">2025-02-17 20:21:12</td>
|
||||
<td class="headerValue">2025-02-18 06:21:46</td>
|
||||
<td></td>
|
||||
<td class="headerItem">Functions:</td>
|
||||
<td class="headerCovTableEntry">18</td>
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="headerItem">Date:</td>
|
||||
<td class="headerValue">2025-02-17 20:21:12</td>
|
||||
<td class="headerValue">2025-02-18 06:21:46</td>
|
||||
<td></td>
|
||||
<td class="headerItem">Functions:</td>
|
||||
<td class="headerCovTableEntry">18</td>
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="headerItem">Date:</td>
|
||||
<td class="headerValue">2025-02-17 20:21:12</td>
|
||||
<td class="headerValue">2025-02-18 06:21:46</td>
|
||||
<td></td>
|
||||
<td class="headerItem">Functions:</td>
|
||||
<td class="headerCovTableEntry">10</td>
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="headerItem">Date:</td>
|
||||
<td class="headerValue">2025-02-17 20:21:12</td>
|
||||
<td class="headerValue">2025-02-18 06:21:46</td>
|
||||
<td></td>
|
||||
<td class="headerItem">Functions:</td>
|
||||
<td class="headerCovTableEntry">10</td>
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="headerItem">Date:</td>
|
||||
<td class="headerValue">2025-02-17 20:21:12</td>
|
||||
<td class="headerValue">2025-02-18 06:21:46</td>
|
||||
<td></td>
|
||||
<td class="headerItem">Functions:</td>
|
||||
<td class="headerCovTableEntry">10</td>
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="headerItem">Date:</td>
|
||||
<td class="headerValue">2025-02-17 20:21:12</td>
|
||||
<td class="headerValue">2025-02-18 06:21:46</td>
|
||||
<td></td>
|
||||
<td class="headerItem">Functions:</td>
|
||||
<td class="headerCovTableEntry">10</td>
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="headerItem">Date:</td>
|
||||
<td class="headerValue">2025-02-17 20:21:12</td>
|
||||
<td class="headerValue">2025-02-18 06:21:46</td>
|
||||
<td></td>
|
||||
<td class="headerItem">Functions:</td>
|
||||
<td class="headerCovTableEntry">10</td>
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="headerItem">Date:</td>
|
||||
<td class="headerValue">2025-02-17 20:21:12</td>
|
||||
<td class="headerValue">2025-02-18 06:21:46</td>
|
||||
<td></td>
|
||||
<td class="headerItem">Functions:</td>
|
||||
<td class="headerCovTableEntry">10</td>
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="headerItem">Date:</td>
|
||||
<td class="headerValue">2025-02-17 20:21:12</td>
|
||||
<td class="headerValue">2025-02-18 06:21:46</td>
|
||||
<td></td>
|
||||
<td class="headerItem">Functions:</td>
|
||||
<td class="headerCovTableEntry">38</td>
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="headerItem">Date:</td>
|
||||
<td class="headerValue">2025-02-17 20:21:12</td>
|
||||
<td class="headerValue">2025-02-18 06:21:46</td>
|
||||
<td></td>
|
||||
<td class="headerItem">Functions:</td>
|
||||
<td class="headerCovTableEntry">38</td>
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="headerItem">Date:</td>
|
||||
<td class="headerValue">2025-02-17 20:21:12</td>
|
||||
<td class="headerValue">2025-02-18 06:21:46</td>
|
||||
<td></td>
|
||||
<td class="headerItem">Functions:</td>
|
||||
<td class="headerCovTableEntry">38</td>
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="headerItem">Date:</td>
|
||||
<td class="headerValue">2025-02-17 20:21:12</td>
|
||||
<td class="headerValue">2025-02-18 06:21:46</td>
|
||||
<td></td>
|
||||
<td class="headerItem">Functions:</td>
|
||||
<td class="headerCovTableEntry">1</td>
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="headerItem">Date:</td>
|
||||
<td class="headerValue">2025-02-17 20:21:12</td>
|
||||
<td class="headerValue">2025-02-18 06:21:46</td>
|
||||
<td></td>
|
||||
<td class="headerItem">Functions:</td>
|
||||
<td class="headerCovTableEntry">1</td>
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="headerItem">Date:</td>
|
||||
<td class="headerValue">2025-02-17 20:21:12</td>
|
||||
<td class="headerValue">2025-02-18 06:21:46</td>
|
||||
<td></td>
|
||||
<td class="headerItem">Functions:</td>
|
||||
<td class="headerCovTableEntry">1</td>
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="headerItem">Date:</td>
|
||||
<td class="headerValue">2025-02-17 20:21:12</td>
|
||||
<td class="headerValue">2025-02-18 06:21:46</td>
|
||||
<td></td>
|
||||
<td class="headerItem">Functions:</td>
|
||||
<td class="headerCovTableEntry">9</td>
|
||||
|
@ -141,7 +141,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="coverFn"><a href="Module.cpp.gcov.html#316">_ZN6Module17SPItransferStreamEPKhhbS1_Phmb</a></td>
|
||||
<td class="coverFnHi">423</td>
|
||||
<td class="coverFnHi">424</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="coverFn"><a href="Module.cpp.gcov.html#175">_ZN6Module11SPItransferEtjPKhPhm</a></td>
|
||||
|
@ -149,7 +149,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="coverFn"><a href="Module.cpp.gcov.html#125">_ZN6Module15SPIreadRegisterEj</a></td>
|
||||
<td class="coverFnHi">1454</td>
|
||||
<td class="coverFnHi">1455</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br>
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="headerItem">Date:</td>
|
||||
<td class="headerValue">2025-02-17 20:21:12</td>
|
||||
<td class="headerValue">2025-02-18 06:21:46</td>
|
||||
<td></td>
|
||||
<td class="headerItem">Functions:</td>
|
||||
<td class="headerCovTableEntry">9</td>
|
||||
|
@ -93,7 +93,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="coverFn"><a href="Module.cpp.gcov.html#125">_ZN6Module15SPIreadRegisterEj</a></td>
|
||||
<td class="coverFnHi">1454</td>
|
||||
<td class="coverFnHi">1455</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="coverFn"><a href="Module.cpp.gcov.html#487">_ZN6Module15setRfSwitchPinsEjj</a></td>
|
||||
|
@ -113,7 +113,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="coverFn"><a href="Module.cpp.gcov.html#316">_ZN6Module17SPItransferStreamEPKhhbS1_Phmb</a></td>
|
||||
<td class="coverFnHi">423</td>
|
||||
<td class="coverFnHi">424</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="coverFn"><a href="Module.cpp.gcov.html#454">_ZN6Module19waitForMicrosecondsEmm</a></td>
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="headerItem">Date:</td>
|
||||
<td class="headerValue">2025-02-17 20:21:12</td>
|
||||
<td class="headerValue">2025-02-18 06:21:46</td>
|
||||
<td></td>
|
||||
<td class="headerItem">Functions:</td>
|
||||
<td class="headerCovTableEntry">9</td>
|
||||
|
@ -143,9 +143,9 @@
|
|||
<a name="81"><span class="lineNum"> 81 </span> : #if RADIOLIB_DEBUG_SPI</a>
|
||||
<a name="82"><span class="lineNum"> 82 </span> : uint8_t readValue = 0x00;</a>
|
||||
<a name="83"><span class="lineNum"> 83 </span> : #endif</a>
|
||||
<a name="84"><span class="lineNum"> 84 </span><span class="lineCov"> 1448 : while(this->hal->micros() - start < (checkInterval * 1000)) {</span></a>
|
||||
<a name="85"><span class="lineNum"> 85 </span><span class="lineCov"> 1440 : uint8_t val = SPIreadRegister(reg);</span></a>
|
||||
<a name="86"><span class="lineNum"> 86 </span><span class="lineCov"> 1440 : if((val & checkMask) == (newValue & checkMask)) {</span></a>
|
||||
<a name="84"><span class="lineNum"> 84 </span><span class="lineCov"> 1449 : while(this->hal->micros() - start < (checkInterval * 1000)) {</span></a>
|
||||
<a name="85"><span class="lineNum"> 85 </span><span class="lineCov"> 1441 : uint8_t val = SPIreadRegister(reg);</span></a>
|
||||
<a name="86"><span class="lineNum"> 86 </span><span class="lineCov"> 1441 : if((val & checkMask) == (newValue & checkMask)) {</span></a>
|
||||
<a name="87"><span class="lineNum"> 87 </span> : // check passed, we can stop the loop</a>
|
||||
<a name="88"><span class="lineNum"> 88 </span><span class="lineCov"> 2 : return(RADIOLIB_ERR_NONE);</span></a>
|
||||
<a name="89"><span class="lineNum"> 89 </span> : }</a>
|
||||
|
@ -186,22 +186,22 @@
|
|||
<a name="124"><span class="lineNum"> 124 </span> : }</a>
|
||||
<a name="125"><span class="lineNum"> 125 </span><span class="lineNoCov"> 0 : }</span></a>
|
||||
<a name="126"><span class="lineNum"> 126 </span> : </a>
|
||||
<a name="127"><span class="lineNum"> 127 </span><span class="lineCov"> 1454 : uint8_t Module::SPIreadRegister(uint32_t reg) {</span></a>
|
||||
<a name="128"><span class="lineNum"> 128 </span><span class="lineCov"> 1454 : uint8_t resp = 0;</span></a>
|
||||
<a name="129"><span class="lineNum"> 129 </span><span class="lineCov"> 1454 : if(!spiConfig.stream) {</span></a>
|
||||
<a name="127"><span class="lineNum"> 127 </span><span class="lineCov"> 1455 : uint8_t Module::SPIreadRegister(uint32_t reg) {</span></a>
|
||||
<a name="128"><span class="lineNum"> 128 </span><span class="lineCov"> 1455 : uint8_t resp = 0;</span></a>
|
||||
<a name="129"><span class="lineNum"> 129 </span><span class="lineCov"> 1455 : if(!spiConfig.stream) {</span></a>
|
||||
<a name="130"><span class="lineNum"> 130 </span><span class="lineCov"> 1036 : SPItransfer(this->spiConfig.cmds[RADIOLIB_MODULE_SPI_COMMAND_READ], reg, NULL, &resp, 1);</span></a>
|
||||
<a name="131"><span class="lineNum"> 131 </span> : } else {</a>
|
||||
<a name="132"><span class="lineNum"> 132 </span> : uint8_t cmd[6];</a>
|
||||
<a name="133"><span class="lineNum"> 133 </span><span class="lineCov"> 418 : uint8_t* cmdPtr = cmd;</span></a>
|
||||
<a name="134"><span class="lineNum"> 134 </span><span class="lineCov"> 836 : for(int8_t i = (int8_t)this->spiConfig.widths[RADIOLIB_MODULE_SPI_WIDTH_CMD]/8 - 1; i >= 0; i--) {</span></a>
|
||||
<a name="135"><span class="lineNum"> 135 </span><span class="lineCov"> 418 : *(cmdPtr++) = (this->spiConfig.cmds[RADIOLIB_MODULE_SPI_COMMAND_READ] >> 8*i) & 0xFF;</span></a>
|
||||
<a name="133"><span class="lineNum"> 133 </span><span class="lineCov"> 419 : uint8_t* cmdPtr = cmd;</span></a>
|
||||
<a name="134"><span class="lineNum"> 134 </span><span class="lineCov"> 838 : for(int8_t i = (int8_t)this->spiConfig.widths[RADIOLIB_MODULE_SPI_WIDTH_CMD]/8 - 1; i >= 0; i--) {</span></a>
|
||||
<a name="135"><span class="lineNum"> 135 </span><span class="lineCov"> 419 : *(cmdPtr++) = (this->spiConfig.cmds[RADIOLIB_MODULE_SPI_COMMAND_READ] >> 8*i) & 0xFF;</span></a>
|
||||
<a name="136"><span class="lineNum"> 136 </span> : }</a>
|
||||
<a name="137"><span class="lineNum"> 137 </span><span class="lineCov"> 1254 : for(int8_t i = (int8_t)((this->spiConfig.widths[RADIOLIB_MODULE_SPI_WIDTH_ADDR]/8) - 1); i >= 0; i--) {</span></a>
|
||||
<a name="138"><span class="lineNum"> 138 </span><span class="lineCov"> 836 : *(cmdPtr++) = (reg >> 8*i) & 0xFF;</span></a>
|
||||
<a name="137"><span class="lineNum"> 137 </span><span class="lineCov"> 1257 : for(int8_t i = (int8_t)((this->spiConfig.widths[RADIOLIB_MODULE_SPI_WIDTH_ADDR]/8) - 1); i >= 0; i--) {</span></a>
|
||||
<a name="138"><span class="lineNum"> 138 </span><span class="lineCov"> 838 : *(cmdPtr++) = (reg >> 8*i) & 0xFF;</span></a>
|
||||
<a name="139"><span class="lineNum"> 139 </span> : }</a>
|
||||
<a name="140"><span class="lineNum"> 140 </span><span class="lineCov"> 418 : SPItransferStream(cmd, this->spiConfig.widths[RADIOLIB_MODULE_SPI_WIDTH_CMD]/8 + this->spiConfig.widths[RADIOLIB_MODULE_SPI_WIDTH_ADDR]/8, false, NULL, &resp, 1, true);</span></a>
|
||||
<a name="140"><span class="lineNum"> 140 </span><span class="lineCov"> 419 : SPItransferStream(cmd, this->spiConfig.widths[RADIOLIB_MODULE_SPI_WIDTH_CMD]/8 + this->spiConfig.widths[RADIOLIB_MODULE_SPI_WIDTH_ADDR]/8, false, NULL, &resp, 1, true);</span></a>
|
||||
<a name="141"><span class="lineNum"> 141 </span> : }</a>
|
||||
<a name="142"><span class="lineNum"> 142 </span><span class="lineCov"> 1454 : return(resp);</span></a>
|
||||
<a name="142"><span class="lineNum"> 142 </span><span class="lineCov"> 1455 : return(resp);</span></a>
|
||||
<a name="143"><span class="lineNum"> 143 </span> : }</a>
|
||||
<a name="144"><span class="lineNum"> 144 </span> : </a>
|
||||
<a name="145"><span class="lineNum"> 145 </span><span class="lineNoCov"> 0 : void Module::SPIwriteRegisterBurst(uint32_t reg, const uint8_t* data, size_t numBytes) {</span></a>
|
||||
|
@ -377,38 +377,38 @@
|
|||
<a name="315"><span class="lineNum"> 315 </span><span class="lineNoCov"> 0 : return(state);</span></a>
|
||||
<a name="316"><span class="lineNum"> 316 </span> : }</a>
|
||||
<a name="317"><span class="lineNum"> 317 </span> : </a>
|
||||
<a name="318"><span class="lineNum"> 318 </span><span class="lineCov"> 423 : int16_t Module::SPItransferStream(const uint8_t* cmd, uint8_t cmdLen, bool write, const uint8_t* dataOut, uint8_t* dataIn, size_t numBytes, bool waitForGpio) {</span></a>
|
||||
<a name="318"><span class="lineNum"> 318 </span><span class="lineCov"> 424 : int16_t Module::SPItransferStream(const uint8_t* cmd, uint8_t cmdLen, bool write, const uint8_t* dataOut, uint8_t* dataIn, size_t numBytes, bool waitForGpio) {</span></a>
|
||||
<a name="319"><span class="lineNum"> 319 </span> : // prepare the output buffer</a>
|
||||
<a name="320"><span class="lineNum"> 320 </span><span class="lineCov"> 423 : size_t buffLen = cmdLen + numBytes;</span></a>
|
||||
<a name="321"><span class="lineNum"> 321 </span><span class="lineCov"> 423 : if(!write) {</span></a>
|
||||
<a name="322"><span class="lineNum"> 322 </span><span class="lineCov"> 418 : buffLen += (this->spiConfig.widths[RADIOLIB_MODULE_SPI_WIDTH_STATUS] / 8);</span></a>
|
||||
<a name="320"><span class="lineNum"> 320 </span><span class="lineCov"> 424 : size_t buffLen = cmdLen + numBytes;</span></a>
|
||||
<a name="321"><span class="lineNum"> 321 </span><span class="lineCov"> 424 : if(!write) {</span></a>
|
||||
<a name="322"><span class="lineNum"> 322 </span><span class="lineCov"> 419 : buffLen += (this->spiConfig.widths[RADIOLIB_MODULE_SPI_WIDTH_STATUS] / 8);</span></a>
|
||||
<a name="323"><span class="lineNum"> 323 </span> : }</a>
|
||||
<a name="324"><span class="lineNum"> 324 </span> : #if RADIOLIB_STATIC_ONLY</a>
|
||||
<a name="325"><span class="lineNum"> 325 </span> : uint8_t buffOut[RADIOLIB_STATIC_ARRAY_SIZE];</a>
|
||||
<a name="326"><span class="lineNum"> 326 </span> : #else</a>
|
||||
<a name="327"><span class="lineNum"> 327 </span><span class="lineCov"> 423 : uint8_t* buffOut = new uint8_t[buffLen];</span></a>
|
||||
<a name="327"><span class="lineNum"> 327 </span><span class="lineCov"> 424 : uint8_t* buffOut = new uint8_t[buffLen];</span></a>
|
||||
<a name="328"><span class="lineNum"> 328 </span> : #endif</a>
|
||||
<a name="329"><span class="lineNum"> 329 </span><span class="lineCov"> 423 : uint8_t* buffOutPtr = buffOut;</span></a>
|
||||
<a name="329"><span class="lineNum"> 329 </span><span class="lineCov"> 424 : uint8_t* buffOutPtr = buffOut;</span></a>
|
||||
<a name="330"><span class="lineNum"> 330 </span> : </a>
|
||||
<a name="331"><span class="lineNum"> 331 </span> : // copy the command</a>
|
||||
<a name="332"><span class="lineNum"> 332 </span><span class="lineCov"> 1692 : for(uint8_t n = 0; n < cmdLen; n++) {</span></a>
|
||||
<a name="333"><span class="lineNum"> 333 </span><span class="lineCov"> 1269 : *(buffOutPtr++) = cmd[n];</span></a>
|
||||
<a name="332"><span class="lineNum"> 332 </span><span class="lineCov"> 1696 : for(uint8_t n = 0; n < cmdLen; n++) {</span></a>
|
||||
<a name="333"><span class="lineNum"> 333 </span><span class="lineCov"> 1272 : *(buffOutPtr++) = cmd[n];</span></a>
|
||||
<a name="334"><span class="lineNum"> 334 </span> : }</a>
|
||||
<a name="335"><span class="lineNum"> 335 </span> : </a>
|
||||
<a name="336"><span class="lineNum"> 336 </span> : // copy the data</a>
|
||||
<a name="337"><span class="lineNum"> 337 </span><span class="lineCov"> 423 : if(write) {</span></a>
|
||||
<a name="337"><span class="lineNum"> 337 </span><span class="lineCov"> 424 : if(write) {</span></a>
|
||||
<a name="338"><span class="lineNum"> 338 </span><span class="lineCov"> 5 : memcpy(buffOutPtr, dataOut, numBytes);</span></a>
|
||||
<a name="339"><span class="lineNum"> 339 </span> : } else {</a>
|
||||
<a name="340"><span class="lineNum"> 340 </span><span class="lineCov"> 418 : memset(buffOutPtr, this->spiConfig.cmds[RADIOLIB_MODULE_SPI_COMMAND_NOP], numBytes + (this->spiConfig.widths[RADIOLIB_MODULE_SPI_WIDTH_STATUS] / 8));</span></a>
|
||||
<a name="340"><span class="lineNum"> 340 </span><span class="lineCov"> 419 : memset(buffOutPtr, this->spiConfig.cmds[RADIOLIB_MODULE_SPI_COMMAND_NOP], numBytes + (this->spiConfig.widths[RADIOLIB_MODULE_SPI_WIDTH_STATUS] / 8));</span></a>
|
||||
<a name="341"><span class="lineNum"> 341 </span> : }</a>
|
||||
<a name="342"><span class="lineNum"> 342 </span> : </a>
|
||||
<a name="343"><span class="lineNum"> 343 </span> : // ensure GPIO is low</a>
|
||||
<a name="344"><span class="lineNum"> 344 </span><span class="lineCov"> 423 : if(waitForGpio) {</span></a>
|
||||
<a name="345"><span class="lineNum"> 345 </span><span class="lineCov"> 423 : if(this->gpioPin == RADIOLIB_NC) {</span></a>
|
||||
<a name="344"><span class="lineNum"> 344 </span><span class="lineCov"> 424 : if(waitForGpio) {</span></a>
|
||||
<a name="345"><span class="lineNum"> 345 </span><span class="lineCov"> 424 : if(this->gpioPin == RADIOLIB_NC) {</span></a>
|
||||
<a name="346"><span class="lineNum"> 346 </span><span class="lineNoCov"> 0 : this->hal->delay(50);</span></a>
|
||||
<a name="347"><span class="lineNum"> 347 </span> : } else {</a>
|
||||
<a name="348"><span class="lineNum"> 348 </span><span class="lineCov"> 423 : RadioLibTime_t start = this->hal->millis();</span></a>
|
||||
<a name="349"><span class="lineNum"> 349 </span><span class="lineCov"> 423 : while(this->hal->digitalRead(this->gpioPin)) {</span></a>
|
||||
<a name="348"><span class="lineNum"> 348 </span><span class="lineCov"> 424 : RadioLibTime_t start = this->hal->millis();</span></a>
|
||||
<a name="349"><span class="lineNum"> 349 </span><span class="lineCov"> 424 : while(this->hal->digitalRead(this->gpioPin)) {</span></a>
|
||||
<a name="350"><span class="lineNum"> 350 </span><span class="lineNoCov"> 0 : this->hal->yield();</span></a>
|
||||
<a name="351"><span class="lineNum"> 351 </span> : </a>
|
||||
<a name="352"><span class="lineNum"> 352 </span> : // this timeout check triggers a false positive from cppcheck</a>
|
||||
|
@ -429,24 +429,24 @@
|
|||
<a name="367"><span class="lineNum"> 367 </span> : #if RADIOLIB_STATIC_ONLY</a>
|
||||
<a name="368"><span class="lineNum"> 368 </span> : uint8_t buffIn[RADIOLIB_STATIC_ARRAY_SIZE];</a>
|
||||
<a name="369"><span class="lineNum"> 369 </span> : #else</a>
|
||||
<a name="370"><span class="lineNum"> 370 </span><span class="lineCov"> 423 : uint8_t* buffIn = new uint8_t[buffLen];</span></a>
|
||||
<a name="370"><span class="lineNum"> 370 </span><span class="lineCov"> 424 : uint8_t* buffIn = new uint8_t[buffLen];</span></a>
|
||||
<a name="371"><span class="lineNum"> 371 </span> : #endif</a>
|
||||
<a name="372"><span class="lineNum"> 372 </span> : </a>
|
||||
<a name="373"><span class="lineNum"> 373 </span> : // do the transfer</a>
|
||||
<a name="374"><span class="lineNum"> 374 </span><span class="lineCov"> 423 : this->hal->spiBeginTransaction();</span></a>
|
||||
<a name="375"><span class="lineNum"> 375 </span><span class="lineCov"> 423 : this->hal->digitalWrite(this->csPin, this->hal->GpioLevelLow);</span></a>
|
||||
<a name="376"><span class="lineNum"> 376 </span><span class="lineCov"> 423 : this->hal->spiTransfer(buffOut, buffLen, buffIn);</span></a>
|
||||
<a name="377"><span class="lineNum"> 377 </span><span class="lineCov"> 423 : this->hal->digitalWrite(this->csPin, this->hal->GpioLevelHigh);</span></a>
|
||||
<a name="378"><span class="lineNum"> 378 </span><span class="lineCov"> 423 : this->hal->spiEndTransaction();</span></a>
|
||||
<a name="374"><span class="lineNum"> 374 </span><span class="lineCov"> 424 : this->hal->spiBeginTransaction();</span></a>
|
||||
<a name="375"><span class="lineNum"> 375 </span><span class="lineCov"> 424 : this->hal->digitalWrite(this->csPin, this->hal->GpioLevelLow);</span></a>
|
||||
<a name="376"><span class="lineNum"> 376 </span><span class="lineCov"> 424 : this->hal->spiTransfer(buffOut, buffLen, buffIn);</span></a>
|
||||
<a name="377"><span class="lineNum"> 377 </span><span class="lineCov"> 424 : this->hal->digitalWrite(this->csPin, this->hal->GpioLevelHigh);</span></a>
|
||||
<a name="378"><span class="lineNum"> 378 </span><span class="lineCov"> 424 : this->hal->spiEndTransaction();</span></a>
|
||||
<a name="379"><span class="lineNum"> 379 </span> : </a>
|
||||
<a name="380"><span class="lineNum"> 380 </span> : // wait for GPIO to go high and then low</a>
|
||||
<a name="381"><span class="lineNum"> 381 </span><span class="lineCov"> 423 : if(waitForGpio) {</span></a>
|
||||
<a name="382"><span class="lineNum"> 382 </span><span class="lineCov"> 423 : if(this->gpioPin == RADIOLIB_NC) {</span></a>
|
||||
<a name="381"><span class="lineNum"> 381 </span><span class="lineCov"> 424 : if(waitForGpio) {</span></a>
|
||||
<a name="382"><span class="lineNum"> 382 </span><span class="lineCov"> 424 : if(this->gpioPin == RADIOLIB_NC) {</span></a>
|
||||
<a name="383"><span class="lineNum"> 383 </span><span class="lineNoCov"> 0 : this->hal->delay(1);</span></a>
|
||||
<a name="384"><span class="lineNum"> 384 </span> : } else {</a>
|
||||
<a name="385"><span class="lineNum"> 385 </span><span class="lineCov"> 423 : this->hal->delayMicroseconds(1);</span></a>
|
||||
<a name="386"><span class="lineNum"> 386 </span><span class="lineCov"> 423 : RadioLibTime_t start = this->hal->millis();</span></a>
|
||||
<a name="387"><span class="lineNum"> 387 </span><span class="lineCov"> 423 : while(this->hal->digitalRead(this->gpioPin)) {</span></a>
|
||||
<a name="385"><span class="lineNum"> 385 </span><span class="lineCov"> 424 : this->hal->delayMicroseconds(1);</span></a>
|
||||
<a name="386"><span class="lineNum"> 386 </span><span class="lineCov"> 424 : RadioLibTime_t start = this->hal->millis();</span></a>
|
||||
<a name="387"><span class="lineNum"> 387 </span><span class="lineCov"> 424 : while(this->hal->digitalRead(this->gpioPin)) {</span></a>
|
||||
<a name="388"><span class="lineNum"> 388 </span><span class="lineNoCov"> 0 : this->hal->yield();</span></a>
|
||||
<a name="389"><span class="lineNum"> 389 </span> : </a>
|
||||
<a name="390"><span class="lineNum"> 390 </span> : // this timeout check triggers a false positive from cppcheck</a>
|
||||
|
@ -465,15 +465,15 @@
|
|||
<a name="403"><span class="lineNum"> 403 </span> : }</a>
|
||||
<a name="404"><span class="lineNum"> 404 </span> : </a>
|
||||
<a name="405"><span class="lineNum"> 405 </span> : // parse status</a>
|
||||
<a name="406"><span class="lineNum"> 406 </span><span class="lineCov"> 423 : int16_t state = RADIOLIB_ERR_NONE;</span></a>
|
||||
<a name="407"><span class="lineNum"> 407 </span><span class="lineCov"> 423 : if((this->spiConfig.parseStatusCb != nullptr) && (numBytes > 0)) {</span></a>
|
||||
<a name="406"><span class="lineNum"> 406 </span><span class="lineCov"> 424 : int16_t state = RADIOLIB_ERR_NONE;</span></a>
|
||||
<a name="407"><span class="lineNum"> 407 </span><span class="lineCov"> 424 : if((this->spiConfig.parseStatusCb != nullptr) && (numBytes > 0)) {</span></a>
|
||||
<a name="408"><span class="lineNum"> 408 </span><span class="lineNoCov"> 0 : state = this->spiConfig.parseStatusCb(buffIn[this->spiConfig.statusPos]);</span></a>
|
||||
<a name="409"><span class="lineNum"> 409 </span> : }</a>
|
||||
<a name="410"><span class="lineNum"> 410 </span> : </a>
|
||||
<a name="411"><span class="lineNum"> 411 </span> : // copy the data</a>
|
||||
<a name="412"><span class="lineNum"> 412 </span><span class="lineCov"> 423 : if(!write) {</span></a>
|
||||
<a name="412"><span class="lineNum"> 412 </span><span class="lineCov"> 424 : if(!write) {</span></a>
|
||||
<a name="413"><span class="lineNum"> 413 </span> : // skip the status bytes if present</a>
|
||||
<a name="414"><span class="lineNum"> 414 </span><span class="lineCov"> 418 : memcpy(dataIn, &buffIn[cmdLen + (this->spiConfig.widths[RADIOLIB_MODULE_SPI_WIDTH_STATUS] / 8)], numBytes);</span></a>
|
||||
<a name="414"><span class="lineNum"> 414 </span><span class="lineCov"> 419 : memcpy(dataIn, &buffIn[cmdLen + (this->spiConfig.widths[RADIOLIB_MODULE_SPI_WIDTH_STATUS] / 8)], numBytes);</span></a>
|
||||
<a name="415"><span class="lineNum"> 415 </span> : }</a>
|
||||
<a name="416"><span class="lineNum"> 416 </span> : </a>
|
||||
<a name="417"><span class="lineNum"> 417 </span> : // print debug information</a>
|
||||
|
@ -508,11 +508,11 @@
|
|||
<a name="446"><span class="lineNum"> 446 </span> : #endif</a>
|
||||
<a name="447"><span class="lineNum"> 447 </span> : </a>
|
||||
<a name="448"><span class="lineNum"> 448 </span> : #if !RADIOLIB_STATIC_ONLY</a>
|
||||
<a name="449"><span class="lineNum"> 449 </span><span class="lineCov"> 423 : delete[] buffOut;</span></a>
|
||||
<a name="450"><span class="lineNum"> 450 </span><span class="lineCov"> 423 : delete[] buffIn;</span></a>
|
||||
<a name="449"><span class="lineNum"> 449 </span><span class="lineCov"> 424 : delete[] buffOut;</span></a>
|
||||
<a name="450"><span class="lineNum"> 450 </span><span class="lineCov"> 424 : delete[] buffIn;</span></a>
|
||||
<a name="451"><span class="lineNum"> 451 </span> : #endif</a>
|
||||
<a name="452"><span class="lineNum"> 452 </span> : </a>
|
||||
<a name="453"><span class="lineNum"> 453 </span><span class="lineCov"> 423 : return(state);</span></a>
|
||||
<a name="453"><span class="lineNum"> 453 </span><span class="lineCov"> 424 : return(state);</span></a>
|
||||
<a name="454"><span class="lineNum"> 454 </span> : }</a>
|
||||
<a name="455"><span class="lineNum"> 455 </span> : </a>
|
||||
<a name="456"><span class="lineNum"> 456 </span><span class="lineNoCov"> 0 : void Module::waitForMicroseconds(RadioLibTime_t start, RadioLibTime_t len) {</span></a>
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="headerItem">Date:</td>
|
||||
<td class="headerValue">2025-02-17 20:21:12</td>
|
||||
<td class="headerValue">2025-02-18 06:21:46</td>
|
||||
<td></td>
|
||||
<td class="headerItem">Functions:</td>
|
||||
<td class="headerCovTableEntry">10</td>
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="headerItem">Date:</td>
|
||||
<td class="headerValue">2025-02-17 20:21:12</td>
|
||||
<td class="headerValue">2025-02-18 06:21:46</td>
|
||||
<td></td>
|
||||
<td class="headerItem">Functions:</td>
|
||||
<td class="headerCovTableEntry">10</td>
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="headerItem">Date:</td>
|
||||
<td class="headerValue">2025-02-17 20:21:12</td>
|
||||
<td class="headerValue">2025-02-18 06:21:46</td>
|
||||
<td></td>
|
||||
<td class="headerItem">Functions:</td>
|
||||
<td class="headerCovTableEntry">10</td>
|
||||
|
|
Loading…
Add table
Reference in a new issue