I've tried linking the ESB library (esb_arm.lib) in Eclipse by adding it to my nRF51822 project's Makefile, but I am still getting undefined reference errors during build. Is there something special that needs to be done to include this library?
I've tried linking the ESB library (esb_arm.lib) in Eclipse by adding it to my nRF51822 project's Makefile, but I am still getting undefined reference errors during build. Is there something special that needs to be done to include this library?
Hi Adam,
You should link in the GCC build of the library, which is located here: ..\Nordic Semiconductor\nRF51 SDK_v5.1.0.36092\Nordic\nrf51822\Lib\esb\gcc
Best regards Håkon
Thanks Håkon,
I'm assuming the esb_sd_resources_gcc.a lib can be used instead of the esb_gcc.a lib when the softdevice is used as well? Does this mean that the library calls can be made while the softdevice is running? Or do both libraries need to be included.
Hi Adam,
This means that the library uses the peripherals that the softdevice uses, so that your application does not need to switch timers or similar. You cannot run ESB/GZLL concurrent with the SoftDevice at this time.
Best regards Håkon
Hi Håkon,
I am trying to use the ESB library and SoftDevice on the same chip, but not at the same time. I am having an issue when switching to enable the SoftDevice after disabling the ESB library. I can get the ESB portion working fine. The problem occurs when I call nrf_esb_disable() to disable the ESB library and then enable the SoftDevice, sd_softdevice_enable() returns 0x1001 signaling that there is an incorrect interrupt configuration. I have tried disabling the timer interrupt and SWI that the ESB library are using after disabling it, but that doesn't seem to work. Is there something special that needs to be done in between disabling ESB and enabling the SoftDevice?
Solved the issue by manually disabling Radio and Timer2 using NVIC_DisableIRQ(...) in between.