SPI Initialization failure with mrf24j40 and stm32f0discovery


I'm trying to get the mrf24j40 radio working with the stm32f0discovery, I've connected it correctly (to my understanding), but SPI seems to fail to initialize.

Currently the following code is used to test, with ENABLE_DEBUG set: #include <stdio.h> #include <mrf24j40.h> #include <mrf24j40_params.h>

 int main\(void\)
     mrf24j40\_t dev;
     mrf24j40\_setup\(&amp;dev, mrf24j40\_params\);
     return 0;

This results in the following error from the mrf24j40_init function: [mrf24j40] Initialization failure, SPI interface communication failed

The only USEMODULE I've selected in the makefile is mrf24j40

My question here is what the best steps from here would be to find out what could cause SPI to fail, I feel a bit overwhelmed with the possible causes this could have and frankly have no idea what to check next. Is anything inherently wrong with my usage of the driver? Can I use the default params from mrf24j40_params.h without issues? Are any issues known with the stm32 boards and this radio chip? Is the only possible problem here the way I've connected it? Any specific pins not clear from the default params that need to be connected to either GND or VCC?

Any help or ideas would be greatly appreciated, thanks in advance


Slight update on this,

After some more messing around today it ended up being incorrect connection of the CS pin, this is by default connected to PA0, which is the user button. After pressing this button right after flashing the stm32 it goes through and inits correctly. I'm however not sure how I'd let the OS do this instead. Any ideas towards this would still be nice, seems a bit vague.

This is however a minor issue, since it at least works now. Keep up the great work.

Cheers, Nils