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

Подписаться на 3Dtoday
tamtam
Идет загрузка
Загрузка
10.11.17
481
1
Песочница
6
Проблема в том , что принтер видит ,что карту воткнули но при этом в меню "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 карта теперь стабильно определяется с первого раза.
Подписаться на 3Dtoday
6
Комментарии к статье

Комментарии

14 Ноя 13:24
0
В копилку.

Однозначно.

9680cc976b3da5ba91e91a77faf5f32d.jpg

Для написания комментариев, пожалуйста, авторизуйтесь.

Читайте в блогах

3Dtoday за 60 секунд от 21 февраля

Протезирование в электронике...

E3D предлагает модернизированные хотэнды Chimera+ и Cyclops+

Как с помощью 3D-принтера превратить смартфон в микроскоп

Как я решил проблему неподачи пластика.

- Хорошая работа, Sherlock, мы неплохо справились вдвоём! - Согласен, мой дорогой Watson, согласен!