SPI communication with arduino

Hi,

Not sure if you solved it already but I made some edits to your code and it seemed to work for me.

I basically just added slave select pulls when you write some packet of bytes.

//https://decawave.com/decaforum/showthread.php?tid=901

#include <SPI.h>
SPISettings settingsA(8000000,MSBFIRST,SPI_MODE0);
//SPISettings settingsA(100000,MSBFIRST,SPI_MODE0);

void setup() {
pinMode(SS,OUTPUT);
Serial.begin(115200);
SPI.begin();
}

void loop() {
Serial.println("request for pos start ");
SPI.beginTransaction(settingsA);
digitalWrite(SS,LOW);
Serial.print("Sending command, getting back these bytes: ");

Serial.print(SPI.transfer(0x02),HEX);
Serial.print(" “);
Serial.print(SPI.transfer(0x00),HEX);
Serial.println(” ");
digitalWrite(SS,HIGH);

// get the SIZE
uint8_t rxSize = 0x00;
while (rxSize == 0x00) {
digitalWrite(SS,LOW);
rxSize = SPI.transfer(0xFF);
digitalWrite(SS,HIGH);
}
Serial.print(“Size:”);
Serial.print(rxSize,HEX);
Serial.println("");

Serial.print(“here are the data DWM1001 sent back:”);
digitalWrite(SS,LOW);
for (byte i = 0; i < rxSize; i++) {
Serial.print(SPI.transfer(0xFF),HEX);
Serial.print(" ");
}
digitalWrite(SS,HIGH);

Serial.println("");
Serial.println("------------------");
SPI.endTransaction();

delay(100);
}