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

Multiple nodes acknowledgement problem

Getting acknowledgement only from single node which is 1st connected

Parents
  • Hi Anaya, 

    Please be more specific when asking question. You will get the support faster. 

    Please provide us information how you setup the nodes, if they subscribe to anything, how you send the message. What kind of message it is. 

  • Good evening Sir,

    Ok Sir. I will explain the case :

    1. I have created a mesh network where  I have configured 2 nodes say A and B.

    2. on A node I have 2 on-off servers and set publication address 0x0001 and 0x0002. The lamp operates ok on hardware.

    3. on B node I have 2 on-off servers and set publication address 0x0003 and 0x0004. The lamp operates ok on hardware.

    4. I disconnect the network and again reconnect. Then Node A occurred 1st. I got connected to network.

    5.  I redirect to a new activity where I have given Lamp1, Lamp2, Lamp3, Lamp4 with on-off buttons.

    6. While click on on/off of Lamp1 and Lamp2 then lamp1 operates at hardware and also get onMeshMessageReceived acknowledgment on which I want to show on/off status.

       But when I operate Lamp3 or Lamp4, I didn't get onMeshMessageReceived acknowledgment.

    7. But if I connected to node B, then it works exact opposite of point 5.

       That is I got acknowledgment of Lamp4 and Lamp5 but not of Lamp1 and Lamp2 which are configured on node A.

    8. My requirement is need to receive every lamp acknowledgment when connected to any node in the network.

    Kindly give the solution.

  • Thanks for the reply.

    There is a difference that,

    If I connect to node A, then I am able to control the elements on node B and vice versa, but I am not able to read state of elements on node B when connected node A.

    The trial you suggested is already working on nRF Mesh App of iOS but not working in android.

    Please tell me have you checked in android application of nRF Mesh App with Version : 2.1.4?

    So that please guide us to identify the problem?

  • I actually used the same version. Could you please test again using unmodified light switch server example ? 

  • I have checked  it. Still it's not working.

    Could you please give any other answer?

    Thank you.

  • Hi Anaya, 


    Could you capture a screen recording to show what you did to test on the screen ? (from provisioning of the 2 boards until you start reading the state, please test with full erased of the chip before the test)


    I captured my test here, please have a look: 


  • Thank you for providing video.

    I checked with same steps, it is working with original firmware.

    But if I used a node with custom firmware, then the same problem occurred on android application, where as on iOS application this problem not occurred.

    Please suggest the possible solution.

Reply Children
  • Okey, then you need to check what's the modification you have made. 
    Could send the project so that we can test here ? Please make sure that we can compile on a DK and can run it here. We prefer minimal code that can reproduce the issue. 

  • Okay.

    I am sending our project with modifications. Please find the attached zip file.

    Note: Its name is OnOff Controller with 5 elements. Please configure Generic On Off Server model in 3rd

    or 4th element.

    We have used nRF52 development kit.

    LED1 and LED2 are shows element3 and 4 status respectively

    LED4 is for indication purpose only and blinks continuously

    examples_20200319_113400.zip

  • Please check at your side and suggest the possible solution.

  • Hi Anaya, 

    I did a test here and it seems that when connecting to one of the node as proxy node and then control another node, it worked most of the time, but some times it didn't send the set/get command to the remote node. It seems that the proxy node didn't managed to forward the data to the other node. Could you confirm that what you saw on your side ? It worked most of the time, and only occasionally you can't control the other node and got  a timeout ? 

    I added another node running the stock light switch server example. And it worked just fine to control the other 2 nodes running your firmware. 

    There must be a modification or something that caused the issue. Do you have any activity on the node rather than just adding 3 server and 1 client ? Is there any background activity ? I saw that you have a timer with 500us interval, what is that for ? How long the processing for that last ? Wouldn't having a interrupt every 0.5ms quite short ? 

  • Hi Hung,

    Greetings!

    I am colleague of Mrs. Anaya and I am working on it's nRF52832 development.

    Please note below points.

    1. We also have observed timeout

    2. There is no activity apart from 3 servers and 1 client

    3. However at every 3.3 seconds or 10 seconds client requests status from it's respective server and also while requesting it finds that client is busy with previous transmission then it cancels it and sends new request on next timeout.

    Please confirm whether it will affect other models (OnOff Server) behavior?

    4. Regarding 500uSec timer

          4a. It is used for handling background activities like LED, Buzzer and flash persistence storage (status of device)

          4b. Please note that in flash persistence storage activity, every time when there is change in device status, we tried to save it into flash.

          4c. If needed we can increase it's time to couple milliseconds.

    5. Can you please help us to understand how we can debug proxy functionalities? I mean how can we find out that proxy node has missed to forward data to other nodes?

    Also please mention if there is anything we can do additional to resolve this issue.

    Waiting for your positive reply.

    Thanks to you and Nordic team for your quick, timely and great support.

    Regards,

    Dinesh

Related