Marlin запущен на Lerdge X/S/K вместе с дисплеем!

Подписаться на 3Dtoday
ffnull
Идет загрузка
Загрузка
10.01.19
960
40
печатает на Ultimaker Original
Личные дневники
14
Короткий тизер по проекту . Еще очень много работы в будущем, буду держать в курсе!
Подписаться на 3Dtoday
14
Комментарии к статье

Комментарии

11.01.19 в 00:05
5
И какой смысл портить нормальную плату?
11.01.19 в 00:18
4
А что в ней нормального? И в чем порча? В любой момент можно вернутся на родную прошивку
11.01.19 в 14:39
1
А что в ней нормального?
В целом - всё оказалось нормально. Не хватает (лично для меня) только возможности "подключать" по WiFi вставленные в плату накопители как сетевые диски :-)
P.S. И надеюсь, что недавно открытый в прошивке пункт WiFi будет немного расширен по функционалу.
11.01.19 в 02:46
9
Во-первых - не портить.
Во-вторых - хотя бы из интереса.
В-третьих - конкретно тут, насколько я понимаю, есть определенная цель - быть хозяином своего железа, а не ставить, что дяди скажут.

Такие люди и двигают прогресс, постоянно что-то исследуя, дорабатывая, создавая новое.
Как грится, рожденный ползать - уйди со взлетной полосы =)
11.01.19 в 10:42
2
есть определенная цель - быть хозяином своего железа, а не ставить, что дяди скажут.
Истинно джедайский подход,
согласен полностью.
11.01.19 в 22:39
0
хотя бы потому что в Лердже нету Linear Advance! И по утверждению разработчика не планируется.
13.01.19 в 22:01
1
а нужно оно? я пока не заметил особых преимуществ, экструдер только пищит, трещит и пропуски на стенках. Возможно у меня слишком длинная трубка боудена, или я что то делаю не так.
13.01.19 в 22:29
0
а у меня его нету, а очень хочется протестировать, вплоть до того, что бы купить плату 32бита под марлин
11.01.19 в 00:13
2
Чёт я тоже не понимаю зачем
11.01.19 в 00:37
2
Смысл в открытой прошивке Марлина в противовес проприетарной.

Плату никто и не портил.

Вся фишка в коде.
11.01.19 в 00:45
3
Фишка в том что готовится альтернативный бутлоадер позволяющий прошить плату марлином через карту памяти как обычную прошивку, и так же вернутся на заводскую
11.01.19 в 06:37
2
Альтернативный бутлоадер используется только для отладки на разблокированных микроконтролллерах.
"Фишка" как раз в том, что можно использовать родной загрузчик для обратимой установки неродной прошивки.
11.01.19 в 10:39
1
... для отладки на разблокированных микроконтролллерах ...
Не знал про этот факт подобного существования.
Благодарю!
11.01.19 в 14:47
2
Блокировка отладки и чтения флеш памяти - штатная функциональность STM32.
Разблокировка - тоже штаная функция, но она вызывает стирание содержимого флеш памяти.


Lerdge поставляется с заблокированным микроконтроллером, для защиты от копирования нешифрованной прошивки.
Загрузчик и штатная прошивка проверяют наличие защиты от чтения и, если защиты нет, включают ее.
В модифицированном загрузчике эта проверка отключена, что и позволяет использовать ее вместе с отладчиком.
Модифицированный загрузчик можно прошить только через ST-Link и только в разблокированный микроконтроллер.
11.01.19 в 14:55
0
Загрузчик и штатная прошивка проверяют наличие защиты от чтения и, если защиты нет, включают ее.
Благодарю!
Теперь я STM32 боюсь уже меньше ;-)
11.01.19 в 11:19
2
Не только) Я являюсь участником проекта,потому не все подробности пока пишу)
11.01.19 в 11:59
2
Я являюсь участником проекта,потому не все подробности пока пишу
Вы участвуете в открытом проекте, почему тогда не писать про подробности?
Просто не понятно, для чего это. Кроме, как пользуясь родным загрузчиком прошивать туда Марлин или родную прошивку...
11.01.19 в 13:41
4
Потому что пока все еще сырое. И у Основного автора хака, могут поменяться планы. Потому, зачем кидать пыль в глаза? Будет еще существенный шаг - опишу
11.01.19 в 14:31
3
Подробности:
- есть алгоритм шифрования, который позволяет подготовить прошивку для заливки через штатный загрузчик Lerdge
- есть модифицированный Marlin-2.0, в который постепенно добавляется поддержка Lerdge
- в настоящий момент добавлены: поддержка SD карты (подключение через SDIO), одной из двух разновидностей TFT экрана (растянутая в 3 раза картинка стандартного 12864 графического экрана), EEPROM. USB работает только в виде USB-COM переходника на дополнительной плате. Touch Screen пока не используется, управление только через энкодер.
- автор (xC0000005) в эти выходные планирует подключить Lerdge к своему принтеру, т.е. состояние кода позволяет рассчитывать на успешную печать

- на видео в этой статье другой Marlin - порт Marlin-1.x для STEVAL-3D, модифицированный для работы с Lerdge. Код активно заимствуется в обе стороны, но о состоянии ветки 2.0 по этому видео судить нельзя.
11.01.19 в 14:50
2
Как я понял, появится в Марлине поддержка для плат Lerdge. Только как быть со штатным загрузчиком, для которого нужно шифрование, которое предоставлено не разработчиком плат?
Формально, в Марлине можно добавить поддержку плат Lerdge без штатного загрузчика, т.е. стираете STM32F полностью и зашиваете туда Марлин.
11.01.19 в 15:06
1
Так же, как это сделано для MKS Robin - в зависимости от настроек окружения PlatformIO Marlin собирается или под использование на "голом камне" или шифрованный вариант для установки штатным загрузчиком с SD карты.
Для кода Marlin никакой разницы нет, различия только в параметрах линковщика.

Убрали строчку 'extra_scripts' - получили версию под голый камень, вернули на место - получили шифрованный вариант для скармливания штатному загрузчику.

Второй вариант удобнее, так как не требует ST-Link для обновления прошивки и позволяет легко откатиться на родную прошивку.
11.01.19 в 15:27
1
Как технически это выглядит, я понимаю. Я пытаюсь понять как это будет выглядеть с правовой точки зрения... Разработчик плат сделал шифрование прошивки и не публиковал его алгоритм. Кто-то этот алгоритм вскрыл и опубликовал. И чтобы это выложить на GitHub - не будет ли нарушения правил гитхаба C.2 и D.3 ?
11.01.19 в 15:59
1
Не возьмусь судить о взаимоотношениях китайских разработчиков и авторских прав.
15.01.19 в 17:53
0
Изначально прошивка на которой основана китайская - открытая. К тому же, марлин под китайцев, он же не сдампан с чипа, он сделан на основе версии с открытым исходным кодом... Не вижу проблем, ну, кроме гарантии, разве что.
15.01.19 в 18:12
0
Изначально прошивка на которой основана китайская - открытая
Это тоже понятно. Более того, китайцы должны дать исходный код этой прошивки, но они с лицензиями не дружат...

А то, что марлин открытый подогнали под плату - тут всё нормально, вопросов нет. Просто чтобы родной загрузчик использовать - взломали чужую прошивку и это на гихаб выкладывают. На гитхабе, как я понял, за этим сильно не следят.
15.01.19 в 21:31
0
взломали чужую прошивку и это на гихаб выкладывают.
Хм... дизасемблировали скомпилированную опенсорсную прошивку, Вы хотели сказать? :)
На гитхабе, как я понял, за этим сильно не следят.
Всё там следят, просто они понимают, что это основано на гну гпл, так что впринципе то всё ок, гну гпл не подразумевает ответственность за декомпиляцию ПО скомпилированного из опенсорсных сырцов. А вот за то, что Китайские разрабы не раскрывают сырцы за это есть ответственность. Так же, как и за то, что нет полного списка принимавших участие в разработке. Но забугрянск ничего с китаем сделать не может. Если Китай объявит им "санкции", то последствия для них будут... неприятными... Это Вам не жителей этой страны прессовать санкциями.
11.01.19 в 10:41
1
... позволяющий прошить плату марлином ...
Странно, я ожидал, что 32-х разрядная плата (уже имея некий загрузчик, не знаю точно какой) -
- просто грузится с предоставленной пользователем флешки и всё...

... вплоть до перезагрузки по питанию.
11.01.19 в 13:33
2
Технически такое реализовать можно, т.к. STM32 поддерживает работу программы из RAM.
Практически, RAM для Marlin слишком мало, функциональности влезет меньше, что во флеш STM32А103С8T6.
Поэтому при включении загрузчик ищет файл с прошивкой на SD карте, если находит, то обновляет флеш.
После обновления или если новой прошивки нет запускается основная часть прошивки из флеш памяти.
11.01.19 в 14:58
1
После обновления или если новой прошивки нет запускается основная часть прошивки из флеш памяти.
Понятно.
Благодарю!
11.01.19 в 13:49
2
Осталось допилить в Марлине сенсорный экран и сенсорное меню на экране.
И будет полноценная замена Lerdge.
А так - меню у Марлина убогое. Как было 8 бит графика - так и перетащили.

15.01.19 в 21:33
0
Осталось допилить
...пол-марлина. Прошивка Лерджей достаточно стабильная и на удивление безглючная. Чтобы сделать марлин таким же, работы предстоит, много.
11.01.19 в 14:08
1
Для ARM зверя, с 1М памяти, такой убогий экран. С этим надо что-то кардинально делать. Даешь Marlin 3.x + Marlin Configurator, по примеру iNav и BetaFlight.
Добавить захват FPV камеры и вывод OSD на экран видео. Управление LED подсветкой, как на квадрокоптере. Что бы мигал по разному, в зависимости от происходящего в принтере.
11.01.19 в 18:46
1
И прошивку для квадрокоптера, чтобы доставлял отпечатанное по месту назначения =)
11.01.19 в 18:58
1
Прошивка - это iNav. Кажется, в ней есть полеты по маршруту.
Почему я говорю о конфигураторе - это как раз избавит от необходимости трансляции прошивки и заливки ее в принтер. Как, там, сейчас с Betaflight. Конфигуратор соединился с github. Ты выбрал прошивку для своей платы управления. По мне, это очень удобно.
15.01.19 в 09:00
0
Управление LED подсветкой,
Реализована в Марлине. Вешаешь три-четыре мосфета (RGB или RGBW смотря что надо) и управляешь многоцветной лентой как душа пожелает. Захват видео реализован в октопринте, если надо. Выводить его на экран самого принтера - странная хотелка, как по мне. Но если экран повесить HDMI, зацепить его к Pi, туда же присовокупить тачскрин - по идее должно взлететь ;) Вопрос, нафига эти все свистоперделки для принтера, который работает по нескольку часов кряду, и самое главное, что от него требуется - чтоб он работал без сбоев. А все эти украшательства ведут, как правило, к обратному эффекту. Для коптера то понятно: FPV чтоб видеть, куда лететь. Светодиоды - чтоб видеть, где летит и куда упал :) А принтеру это все зачем?

С конфигураторами согласен, хорошая штука. У марлина есть ответвление MarlinKimbra с онлайн конфигуратором . Тыкаешь нужные параметры и скачиваешь настроенный configuration.h. Правда, они окончательно свернули в сторону MK4DUO но сам подход мне нравится.
15.01.19 в 17:07
0
Октопринт, это самостоятельное решение на базе микрокомпьютера. Я говорил о микроконтроллере (МК) управления принтером.
Всё управление принтером - это чтение и обработка G-CODE. В том числе и управление подсветкой. Некоторые люди придумывают включение подсветки по вентилятору охлаждения радиатора разогрева пластика. Некоторым хочется, что бы после окончания происходила подсветка зеленым цветом. Я бы еще придумал, что при аварии или резком отклонении температур стола/пластика, включается красным цветом. То есть, есть желание управления цветом в зависимости от состояния системы, а не от чтения G-CODE.
По камере. На летательных аппаратах самая интересная штука, это наложение сведений о параметрах системы и датчиков на видеопоток. Назвается OSD.

Подумайте сами, в Lerdge стоит довольно мощный МК. На основе схожего МК строится большое количество контроллеров управления ЛА. Математического аппарата и производительности системы очень много. Ну, не поверю, что прошивка Marlin нагружает данный МК на ту же мощность, что 8-ми разрядный Atmel контроллер. Взять хотя бы тем, что в данном МК реализована вещественная арифметика.
15.01.19 в 18:39
0
То есть, есть желание управления цветом в зависимости от состояния системы, а не от чтения G-CODE
Ну это все как раз легко на уровне микроконтроллера и реализуется. Прописать события, желаемый цвет, несколько строк в и так уже раздутый главный цикл марлина, чтоб проверял эти события и зажигал нужные цвета. Не вижу препятствий, в отличие от того же OSD. Правда, и необходимости не вижу, ни в RGB, ни в OSD. Может, не под тем углом просто смотрю...
15.01.19 в 18:57
0
Октопринт, это самостоятельное решение на базе микрокомпьютера.
Какая разница, самостоятельное или нет. Софт можно переписать, чтоб был "несамостоятельным" и заточенным под конкретное железо. Это не великая проблема. Ведь например те же TFT тачскрины фактически тоже обладают своими мозгами, причем наголову мощнее, чем у атмеги. И, фактически, занимаются тем же, что и октопринт. А в случае с клиппером микрокомпьютер начинает выполнять функции микроконтроллера: в реальном времени рассчитывает шаги для шаговика. Тут как провести грань? Я считаю, не нужно ее проводить. Это как ардуино с нахлобучкой-рампсом: вроде две платы, по отдельности ничего не могут (утрирую), а вместе - управляют принтером. А потом их взяли и спаяли вместе - получилась, скажем, MKS Gen L- плата нового поколения. Точно так же можно взять АРМ проц со всей требухой, припаять рядом атмегу с потрохами от рампса, связать их по банальному юарту и обозвать платой нового поколения. :)
15.01.19 в 22:46
0
Вы говорите о конфигураторе для настройки файла configuration.h. С помощью Protinterface вы настраиваете ускорения, скорость подачи пластика и сохраняете эти настройки в памяти контроллера. По моему, тут выигрывает Protinterface. Теперь, представьте, что вам не надо писать этот G-CODE. Очень большая вероятность, что человек допустит ошибку. Ошибки приводят к ухудшению настроения. Точно так же, в BetaFlight или iNav есть режим CLI, где командами, неким аналогом G_CODE, можно произвести все настройки ЛА. Тем не менее, правильно оформленные экраны конфигуратора привлекают большое количество людей к этому не легкому делу, как настройка ЛА.

Вы немного путаете задачи МК, управляющим экраном. Да, скорость и размер памяти у него большие, связанная с необходимостью передачи большого объема картинки на цветной экран. Тем самым достигается основная задача - уменьшение нагрузки на основной МК системы. Ему достаточно передавать небольшой объем информации. По большей части, фон картинки статичен. Картинку не надо пересчитывать, для рисования. Можно хранить некий сжатый образ страницы экрана в большой памяти МК экрана.
15.01.19 в 21:37
0
в октопринте, если надо
Не надо. Надо чтобы это было на Матплате принтера в связке с процем.

У марлина есть ответвление MarlinKimbra с онлайн конфигуратором . Тыкаешь нужные параметры и скачиваешь настроенный configuration.h
У Лерджа в стоковой прошивке всё это настраивается прямо с экрана. Т.е. поключил материнку, воткнул всё как надо, накидал параметры на дисплее и печатаешь.(в большинстве китайских принтеров вообще достаточно выбрать схему и обжим концевиков).

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

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

Стальной "кубик". Tough-steel, или вот что бывает, когда недоступен в заказ ZAV mini.

Принтер А6 и минимоделизм. Первый пост в 2019 году.

Собор святого Александра Невского

Почти все настройки, необходимые для нормальной печати Cura 3.6. Часть 3

Розыгрыш Resin Tank для участников Formlabs Club от компании iGo3D Russia!

Истории участников 3Dtoday Fest: Кирилл Григорьев