Anleitung: Marlin 2.x selbst kompilieren

  • Hallo alexH,

    bin wieder da und konnte es schonmal mit einer Standard-Konfiguration testen. Ja, VSCode funktioniert.

    Und ja leider liegt es an den Marlin-Dateien, hier sind es Fehler in den Marlin-Dateien, an denen ich nichts geändert habe. :(

    Bei jedem der Fehler, es sind 3, wird ein Binärer Operator vor "(" erwartet. Was für mich leider nicht reparabel ist, da ich nicht weiss was hier gemacht werden muss.


    Die Fehler 1 und 2:

    buildroot/share/PlatformIO/scripts/../../../../Marlin/src/inc/../../Configuration.h:558:26: error: missing binary operator before token "("

    558 | #if TEMP_SENSOR_IS_MAX_TC(0)

    | ^

    buildroot/share/PlatformIO/scripts/../../../../Marlin/src/inc/../../Configuration.h:562:26: error: missing binary operator before token "("

    562 | #if TEMP_SENSOR_IS_MAX_TC(1)

    | ^

    :

    Fehler 3:

    buildroot/share/PlatformIO/scripts/../../../../Marlin/src/inc/../core/drivers.h:83:51: error: missing binary operator before token "("

    83 | #define AXIS_DRIVER_TYPE(A,T) AXIS_DRIVER_TYPE_##A(T)

    | ^


    Keine Ahnung was ich hier ändern oder machen muss, hab da nichts angefasst oder verändert.


    Gruß

    Carsten

  • Bitte lade mal hier deine Configuration.h hoch.


    Die Fehler liegen an der Configuration.h, die du ja verändert hast,

    Code
    buildroot/share/PlatformIO/scripts/../../../../Marlin/src/inc/../../Configuration.h:558:26: error: missing binary operator before token "("
    
    558 | #if TEMP_SENSOR_IS_MAX_TC(0)

    hier wird z.B. das Macro TEMP_SENSOR_IS_MAX_TC aufgerufen

    Code
    #define TEMP_SENSOR_IS_MAX_TC(T) (TEMP_SENSOR_##T == -5 || TEMP_SENSOR_##T == -3 || TEMP_SENSOR_##T == -2)

    das ergibt,

    falls TEMPERATUR_SENSOR _0 == -5 oder -3 oder -2 dann setze die defines...


    in Zeile 535 der Configuration.h hast du wahrscheinlich etwas geändert. Hier sollte bei dir

    Code
    #define TEMP_SENSOR_0 1

    stehen.


    Bitte trotzdem mal die Config hochladen ;)

  • Also ich weiß nicht woher du diese Config hast.

    in Zeile 40:

    Code
    #define CONFIGURATION_H_VERSION 02010200

    das verweist auf die Marlin Version 2.1.2 die es noch garnicht gibt...

    in Zeile 95:

    Code
      #define MOTHERBOARD BOARD_CREALITY_V431

    falsches Mainboard.

    Weiter habe ich nicht geschaut.


    Nochmal im Anhang von mir erstellte Config, diese kompiliert mit Marlin 2.1.1.

    Endstops muss man eventuell ändern, glaube aber nicht.


    Falls du die die Config selber erstellen willst, nimm bitte als Basis eine Crality Drucker Config die das SKR Board drin hat (z.B. Ender 3). Bei den Configs kommt es auf das Board an und kaum auf den Drucker (Druckbereich,Thermistoren, Z-Probe Offset und eventuell Endstops anpassen).

  • das kompiliert bei mir nicht da das Mainboard unbekannt ist,

    woher kommt in Zeile 95:

    Code
      #define MOTHERBOARD BOARD_BTT_SKR_MINI_E3_V3_0_1 // 3DWORK E3v3


    ich sehe aber dass die Endstops hier auf max eingestellt sind und nicht auf min wie ich das in meiner Config gemacht habe...


    Ändere ich das Board auf

    Code
    BOARD_BTT_SKR_MINI_E3_V3_0

    fällt er durch die Plausibilätätsprüfungen mancher Einstellung.

    Dafür bräuchte ich noch die Configuration_adv.h


    An was hängts denn gerade?

  • Habe das jetzt nochmals probiert, habe auch das BOARD kontrolliert und korrigiert,


    #define MOTHERBOARD BOARD_BTT_SKR_MINI_E3_V_3_0


    und habe die Temperatur Sensoren deaktiviert,


    #define TEMP_SENSOR_0 0

    #define TEMP_SENSOR_BED 0


    Damit sollten diese Sensoren nicht mehr berücksichtigt werden.

    Trotzdem bleibt/bleiben der/die Fehler.

    Ich habe keine Ahnung woher Marlin den Wert (-5) nimmt der diese/n Fehler verursacht.


    Für mich hat Marlin 2.1.1 noch den einen oder auch anderen Bug.

  • Kann es sein, das der Pfad (>255 Zeichen) zu lang ist?

    Wenn ich diese Fehlermeldung sehe


    buildroot/share/PlatformIO/scripts/../../../../Marlin/src/inc/../../Configuration.h:558:26: error: missing binary operator before token "("


    sind da eine Menge /../ drin, was auf einen langen Pfad schliessen lässt...

    Ich versuche das mal zu kürzen...

  • Ich hab es geschafft, ich habe eine Firmware für den Ender 6 mit BTT SKR E3 Mini V3.0 & BTT TFT35 V3.0.1 erstellen können. :)

    Diese Firmware ist noch nicht perfekt, es fehlen noch einige Einstellungen, z. B. ist der BLTouch zwar aktiviert, wird aber leider nicht angesprochen bzw. erkannt, aber sie wurde Fehlerfrei erstellt.

    Den Rest werde ich schon noch hinbekommen.

    Sobald der Ender 6 in dieser Konstellation Problemlos läuft werde ich die Firmware hier, für alle die sie gebrauchen können, zur Verfügung stellen.


    Vielen Dank an alle, die mir geholfen und mich mit Tipps und Infos versorgt haben. :)


    Carsten

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!

Unread Threads

    1. Title
    2. Replies
    3. Last Reply
    1. "Platte" (Raft) unter dem Druckmodell bei Flashprint

      • EmmaLee
    2. Replies
      0
      Views
      11
    1. BIQU Hurakan erste Eindrücke 14

      • Fritz
    2. Replies
      14
      Views
      252
      14
    3. Joker

    1. V0.2 ist raus 26

      • top_gun_de
    2. Replies
      26
      Views
      921
      26
    3. felixna

    1. Hintereinander Drucken oder Pause machen? 1

      • EmmaLee
    2. Replies
      1
      Views
      32
      1
    3. 3D-Designer

    1. Betthaftung zu gut 1

      • adet
    2. Replies
      1
      Views
      24
      1
    3. 3D-Designer