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

Configuring SPI -- is the legacy layer required?

Hello,

I am migrating a BLE project from SDK 13.1 to SDK 15, and am running into an issue with SPI functionality.  I have followed the migration guide for 14.2 to 15, changed the variable/function/macro names as appropriate, but it still does not function.

It appears that there are now several places within  SDK 15 where NRFX_SPIM_ENABLED is defined. ( namely the sdk_config for the particular project, then again for each modules\templates\nRF52*\)

I am using NRFX_SPIM0_ENABLED for my particular project.

Also within the nrfx_glue.h, there is the include apply_old_config.h which looks like:

#undef NRFX_SPI0_ENABLED
#define NRFX_SPI0_ENABLED (SPI0_ENABLED && !SPI0_USE_EASY_DMA)
#undef NRFX_SPIM0_ENABLED
#define NRFX_SPIM0_ENABLED (SPI0_ENABLED && SPI0_USE_EASY_DMA)

I don't understand this. Isn't SPI0_ENABLED part of the legacy SPI driver? The Migration document recommends to fully implement the new NRFX drivers as the older ones will be depreciated.

Could I get some advice on this? Maybe the sdk_configs at a minimum? I have vigorously reviewed the nrfx_spi example, which has not borne fruit.

Thanks!

Parents Reply Children
Related