Well, two hours later and I got it to compile, haven't tested on the board yet, will report back.
It's not just a matter of replacing 'SPI' with 'SPI_Master' in the code (and libraries). There are certain functions that are common to the arduino SPI libraries (and the STM32 one) that aren't in the RBL one. So far I've found these compatibility problems:
- SPIClass::beginTransaction() - doesn't exist at all
- SPIClass::endTransaction() - doesn't exist at all
- the class 'SPISettings' doesn't exist at all, this usually stores SPI settings for use with other functions
- SPIClass::setBitOrder() is named 'SPIClass::setBitORDER()' - wrong case
Maybe someone that knows a bit more than me can have a go at cleaning it up and name it 'SPI' like usual. It doesn't look like it would take long. I could botch it together myself (like I have), but I have below average knowledge about C++ and no idea how SPI works on the low level. It's a real pain to have to change a ton of libraries to get SPI working