Hallo alle, ich habe mir einen Thermodrucker gegönnt, weil sowas zum Debuggen einfach praktisch ist. https://www.berrybase.de/bauelemente/elektromagnetische-bauelemente/thermodrucker/adafruit-mini-thermobondrucker Im Standard-Druck funktioniert das wunderbar. Ich schaffe es aber nicht, Steuerzeichen zum Drucker zum Laufen zu bringen. Ich verwende plain C und kein Anduino und schicke als einfaches Beispiel: \doubleHeighOn() Er passiert aber nix, es bleibt beim Normaldruck. Anbei die Dokumentation von Adafruit_Thermo.h Was mache ich falsch? Besten Dank fürs Lesen, Thomas
Was verstehst du unter "Ich schicke \doubleHeighOn()"? Wenn du das Library nicht nutzen willst, hast du dir das Datenblatt des Druckers[1], u.a. Kapitel 8, bestimmt durchgelesen, oder? [1] https://adafru.it/C5P
Hallo, danke für den Hinweis, ich schaue mir das mal morgen an. Das was ich geschickt hatte steht auf der Anlage meines Textes: * @brief Enables double-height text */ doubleHeightOn(), Ich hatte nur ein \ vorgesetzt, für das ESC
Ehem, das sind keine Texte, die du dem Drucker schickst, sondern Funktionen der Library (die du ja nicht benutzen willst).
du musst die Steuerzeichen selbst senden: z.B. auf Seite 15 von https://adafru.it/C5P Printing command: "Print and feed paper"
1 | ESC J n |
2 | [Name] Print and feed paper |
3 | [Format] ASCII: ESC J n |
4 | Decimal: 27 74 n |
5 | Hexadecimal: 1B 4A n |
6 | [Range] 0≤n≤255 |
7 | [Description] Prints the data in the print buffer and feeds the paper [n×0.125 mm(0.0049”)]. |
8 | [Notes] |
9 | * After printing is completed, this command sets the print starting |
10 | position to the beginning of the line. |
11 | * The paper feed amount set by this command does not affect the |
12 | values set by ESC 2 or ESC 3. |
13 | * In standard mode, the printer uses the vertical motion unit (y). |
d.h. wenn du deinen Text printen willst und am Ende 0.25mm (2*0.125) feed willst musst du:
1 | 0x1B 0x4A 0x02 |
ueber die Leitung schicken ich würde erst mal mit Hercules(https://www.hw-group.com/software/hercules-setup-utility) oder HTerm(https://www.der-hammer.info/pages/terminal.html) von Hand testen bis dir das Protokoll ganz klar ist
Hallo alle, inzwischen habe ich das Ding zum Laufen gekriegt - besten Dank eurer Tipps. Der Drucker hat ja eine Unmenge Funktionen und die Steuerzeichen, die ich ausprobierte, funktionieren. Aber bitte aufpassen: hier im offiziellen *.cpp-Script steht: // Printer performance may vary based on the power supply voltage, // thickness of paper, phase of the moon and other seemingly random // variables. ... // Datasheet recommends a 50 mS delay before issuing further commands, // but in practice this alone isn't sufficient (e.g. text size/style // commands may still be misinterpreted on wake). A slightly longer // delay, interspersed with NUL chars (no-ops) seems to help. Das sagt viel aus, oder ist das chinesische Ingenieurkunst? Besten Dank für eure Hilfen, Thomas
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.