Hello,
I am trying to follow the tutorial SDK UART coexistence example, but it seems like the last step cannot be completed. As you can see, that .hex file does not exist in the folder. Do you have any suggestion?
Thanks.
Hello,
I am trying to follow the tutorial SDK UART coexistence example, but it seems like the last step cannot be completed. As you can see, that .hex file does not exist in the folder. Do you have any suggestion?
Thanks.
Hi,
The Output folder in .../pca10040/s132/ses/ and all the files in it are generated when you build your project. Try building the ble_app_uart_coexist example in SES. The folder, and then also the .hex file, should be then generated, and you should be able to find the file.
Best regards,
Marte
Hi. Trying to build the example (did not do any modification), these errors occur:
The problem is that the components folder does not even exist in the Mesh folder, but rather in the other one (SDK folder). And the global macros in SES are defined as:
SDK_ROOT=C:\SESProj\nRF5_SDK_1530
MESH_ROOT=C:\SESProj\nrf5_SDK_for_Mesh_v320
Do you have any clue why this happens? Thanks.
Hi,
I'm sorry for the late reply. I had to test this example myself and it took some time.
The guide can be a bit confusing when it comes to the last part with the light switch example, but I will try to explain the process here.
I just tested that this works. However, I used the provisioner example in the nRF Mesh SDK instead of the Mesh app as it fixes everything with provisioning so you don't have to do it manually, which you have to do with the nRF Mesh app. In order to test it with the provisioner example like I did, you should do the following:
I hope this helps you understand how to test this out.
As for the question about the uart coexistence example not working with the nRF Mesh App. This is because the nRF Mesh app does provisioning over GATT, since smart phones don't support provisioning or Mesh activity over ADV. However, the uart coexistence example does not use GATT (both GATT proxy and GATT provisioner bearer are disabled). This is likely because the example is a combination of mesh and BLE examples, so you already have BLE+mesh there, and the the GATT proxy functionality will make it so you kind of get an additional instance of BLE. You could try to implement GATT provisioning and functionality in the example yourself, but I don't know if it will work, and I wouldn't recommend it.
Best regards,
Marte
Hi Ms. Marte Myrvold and thank you very much for the complete and well documented answer!
I have not answered so far, because I have been waiting for another Development Board, to try the set-up which you proposed.
So my setup is now: 3 Development boards, from which 2 are nRF52840 and one is nRF52833. Unfortunately, it seems more difficult than I thought, to run the mesh on the nRF52833.
I loaded the light_switch_client_nrf52832_xxAA project and it does advertise in the nRF Mesh App so it looks like to code is successfully flashed and the board is responsive. However, neither the button (for the client code), nor the LED (for the server code) are responding. I have a guess that it may only be a problem of I/O routing, that is solvable from the code.
Do you have an idea how I could make this?
Thank you very much and I wish you a nice day!
Hi Marry,
I'm happy to help!
If you're programming light_switch_client_nrf52832_xxAA to your nRF52833 DK you will get problems, as that project is for the nRF52832, and should be used if your board is a nRF52 DK. Instead, you should use light_switch_server_nrf52833_xxAA, which is for the nRF52833 DK. The hardware and layout of the DKs are different, so the buttons and LEDs are connected to different GPIOs, and as such, the buttons and LEDs on the nRF52833 DK will not work as expected with a project for another DK. For instance, LED 1 is P0.13 on the the nRF52833 DK, while on the nRF52 DK LED 1 is P0.17. If you want to, you can find the tables for the buttons and LEDs here and here for the nRF52833 DK and nRF52 DK respectively.
Thank you, and have a great day yourself!
Best regards,
Marte
Hi!
Thank you, again extremely helpful answer! The only difference is that I was using SDK Mesh version 3.2.0. And there was no support for this board. But now I had a look over the newer version and I see that they support nrf52833_xxAA. I will try this now, thank you!!
Hi Marte Myrvold! I have some updates and a question about my progress.
I installed SDK Mesh 4.2.0 and SDK 17.0.2, so that I can run the nRF52833 example.
Unfortunately I get this error and it happens for all projects in my newer Mesh folder.
Do you have any idea why this happens? It's an unmodified version, downloaded from the official website.
As a note, I have included the correct path from Options - Building - global macros.
Thank you in advance!
Hi Marte Myrvold! I have some updates and a question about my progress.
I installed SDK Mesh 4.2.0 and SDK 17.0.2, so that I can run the nRF52833 example.
Unfortunately I get this error and it happens for all projects in my newer Mesh folder.
Do you have any idea why this happens? It's an unmodified version, downloaded from the official website.
As a note, I have included the correct path from Options - Building - global macros.
Thank you in advance!
Hi Marry,
The examples in nRF5 SDK for Mesh v4.2.0 are built for nRF5 SDK v16.0.0, so I can't guarantee that they'll work with v17.0.2. When I tested the coexistence example I used SDK Mesh v4.2.0 and SDK v16.0.0, and it worked, so switching to 16.0.0 might fix your problem.
If you want to use v17.0.2 you should look at the release notes for v17.0.2 as well as the migration guide in order to figure out what was changed between the two releases. Someone had a similar problem when trying to build an example built for v17.0.0 with v17.0.2, so you could try out the solution by Simon to that problem, which can be found here.
Best regards,
Marte
Hello! And thank you very much for the quick reply!
I tried with SDK16 and I have the same error unfortunately - and it persits for every project in the Mesh folder. Very strange.
SDK Mesh v4.2.0 and SDK v16.0.0
I have the same set-up as you. I wonder if I missed other setting from SES. But from my perspective, it should be fine.
UPDATE: I build successfully the project.
I just restarted SES, the laptop etc. Thanks a lot for your help, I'm looking forward to the next challenge
Great that you managed to get it to work!
Good luck with your development, and don't hesitate to ask if you happen upon any new problems.
Best regards,
Marte
Thanks Ms. Marte Myrvold! You are indeed helpful!
As a matter of fact, I will ask one further question, since you seem to understand my questions very well. My goal for some good weeks/months has been to implement the Blinky Application and to extend its range. After doing some trials, I came to the conclusion that one solution could be the following:
- On one end: phone with the Blinky Application, receiving notifications from an nRF52840 far-away
- On the other end: an nRF52840, sending notifications (via the button push)
- In between: Nordic Thingy:52 devices, loaded with the mesh example. Because when they are configured as servers(aka LEDs), they relay the messages, so that's very convenient, for my purpose of extending the range :)
Now, my question is the following: how should I integrate these two functionalities? The Blinky for the end-devices and the mesh for the middle devices?
If I load them separately, then the Nordic Thingy:52 devices do not relay the messages. And this is normal, because for the relaying, the group addresses are assigned from the phone first. Whereas for the Blinky Application, we do not assign any address; the phone just scans for the board and then connects to it.
I hope that I presented my problem as clear as possible.
Thanks a lot and I wish you a great day!