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();
}