It’s ok to add to the HAL layer but you need to add between the previous last entry and the end statement. Otherwise the Hal layer will not be backward compatible. If you are submitting a pull request I think you should move that call.
Thanks for this report. I’m puzzled how this has slipped by, since all our APIs are supposed to have linker checks. I’ve added this in the develop branch.
Using DMA + interrupts I am able to receive and reply 10.2551Megabits per second while the /2 prescaler actually results in a slighlty slower transfer rate (10.0122)
I might be having signal integrity issues however, unfortunately neither my scope or logic analyzer are up to the job of 30Mhz square waves
SPI1 is already at 30MHz, with SPI at 60MHz. This was changed recently - you’ll see the prescaler is now 2 rather than 4 (the SPI1 clock is SYSCLK/2 so 60MHz, and with a prescaler of 2 gives SPI1 at 30MHz). The committer didn’t update the comment! I’ll take care of that.
This is fixed in the develop branch where active development and integration happens. It will come to the stable branch in the next release (0.4.6) which I believe is coming out soon.
If you want to get it sooner, you can setup to compile locally and get the develop branch from github.