https://hackaday.io/project/162592-lerd ... rd-hacking
Год-полтора назад решили проблему установки марлина на Lerdge. Можно было ожидать скрещивания плюсов марлина с удобством GUI Lerdge, но этого почему-то не произошло. Кто-нибудь в теме, почему?
Marlin для Lerdge-X
-
- Активист
- Сообщения: 196
- Зарегистрирован: 18 янв 2020, 19:52
- Откуда: Екатеринбург
-
- Активист
- Сообщения: 145
- Зарегистрирован: 19 янв 2020, 02:31
- Откуда: Earth
Marlin для Lerdge-X
Тестовая сборка (ещё даже не багфикс).
Кодило сообщество под предводительством xC0000005.
Я подправил только platformio/seria/tft/touch/питоновый скрипт сборки и выложил тут уже готовое для компиляции vsc+pio или просто pio: https://github.com/Evg33/Marlin/archive/LX200630.zip
В остальном конфиги дефолтные, т.е. включайте/правьте что требуется.
Компилируем.
Файл .pio\build\LERDGEX\Lerdge_X_firmware_force.bin кладём на microSD в диск:\Lerdge_X_system\Firmware\Lerdge_X_firmware_force.bin
Прошиваем как обычный форс.
Вытаскиваем флешку.
На сток можно вернуться через обычный форс стоковой прошивкой.
Пока исключительно в тестовых целях и для тех, кто хочет поковыряться.
Если Вам просто печатать, то используйте стоковую прошивку.
Обсуждение на темы зачем это и что это никчему можно не начинать.
Кому интересно, тот попробует, кому просто печатать, тот на стоке сидит дальше.
Кодило сообщество под предводительством xC0000005.
Я подправил только platformio/seria/tft/touch/питоновый скрипт сборки и выложил тут уже готовое для компиляции vsc+pio или просто pio: https://github.com/Evg33/Marlin/archive/LX200630.zip
В остальном конфиги дефолтные, т.е. включайте/правьте что требуется.
Компилируем.
Файл .pio\build\LERDGEX\Lerdge_X_firmware_force.bin кладём на microSD в диск:\Lerdge_X_system\Firmware\Lerdge_X_firmware_force.bin
Прошиваем как обычный форс.
Вытаскиваем флешку.
На сток можно вернуться через обычный форс стоковой прошивкой.
Пока исключительно в тестовых целях и для тех, кто хочет поковыряться.
Если Вам просто печатать, то используйте стоковую прошивку.
Обсуждение на темы зачем это и что это никчему можно не начинать.
Кому интересно, тот попробует, кому просто печатать, тот на стоке сидит дальше.
UNI Mini, UNI 2.2, ZAV Mini, ZAV Max.
-
- Активист
- Сообщения: 145
- Зарегистрирован: 19 янв 2020, 02:31
- Откуда: Earth
Re: Marlin для Lerdge X
https://github.com/xC0000005/Marlin/tree/LerdgePlusLCD
https://github.com/xC0000005/Marlin/blo ... /Lerdge.md
Lerdge Support in Marlin
This branch is a combination of pull reqeuests, combining: Lerdge support (for pins and automatic encryption), TFT + touch screen (for LCD, SDIO and XPT) STM32 core update to 8.0 (for I2C fixes)
This has been tested on Lerdge-S and Lerdge-X. Lerdge-K support is underway, but the K board has more bells and whistles, and anything more than a basic (read, no UART/SPI TMC) config is unlikely to work yet.
Thermistor/Thermocouples may have a few bugs - I'll update this document when it's worked out.
##How to build for Lerdge X, S, K in Marlin:
Set your motherboard to S, X, or K.
If you are running an S, change TFT_DRIVER to ST7796 instead of LERDGE_ST7796
Enable the features you want, setting the steps and so on. Once the lerdge support PR is merged it may be easier to start from an example config.
In the PIO terminal, run: pio run -e [board, where board is LERDGEX, LERDGES, or LERDGEK]
The resulting firmware is encrypted for a disk based update. This means you put it on an SD card in the correct directory structure ("Lerdge_[X,K]_System\Firmware\ [for S, 'Firmwave']) and power cycle
Calibrate your touch screen. To do so, touch and hold on the status screen until calibration starts. Use a stylus or calibration may fail. Do not end calibraiton with the rotary encoder click (this is a bug which will be fixed soon)
https://github.com/xC0000005/Marlin/blo ... /Lerdge.md
Lerdge Support in Marlin
This branch is a combination of pull reqeuests, combining: Lerdge support (for pins and automatic encryption), TFT + touch screen (for LCD, SDIO and XPT) STM32 core update to 8.0 (for I2C fixes)
This has been tested on Lerdge-S and Lerdge-X. Lerdge-K support is underway, but the K board has more bells and whistles, and anything more than a basic (read, no UART/SPI TMC) config is unlikely to work yet.
Thermistor/Thermocouples may have a few bugs - I'll update this document when it's worked out.
##How to build for Lerdge X, S, K in Marlin:
Set your motherboard to S, X, or K.
If you are running an S, change TFT_DRIVER to ST7796 instead of LERDGE_ST7796
Enable the features you want, setting the steps and so on. Once the lerdge support PR is merged it may be easier to start from an example config.
In the PIO terminal, run: pio run -e [board, where board is LERDGEX, LERDGES, or LERDGEK]
The resulting firmware is encrypted for a disk based update. This means you put it on an SD card in the correct directory structure ("Lerdge_[X,K]_System\Firmware\ [for S, 'Firmwave']) and power cycle
Calibrate your touch screen. To do so, touch and hold on the status screen until calibration starts. Use a stylus or calibration may fail. Do not end calibraiton with the rotary encoder click (this is a bug which will be fixed soon)
UNI Mini, UNI 2.2, ZAV Mini, ZAV Max.
-
- Активист
- Сообщения: 145
- Зарегистрирован: 19 янв 2020, 02:31
- Откуда: Earth
Re: Marlin для Lerdge X
Ну всё.... Lerdge X/K/S в официальной прошивке Marlin !
Поздравляю ! Это свершилось !
https://github.com/MarlinFirmware/Marlin/pull/18302
Поздравляю ! Это свершилось !
https://github.com/MarlinFirmware/Marlin/pull/18302
UNI Mini, UNI 2.2, ZAV Mini, ZAV Max.
-
- Сообщения: 6
- Зарегистрирован: 29 авг 2020, 01:42
Re: Marlin для Lerdge X
Здравствуйте. Прошу прощения за беспокойство, но можете ли вы помочь с компиляцией Marlin для Lerdge-K? Имеется в виду - как правильно настроить платформио для него и что и где копать в Config марлина, дабы настроить его под Lerdge-K с учётом особенности этой платы.
-
- Активист
- Сообщения: 145
- Зарегистрирован: 19 янв 2020, 02:31
- Откуда: Earth
Re: Marlin для Lerdge X
Лержеводы говорят, что стоковая прошивка самая лучшая и марля им не нужна.
У меня только X (K нету).
У меня только X (K нету).
UNI Mini, UNI 2.2, ZAV Mini, ZAV Max.
-
- Сообщения: 6
- Зарегистрирован: 29 авг 2020, 01:42
Re: Marlin для Lerdge X
Ну, у меня две платы Lerdge-K, но говорить о том, что "стоковая самая лучшая, а марлин не нужен" я однозначно не возьмусь. Стоковая прошивка совсем не идеал. Да, она сейчас (говорю о 3.0.9, т.к. 4.1.0 ещё не тестировал) вполне рабочая, но не идеальная - это точно. Ну и опять же - для таких речей надо сравнить работу одной и второй прошивки. Вот я и хочу посмотреть на тестовом принтере - как будет себя вести марлин на лердже. А для этого надо понять что и как в прошивке конфигурировать. При компиляции вываливается ошибка:
В платформио выбран "default_envs = LERDGEK" в марлине (Marlin-bugfix-2.0.x) стоит
#ifndef MOTHERBOARD
//#define MOTHERBOARD BOARD_RAMPS_14_EFB
#define MOTHERBOARD BOARD_LERDGE_K
#endif
В чём затык не могу понять. Точнее понимаю - ошибка описана "#error "SERIAL_PORT cannot be 0. (Port 0 does not exist.) Please update your configuration."", "'USART0' was not declared in this scope; did you mean 'USART1'?" и "идентификатор "USART0" не определен". Но вот что это за порт, для чего он и как правильно (каким он должен быть) его выставить - затык.
-
- Сообщения: 6
- Зарегистрирован: 29 авг 2020, 01:42
Re: Marlin для Lerdge X
Продолжаю эксперименты. Удалил Arduino IDE, которым кодил на ардуино свои проекты, переустановил VSCode, b попробовал скомпилить прошивку из первого сообщения с форума для Х платы - скомпилилось (хотя до этого не компилилось и вылетало с ошибкой). Воодушевлённый этой, пусть и маленькой, но победой, скачал марлин 2.0.6, открыл в платформио, выставил там "default_envs = LERDGEK", в Configauration.h прописал
#define SERIAL_PORT 1, как было для прошивки LerdgeX из архива в первом сообщении этой ветки
Установил там же
#define BAUDRATE 115200 вместо изначальных 250000
и
#ifndef MOTHERBOARD
//#define MOTHERBOARD BOARD_RAMPS_14_EFB
#define MOTHERBOARD BOARD_LERDGE_K
#endif
После этого с мыслью "не скомпилится - ну и мужской половой орган с ним" нажал кнопку компилить.... Итог на фото ниже
.
Ну и раз костяк скомпилился, то теперь можно лезть внутрь и проводить настройку марлина именно под свои хотелки, благо инструкций для этого вполне хватает. Ну и ещё хотелось бы помощь автора в плане экрана, а именно "Я подправил только platformio/seria/tft/touch/питоновый скрипт сборки" - как сие доработать у меня и прикрутить к моей сборке для версии Lerdge-K (пошагово для начинающих). Экраны у "Х" и "К" версий одинаковые. Ответ можно в ЛС, дабы тут ветку не загаживать. Заранее благодарен за помощь.
#define SERIAL_PORT 1, как было для прошивки LerdgeX из архива в первом сообщении этой ветки
Установил там же
#define BAUDRATE 115200 вместо изначальных 250000
и
#ifndef MOTHERBOARD
//#define MOTHERBOARD BOARD_RAMPS_14_EFB
#define MOTHERBOARD BOARD_LERDGE_K
#endif
После этого с мыслью "не скомпилится - ну и мужской половой орган с ним" нажал кнопку компилить.... Итог на фото ниже
.
Ну и раз костяк скомпилился, то теперь можно лезть внутрь и проводить настройку марлина именно под свои хотелки, благо инструкций для этого вполне хватает. Ну и ещё хотелось бы помощь автора в плане экрана, а именно "Я подправил только platformio/seria/tft/touch/питоновый скрипт сборки" - как сие доработать у меня и прикрутить к моей сборке для версии Lerdge-K (пошагово для начинающих). Экраны у "Х" и "К" версий одинаковые. Ответ можно в ЛС, дабы тут ветку не загаживать. Заранее благодарен за помощь.
-
- Сообщения: 6
- Зарегистрирован: 29 авг 2020, 01:42
Re: Marlin для Lerdge X
Кстати, чем можно победить ошибку:
Building in release mode
Linking .pio\build\LERDGEX\firmware.elf
c:/users/ruslan/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld.exe: cannot find @C:\WINDOWS\TEMP\ccEfNVKh: Invalid argument
c:/users/ruslan/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld.exe: cannot find @C:\WINDOWS\TEMP\cc2HQJim: Invalid argument
collect2.exe: error: ld returned 1 exit status
*** [.pio\build\LERDGEX\firmware.elf] Error 1
Избавиться от ошибки помогает только полная переустановка VSCode. Может есть что-то более простое, какая-то настройка?
Building in release mode
Linking .pio\build\LERDGEX\firmware.elf
c:/users/ruslan/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld.exe: cannot find @C:\WINDOWS\TEMP\ccEfNVKh: Invalid argument
c:/users/ruslan/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld.exe: cannot find @C:\WINDOWS\TEMP\cc2HQJim: Invalid argument
collect2.exe: error: ld returned 1 exit status
*** [.pio\build\LERDGEX\firmware.elf] Error 1
Избавиться от ошибки помогает только полная переустановка VSCode. Может есть что-то более простое, какая-то настройка?
-
- Активист
- Сообщения: 196
- Зарегистрирован: 18 янв 2020, 19:52
- Откуда: Екатеринбург
Re: Marlin для Lerdge X
Попробуйте понять, что именно происходит с временными файлами - то ли места не хватает, то ли антивирус их удаляет/блокирует.
Утилитой Procmon.exe из SysInternals пощупайте.