Changing 'Handshake' Pin

I'm banging my head against the wall trying to google this one... I'm sure this has come up before and been answered before, but I just can't find the information I need.

I'm using 2 shields (Sparkfun CAN shield & official WiFi shield), that appear to both be using the same 'handshake' pin (pin 7). This appears to be separate from the SS pin used for SPI communication. Both shields have documentation which basically reads: 'Digital pin 7 is used as a handshake pin, and should not be used'. I've got the 2 shields isolated and connected with a mess of jumper wires, and I can use either as long as I disconnect the other from pin 7, so I'm pretty sure that's where my conflict is.

So here are my questions: What is the handshake pin, what is it used for, and where is it defined so I can change it? I'd prefer to change it on the CAN shield and leave the wifi alone, but either way can work. I've looked through the .h and .c files for the CAN shield library, with no luck. I'm not sure where to find the WiFi library files (built in lib). Since I'm not quite sure how a handshake pin is used, I'm not sure exactly what I'm looking for in those files.

The WiFi library is in the folder where your Arduino software is installed under libraries/WiFi.

Sorry I don't know what the handshake is, but at least that might help to know where the library is.

The handshake pin is defined in libraries/WiFi/utilities/spi_drv.cpp

#define DATAOUT     11 // MOSI
#define DATAIN     12 // MISO
#define SPICLOCK   13 // sck
#define SLAVESELECT 10 // ss
#define SLAVEREADY  7  // handshake pin
#define WIFILED     9  // led on wifi shield

Apparently it is there as a way for the slave to signal ready. I would assume that you could change this pin, but I'd be careful to look through and make sure it isn't defined anywhere else.

Than you so much Delta. That allowed me to change the handshake pin, I now have both shields working at the same time.

The handshake pin sounds more like SS (slave select) or CS (chip select) which is what you have to bring low for the slave to take data from the SPI bus.

CS can be one slave at a time or it can be daisy-chained to run many SPI devices in concert, like shift registers acting as one.

When you say both at the same time, I get a picture that it’s actually one at a time for very short periods perhaps moving 32 to 512 bytes from one device to the Arduino and then from the Arduino to the other, and some device command bytes to make that happen of course.