Minor fixes to SD presence handling (#3139)
* Remove forgotten function protorypes * Fix code indentation * Fix double sorting if SD card is inserted during setup() * Correctly handle SD removal during sorting
This commit is contained in:
parent
0cbc759d8b
commit
30d9faef9d
@ -196,7 +196,7 @@ void CardReader::ls(ls_param params)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void CardReader::initsd()
|
void CardReader::initsd(bool doPresort/* = true*/)
|
||||||
{
|
{
|
||||||
cardOK = false;
|
cardOK = false;
|
||||||
if(root.isOpen())
|
if(root.isOpen())
|
||||||
@ -240,7 +240,8 @@ void CardReader::initsd()
|
|||||||
workDirDepth = 0;
|
workDirDepth = 0;
|
||||||
|
|
||||||
#ifdef SDCARD_SORT_ALPHA
|
#ifdef SDCARD_SORT_ALPHA
|
||||||
presort();
|
if (doPresort)
|
||||||
|
presort();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -27,7 +27,7 @@ public:
|
|||||||
inline ls_param(bool LFN, bool timestamp):LFN(LFN), timestamp(timestamp) { }
|
inline ls_param(bool LFN, bool timestamp):LFN(LFN), timestamp(timestamp) { }
|
||||||
} __attribute__((packed));
|
} __attribute__((packed));
|
||||||
|
|
||||||
void initsd();
|
void initsd(bool doPresort = true);
|
||||||
void write_command(char *buf);
|
void write_command(char *buf);
|
||||||
void write_command_no_newline(char *buf);
|
void write_command_no_newline(char *buf);
|
||||||
//files auto[0-9].g on the sd card are performed in a row
|
//files auto[0-9].g on the sd card are performed in a row
|
||||||
|
@ -8866,25 +8866,28 @@ void menu_lcd_lcdupdate_func(void)
|
|||||||
lcd_draw_update = 2;
|
lcd_draw_update = 2;
|
||||||
lcd_oldcardstatus = IS_SD_INSERTED;
|
lcd_oldcardstatus = IS_SD_INSERTED;
|
||||||
lcd_refresh(); // to maybe revive the LCD if static electricity killed it.
|
lcd_refresh(); // to maybe revive the LCD if static electricity killed it.
|
||||||
backlight_wake();
|
backlight_wake();
|
||||||
if (lcd_oldcardstatus)
|
if (lcd_oldcardstatus)
|
||||||
{
|
{
|
||||||
card.initsd();
|
if (!card.cardOK)
|
||||||
LCD_MESSAGERPGM(_T(WELCOME_MSG));
|
{
|
||||||
bMain=false; // flag (i.e. 'fake parameter') for 'lcd_sdcard_menu()' function
|
card.initsd(false); //delay the sorting to the sd menu. Otherwise, removing the SD card while sorting will not menu_back()
|
||||||
menu_submenu(lcd_sdcard_menu);
|
card.presort_flag = true; //force sorting of the SD menu
|
||||||
//get_description();
|
}
|
||||||
|
LCD_MESSAGERPGM(_T(WELCOME_MSG));
|
||||||
|
bMain=false; // flag (i.e. 'fake parameter') for 'lcd_sdcard_menu()' function
|
||||||
|
menu_submenu(lcd_sdcard_menu);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if(menu_menu==lcd_sdcard_menu)
|
if(menu_menu==lcd_sdcard_menu)
|
||||||
menu_back();
|
menu_back();
|
||||||
card.release();
|
card.release();
|
||||||
LCD_MESSAGERPGM(_i("Card removed"));////MSG_SD_REMOVED c=20
|
LCD_MESSAGERPGM(_i("Card removed"));////MSG_SD_REMOVED c=20
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif//CARDINSERTED
|
#endif//CARDINSERTED
|
||||||
backlight_update();
|
backlight_update();
|
||||||
if (lcd_next_update_millis < _millis())
|
if (lcd_next_update_millis < _millis())
|
||||||
{
|
{
|
||||||
if (abs(lcd_encoder_diff) >= ENCODER_PULSES_PER_STEP)
|
if (abs(lcd_encoder_diff) >= ENCODER_PULSES_PER_STEP)
|
||||||
|
@ -205,12 +205,6 @@ void lcd_printer_connected();
|
|||||||
void lcd_ping();
|
void lcd_ping();
|
||||||
|
|
||||||
void lcd_calibrate_extruder();
|
void lcd_calibrate_extruder();
|
||||||
void lcd_farm_sdcard_menu();
|
|
||||||
|
|
||||||
//void getFileDescription(char *name, char *description);
|
|
||||||
|
|
||||||
void lcd_farm_sdcard_menu_w();
|
|
||||||
//void get_description();
|
|
||||||
|
|
||||||
void lcd_wait_for_heater();
|
void lcd_wait_for_heater();
|
||||||
void lcd_wait_for_cool_down();
|
void lcd_wait_for_cool_down();
|
||||||
|
Loading…
Reference in New Issue
Block a user