This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

nrf52-ble-image-transfer-demo on Ubuntu 16.04

Hi,
I am trying to use github.com/.../nrf52-ble-image-transfer-demo with Ubuntu 16.04

Using
- gcc-arm-none-eabi-6-2017-q2-update
- nRF5 SDK version 15.0.0 (nRF5 SDK version 15.2.0 throws lot of compile errors if the Makefile is used)
- nRF52840 DK (PCA10056)
- Arducam Mini 2MP camera module (OV2640)

Image Transfer Demo used in Oneplus3 (BT 4.2)

I followed the below steps to confirm working of the demo
1. Using 'nRF Connect v2.6.2 - Programmer'
    - selected the softdevice (/nRF5_SDK_15.0.0_a53641a/components/softdevice/s140/hex/)
    - selected the provided hex (/nRF5_SDK_15.0.0_a53641a/examples/ble_peripheral/nrf52-ble-image-transfer-demo-master/hex/nrf52840_xxaa.hex)

After selecting the application hex file, there is a message displayed "Some of the HEX files have overlapping data"


Though the "nRF Connect v2.6.2 - Programmer" app allows to "Erase & Write", the device is not displayed while scanning in the app on phone

2. make /nRF5_SDK_15.0.0_a53641a/examples/ble_peripheral/nrf52-ble-image-transfer-demo-master/pca10056/s140/armgcc resulted in multiple errors.
    - Added necessary files for compilation and was able to successfully compile the code
    
Linking target: _build/nrf52840_xxaa.out
   text       data        bss        dec        hex    filename
  41580        672       4000      46252       b4ac    _build/nrf52840_xxaa.out
Preparing: _build/nrf52840_xxaa.hex
Preparing: _build/nrf52840_xxaa.bin
DONE nrf52840_xxaa

Again in the "nRF Connect v2.6.2 - Programmer"
    - selected the softdevice (/nRF5_SDK_15.0.0_a53641a/components/softdevice/s140/hex/)
    - selected the compiled hex (/nRF5_SDK_15.0.0_a53641a/examples/ble_peripheral/nrf52-ble-image-transfer-demo-master/pca10056/s140/armgcc/_build/nrf52840_xxaa.hex)
    
This time there is no overlapping data seen.

After "Erase & Write", The "Image Transfer Demo" app on phone doesnt show the device.

I am using, side connector to connect the camera and confirmed that in main.c "#define PCA10056_USE_FRONT_HEADER       0" is there.

Please suggest.

Thank you

Parents Reply
  • Thanks for the links provided.

    I was able to debug the code using SES proj in "examples\ble_peripheral\nrf52-ble-image-transfer-demo-master\pca10056\s140\ses".

    I noticed that the code runs into infinite while.

    main() -> camera_init() -> arducam_mini_2mp_open() 

    //Check if the ArduCAM SPI bus is OK
    arducam_write_reg(ARDUCHIP_TEST1, 0x55);
    temp = arducam_read_reg(ARDUCHIP_TEST1);
    //Serial.println(temp);
    if (temp != 0x55)
    {
    //nrfSystem.registerError(LS_ERROR, "ARDUCAM", 0, "SPI interface non responsive");
    while(1);
    }

    The value of temp is 0xff.

    I confirmed that the below code gets executed in camera_init() function

    m_camera_init.pinScl = 27;
    m_camera_init.pinSda = 26;
    m_camera_init.pinSck = 32 + 15;
    m_camera_init.pinMiso = 32 + 14;
    m_camera_init.pinMosi = 32 + 13;
    m_camera_init.pinCsn = 32 + 12;

    Do I have to modify any of the settings/Pin configurations?

    Please advice.

    Thank You.

Children
Related