How to resolve a build error in Zephyr while building the Edge Impulse precompiled sample for Thingy 53.

Hi

I was working on an application sample for some days named "Machine learning" which is located at nrf/application, but facing a huge amount of issues connecting the board to edge impulse studio.

So while searching for the answer I found  https://devzone.nordicsemi.com/f/nordic-q-a/93706/nrf-edge-impulse/394830 this ticket, and in this ticket, they have given "edge impulse precompiled for thingy53", link of that is https://github.com/edgeimpulse/firmware-nordic-thingy53 

1. Should I need to use this sample instead of a machine learning sample for working with edge impulse?

I have downloaded and tried to create a build using this sample, but I am facing a build error 

D:/firmware/zephyr/drivers/ipm/ipm_nrfx_ipc.c: In function 'vipm_nrf_0_set_enabled':
D:\firmware\zephyr\include\devicetree.h:305:40: error: 'DT_N_INST_0_nordic_nrf_ipc_IRQ_IDX_0_VAL_irq' undeclared (first use in this function)

D:/firmware/zephyr/drivers/ipm/ipm_nrfx_ipc.c: In function 'gipm_init':
D:\firmware\zephyr\include\devicetree.h:305:40: error: 'DT_N_INST_0_nordic_nrf_ipc_IRQ_IDX_0_VAL_priority' undeclared (first use in this function)

I have not made any changes to the sample and I am unsure why this error is occurring in the default sample.

Can you help me resolve this issue?

Parents Reply
  • Hello, 

    Using the out-of-box configuration of nRF Machine Learning, built for the Thingy:53 and connecting it to my nRF52840DK running Bluetooth: Central UART, I get the following output when connecting to Edge Impulse

    Note that I have tested the connection in the background to a PuTTy terminal to verify data. This is enabled by long pressing the button on the Thingy:53 putting it in Data Forwarder modus.

    Do you have a user on Edge Impulse Studio? If so, do you have a project to where you have collected data and trained your model? Adding the API in your project should download this model and add to your project.


    What version of nRF Connect SDK are you running?

    Kind regards,
    Øyvind

Children
  • I get the following output when connecting to Edge Impulse

    Fabulous, This is what I want. 

    Okay, now I know what will be successful connectivity will look like.

    Please help me more by by sharing

    1. What are the complete steps or add on you have done in the default sample, so that you are not facing the error like API key, deviceID and devicetype.

    2. Please share your prj.conf, and show me the actual line what you have passed as an cmake argument for API key(you can make this ticket private in order to share the confidential  data but I need the actual thing)

    Do you have a user on Edge Impulse Studio?

    Yes, I have and it is private account.

    If so, do you have a project to where you have collected data and trained your model?

    Yes, I named it as 

    What version of nRF Connect SDK are you running?

    ncs v1.9.1

    This is what I get when I tried 

    Your assistance would be greatly valued.

  • Hello, 

    Unknown said:
    1. What are the complete steps or add on you have done in the default sample, so that you are not facing the error like API key, deviceID and devicetype.

    I built the application following the documentation. No alteration done to the application. 

    Unknown said:
    2. Please share your prj.conf, and show me the actual line what you have passed as an cmake argument for API key(you can make this ticket private in order to share the confidential  data but I need the actual thing)

    Please see your applicaiton.

    Unknown said:
    ncs v1.9.1

    I used v2.2.0. Is there a reason for using v1.9.1?

    -Øyvind

  • Hi  
    This is a very disappointing answer from a senior resource person.

    I built the application following the documentation. No alteration done to the application. 

    I understand you have followed the documentation, but don't you think that I must also have followed the documentation?
    I understand that there is something that I misinterpret from your documentation that must be you have interpreted correctly. That is why I ask you a favour to tell me for steps.

    Please see your applicaiton.

    I asked you for prj.conf as well as to share what you have provided in cmake argument for API key in actual, and you have answered this.

    BTW Can you tell me what to write in the  -DEI_API_KEY_HEADER:STRING="x-api-key:aadajsjdhdjf"   exactly, by looking at the below image?

    I used v2.2.0. Is there a reason for using v1.9.1?

    As my other project is working on ncs1.9.1 so I choose this version for the machine learning project also.

    I have downloaded and tested using v2.2.0, but still facing the same issues.

  • Unknown said:
    This is a very disappointing answer from a senior resource person.

    There really is no need for me to provide more steps than what is given in the documentation. You are not providing me with all the information as the issue is inconsistent, with regards to you initial issue.  

    In order for you to download an Edge Impulse project to the nRF Connect SDK project, you will need to verify that you have Prepared the machine learning model.

    The nRF Machine Learning application connects to a private Edge Impulse project:

    # Use the NCS machine learning model for acceleration readouts coming from HW accelerometer
    CONFIG_EDGE_IMPULSE=y
    CONFIG_EDGE_IMPULSE_URI="http://studio.edgeimpulse.com/v1/api/33184/deployment/download?type=zip&modelType=int8"
    CONFIG_EI_WRAPPER=y
    CONFIG_EI_WRAPPER_DATA_BUF_SIZE=1000


    In you case you will need to follow the steps under Downloading from a private project

    // Edit XYZ to your project ID visible in Dashboard in Edge Impulse Studio
    CONFIG_EDGE_IMPULSE_URI="https://studio.edgeimpulse.com/v1/api/XYZ/deployment/download?type=zip"

    Which should download your edge impulse project to the build folder of you nRF Machine Learning sample. But make sure that your model is trained and deployed.

Related