mirror of
https://github.com/lupyuen/lupyuen.github.io.git
synced 2025-01-13 10:18:33 +08:00
Commit from GitHub Actions
This commit is contained in:
parent
196e08a208
commit
9800af6dc4
5 changed files with 37 additions and 10 deletions
|
@ -74,8 +74,8 @@
|
|||
<li><a href="#i2c-on-bl602">7 I2C on BL602</a><ul></ul></li>
|
||||
<li><a href="#uart-on-bl602">8 UART on BL602</a><ul></ul></li>
|
||||
<li><a href="#adc-on-bl602">9 ADC on BL602</a><ul></ul></li>
|
||||
<li><a href="#pwm-on-bl602">10 PWM on BL602</a><ul></ul></li>
|
||||
<li><a href="#dma-on-bl602">11 DMA on BL602</a><ul></ul></li>
|
||||
<li><a href="#dma-on-bl602">10 DMA on BL602</a><ul></ul></li>
|
||||
<li><a href="#pwm-on-bl602">11 PWM on BL602</a><ul></ul></li>
|
||||
<li><a href="#wifi-on-bl602">12 WiFi on BL602</a><ul></ul></li>
|
||||
<li><a href="#graphics-on-bl602">13 Graphics on BL602</a><ul></ul></li>
|
||||
<li><a href="#multitasking-bl602">14 Multitasking BL602</a><ul></ul></li>
|
||||
|
@ -305,15 +305,13 @@
|
|||
</li>
|
||||
</ul>
|
||||
<p><img src="https://lupyuen.github.io/images/book-pwm.jpg" alt="PWM on BL602" /></p>
|
||||
<h1 id="pwm-on-bl602"><a href="#pwm-on-bl602">10 PWM on BL602</a></h1>
|
||||
<p>Duty Cycle, Frequency and everything else about the <strong>BL602 / BL604 PWM Functions</strong>.</p>
|
||||
<p>For <strong>BL602 IoT SDK</strong></p>
|
||||
<ul>
|
||||
<li><a href="https://lupyuen.github.io/articles/led#from-gpio-to-pulse-width-modulation-pwm"><strong>“From GPIO to Pulse Width Modulation (PWM)”</strong></a></li>
|
||||
</ul>
|
||||
<p><img src="https://lupyuen.github.io/images/book-dma.jpg" alt="DMA on BL602" /></p>
|
||||
<h1 id="dma-on-bl602"><a href="#dma-on-bl602">11 DMA on BL602</a></h1>
|
||||
<h1 id="dma-on-bl602"><a href="#dma-on-bl602">10 DMA on BL602</a></h1>
|
||||
<p>How we <strong>accelerate data transfers with DMA</strong> on BL602 and BL604.</p>
|
||||
<p>For <strong>Apache NuttX RTOS</strong></p>
|
||||
<ul>
|
||||
<li><a href="https://lupyuen.github.io/articles/spi2#appendix-spi-dma-on-bl602-nuttx"><strong>“SPI DMA on BL602 NuttX”</strong></a></li>
|
||||
</ul>
|
||||
<p>For <strong>BL602 IoT SDK</strong></p>
|
||||
<ul>
|
||||
<li>
|
||||
|
@ -323,6 +321,12 @@
|
|||
<p><a href="https://github.com/lupyuen/bl_iot_sdk/blob/master/customer_app/sdk_app_adc2/sdk_app_adc2/demo.c"><strong>Read LED via ADC DMA</strong></a></p>
|
||||
</li>
|
||||
</ul>
|
||||
<h1 id="pwm-on-bl602"><a href="#pwm-on-bl602">11 PWM on BL602</a></h1>
|
||||
<p>Duty Cycle, Frequency and everything else about the <strong>BL602 / BL604 PWM Functions</strong>.</p>
|
||||
<p>For <strong>BL602 IoT SDK</strong></p>
|
||||
<ul>
|
||||
<li><a href="https://lupyuen.github.io/articles/led#from-gpio-to-pulse-width-modulation-pwm"><strong>“From GPIO to Pulse Width Modulation (PWM)”</strong></a></li>
|
||||
</ul>
|
||||
<p><img src="https://lupyuen.github.io/images/book-wifi.jpg" alt="WiFi on BL602" /></p>
|
||||
<h1 id="wifi-on-bl602"><a href="#wifi-on-bl602">12 WiFi on BL602</a></h1>
|
||||
<p>What happens inside the <strong>WiFi Driver</strong> on BL602 and BL604.</p>
|
||||
|
|
|
@ -1073,7 +1073,10 @@ PrepareTxFrame: status=0, maxSize=11, currentSize=11</code></pre></div>
|
|||
<p><a href="https://lupyuen.github.io/articles/spi#hal_spi_dma_trans-execute-spi-transfer-with-dma"><strong>“Execute SPI Transfer with DMA”</strong></a></p>
|
||||
</li>
|
||||
</ul>
|
||||
<p>Stay tuned for updates!</p>
|
||||
<p><strong>UPDATE:</strong> SPI DMA is now supported on BL602 NuttX…</p>
|
||||
<ul>
|
||||
<li><a href="https://lupyuen.github.io/articles/spi2#appendix-spi-dma-on-bl602-nuttx"><strong>“SPI DMA on BL602 NuttX”</strong></a></li>
|
||||
</ul>
|
||||
<p><img src="https://lupyuen.github.io/images/spi2-pinedio1.jpg" alt="Inside PineDio Stack BL604" /></p>
|
||||
<h1 id="whats-next"><a href="#whats-next">15 What’s Next</a></h1>
|
||||
<p>We’re ready to build a <strong>complete IoT Sensor Device</strong> with NuttX!</p>
|
||||
|
|
|
@ -913,6 +913,10 @@ includes a <strong>Secure Chip ATECC608A</strong>. We talk about it here…</p>
|
|||
<p><a href="https://lupyuen.github.io/articles/spi#hal_spi_dma_trans-execute-spi-transfer-with-dma"><strong>“Execute DMA Linked List”</strong></a></p>
|
||||
</li>
|
||||
</ul>
|
||||
<p><strong>UPDATE:</strong> SPI DMA is now supported on BL602 / BL604 NuttX…</p>
|
||||
<ul>
|
||||
<li><a href="https://lupyuen.github.io/articles/spi2#appendix-spi-dma-on-bl602-nuttx"><strong>“SPI DMA on BL602 NuttX”</strong></a></li>
|
||||
</ul>
|
||||
<p><img src="https://lupyuen.github.io/images/auto-title.jpg" alt="PineCone BL602 RISC-V Board (bottom) connected to Single-Board Computer (top) for Auto Flash and Test" /></p>
|
||||
<p><em>PineCone BL602 RISC-V Board (bottom) connected to Single-Board Computer (top) for Auto Flash and Test</em></p>
|
||||
<h2 id="automated-testing"><a href="#automated-testing">14.9 Automated Testing</a></h2>
|
||||
|
@ -1676,6 +1680,10 @@ monitor_cb: 57600 px refreshed in 1110 ms</code></pre></div>
|
|||
</ul>
|
||||
<p>In future we should implement SPI with <strong>Direct Memory Access</strong> (DMA) to avoid busy-polling the SPI Bus. <a href="https://lupyuen.github.io/articles/pinedio2#spi-direct-memory-access">(See this)</a></p>
|
||||
<p>Hopefully this will improve the responsiveness of the touchscreen.</p>
|
||||
<p><strong>UPDATE:</strong> SPI DMA is now supported on BL602 / BL604 NuttX…</p>
|
||||
<ul>
|
||||
<li><a href="https://lupyuen.github.io/articles/spi2#appendix-spi-dma-on-bl602-nuttx"><strong>“SPI DMA on BL602 NuttX”</strong></a></li>
|
||||
</ul>
|
||||
<h2 id="sx1262-chip-select"><a href="#sx1262-chip-select">16.11 SX1262 Chip Select</a></h2>
|
||||
<p>There’s a potential Race Condition if we use the SX1262 Driver concurrently with the ST7789 Driver…</p>
|
||||
<ul>
|
||||
|
|
|
@ -506,6 +506,10 @@ FAR struct lcd_dev_s *st7789_lcdinitialize(FAR struct spi_dev_s *spi) {
|
|||
<p><a href="https://lupyuen.github.io/articles/spi#spi-with-direct-memory-access">(More about this)</a></p>
|
||||
</li>
|
||||
</ul>
|
||||
<p><strong>UPDATE:</strong> SPI DMA is now supported on BL602 NuttX…</p>
|
||||
<ul>
|
||||
<li><a href="https://lupyuen.github.io/articles/spi2#appendix-spi-dma-on-bl602-nuttx"><strong>“SPI DMA on BL602 NuttX”</strong></a></li>
|
||||
</ul>
|
||||
<p><img src="https://lupyuen.github.io/images/st7789-boot.jpg" alt="When NuttX boots, we should see a pink screen" /></p>
|
||||
<h1 id="lvgl-demo-app"><a href="#lvgl-demo-app">9 LVGL Demo App</a></h1>
|
||||
<p>The ST7789 Driver works great on NuttX… Let’s render some graphics!</p>
|
||||
|
@ -728,6 +732,10 @@ static int bl602_spi_lock(struct spi_dev_s *dev, bool lock) {
|
|||
<p><em>ST7789 receives plenty of data on the SPI Bus (for screen updates). Will there be contention?</em></p>
|
||||
<p>Most definitely. That’s why we need to implement <a href="https://lupyuen.github.io/articles/spi#spi-with-direct-memory-access"><strong>SPI DMA on BL602</strong></a> so that our gadget can do other tasks while painting the ST7789 Display.</p>
|
||||
<p><a href="https://github.com/lupyuen/incubator-nuttx/blob/st7789/arch/risc-v/src/bl602/bl602_spi.c#L805-L855">(Right now the BL602 SPI Driver polls the SPI Port when transferring SPI data)</a></p>
|
||||
<p><strong>UPDATE:</strong> SPI DMA is now supported on BL602 NuttX…</p>
|
||||
<ul>
|
||||
<li><a href="https://lupyuen.github.io/articles/spi2#appendix-spi-dma-on-bl602-nuttx"><strong>“SPI DMA on BL602 NuttX”</strong></a></li>
|
||||
</ul>
|
||||
<p><img src="https://lupyuen.github.io/images/spi2-pinedio2a.jpg" alt="Pine64 PineDio Stack BL604" /></p>
|
||||
<p><em>Pine64 PineDio Stack BL604</em></p>
|
||||
<h1 id="whats-next"><a href="#whats-next">14 What’s Next</a></h1>
|
||||
|
|
|
@ -694,6 +694,10 @@ static ssize_t cst816s_read(FAR struct file *filep, FAR char *buffer, size_t buf
|
|||
<p><a href="https://lupyuen.github.io/articles/spi#hal_spi_dma_trans-execute-spi-transfer-with-dma"><strong>“Execute DMA Linked List”</strong></a></p>
|
||||
</li>
|
||||
</ul>
|
||||
<p><strong>UPDATE:</strong> SPI DMA is now supported on BL602 NuttX…</p>
|
||||
<ul>
|
||||
<li><a href="https://lupyuen.github.io/articles/spi2#appendix-spi-dma-on-bl602-nuttx"><strong>“SPI DMA on BL602 NuttX”</strong></a></li>
|
||||
</ul>
|
||||
<p>Let’s inspect the log…</p>
|
||||
<p>(<strong>TODO:</strong> We should <a href="https://docs.lvgl.io/7.11/get-started/quick-overview.html#button-with-label">add a button</a> and <a href="https://github.com/lupyuen/lvgltest-nuttx/blob/main/lvgltest.c#L185-L197">a message box</a> to the <a href="https://github.com/lupyuen/lvgltest-nuttx/blob/main/lvgltest.c#L110-L198">LVGL Test App</a> to demo the touchscreen)</p>
|
||||
<h2 id="read-touch-data-1"><a href="#read-touch-data-1">7.1 Read Touch Data</a></h2>
|
||||
|
|
Loading…
Reference in a new issue