W nim potwierdziłem, że da się skompilować wersję 2.0.6 na oryginalną płytkę (atmega1284p): viewtopic.php?f=67&t=6447&start=40#p108081
Przy okazji robienia konfiguracji najnowszej wersji w swojej drukarce, testowałem czy wciąż jest to możliwe dla 2.0.7.2.
Mam CR10 pierwszej generacji z płytą (czarną) Melzi - ogólnie prehistoria, ale w pełni sprawna, bezproblemowa, pomimo całkiem sporego jak na tej klasy sprzęt przebiegu (szacuję ~5 000 godzin )
Przykładowa konfiguracja jest jednak dla Endera 3 z Bltouch.
Nazwa wątku to trochę clickbait, ponieważ nie będzie gotowego Marlina dla CR10, ale dla starej (8bit) płyty jaka jest w CR10. Uznaję, że zainteresowani nie są dziećmi i poradzą sobie z adaptacją konfiguracji pod CR10, a nawet Endera 5, ulepa z dorwaną tanio płytą od Endera itp
Moja konfiguracja na CR10 różni się jedynie wielkością stołu, trochę większymi przyspieszeniami, czujnikiem indukcyjnym i większą liczbą punktów pomiarowych, nazwą drukarki - ogólnie niewiele.
Ogólnie przy kompilacji 2.0.6 dla tej płytki posiłkowałem się poniższym artykułem:
https://thborges.github.io/blog/marlin/ ... -size.html
Z marnym skutkiem da wersji 2.0.7.2 (screen poniżej), ale dla poprzednich wersji sprawdzałem (które sprawdzałem - 2.0.6.1, 2.0.6, 2.0.5.4).
Także, jeżeli z jakiegokolwiek powodu chce ktoś w platformio skompilować Marlina poniżej 2.0.6.1 ( w artykule jest nawet mowa o kompilowaniu w Arduino IDE) to polecam powyższy artykuł.
Okazuję się, że od wersji 2.0.6.1 jest już gotowe środowisku do wyboru bez potrzeby dobierania flag samemu - default_envs = melzi_optimized
Kod: Zaznacz cały
[env:melzi_optimized]
platform = atmelavr
extends = env:melzi_optiboot
build_flags = ${common.build_flags} -fno-tree-scev-cprop -fno-split-wide-types -Wl,--relax -mcall-prologues
build_unflags = -g -ggdb
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Funkcję odblokowane:
Kod: Zaznacz cały
// ------ Configuration.h
#define ENDSTOP_INTERRUPTS_FEATURE
#define PIDTEMPBED
// #define THERMAL_PROTECTION_CHAMBER
#define X_DRIVER_TYPE A4988
#define Y_DRIVER_TYPE A4988
#define Z_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE A4988
#define JUNCTION_DEVIATION_MM
#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
#define BLTOUCH
#define SOFT_ENDSTOPS_MENU_ITEM
#define MULTIPLE_PROBING 2
#define AUTO_BED_LEVELING_BILINEAR
#define RESTORE_LEVELING_AFTER_G28
#define LCD_BED_LEVELING
#define LEVEL_BED_CORNERS
#define GRID_MAX_POINTS_X 4
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
#define Z_SAFE_HOMING
#define EEPROM_SETTINGS
#define SDSUPPORT
#define SPEAKER
#define PRINTCOUNTER
#define CR10_STOCKDISPLAY
#define SLIM_LCD_MENUS
// ------ Configuration_adv.h
//#define ARC_SUPPORT
#define PROBE_OFFSET_WIZARD
#define LIN_ADVANCE
Wrzucam plik .hex : Kod źródłowy : https://we.tl/t-3hmeeRdDL8
LINK BĘDZIE WAŻNY PRZEZ NAJBLIŻSZY TYDZIEŃ!
Jak tylko założe konto i ogarnę gita to wrzucę do wątku linki do mojego repo.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Z ważniejszych informacji dot. konfiguracji:
- obecnie są domyślne wartości parametru NOZZLE_TO_PROBE_OFFSET - należy sobie go zmienić poprzez komendę M851 (https://marlinfw.org/docs/gcode/M851.html)
- jest odblokowane SLIM_LCD_MENUS i niektóre pozycję mogą być niedostępne z poziomu wyświetlacza (nie wnikałem dokładnie), więc zalecam zmiany ustawień robić za pomocą komend.
- wartość Linear Advance należy dobrać samemu (obecnie jest domyślna)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Wrzucam również wersję bez LA
Plik .hex: Kod źródłowy: https://we.tl/t-LjXCwSpAaM
POWTARZAM TYDZIEŃ!
Jeżeli ktoś znajdzie jakiś błąd to proszę pisać.