NuttX Camera Example Configuration Options Missing



  • Referencing: https://github.com/sonydevworld/spresense/tree/master/examples/camera/

    While working through the camera example, with the intention of sending the image/video data to my ILI9340(41) LCD, I noticed the following options were not present in the "camera-defconfig" file:

    CONFIG_EXAMPLES_CAMERA_OUTPUT_LCD=y
    CONFIG_LCD_ON_EXTENSION_BOARD=y
    CONFIG_LCD_ON_MAIN_BOARD=y
    

    Despite this, I added the missing configuration options in camera-defconfig (note I am using the extension board and omitted the param for the MAIN board). I then built, flashed, and ran the example. I did not receive output to my LCD, however Spresense wrote several "VIDEOxxx.YUV" files to the SD card (as would be expected if I didn't have an LCD). I can't say the example failed, it just did not operate per my expectations.

    My wiring is below, and has not changed from my (successfully) testing with the Arduino LCD+camera examples:

    Wiring: Display => Spresense:
    DC -> 9
    RST -> 8
    CS -> 10
    MOSI -> 11
    MISO -> 12
    SCK -> 13

    (Display): https://www.adafruit.com/product/1480

    Any ideas as to how I can run this example with LCD output?



  • Update: I built/ran the NuttX "Hello World" graphics example successfully using my LCD, so at this time I am confident the hardware is connected & functioning correctly:

    https://github.com/sonydevworld/spresense/tree/master/examples/nxhello

    FYI I also used the graphical/menu based configuration utility to setup the nxhello demo.



  • Update: I was able to run the NuttX camera example successfully the other day. Key points below, when using the tools/config.py -m menu:

    -- Ensure LCD SPI is selected in the Board Configuration menu
    -- Ensure the LCD Drivers, Video Device Support (camera), & Video Support drivers are selected in the Drivers menu
    -- Read through all the driver options in the menu! It is a useful exercise....

    Those notes may seem rudimentary, but I missed a few of those configuration options. Note I abandoned configuring the camera example using the command line (RE: issues in the first post). Also, I was able to successfully modify the camera example so that I have a simple "full speed" 320x240 video stream on the LCD.

    FWIW I don't consider the original post resolved, however I am no longer roadblocked....


  • DeveloperWorld

    Hi @Cameron-R-MANN

    This patch should set the settings needed to get a ILI934x display working with the Spresense board (connected to the extension board, this can easily be changed in menuconfig if the display is connected to the mainboard instead).

    From 4dc34650fc8dd4caf523231136ab801b621f83e3 Mon Sep 17 00:00:00 2001
    From: Karl Komierowski <xxxxx@xxxxxx>
    Date: Thu, 1 Aug 2019 10:06:37 +0200
    Subject: [PATCH] Add ILI9340 configuration to Camera example
    
    * Activates drivers for a ILI9340 TFT display with TX DMA.
    ---
     examples/camera/Kconfig | 7 ++++++-
     1 file changed, 6 insertions(+), 1 deletion(-)
    
    diff --git a/examples/camera/Kconfig b/examples/camera/Kconfig
    index 2fd6938..f60ee66 100644
    --- a/examples/camera/Kconfig
    +++ b/examples/camera/Kconfig
    @@ -29,5 +29,10 @@ config EXAMPLES_CAMERA_STACKSIZE
    
     config EXAMPLES_CAMERA_OUTPUT_LCD
            bool "Output LCD"
    -
    +       select CXD56_SPI
    +       imply CXD56_DMAC_SPI4_TX
    +       imply CXD56_DMAC_SPI5_TX
    +       select LCD
    +       select LCD_ILI9340
    +       select LCD_ILI9340_IFACE0
     endif
    -- 
    2.17.1
    


  • Thanks Karl! I will give it a try....