Hello,
I am facing a really annoying issue when updating my SPI settings from the old nrf_drv_ towards the newer one nrfx , in SDK15. I am following the recommendtations of this link, but I am getting stuck when trying to create the SPI instance.
I follow these steps, the instantiation of the SPI is done like this
#define SPI_INSTANCE_2 2/**< SPI instance/ static const nrfx_spi_t spi = NRFX_SPI_INSTANCE(SPI_INSTANCE_2); /**< SPI instance. */ static volatile bool spi_xfer_done; /**< Flag used to indicate that SPI instance completed the transfer. */
I have enabled the interface in the sdk_config.h like this
// <e> NRFX_SPI_ENABLED - nrfx_spi - SPI peripheral driver //========================================================== #ifndef NRFX_SPI_ENABLED #define NRFX_SPI_ENABLED 1 #endif // <q> NRFX_SPI0_ENABLED - Enable SPI0 instance // <q> NRFX_SPI0_ENABLED - Enable SPI0 instance #ifndef NRFX_SPI0_ENABLED #define NRFX_SPI0_ENABLED 0 #endif // <q> NRFX_SPI1_ENABLED - Enable SPI1 instance #ifndef NRFX_SPI1_ENABLED #define NRFX_SPI1_ENABLED 0 #endif // <q> NRFX_SPI2_ENABLED - Enable SPI2 instance #ifndef NRFX_SPI2_ENABLED #define NRFX_SPI2_ENABLED 1 #endif
And I am getting the error while compiling, shown as well in the image
'NRFX_SPI2_INST_IDX' undeclared here (not in a function)
in definition of macro 'NRFX_CONCAT_3_'
in expansion of macro 'NRFX_CONCAT_3'
in expansion of macro 'NRFX_SPI_INSTANCE'
Why do I get this error and how can I ride of it? Furthermore, why is not a clear documentation of how to use the new driver ? I can reproduce the exact same problem in the SPI example if I change the SPI instance from 0 to 2 ( previously enabling SPI Instance 2 on the sdk_config.h)
Thanks