M23 full path support.

This commit is contained in:
Alex Voinea 2021-02-07 21:51:44 +02:00
parent f5cde38a7c
commit c739aa9003
2 changed files with 17 additions and 6 deletions

View File

@ -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);

View File

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