Решение проблемы не стабильного определения SD карты в Marline
Слегка по гуглив и не найдя решения решил поковырять прошивку, что принесло положительный результат, похоже проблема в том ,что инициализация карты в прошивки происходит слишком быстро с момента определения наличия карты в слоте , пока надежный контакт еще не установился.
Для устранения косяка необходимо в файле 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 карта теперь стабильно определяется с первого раза.
Еще больше интересных статей
Корпус 3D Принтера собственной разработки для...
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Пред история.
Примерно полгода назад, а м...
Пара слов о FDplas
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Очень много на сайте встречае...
Ender 3 с директ-экструдером, водяным охлаждением и термокамерой.
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.

Комментарии и вопросы
Я когда объявление по ссылке о...
Никому не пойдет.Ну мне же под...
Вместо стекол пластину из нерж...
Добрый день, пордскажите, пожа...
Добрый день, после отключения...
Здравствуйте всем 🤝Есть такой...
с чем может быть связан данный...