For your code above, I'd suggest you move the Particle.subscribe() instruction before the delay().
Anything that needs to be registered with the cloud needs to be registered within a few seconds after the connectino got established.
You can even preemptively register so that the device OS will register with the cloud ASAP.
How have you wired the card reader?
On the Argon you wouldn’t use the A# pins mentioned in the respective comments but the SCK, MI and MO pins as labeled on the board.
For clarity you may also want to do away with the configuration blocks that don’t apply to your case.
And when posting code, please use the Preformatted text feature for better readability.
I have the micro SD (128gb) inserted with the sparkfun breakout board. I soldered the wires to the breakout board and connected to the argon via breadboard
Welcome to the community. You are getting some great advice from @ScruffR and @peekay123 so I hope your SD card implementation will be running soon.
I wanted to provide an alternative which I have used on many projects, using the SparkFun OpenLog. I know this is not the track you are on but I wanted to make sure you knew there is another way.
Here are some of the advantages of this approach:
It uses less pins than a SPI device and is easily implemented.
You can simply Serial1.println() to the SD card and create data that is easily imported into Excel as a .CSV file
You can remove and replace the SD card without disturbing or having to power down the Argon
I was concerned about increased power consumption but the OpenLog uses only about 2mA while idle.
This is not as robust or integrated an approach as the path you are on. But I wanted to let you know about another approach.
Also, don’t forget we now have access to the 2MB memory chip on the Gen3 Devices now using the LittleFS library that became functional in the latest 2.0 firmware.
It’s really 1MB of storage due to the wear leveling in LittleFS, but that’s still a good amount of data for logs.