M23 full path support.
This commit is contained in:
parent
f5cde38a7c
commit
c739aa9003
|
|
@ -309,6 +309,18 @@ void CardReader::getAbsFilename(char *t)
|
||||||
else
|
else
|
||||||
t[0]=0;
|
t[0]=0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CardReader::printAbsFilenameFast()
|
||||||
|
{
|
||||||
|
SERIAL_PROTOCOL('/');
|
||||||
|
for (uint8_t i = 0; i < getWorkDirDepth(); i++)
|
||||||
|
{
|
||||||
|
SERIAL_PROTOCOL(dir_names[i]);
|
||||||
|
SERIAL_PROTOCOL('/');
|
||||||
|
}
|
||||||
|
SERIAL_PROTOCOL(LONGEST_FILENAME);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Dive into subfolder
|
* @brief Dive into subfolder
|
||||||
*
|
*
|
||||||
|
|
@ -425,16 +437,16 @@ void CardReader::openFile(const char* name,bool read, bool replace_current/*=tru
|
||||||
{
|
{
|
||||||
if (file.open(curDir, fname, O_READ))
|
if (file.open(curDir, fname, O_READ))
|
||||||
{
|
{
|
||||||
|
getfilename(0, fname);
|
||||||
filesize = file.fileSize();
|
filesize = file.fileSize();
|
||||||
SERIAL_PROTOCOLRPGM(_N("File opened: "));////MSG_SD_FILE_OPENED
|
SERIAL_PROTOCOLRPGM(_N("File opened: "));////MSG_SD_FILE_OPENED
|
||||||
SERIAL_PROTOCOL(fname);
|
printAbsFilenameFast();
|
||||||
SERIAL_PROTOCOLRPGM(_n(" Size: "));////MSG_SD_SIZE
|
SERIAL_PROTOCOLRPGM(_n(" Size: "));////MSG_SD_SIZE
|
||||||
SERIAL_PROTOCOLLN(filesize);
|
SERIAL_PROTOCOLLN(filesize);
|
||||||
sdpos = 0;
|
sdpos = 0;
|
||||||
|
|
||||||
SERIAL_PROTOCOLLNRPGM(MSG_FILE_SELECTED);
|
SERIAL_PROTOCOLLNRPGM(MSG_FILE_SELECTED);
|
||||||
lcd_setstatuspgm(MSG_FILE_SELECTED);
|
lcd_setstatuspgm(MSG_FILE_SELECTED);
|
||||||
getfilename(0, fname);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
@ -508,10 +520,8 @@ void CardReader::getStatus(bool arg_P)
|
||||||
{
|
{
|
||||||
if (arg_P)
|
if (arg_P)
|
||||||
{
|
{
|
||||||
SERIAL_PROTOCOL('/');
|
printAbsFilenameFast();
|
||||||
for (uint8_t i = 0; i < getWorkDirDepth(); i++)
|
SERIAL_PROTOCOLLN();
|
||||||
printf_P(PSTR("%s/"), dir_names[i]);
|
|
||||||
puts(filename);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
SERIAL_PROTOCOLLN(LONGEST_FILENAME);
|
SERIAL_PROTOCOLLN(LONGEST_FILENAME);
|
||||||
|
|
|
||||||
|
|
@ -34,6 +34,7 @@ public:
|
||||||
uint16_t getnrfilenames();
|
uint16_t getnrfilenames();
|
||||||
|
|
||||||
void getAbsFilename(char *t);
|
void getAbsFilename(char *t);
|
||||||
|
void printAbsFilenameFast();
|
||||||
void getDirName(char* name, uint8_t level);
|
void getDirName(char* name, uint8_t level);
|
||||||
uint16_t getWorkDirDepth();
|
uint16_t getWorkDirDepth();
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue