I'm trying to learn about SPI and I have a old Bluetooth headset with SPI solder points on it. I've already soldered the corresponding {MISO,MOSI,CS,CLK} pins and connected them to the Bus Pirate correctly. The chip on the headset is a CSR-31315 (9A11U-717AT) which I've found a PDF for (SPI on pg. 74).
The PDF says to perform a read operation all that needs to happen is the CS needs to go from high to low, then a 8-bit read command of 0b00000011 needs to be sent, then the 16-bit address to read needs to be sent. After that it will output on MISO a check word which is composed of {command, address [15:8]} (what is the [15:8] for?) and then finally the contents of the address. Then last take CS high again so it doesn't continue on to print the Address+1 on MISO.
The command I'm feeding to my Bus Pirate is [ 0b11 0x00 0x00 r:16 r:16 ]
, which I believe should take CS from high to low (it idles high), output 0b00000011 the read command, write the 16-bit address of 0x00 0x00, read the 16bit checkword, read the 16-bit address data, and finally take CS high again. I think that should work but it doesn't.