Металл2024 Реклама
Метобр2024 Реклама

Решение проблемы не стабильного определения SD карты в Marline

tamtam
Идет загрузка
Загрузка
10.11.2017
3413
1
Песочница

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

8
Проблема в том , что принтер видит ,что карту воткнули но при этом в меню 'No SD card' соответственно файлы не видны. Решалось это многократным перетыканием карты либо сбросом принтера и это малость раздражало.

Слегка по гуглив и не найдя решения решил поковырять прошивку, что принесло положительный результат, похоже проблема в том ,что инициализация карты в прошивки происходит слишком быстро с момента определения наличия карты в слоте , пока надежный контакт еще не установился.

Для устранения косяка необходимо в файле ultralcd.cpp в указанное место в коде добавить небольшую задержку (то что добавить выделено жирным) :

#if ENABLED(SDSUPPORT) && PIN_EXISTS(SD_DETECT)

const bool sd_status = IS_SD_INSERTED;

if (sd_status != lcd_sd_status && lcd_detected()) {

if (sd_status) { delay(50); // задержка для нормальной инициализации SD карты

card.initsd();

if (lcd_sd_status != 2) LCD_MESSAGEPGM(MSG_SD_INSERTED);

}

Со временем задержки можно по эксперементировать, у меня со значением 50 карта теперь стабильно определяется с первого раза.

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

8
Комментарии к статье
Кремень КБ Реклама
Кремень КМ Реклама