Willkommen! Anmelden Ein neues Profil erzeugen

Erweiterte Suche

gcode Tx erweitern

geschrieben von baumert 
gcode Tx erweitern
19. July 2019 10:48
Hallo zusammen, für meinen selbstgebauten 3D-Drucker nutze ich die FW Marlin 1.1.9, die ich um einiges angepasst habe und den Slicer Craftware.
Bis jetzt hat alles super funktioniert. Ich habe jetzt meinen Drucker auf 2 Hotends umgebaut, was soweit auch alles funktioniert. Beim Druck mit 2 Farben liefert Craftware jetzt aber einen besonderen Code beim Toolwechsel. Craftware liefert mit dem GCode Tx gleich noch Positions- und Temperaturdaten mit, z.B.

T1 X99.00 Y97.00 Z3.5 S192

Ich habe die FW soweit angepasst, dass die Positionsdaten mit ausgewertet werden, hierzu habe ich bei Funktion "inline void gcode_T(const uint8_t tmp_extruder)" am Ende

gcode_get_destination(); // For X Y Z E F
prepare_move_to_destination(); // For X Y Z E F

hinzugefügt - funktioniert einwandfrei.

Wenn jetzt aber noch ein S-Wert (Temperatur für angewähltes Tool) mitgegeben wird, möchte ich erst die Temperatur übergeben und warten, bis die Temperatur erreicht ist.
Ich möchte hierzu den gode M109 Tx Sxxx über 'enqueue_and_echo_commands_P(PSTR(xxx));' aufrufen:

Vor der Übergabe der neuen Positionen habe ich folgendes eingefügt (meine Versuche):


if (parser.seen('S'))
{
const int16_t tmp_Temp = parser.value_celsius();

const char* tmp_Para1 = "M109 T";
const char* tmp_extr = (char) active_extruder; //, uint8_t); //); //, " S", tmp_Temp); // <- etliche Versuche
const char* tmp_gcode = tmp_Para + tmp_extr;

SERIAL_ECHOPAIR("Parameter {", tmp_extr); <- dient zu debuggen
SERIAL_ECHOPAIR(", ", active_extruder);
SERIAL_ECHOPAIR(", ", tmp_Temp);
SERIAL_ECHOLNPGM(" }");

enqueue_and_echo_commands_P(PSTR(tmp_gcode));
}


Ich schaffe es aber nicht, den String aus "M109 T" active_extruder " S" tmp_Temp aufzubauen, damit ich ihn mit enqueue_and_echo_commands_P aufrufen kann.
Hier fehlt mir den Umgang mit der char-Variable - konvertieren, zusammensetzen, usw.

Ich komme aus einer anderen Programmierwelt und kämpfe hier bereits länger mit dem Aufbau des Strings.

Kann mir jemand bitte einen Tip geben, wie ich aus den verschieden Werten einen String für den Aufruf zusammenstellen kann.

Vorab vielen Dank
Baumert
Re: gcode Tx erweitern
19. July 2019 13:23
Am einfachsten hiermit:
[www.proggen.org]

Herzl. Grüße
In diesem Forum dürfen leider nur registrierte Teilnehmer schreiben.

Klicke hier, um Dich einzuloggen