GCodePrintr Fragen & Antworten

Kann GCodePrintr einen realen Drucker steuern oder nur simulieren ?

In der Tat beides! 
GCodePrintr begann als reiner Simulator aber später wurden echte 3D-Druckfunktionen hinzugefügt. Die App wurde zu GCodePrintr umbenannt, um Verwechslungen zu vermeiden (früherer Name war GCode Simulator & Printer)

Ist es ratsam die Kaufversion zu kaufen ohne zu Wissen ob die Verbindung funktioniert?

NEIN!  Vor dem Kauf der Vollversion solten Sie sicher stellen, dass die Verbindung zum Drucker und die Steuerung mit der kostenlosen Version (GCodeSimulator) funktioniert.
Ansonsten könnten Sie Ihr Geld umsonst investiert haben. 

Welche Drucker funktionieren erfolgreich mit GCodePrintr ?

Ultimaker
PrintrBot Jr.
MakiBox
Robo3D
Solidoodle
Cerberus Deltabot with Azteeg X3
Multec Multirap
Delta Tower

Reprap mit verschiedenen Steuerungen:
RAMPS (Arduino Mega 2560, Arduino Mega, Taurino Mega,...) 
Teensylu 
Gen7 (MCP2200 based)
BetaPrusa (Echinus board)
SAV MkI (Bluetooth)
RAMPS with JY-MCu HC-06 (Bluetooth)

Welche VendorIDs/ProductsIDs werden unterstützt?

Unterstützte VendorIDs und ProductIDs 
 	VENDOR_FTDI = 0x0403
   	FTDI_FT232R = 0x6001
    FTDI_FT230X = 0x6015;

    VENDOR_ATMEL = 0x03EB;
    ATMEL_LUFA_CDC_DEMO_APP = 0x2044;
    ATMEL_LUFA_CDC_APP = 0x204b;

    VENDOR_ARDUINO = 0x2341;
    ARDUINO_UNO = 0x0001;
    ARDUINO_MEGA_2560 = 0x0010;
    ARDUINO_SERIAL_ADAPTER = 0x003b;
 	ARDUINO_MEGA_ADK = 0x003f;
    ARDUINO_MEGA_2560_R3 = 0x0042;
    ARDUINO_UNO_R3 = 0x0043;
    ARDUINO_MEGA_ADK_R3 = 0x0044;
    ARDUINO_SERIAL_ADAPTER_R3 = 0x0044;
    ARDUINO_LEONARDO = 0x8036;

    VENDOR_VAN_OOIJEN_TECH = 0x16c0;
    VAN_OOIJEN_TECH_TEENSYDUINO_SERIAL = 0x0483;

    VENDOR_LEAFLABS = 0x1eaf;
    LEAFLABS_MAPLE = 0x0004;
    
    VENDOR_SILAB = 0x10c4;
    SILAB_CP2102 = 0xea60;
    
    VENDOR_MICROCHIP = 0x04D8;
    MCP2200 = 0x00DF;
    
    VENDOR_MAKIBLE = 0x1d50;
    MAKIBOX = 0x604c;
Falls die VendorID/ProductID ihres Druckers nicht aufgeführt ist, schreiben Sie mir bitte eine Email mit Details über das Drucker Model und Elektronik.

Welche Android Geräte funktionieren mit GCodePrintr?

Samsung Galaxy Tab II
Samsung Galaxy Tab 7"
Samsung Galaxy Note II
Samsung Galaxy S3
Samsung Galaxy S4
HTC One
Trekstor Breeze 7.0
Acer Iconia
Asus ePad
Acer picasso
Motorola Xoom
Matricom .TAB Nero X2
Nexus S (Bluetooth only)
Nexus 7
Nexus 5
Motorola Droid Razr

Generelle Geräte Empfehlung:
Android >=4.03 wird benötigt
1GB Ram wird empfohlen (kleinere gcode Dateien funktionieren auch auf 512MB RAM Geräten)  
Um über USB zu drucken muss das Android Gerät USB OTG/USB Host Mode unterstützen. (USB OTG Cable wird benötigt) 
Bluetooth Druck funktioniert auch ohne USB-OTG Unterstützung. Nur auf Bluetooth fähigen Geräten. (Bluetooth fähiger Drucker nötig)

Wie finde ich Fehler beim Verbindungsaufbau?

Verbindung mit dem Druckers aufbauen erfordert folgende Schritte
 1) USB-Geräteerkennung funktioniert
 Siehe Mein Drucker wird am USB Port nicht detektiert
 2) Gerät muss als FTDI oder CDC Gerät erkannt werden
 Siehe Fehlermeldung "no FTDI_serial Gerät unterstützt ..."
 3) Serielle Verbindung muss hergestellt werden
 Die richtige Baudrate muss eingestellt werden.  Standard ist 115200, Alternative können 19200/57600/250000 in der Konfiguration geändert werden. 
 Wenn alle Baudraten nicht funktionieren, könnte es ein Problem mit dem Android-Treiber sein (zB mein HTC One hatte USB-OTG Untertstützung nur für Speichergeräte)

 Manchmal hilft es, das USB-Kabel zu trennen, GCodePrintr App beenden, das Kabel erneut anzuschließen und warten bis GCodePrintr gestarted wird.
 Einige Android-Geräte liefern nicht genug Strom, um die Druckerelektronik zu versorgen, in diesem Fall kann ein "Powered USB-Hub" helfen. 

Mein Drucker wird am USB Port nicht detektiert?

Die Android-Basis-System muss den Drucker an dem USB-Anschluss erkennen und es als FTDI oder CDC-Gerät behandeln. 
Dafür ist es zwingend erforderlich das das Android-Gerät USB OTG / USB Host-Modus Unterstützung hat.  (USB OTG Kabel erforderlich).
Die USB-Geräte-Erkennung ist Teil des Basis Android-Systems und wird nicht von der App selbst durchgeführt. 
Wenn Sie das USB-Kabel anschließen sollte eine Benachrichtigung gezeigt werden. 

 Bekannte Probleme:
 1) Einige Android-Geräte scheinen sehr wählerisch in Bezug auf die Reihenfolge zu sein, in der Sie den Drucker anschließen.
 Bitte versuchen Sie folgendes, um zu sehen, ob es hilft:
	 1) sicherstellen, dass das USB-Kabel getrennt ist und die GcodePrintr App geschlossen ist
	 2) Schließen Sie das Drucker USB-Kabel in den OTG-Adapter
	 3) Stecken Sie den OTG Adapter + Kabel in das Android-Gerät
	 4) Warten Sie einige Sekunden. Android sollte das USB-Gerät erkennen und eine Meldung zeigen oder sogar fragen ob die App gestartet werden soll. 
	 4a) Wenn es nichts tut starten Sie die App bitte manuell. 
	 5) Drücken Sie den Connect Knopf und sehen Sie ob die Verbindung hergestellt werden kann.

 2) Wenn das USB-Gerät immer noch nicht erkannt wird, kann es sein dass Ihr Android-Gerät nicht genug Strom für den Drucker liefert. 
 In diesem Fall ist ein "powered USB-Hub" erforderlich. 

 3) Manchmal ist ein Neustart des Android-System nötig. Stellen Sie sicher, dass Ihr Gerät auf dem neuesten Software-Stand ist. 

 4) Überprüfen Sie of Ihr USB-OTG-Kabel in Orndung ist. Wenn Ihr Gerät über mehrere USB-Ports verfügt, versuchen Sie einen anderen.  
 (Vielleicht testen Sie mal mit einem USB-Stick ob dieser erkannt wird)

 5) Manchmal erlaubt der Hersteller nicht individuelle USB-Geräte anzuschließen.  In diesem Fall wird Android meistens ein "unsupported usb device" Fehler zeigen.

 Wenn alle Tips oben nicht helfen, scheint Ihr Gerät USB-Host / USB-OTG nicht richtig zu unterstützen. Bitte kontaktieren Sie Ihren Gerätehersteller.
 Sie können auch 3rd-Party-Tools wie USB Host diagnostics ausprobieren um die USB-Verbindung zu testen.

Fehler Meldung "no supported FTDI_serial device..."

Die Android-Basis-System muss den Drucker an dem USB-Anschluss erkennen und es als FTDI oder CDC-Gerät behandeln. 
Dafür ist es zwingend erforderlich das das Android-Gerät USB OTG / USB Host-Modus Unterstützung hat.  (USB OTG Kabel erforderlich).

Wenn diese Fehlermeldung erscheint, hat das Android-System mindestens ein USB-Gerät erkannt.  Aber es wurde nicht als gültiges FTDI / CDC-Gerät erkannt.

 Es gibt zwei Haupt Ursachen:
 1) Das erkannte USB-Gerät ist NICHT der 3D-Drucker, sondern etwas anderes (z.b. intern in Ihrem Android-Gerät) 
 Sie können die VendorID / ProduktID prüfen, ob Sie zu Ihren Drucker passt. (Mit Google nach der VendorID / Productid suchen, um herauszufinden um welches Gerät es sich handelt) 
 Die folgende Liste zeigt einige bekannte interne USB-Geräte: 
	 VendorID: 0x0bda ProductID: 0x0179 Realtek Wifi
	 VendorID: 0x0bda ProductID: 0x8179 Realtek Wifi
	 VendorID: 0x05c6 ProductID: 0x904c Qualcomm WAN
	 VendorID: 0x058f ProductID: 0x6366 USB-Kartenleser
 Wenn die VendorID/ProductID nicht mit Ihrem Drucker übereinstimmen, siehe Mein Drucker wird am USB Port nicht detektiert

 2) Wenn die VendorID/ProductID zu Ihrem Drucker passt aber immer noch die Fehlermeldung "no FTDI_serial Gerät unterstützt ..." kommt, ist der Drucker möglicherweise nicht auf der Liste der Unterstützten Drucker.
 Bitte überprüfen Sie, ob die VendorID / ProductID des Druckers auf der Unterstützten Drucker Liste aufgeführt ist. 
 Falls nicht senden Sie mir bitte die VendorID & ProductID zusammen mit einigen Infos über die Elektronik und ich kann versuchen es in die Liste aufnehmen.

Wie kann ich GCode Simulator (für PC) als post-processing script für Slic3r verwenden?


Linux:
Hier ist ein kleines Script (gcodesim) für GCode Simulator auf Linux:
	#!/bin/bash
	java -jar /opt/GCodeSimulator.jar "$1"
	
Kopiere das Script in deinen Pfad (z.b. /bin) und füge es in Slic3r als post-processing script hinzu:


Windows:
Entweder erstelle ein eigenes Script oder füge die volle Java Kommandozeile in Slic3r hinzu:
z.b.    java -jar c:\GCodeSimulator.jar

Wie kann ich Probleme während des Druckens lösen(e.g. interuptions)?

Aktivieren Sie Debug-Logging in den Optionen (oder durch langes Drücken auf die Drucktaste).   
Wenn das Problem auftritt stoppen Sie den Druck und senden Sie die Konsolenausgabe (langer Tastendruck auf der Konsole, send per E-Mail)

Wieso dauert es so lange GCode Dateien zu laden?

GCodePrintr analysiert die Gcodes und berechnet alle Arten von Werten (Zeit, Strecke, Filament, ..).
All dies wird in einer großen Speicherstruktur gespeichert ist, um zusätzliche Latenzen während des Drucks zu vermeiden. 
Android allokiert neuen Speicher nur in kleinen Stücken, das macht es sehr langsam und ineffizient. 
Es gibt eine experimentelle Option, um Speicher vor-zu-allokieren um die Ladezeiten zu verbessern, aber auf Geräten mit kleinen Speicher kann es fehlschlagen. 

Wie konfiguriere ich Bluetooth mit einem JY-MCU Modul und RAMPS 1.4?

Folgende Schritte sind notwendig um ein JY-MCU Modul mit RAMPS 1.4 electronics zu verbinden:

Wire the JY-MCU module with your RAMPS for sending AT commands

The JY-MCU module is offered in two variants HC05 and HC06. This HOWTO is for HC06 only. The HC-06 module has 4 pins to connect: RX,TX, VCC, GND.

Connect bluetooth module to the RAMPS auxilary ports:
VCC -> 5V
GND -> GND
RX -> AUX2 D65 (just to change the baud rate)
TX -> AUX2 D66 (just to change the baud rate)
See RAMPS 1.4 Pinout

Set the Baud rate and Bluetooth name of the JY-MCU module

Setting the baud rate of the bluetooth module must be done over serial (not over bluetooth). For this, we have already connected the RX/TX ports to AUX2 D65/D66.With the help of a small Arduino sketch, the baud rate of the module can be set easily.

Please open the arduino ide and upload the following sketch to the arduino board.
#include 

SoftwareSerial mySerial(65, 66); // RX, TX

void setup()
{
  // Open serial communications and wait for port to open:
  Serial.begin(9600);
  while (!Serial) {
          ; // wait for serial port to connect. Needed for Leonardo only
            }
              Serial.println("Goodnight moon!");
             // set the data rate for the SoftwareSerial port
                  mySerial.begin(9600);
                   Serial.println("Hello, world?");
                   }
  //
void loop() // run over and over
                  {
                       if (mySerial.available()){
                           Serial.write(mySerial.read());
                       }
                        if (Serial.available()){
                                 mySerial.write(Serial.read());
                        }
                  }
Once the new sketch is running it will forward all commands received over serial to the bluetooth module.
Now use the Arduino Serial Monitor (Tools menu) to issue AT commands:
AT
>Answer:OK
AT+BAUD8
>Answer: OK115200
AT+NAMEreprap    
>Answer: Oksetname  
This will set the baud rate to 115200 and the bluetooth name to "reprap". Now, disconnect the Bluetooth Module !

Wire the bluetooth module to the serial port

The sketch to forward AT commands to the bluetooth module is no longer needed. Please upload your printer firmware (Marlin/Sprinter) again and make sure the baud rate is set to 115200 as well.

Rewire the Bluetooth Module RX/TX lines to the serial lines
RX -> AUX1 D1
TX -> AUX1 D0
Please note: Reprap wiki indicates that a pull-down resistor is needed because RAMPS uses 5V and the RX/TX lines of the bluetooth module expect only 3.3V. See RepRap Wiki for more information.
Reset Arduino. Bluetooth module is now ready.

Connect with GCodePrintr

The bluetooth module is ready and the led should blick steadily. Open the GCodePrintr communication settings and choose
Printer Connection Type = Bluetooth.
First time you should keep Bluetooth discovery enabled to find the new Bluetooth device.
Open the print panel and press the connect button. It will start a bluetooth discovery and find the new bluetooth device.
Choose the device and connect: Now you can control your printer over Bluetooth !!!


Beim Laden einer GCode Datei erhalte ich einen Fehler?

Die App wurde mit Slic3r und skeinforge erzeugten GCode Dateien getestet. Es funktioniert nicht mit STL-Dateien. 
Es wurde für 3D-Druck gcodes entwickelt, und wird daher mit CNC gcodes nicht funktionieren.  
Es könnte sein, dass einige nicht unterstützte gcodes verwendet werden, oder das Format nicht wie erwartet ist (Parsing-Fehler)
Bitte senden Sie mir eine Kopie der gcode Datei und ich kann versuchen das Problem zu beheben.

Hier ist eine funktionierende Beispiel Gcode Datei.
 

Wie kann ich am Beta Test teilnehmen ?

Alle GCodePrintr Community Mitglieder können sich als Beta Tester aktivieren. 

Um als Beta Tester teilzunehmen müssen Sie erst der Google+ Community beitreten (Ansonsten schlägt der nächste Schritt fehl)
Community:Community

Sobald Sie ein Community Mitglied sind, können Sie sich für den Beta Test einscheiben:
(GCodePrintr Full version Opt-in)
(Free version Opt-in)
Verfolgen Sie neue Posts in der Community um Ankündigungen für neue Beta Versionen zu erhalten.

Gibt es ein Forum oder eine Community um Fragen zu stellen?

Ja, treten Sie der Google+ Community bei um Neuigkeiten zu erfahren oder Fragen zu stellen. 

Kann ich im Hintergrund drucken, während eine andere App im Vordergrund ist?

Ja, mit GCodePrintr V1.52 wurde ein Drucker Dienst eingeführt, der den Druckvorgang ausführt.  Die App kann sogar während des Druck gestoppt werden. 
Bitte beachten Sie: Abhängig von der Systemleistung kann die Verwendung von anderen Apps zu Stottern oder Druckpausen führen.  

Kann ich, ohne Ruckler, mit sehr hoher Geschwindigkeit drucken ?

 Ja, wenn Ihr Android-Gerät leistungsstark genug ist und eine niedrige USB-Latenz hat. 
 Sie können einen Testlauf starten, um die USB-IO-Roundtrip-Zeit zu messen. Start durch langes drücken der Pause-Taste (wenn verbunden).
 USB-IO-Roundtrip-Zeit gemessen auf Arduino Mega mit Galaxy Tab 2 ist ~ 15ms  welches 66 Gcodes pro Sekunde ermöglicht.
 USB-IO-Roundtrip-Zeit gemessen auf Arduino Mega 2560 mit Galaxy Tab 2 ~ 5 ms, welches 200 Gcodes pro Sekunde ermöglicht.

 Bluetooth ist oft langsamer als USB OTG, aber immer noch ausreichend für die meisten Drucke. 
 USB-IO-Roundtrip-Zeit über Bluetooth gemessen auf Arduino Mega mit HTC One ist ~ 35ms, welches 30 Gcodes pro Sekunde ermöglicht.

Was ist der Grund für kurze Pausen / Unterbrechungen während des Drucks?

 Ein paar Benutzer meldeten Unterbrechungs Probleme, aber bis jetzt war ich nicht in der Lage, es zu reproduzieren. 

 Pause / Unterbrechung während der Druck können durch die folgenden Probleme verursacht werden:
 1) Timeout wartet der Drucker gemäß verloren Drucker Reaktionen verursacht.
	 Überprüfen Sie Ihre USB-Verkabelung. 
	 Probieren Sie eine andere Baudrate (Auf der Drucker als auch die App)
	 Versuchen Sie, den Timeout höher oder sogar sehr kurz, um die Unterbrechung zu minimieren
 2) Verzögerung von Android Garbage Collector verursacht
 Die GCode Simulator Code wurde optimiert, um / freier Speicher während der Druck nicht zugeordnet werden.
 Deshalb während des normalen Betriebs sollte der Garbage Collector niemals laufen. 
 Es gibt einige Ausnahmen, die Speicherzuweisung und sollte daher vermieden werden müssen:
	 -Lauf im Debug-Modus erfordert mehr Speicherzuordnungen
	 -Opening/closing Die Schublade (Druckplatte) oft
	 -Deaktivieren der Statusleiste in den Optionen zu einer speicherintensive Methode Fallback.

Wofür verwendet die App alle Android Berechtigungen ?

android.permission.INTERNET
 Dies wird verwendet, um Gcode Dateien über das Netzwerk zu empfangen und um die Druckstatus Webseite bereitzustellen.
 Es werden anonyme staticstische Daten an Google Analytics App gesendet um das App verhalten zu verbessern. (ZB Anzahl der Starts, über USB OTG, verbindet via Bluetooth)

 android.permission.BLUETOOTH
 Erforderlich, um den 3D-Drucker über Bluetooth zu verbinden.

 android.permission.BLUETOOTH_ADMIN
 Erforderlich, um eine Bluetooth-Discovery zu tun, um den 3D-Drucker über Bluetooth zu finden.

 android.permission.ACCESS_WIFI_STATE und android.permission.ACCESS_NETWORK_STATE
 Erforderlich, um den Networkreceiver starten und die "IP-Adresse" in der Konsole zu zeigen. 
 
 android.permission.WAKE_LOCK
 Erforderlich, um ein WakeLock zu setzen, um zu vermeiden, dass das Gerät in den Standby geht 
   
 android.permission.READ_EXTERNAL_STORAGE
 Erforderlich, um gcode Dateien aus Google Drive und von SD-Karte zu laden 

 android.permission.WRITE_EXTERNAL_STORAGE
 Erforderlich, um gcode Dateien (über Netzwerk empfangen) auf SDCard zu speichern und eine Kommunikationsprotokolldatei anzulegen. 

Gibt es eine Beschreibung der Benutzeroberfläche ?

Kann ich den Druck Status von einem entfernten Browser abfragen und das Kamerabild ansehen?

Ja, soblad GCodePrintr die Verbindung zum Drucker aufgebaut hat wartet es auf Port 2323 auf Browser Verbindungen (e.g. http://deineIP:2323) Das Web Interface zeigt den Druck status, Temperatures, verbleibende Druckzeit und mehr. Dazu muss die Option "Webserver" aktiviert sein (Konfigurations Dialog -> Communication) Um das Videobild der eingebauten Kamera anzusehen benötigen Sie eine App mit dem Namen "IP Webcam" von Pavel Khlebovich. Wenn die App installiert wurde können man das Video Streamen über das GCodePrintr Web Interface aktivieren.