Basic terminal interface for Arduino SD card logging/file management. Allows basic file management of an SD card with an Arduino through serial commands.
For more information on a specific command, type help command-name
> - Create file if it doesn't already exist
ap - Append a line to an existing file
cd - Change present working directory
cp - Copy a file to another location
echo - Turn on or off echoing user commands
help - Provide info on commands. Can specify a specific command for help
ls - List the contents of the card. Can specify a specific dir for listing
mkdir - Make a new directory at a specific location
mv - Move or rename a file
print - Print the contents of the given file
pwd - Print the present working directory
rm - Remove a file or dir
The returned message ? signifies the last command was invalid
#include "SdFat.h"
#include "SdTerminal.h"
// Uncomment 'USE_EXTERNAL_SD' define to use an external SD card adapter or leave
// it commented to use the built in sd card.
//#define USE_EXTERNAL_SD
#ifdef USE_EXTERNAL_SD
const uint8_t SD_CS_PIN = SS;
#define SPI_CLOCK SD_SCK_MHZ(10)
#define SD_CONFIG SdSpiConfig(SD_CS_PIN, SHARED_SPI, SPI_CLOCK)
#else // Use built in SD card
#ifdef SDCARD_SS_PIN
const uint8_t SD_CS_PIN = SDCARD_SS_PIN;
#endif // SDCARD_SS_PIN
#define SPI_CLOCK SD_SCK_MHZ(50)
#define SD_CONFIG SdioConfig(FIFO_SDIO)
#endif // USE_EXTERNAL_SD
SdFs sd;
Terminal myTerminal;
void setup()
{
Serial.begin(115200);
while (!sd.begin(SD_CONFIG))
{
Serial.println("SD initialization failed\n");
delay(1000);
}
Serial.println("SD initialization succeeded\n");
myTerminal.begin(sd);
}
void loop()
{
myTerminal.handleCmds();
}