I don’t have much experience with the Pixy through SPI, but the team I mentor is currently using Pixy2 cameras with Arduinos.
They are using the Pixy ribbon cable that connects directly to the Arduino. On the Arduino, they use the Pixy library API. A link to instructions for both is below:
https://docs.pixycam.com/wiki/doku.php?id=wiki:v1:hooking_up_pixy_to_a_microcontroller_-28like_an_arduino-29
If don’t have a strong reason to use SPI as the Arduino-to-Pixy interface, then I suggest using the above approach.
From the Arduino, the students are using I2C (though they are connecting to another Arduino via I2C, not the RoboRio, long story). Below is example code that shows how to set your Arduino up as a slave on the I2C network. You’ll want to use the second set of code on that page (the code for Slave Sender) since the RoboRio will be the master.
https://www.arduino.cc/en/Tutorial/MasterReader
Also, one last thing. The students noticed that the Pixy does not like other devices holding up the processor. They had to put ultrasonic sensors on a separate Arduino because the waiting for the echo caused “weird” stuff to happen on the Arduino when it was also running the Pixy interface. They haven’t seen an issue with delay() or the I2C interface on the same Arduino as the Pixy.
I hope this helps, feel free to let me know if you want more info on any of this.