Fill the progress bar at the end and code optimizations
This commit is contained in:
parent
5ad125cbed
commit
43ace00a24
|
|
@ -8786,6 +8786,7 @@ static bool check_file(const char* filename) {
|
||||||
const uint32_t filesize = card.getFileSize();
|
const uint32_t filesize = card.getFileSize();
|
||||||
uint32_t startPos = 0;
|
uint32_t startPos = 0;
|
||||||
const uint16_t bytesToCheck = min(END_FILE_SECTION, filesize);
|
const uint16_t bytesToCheck = min(END_FILE_SECTION, filesize);
|
||||||
|
uint8_t blocksPrinted = 0;
|
||||||
if (filesize > END_FILE_SECTION) {
|
if (filesize > END_FILE_SECTION) {
|
||||||
startPos = filesize - END_FILE_SECTION;
|
startPos = filesize - END_FILE_SECTION;
|
||||||
card.setIndex(startPos);
|
card.setIndex(startPos);
|
||||||
|
|
@ -8793,23 +8794,23 @@ static bool check_file(const char* filename) {
|
||||||
|
|
||||||
lcd_clear();
|
lcd_clear();
|
||||||
lcd_puts_at_P(0, 1, _i("Checking file"));////c=20 r=1
|
lcd_puts_at_P(0, 1, _i("Checking file"));////c=20 r=1
|
||||||
|
lcd_set_cursor(0, 2);
|
||||||
printf_P(PSTR("startPos=%lu\n"), startPos);
|
printf_P(PSTR("startPos=%lu\n"), startPos);
|
||||||
while (!card.eof() && !result) {
|
while (!card.eof() && !result) {
|
||||||
lcd_set_cursor(0, 2);
|
for (; blocksPrinted < (((card.get_sdpos() - startPos) * LCD_WIDTH) / bytesToCheck); blocksPrinted++)
|
||||||
for (int column = 0; column < 20; column++) {
|
lcd_print('\xFF'); //simple progress bar
|
||||||
const int8_t percent = ((card.get_sdpos() - startPos) * 100) / bytesToCheck;
|
|
||||||
if (column < (percent / 5))
|
|
||||||
{
|
|
||||||
lcd_set_cursor(column, 2);
|
|
||||||
lcd_print('\xFF'); //simple progress bar
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
card.sdprinting = true;
|
card.sdprinting = true;
|
||||||
get_command();
|
get_command();
|
||||||
result = check_commands();
|
result = check_commands();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for (; blocksPrinted < LCD_WIDTH; blocksPrinted++)
|
||||||
|
lcd_print('\xFF'); //simple progress bar
|
||||||
|
_delay(100); //for the user to see the end of the progress bar.
|
||||||
|
|
||||||
card.printingHasFinished();
|
card.printingHasFinished();
|
||||||
|
|
||||||
strncpy_P(lcd_status_message, _T(WELCOME_MSG), LCD_WIDTH);
|
strncpy_P(lcd_status_message, _T(WELCOME_MSG), LCD_WIDTH);
|
||||||
lcd_finishstatus();
|
lcd_finishstatus();
|
||||||
return result;
|
return result;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue