Прошивка Marlin. Задаём вопросы, углубляемся в дебри, делимся находками

Собираем, настраиваем, печатаем, делимся опытом, помогаем новичкам

Модератор: Kaktus

diant
Сообщения: 12
Зарегистрирован: 11 дек 2021, 20:32
Имя: Дмитрий
Благодарил (а): 3 раза

Re: Прошивка Marlin. Задаём вопросы, углубляемся в дебри, делимся находками

Непрочитанное сообщение diant » 13 дек 2021, 05:01

Mazayac писал(а):
13 дек 2021, 02:28
Собирал из bugfix версии Марлина
В configuration.h для SD карты активны:
#define SDSUPPORT
#define SD_CHECK_AND_RETRY

В Configuration_adv.h:
#define SDCARD_RATHERRECENTFIRST
#define BROWSE_MEDIA_ON_INSERT
#define MEDIA_MENU_AT_TOP
Спасибо завтра, или уже сегодня попробую.
Creality/Ender-3 Pro/BigTreeTech SKR Mini E3 2.0 & BIGTREETECH TFT35 & Marlin 2.0.9.2

diant
Сообщения: 12
Зарегистрирован: 11 дек 2021, 20:32
Имя: Дмитрий
Благодарил (а): 3 раза

Re: Прошивка Marlin. Задаём вопросы, углубляемся в дебри, делимся находками

Непрочитанное сообщение diant » 13 дек 2021, 06:49

Mazayac писал(а):
13 дек 2021, 02:28
У меня E3 V1.2 на Ender 3 прекрасно работает
Изменения внёс, проверил. Карта автоматом не подтягивается. Меняю карту, захожу в меню, там данные с прошлой карты, нажимаю сменить карту, обновляется. Попробовал включить без sd и потом вставить карту, в меню только пункт "нет карты" и больше никаких кнопок... только перезапуск.
Сонфигурационные файлы просмотрел, глобальной разницы не увидел, типа у меня включен запрос на подтверждение перед печатью, у вас нет, и т.д.
Прошивки пробовал и от BIGTREETECHа и последний Марлин.
Creality/Ender-3 Pro/BigTreeTech SKR Mini E3 2.0 & BIGTREETECH TFT35 & Marlin 2.0.9.2

Аватара пользователя
Mazayac
Сообщения: 1698
Зарегистрирован: 06 ноя 2018, 22:28
Имя: Алексей
Откуда: Нижний Новгород
Благодарил (а): 173 раза
Поблагодарили: 167 раз

Re: Прошивка Marlin. Задаём вопросы, углубляемся в дебри, делимся находками

Непрочитанное сообщение Mazayac » 13 дек 2021, 08:31

diant писал(а):
13 дек 2021, 06:49
Меняю карту
На дисплее что-нибудь меняется при этом? Уведомления появляются?
diant писал(а):
13 дек 2021, 06:49
Прошивки пробовал и от BIGTREETECHа
Чур меня, прошивки от китайцев кривые-косые.
diant писал(а):
13 дек 2021, 06:49
Конфигурационные файлы просмотрел
Можно попробовать собрать новую прошивку из них и багфикс-Марлина.
Sprinters: Techno 232, Pro Techno.

Vikent
Сообщения: 789
Зарегистрирован: 31 янв 2019, 23:09
Имя: Виктор
Откуда: Королёв
Благодарил (а): 31 раз
Поблагодарили: 90 раз

Re: Прошивка Marlin. Задаём вопросы, углубляемся в дебри, делимся находками

Непрочитанное сообщение Vikent » 13 дек 2021, 08:39

diant писал(а):
12 дек 2021, 23:49
В строке if (card_detected)... (card_detected) это что?
Думаю, это факт успешной инициализации карты, а сам блок инициализации прописан где-то в другом месте.
diant писал(а):
12 дек 2021, 23:49
Где эта переменная объявляется?
Может быть и в библиотеке Sd-карты, а может быть и в самом коде. Можно по 'ctrl + f" поискать. Не самый быстрый вариант, конечно, особенно учитывая то, что в Arduino IDE поиск работает только в пределах активной вкладки.

diant
Сообщения: 12
Зарегистрирован: 11 дек 2021, 20:32
Имя: Дмитрий
Благодарил (а): 3 раза

Re: Прошивка Marlin. Задаём вопросы, углубляемся в дебри, делимся находками

Непрочитанное сообщение diant » 13 дек 2021, 14:41

Mazayac писал(а):
13 дек 2021, 08:31
На дисплее что-нибудь меняется при этом? Уведомления появляются?
Нет, вынимай, вставляй другую... не реагирует. Если войти в меню SD карты, отображается содержимое извлечённой карты пока не нажмёшь сменить карту.
Creality/Ender-3 Pro/BigTreeTech SKR Mini E3 2.0 & BIGTREETECH TFT35 & Marlin 2.0.9.2

Аватара пользователя
Mazayac
Сообщения: 1698
Зарегистрирован: 06 ноя 2018, 22:28
Имя: Алексей
Откуда: Нижний Новгород
Благодарил (а): 173 раза
Поблагодарили: 167 раз

Re: Прошивка Marlin. Задаём вопросы, углубляемся в дебри, делимся находками

Непрочитанное сообщение Mazayac » 13 дек 2021, 20:14

diant, ну значит прошивка мёртвая совсем. Предложение что сделать - выше.
Vikent писал(а):
13 дек 2021, 08:39
в Arduino IDE поиск работает только в пределах активной вкладки
Марлин 2.0 собирается в VSCode. В нем есть глобальный поиск (в Arduino IDE впрочем тоже).
Sprinters: Techno 232, Pro Techno.

Vikent
Сообщения: 789
Зарегистрирован: 31 янв 2019, 23:09
Имя: Виктор
Откуда: Королёв
Благодарил (а): 31 раз
Поблагодарили: 90 раз

Re: Прошивка Marlin. Задаём вопросы, углубляемся в дебри, делимся находками

Непрочитанное сообщение Vikent » 14 дек 2021, 08:33

Mazayac писал(а):
13 дек 2021, 20:14
...
есть глобальный поиск (в Arduino IDE впрочем тоже
Не то, чтобы очень сильно надо было, но не нашёл.

diant
Сообщения: 12
Зарегистрирован: 11 дек 2021, 20:32
Имя: Дмитрий
Благодарил (а): 3 раза

Re: Прошивка Marlin. Задаём вопросы, углубляемся в дебри, делимся находками

Непрочитанное сообщение diant » 14 дек 2021, 23:44

Vikent писал(а):
14 дек 2021, 08:33
Не то, чтобы очень сильно надо было, но не нашёл.
Правка - Найти в файлах.

Правда, пока мне это помогло мало. Нашёл, где выводятся нужные мне пункты, но пока не понял как их активировать. В menu_main.cpp:

Код: Выделить всё

#if ENABLED(SDSUPPORT)

    #if !defined(MEDIA_MENU_AT_TOP) && !HAS_ENCODER_WHEEL
      #define MEDIA_MENU_AT_TOP
    #endif

    auto sdcard_menu_items = [&]{
      #if ENABLED(MENU_ADDAUTOSTART)
        ACTION_ITEM(MSG_RUN_AUTO_FILES, card.autofile_begin); // Run Auto Files
      #endif

      if (card_detected) {
        if (card_open) {
          #if PIN_EXISTS(SD_DETECT)
            GCODES_ITEM(MSG_CHANGE_MEDIA, PSTR("M21"));       // M21 Change Media
          #else                                               // - or -
            GCODES_ITEM(MSG_RELEASE_MEDIA, PSTR("M22"));      // M22 Release Media
          #endif
          SUBMENU(MSG_MEDIA_MENU, MEDIA_MENU_GATEWAY);        // Media Menu (or Password First)
        }
      }
      else {
        #if PIN_EXISTS(SD_DETECT)
          ACTION_ITEM(MSG_NO_MEDIA, nullptr);                 // "No Media"
        #else
          GCODES_ITEM(MSG_ATTACH_MEDIA, PSTR("M21"));         // M21 Attach Media
        #endif
      }
    };

  #endif
Такое ощущение, что не меняется PIN_EXISTS(SD_DETECT). Выводятся пункты меню "MSG_CHANGE_MEDIA, PSTR("M21")" если есть карта и "MSG_NO_MEDIA, nullptr" если извлечена, значит переменная "card_open" изменяет своё значение (только если нажать CHANGE_MEDIA без карты, т.е. при инициализации без карты). А "PIN_EXISTS(SD_DETECT)", должен изменяться автоматом при извлечении и вставке sd карты, значит где то отключено, хотя в конфигах всё, что хоть как то может на это влиять включено.
Сейчас перевариваю это выражение, может у кого нормально работает авто определение SD карты, гляньте что у вас в Х:\Marlin-2.0.x\Marlin\src\inc\Conditionals_post.h

Код: Выделить всё

#if HAS_SD_HOST_DRIVE && SD_CONNECTION_IS(ONBOARD)
    //
    // The external SD card is not used. Hardware SPI is used to access the card.
    // When sharing the SD card with a PC we want the menu options to
    // mount/unmount the card and refresh it. So we disable card detect.
    //
    #undef SD_DETECT_PIN
    #define HAS_SHARED_MEDIA 1
  #endif
Последний раз редактировалось diant 14 дек 2021, 23:55, всего редактировалось 1 раз.
Creality/Ender-3 Pro/BigTreeTech SKR Mini E3 2.0 & BIGTREETECH TFT35 & Marlin 2.0.9.2

diant
Сообщения: 12
Зарегистрирован: 11 дек 2021, 20:32
Имя: Дмитрий
Благодарил (а): 3 раза

Re: Прошивка Marlin. Задаём вопросы, углубляемся в дебри, делимся находками

Непрочитанное сообщение diant » 14 дек 2021, 23:52

Mazayac писал(а):
13 дек 2021, 02:28
Вот бы ещё этот пункт "сменить карту" вообще выпилить, только место в меню занимает.
Думаю, тут и можно это выпилить. Это единственное место, где используется эта переменная, не считая language.
Например:

Код: Выделить всё

if (card_detected) {
        if (card_open) {
          SUBMENU(MSG_MEDIA_MENU, MEDIA_MENU_GATEWAY);        // Media Menu (or Password First)
        }
      }
      else {
        #if PIN_EXISTS(SD_DETECT)
          ACTION_ITEM(MSG_NO_MEDIA, nullptr);                 // "No Media"
        #else
          GCODES_ITEM(MSG_ATTACH_MEDIA, PSTR("M21"));         // M21 Attach Media
        #endif
      
Вполне себе, при вставленной карте будет только субменю открывающее проводник карты. Как то так.
Последний раз редактировалось diant 15 дек 2021, 00:07, всего редактировалось 1 раз.
Creality/Ender-3 Pro/BigTreeTech SKR Mini E3 2.0 & BIGTREETECH TFT35 & Marlin 2.0.9.2

Аватара пользователя
Mazayac
Сообщения: 1698
Зарегистрирован: 06 ноя 2018, 22:28
Имя: Алексей
Откуда: Нижний Новгород
Благодарил (а): 173 раза
Поблагодарили: 167 раз

Re: Прошивка Marlin. Задаём вопросы, углубляемся в дебри, делимся находками

Непрочитанное сообщение Mazayac » 14 дек 2021, 23:56

diant писал(а):
14 дек 2021, 23:44
не понял как их активировать
Не надо Вам их активировать. Как ни глупо звучит, оно само должно работать, без пунктов меню. Вставляю карту - тут же пишет "Карта вставлена", вынимаю - пишет "Карта изъята".
diant писал(а):
14 дек 2021, 23:44
Такое ощущение, что не меняется PIN_EXISTS(SD_DETECT)
Таки не меняется, да :) Физического пина наличия SD-карты нет ни в SKR E3 V2.0, ни в SKR E3 V1.2 (которая у меня прекрасно работает). Только +, -, MISO, MOSI, SCLK и CS.
В какой среде собираете прошивку? С моими конфигурационными файлами пробовали (тип платы только сменить)?
Sprinters: Techno 232, Pro Techno.

diant
Сообщения: 12
Зарегистрирован: 11 дек 2021, 20:32
Имя: Дмитрий
Благодарил (а): 3 раза

Re: Прошивка Marlin. Задаём вопросы, углубляемся в дебри, делимся находками

Непрочитанное сообщение diant » 15 дек 2021, 00:11

Mazayac писал(а):
14 дек 2021, 23:56
В какой среде собираете прошивку? С моими конфигурационными файлами пробовали (тип платы только сменить)?
В Visual Studio Code.
Пробовал, всё тоже.
Нашёл заводскую на родной флешке. Переименовал, накатил... Работает, чтоб её.
Creality/Ender-3 Pro/BigTreeTech SKR Mini E3 2.0 & BIGTREETECH TFT35 & Marlin 2.0.9.2

diant
Сообщения: 12
Зарегистрирован: 11 дек 2021, 20:32
Имя: Дмитрий
Благодарил (а): 3 раза

Re: Прошивка Marlin. Задаём вопросы, углубляемся в дебри, делимся находками

Непрочитанное сообщение diant » 15 дек 2021, 04:29

Mazayac писал(а):
14 дек 2021, 23:56
С моими конфигурационными файлами пробовали (тип платы только сменить)?
В общем меню SD я перелопатил как мне нравится. Всё действительно можно сделать в menu_main.cpp, но это в ручную.
Буду разбираться с PIN_EXISTS(SD_DETECT). Вывод на экран состояния SD карты, тоже зависит от этой переменной в marlinui.cpp.
Может ссылку дадите откуда свой проект качали? Попробую всю прошивку, может всё таки есть изменения и в других файлах.

К стати в сообщении выше, я чуток не правильный код отправил

Код: Выделить всё

if (card_detected) {
        if (!card_open) {
должно быть так (восклицательный знак перед card_open). Это я экспериментировал и забыл исправить.
Creality/Ender-3 Pro/BigTreeTech SKR Mini E3 2.0 & BIGTREETECH TFT35 & Marlin 2.0.9.2

Аватара пользователя
Mazayac
Сообщения: 1698
Зарегистрирован: 06 ноя 2018, 22:28
Имя: Алексей
Откуда: Нижний Новгород
Благодарил (а): 173 раза
Поблагодарили: 167 раз

Re: Прошивка Marlin. Задаём вопросы, углубляемся в дебри, делимся находками

Непрочитанное сообщение Mazayac » 15 дек 2021, 06:50

diant писал(а):
15 дек 2021, 04:29
Может ссылку дадите откуда свой проект качали?
Конфигурационники правил под себя на основе марлиновских образцов ( https://github.com/MarlinFirmware/Confi ... s/Creality ).
Билд брал самый последний: https://github.com/MarlinFirmware/Marli ... -2.0.x.zip
Sprinters: Techno 232, Pro Techno.

Аватара пользователя
dark184
Сообщения: 1520
Зарегистрирован: 19 фев 2018, 18:18
Имя: Алексей
Откуда: Архангельск
Благодарил (а): 11 раз
Поблагодарили: 116 раз

Re: Прошивка Marlin. Задаём вопросы, углубляемся в дебри, делимся находками

Непрочитанное сообщение dark184 » 15 дек 2021, 07:49

Mazayac писал(а):
14 дек 2021, 23:56
Физического пина наличия SD-карты нет ни в SKR E3 V2.0
Как нет? А это, взято с гитхаба оригинальная схема от SKR E3 V2.0
2021-12-15_07-46-02.png
2021-12-15_07-46-02.png (82.75 КБ) 1826 просмотров
diant писал(а):
15 дек 2021, 04:29
Буду разбираться с PIN_EXISTS(SD_DETECT).
SD_DETECT а он у вас расскоментирован в конфигурации? Подобное поведение может(но не факт) вызывать залоченая карта памяти(флажок в положении LOCK), либо неисправная, от физической поломки до выработавшей свой ресурс.
Купил себе танк и никого больше не жалею.

Аватара пользователя
Mazayac
Сообщения: 1698
Зарегистрирован: 06 ноя 2018, 22:28
Имя: Алексей
Откуда: Нижний Новгород
Благодарил (а): 173 раза
Поблагодарили: 167 раз

Re: Прошивка Marlin. Задаём вопросы, углубляемся в дебри, делимся находками

Непрочитанное сообщение Mazayac » 15 дек 2021, 07:54

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

А вот флажка защиты от записи точно нет на Micro-SD картах, только на полноразмерных.
Sprinters: Techno 232, Pro Techno.

Ответить

Вернуться в «3D принтеры и 3D печать»

Яндекс.Метрика