由於,近期正在玩 octoprint 來進行遠端列印,一直會遇到忽然中斷的問題
1 | Recv: Error:Line Number is not Last Line Number+1, Last Line: 672 |
調查一下才發現,可能是 Marlin 2.0.6 驅動的問題。
倒置 OctoPrint 在傳輸指令的時候會失敗
但問題要怎麼辦呢?只好自己手動編譯 Marlin 了
編譯流程 - 前言
目前大多數教學編譯的方式都是,直接透過 Arduino IDE 或是 VSCode 的 Plugin 去實踐
不過我想找一個在 Linux 平台下更方便的方式,
於是我找到了由 frealmyr 提供,一個透過 Docker 實踐 Build 的方法
Github - frealmyr/marlin-build
從頭開始
首先,先去 Marlin 官方 Github 下載其 Repo
1 | git cloen https://github.com/MarlinFirmware/Marlin |
下載 Marlin 官方提供的 Configure 參考
1 | git clone https://github.com/MarlinFirmware/Configurations -b release-2.1.1 |
Marlin 的檔案跟 Configure 都下載好了,我們就可以直接先開始修改我們的設定了
1 | cd Marlin/Marlin |
以上型號,請參考自己的印表機型號以及主板型號
設定 BLTocuh 可以直接反註解以下幾個參數:
1 | #define BLTOUCH |
這邊我直接採用,取代 z-stop 的線路接法
完成後,編譯方式很簡單
1 | docker run --rm -it -e BOARD=STM32F103RE_creality \ |
若是沒有問題,你就會顯示以下資訊:
1 | Building .pio/build/STM32F103RE_creality/firmware-20231007-072259.bin |
之後,將資訊上面的 /build/STM32F103RE_creality/firmware-20231007-072259.bin
丟進 SD 卡就能夠順利進行更新軔體了~
Reference
Github - OctoaPrint Error:Line Number is not Last Line Number+1, Last Line: … #2342
Creality V4.2.2 & V4.2.7 Motherboard BL Touch Wiring Options