Achso sorry hab das garnicht reingeschrieben
Ich verstehe nicht genau wie PL, PH und n und m sich zusammensetzen.
Welche Werte (in DEC) ich bei der Übermittlung übergeben soll.
pL und pH geben zusammen die Länge der Payload der Nachricht an (low und high byte). In diesem Fall ist das 2, weil mit den Parameter n und m nur zwei weitere Byte folgen.
Also wie angegeben pL = 2 und pH = 0 setzen.
Ich habe deine Hardware nicht und kann das deshalb nicht testen.
Allerdings habe ich einen anderen kleinen Themoprinter. Die Steuersequenzen meines Druckers sehen im Detail etwas anders aus, aber das Prinzip ist gleich.
Wie sendest du die Sequenz?
Ich würde das etwa so machen:
@uxomm: Ich bin nicht ganz einig mit Dir. pL, pH und die Parameter sind m.E. keine ASCII-Zeichen, sondern tatsächlich direkte anzugebende Byte-Werte.
Also würde ich das mal versuchen:
GS ( A pL pH n m
ASCII: GS ( A 2 0 1 2
HEX: 1D 28 41 02 00 01 02
DEC: 29 40 65 2 0 1 2
Wie ich drauf komme: Seite 92 im ersten verlinkten Dokument beschreibt Set Print Density. Da braucht es Werte 250...255, 0...6 und die kann man wohl nur als Byte angeben.
wno158: @uxomm: Ich bin nicht ganz einig mit Dir. pL, pH und die Parameter sind m.E. keine ASCII-Zeichen, sondern tatsächlich direkte anzugebende Byte-Werte.
Du hast völlig recht - ich bin gerade auch darauf gestoßen, als ich mir einen Beispielcode für meinen Drucker genauer angeschaut habe!
Ahh - das ist tricky.
Wenn ich das richtig interpretiere ist das die Anzahl der "payload" Bytes +1, die nach der 0x05 noch folgen.
Im Fall Print Density (5) wären das 3+1, also die Mindestzahl 4.
PL = 0x04
PH = 0x00
Dann sollte aber nach der 5 noch der neue zu setzende Wert kommen - Funktion "a" wäre wieder 5, dann aus der Tabelle auf Seite 103 für 50% der Wert -10 (65526).
a = 0x05
nL = 0xF6
nH = 0xFF
Insgesamt komme ich dann auf:
0x1D 0x28 0x45 0x04 0x00 0x05 0x05 0xF6 0xFF