CognitiveTPG A776 ColorPOS Programming Manual


Add to my manuals
180 Pages

advertisement

CognitiveTPG A776 ColorPOS Programming Manual | Manualzz
A776 (B780) Two-Color Thermal/Impact
Hybrid Printer
Programming Guide
Includes CognitiveTPG
LogoEZ® colorization utility and
Receiptware® marketing software
information.
Federal Communications Commission (FCC) Radio Frequency Interference Statement Warning.
Changes or modifications to this unit not expressly approved by the party responsible for compliance could void the user’s authority
to operate the equipment.
Note
This equipment has been tested and found to comply with the limits for a Class B digital device, pursuant to Part 15 of the FCC
Rules. These limits are designed to provide reasonable protection against harmful interference when the equipment is operated in
a commercial environment. This equipment generates, uses, and can radiate radio frequency energy and, if not installed and used in
accordance with the instruction manual, may cause harmful interference to radio communications. Operation of this equipment in
a residential area is likely to cause harmful interference in which case the user will be required to correct the interference at his own
expense.
Information to the User
This equipment must be installed and used in strict accordance with the manufacturer’s instructions. However, there is no guarantee
that interference to radio communications will not occur in a particular commercial installation. If this equipment does cause
interference, which can be determined by turning the equipment off and on, the user is encouraged to contact CognitiveTPG
immediately.
The CognitiveTPG company is not responsible for any radio or television interference caused by unauthorized modification of this equipment or the
substitution or attachment of connecting cables and equipment other than those specified by CognitiveTPG. The correction of interferences caused by
such unauthorized modification, substitution or attachment will be the responsibility of the user.
WARNING! In order to ensure compliance with the Product Safety, FCC and CE marking requirements, you must use the power
supply, power cord, and interface cable which are sold for use with this product or which meet the following parameters:
Power Supply
UL® Listed (QQGQ), Class 2 power supply with SELV (Secondary Extra Low Voltage), non-energy hazard output, LPS (limited power
source); input rated 100-240 Vac, 1.5/0.8 A, 50/60 Hz, output rated 24 Vdc, 2.5 A , 60 watts.
Use of this product with a power supply other than the CognitiveTPG power supply will require you to test the power supply and
CognitiveTPG printer for FCC and CE mark certification.
Communication Interface Cable
A shielded (360 degree) interface cable must be used with this product. The shield must be connected to the frame or earth ground
connection or earth ground reference at EACH end of the cable.
Use of a cable other than described here will require that you test the cable with the CognitiveTPG printer and your system for FCC
and CE mark certification.
Power Cord
A UL® listed, detachable 3-wire power cord must be used; where the third wire is the protective earthing conductor. For applications
where the power supply module may be mounted on the floor, a power cord with Type SJT marking must be used. For applications
outside the US, power cords which meet the particular country’s certification and application requirements should be used.
Use of a power cord other than described here may result in a violation of safety certifications which are in force in the country
of use.
Industry Canada (IC) Radio Frequency Interference Statement
This Class B digital apparatus meets all requirements of the Canadian Interference-Causing Equipment Regulations.
Cet appareil numérique de la classe B respecte toutes les exigences du Règlement sur le matériel brouilleur du Canada.
Disclaimer
Information in this document is subject to change without notice. Consult your CognitiveTPG sales representative for information
that is applicable and current. CognitiveTPG reserves the right to improve products as new technology, components, software, and
firmware become available.
No part of this document may be reproduced, translated, or transmitted in any form or by any means, electronic or mechanical, for
any purpose without the express written permission of CognitiveTPG.
Copyright
Copyright © 2013 CognitiveTPG, LLC, 950 Danby Road, Ithaca, New York 14850, USA. All rights reserved. Printed in USA.
Patents Pending. Product specifications subject to change in order to continue meet the needs of the market.
Trademarks
CognitiveTPG™, ColorPOS®, and LogoEZ® are trademarks of CognitiveTPG, LLC.
Microsoft, Windows NT are registered Trademarks of Microsoft Corporation in the U.S.A. and/or other countries.
Inside Out Networks, Inside Out, EPIC, and Edgeport are trademarks of Inside Out Networks.
All other trademarks and registered trademarks are the property of their respective holders.
Patents
Made under one or more of the following U. S. patents: 4886381, 5579043, 5613787, 5651624, 5713678, 5752779, 5789916,
5800080, 5879090, 5887999, 5975776, 6027266, 6085973, 6089450, 6129465, 6155483, 6404452, 6486902, 6504331, 5749277,
6722754, 6739773, 6784909.
Website
http://www.CognitiveTPG.com
Contents
i
Contents
Chapter 1: About this Guide............................................................................................................................... 1
How to use this Guide........................................................................................................................... 1
Where to find the basics....................................................................................................................... 1
Where to find advanced technical information.................................................................................. 1
Support.................................................................................................................................................. 1
Chapter 2: Printer Status and Indicators........................................................................................................... 3
Startup Diagnostics.............................................................................................................................. 3
Runtime diagnostics............................................................................................................................. 4
Remote diagnostics.............................................................................................................................. 4
Indicators............................................................................................................................................... 5
Chapter 3: Migrating to A776 and B780............................................................................................................ 6
Migrating from existing CognitiveTPG printers ................................................................................ 6
Moving from the A760 to the A776 (Slip differences)........................................................................ 7
A776 Emulation Commands................................................................................................................. 8
Set Printer ID Mode................................................................................................................................................ 8
Set A776 Printer ID................................................................................................................................................ 8
A776 Configuration Commands.......................................................................................................... 8
Select Slip Lines per Inch..................................................................................................................................... 8
Select Number of Lines of Validation.............................................................................................................. 8
Select A776 Narrow Slip Configuration Option to Ignore n Leading Spaces .................................. 8
Select A776 Narrow Slip Configuration Option to Ignore n Leading Spaces .................................. 9
Select A776 Narrow Slip 51-column Compressed Print Option .......................................................... 9
Select A776 Delete Slip Trailing Spaces Option . ........................................................................................ 9
Select A776 (21 and 25-line) Rotated Slip Print Options.......................................................................... 10
Select A776 First Line of Print Option in Text and Page Mode............................................................... 10
Select Cover Open Option................................................................................................................................... 10
Set Page Mode Margin Mechanical Adjustment......................................................................................... 11
Select A776 Slip Eject Option............................................................................................................................. 11
Select 45/60 Column Slip Option...................................................................................................................... 11
Set Page Mode Option to Trim Full Dots........................................................................................................ 11
A776 Configurable Slip Commands..................................................................................................... 12
A776 Double High Slip Character Print.......................................................................................................... 12
A776 Slip Character Spacing.............................................................................................................................. 12
A776 Slip Minimum Units.................................................................................................................................... 12
A776 Slip Left Margin and Print Width............................................................................................................ 12
A776 Slip Print Justification................................................................................................................................ 12
A776-PG00001 D 07/13
A776 (B780) Programming Guide
ii
Contents
Chapter 4: Programming the Printer................................................................................................................. 13
Overview of Printing Characteristics................................................................................................... 13
Character appearance.......................................................................................................................... 14
Receipt character specification.................................................................................................... 14
Standard..................................................................................................................................................................... 14
Compressed.............................................................................................................................................................. 14
Print zones............................................................................................................................................. 15
Print zones for receipt station 80 mm paper............................................................................... 15
Print zones for slip station................................................................................................................... 16
Print Zones for Slip, Validation............................................................................................................ 17
Rotated printing commands................................................................................................................ 18
Chapter 5: Programming Commands................................................................................................................ 19
Commands listed by function.............................................................................................................. 19
Printer actions................................................................................................................................ 19
Print and paper feed ..................................................................................................................... 20
Vertical and horizontal positioning ............................................................................................ 20
Text characteristics........................................................................................................................ 20
Graphics ......................................................................................................................................... 21
Status.............................................................................................................................................. 22
Batch mode............................................................................................................................................................... 22
Real-time.................................................................................................................................................................... 22
Unsolicited status mode...................................................................................................................................... 23
Bar codes........................................................................................................................................ 23
Page mode ..................................................................................................................................... 23
Macros............................................................................................................................................ 23
MICR check reader commands..................................................................................................... 24
MICR Reading........................................................................................................................................................... 24
MICR Parsing............................................................................................................................................................. 24
User data storage........................................................................................................................... 24
Flash download....................................................................................................................................................... 24
Ethernet setup commands............................................................................................................ 25
Command conventions......................................................................................................................... 26
Command descriptions........................................................................................................................ 26
Printer actions................................................................................................................................ 26
Clear printer.............................................................................................................................................................. 26
Close form................................................................................................................................................................. 27
Open form................................................................................................................................................................. 27
Perform partial knife cut...................................................................................................................................... 27
Generate tone.......................................................................................................................................................... 27
Return home............................................................................................................................................................ 27
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Contents
iii
Select peripheral device (for multi-drop)....................................................................................................... 28
Initialize printer....................................................................................................................................................... 28
Set slip paper eject length................................................................................................................................... 28
Set unidirectional print on impact station.................................................................................................... 28
Select receipt or slip for printing; slip for MICR read.................................................................................. 29
Select receipt or slip for setting line spacing................................................................................................ 29
Select paper sensors to output paper end signals..................................................................................... 29
Select sensors to stop printing.......................................................................................................................... 30
Enable or disable panel button......................................................................................................................... 30
Set slip paper waiting time................................................................................................................................. 30
Generate pulse to open cash drawer.............................................................................................................. 31
Release Paper........................................................................................................................................................... 31
Set current color...................................................................................................................................................... 31
Select slip station.................................................................................................................................................... 32
Select cut mode and cut paper......................................................................................................................... 32
Set paper type (ColorPOS®).................................................................................................................................. 33
Select receipt station............................................................................................................................................ 33
Set Interpretation of “Set current color” ........................................................................................................ 33
Print test form.......................................................................................................................................................... 34
Print and paper feed...................................................................................................................... 34
Print and feed paper one line............................................................................................................................. 34
Print and eject slip.................................................................................................................................................. 34
Print and carriage return...................................................................................................................................... 34
Feed n print lines.................................................................................................................................................... 34
Feed n dot rows....................................................................................................................................................... 35
Add n extra dot rows............................................................................................................................................. 35
Print............................................................................................................................................................................. 36
Print and feed paper.............................................................................................................................................. 36
Print and reverse feed paper.............................................................................................................................. 36
Print and feed n lines............................................................................................................................................. 36
Print and reverse feed n lines............................................................................................................................. 37
Reverse feed n lines............................................................................................................................................... 37
Reverse feed n dots................................................................................................................................................ 37
Vertical and horizontal positioning............................................................................................. 37
Horizontal tab.......................................................................................................................................................... 37
Set column................................................................................................................................................................ 38
Set absolute starting position............................................................................................................................ 38
Set vertical line spacing to 1/6 inch................................................................................................................. 38
Set vertical line spacing........................................................................................................................................ 39
Set horizontal tab positions................................................................................................................................ 39
Set relative print position.................................................................................................................................... 40
Select justification.................................................................................................................................................. 41
Set left margin......................................................................................................................................................... 41
Set horizontal and vertical minimum motion units................................................................................... 42
Set printing area width......................................................................................................................................... 42
A776-PG00001 D 07/13
A776 (B780) Programming Guide
iv
Contents
Text characteristics commands.................................................................................................... 43
Select double-wide characters.......................................................................................................................... 43
Select single-wide characters............................................................................................................................ 43
Select 90 degree counter-clockwise rotated print..................................................................................... 43
Select pitch (column width)................................................................................................................................ 44
Set right-side character spacing........................................................................................................................ 44
Select print mode................................................................................................................................................... 45
Select or cancel user-defined character set.................................................................................................. 45
Define user-defined character set.................................................................................................................... 46
Select or cancel underline mode...................................................................................................................... 47
Copy character set from ROM to RAM............................................................................................................ 47
Cancel user-defined character........................................................................................................................... 47
Select or cancel emphasized mode................................................................................................................. 48
Select double-strike............................................................................................................................................... 48
Select or cancel italic print.................................................................................................................................. 49
Select international character set . .................................................................................................................. 49
Select character code table................................................................................................................................. 49
Select or cancel 90 degree clockwise rotated print................................................................................... 50
Select or cancel upside-down print mode.................................................................................................... 50
Select character size.............................................................................................................................................. 50
Select or cancel white/black reverse print mode........................................................................................ 51
Set smoothing......................................................................................................................................................... 52
Reverse color text mode (ColorPOS®).............................................................................................................. 52
Text strike-through mode (ColorPOS®)............................................................................................................ 52
Select font ID number........................................................................................................................................... 53
Select font style number...................................................................................................................................... 53
Save font ID number as default font at power up....................................................................................... 53
Lock permanent font flash area......................................................................................................................... 53
Download font......................................................................................................................................................... 54
Download font list.................................................................................................................................................. 54
Dynamically select the font set......................................................................................................................... 54
Configure use of font set...................................................................................................................................... 55
Configure line spacing.......................................................................................................................................... 55
Select superscript or subscript modes............................................................................................................ 55
Define extended user-defined character set................................................................................................ 56
Select active user-defined character set........................................................................................................ 56
Erase user flash sector for permanent fonts.................................................................................................. 57
Select font style number...................................................................................................................................... 57
Save font ID number as default font at power up....................................................................................... 57
Download font......................................................................................................................................................... 58
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Contents
v
Graphics.......................................................................................................................................... 58
Download BMP logo.............................................................................................................................................. 58
Select bit image mode.......................................................................................................................................... 59
Print advanced raster graphics.......................................................................................................................... 60
Select double-density graphics......................................................................................................................... 60
Print Flash Logo....................................................................................................................................................... 60
Define Flash Logos................................................................................................................................................. 60
Select the current logo (downloaded bit image)........................................................................................ 61
Define downloaded bit image........................................................................................................................... 61
Print downloaded bit image............................................................................................................................... 62
Print raster monochrome graphics (ColorPOS®).......................................................................................... 62
Print raster color graphics (ColorPOS®)............................................................................................................ 62
Download logo image (ColorPOS®).................................................................................................................. 63
Monochrome shade mode (ColorPOS®).......................................................................................................... 64
Color shade mode (ColorPOS®).......................................................................................................................... 64
Logo print with color plane swap (ColorPOS®)............................................................................................. 65
Apply shading to logo (ColorPOS®)................................................................................................................. 65
Merge watermark mode (ColorPOS®).............................................................................................................. 65
Form and merge real-time surround graphic (ColorPOS®)....................................................................... 66
Save graphics buffer as logo (ColorPOS®)....................................................................................................... 66
Background logo print mode (ColorPOS®)..................................................................................................... 67
Apply margin message mode (ColorPOS®).................................................................................................... 67
Shade and store logo (ColorPOS®).................................................................................................................... 68
Logo print with knife cut...................................................................................................................................... 68
Set temporary max target speed...................................................................................................................... 68
Set LogoEZ® colorization (ColorPOS®).............................................................................................................. 69
Set LogoEZ® attribute mapping (ColorPOS®)................................................................................................. 71
Convert 6-dots/mm bitmap to 8-dots/mm bitmap................................................................................... 73
Enable constant speed logos............................................................................................................................. 73
Status.............................................................................................................................................. 74
Batch mode............................................................................................................................................................... 74
Transmit peripheral device status.................................................................................................................... 74
Transmit paper sensor status............................................................................................................................. 75
Transmit printer ID................................................................................................................................................. 76
Transmit printer ID, remote diagnostics extension.................................................................................... 77
Transmit status........................................................................................................................................................ 80
Send printer software version............................................................................................................................ 81
Real-time commands..................................................................................................................... 82
Preferred implementation................................................................................................................................... 82
Alternate implementation................................................................................................................................... 82
Rules for using real-time commands............................................................................................................... 83
Moving data through the buffer....................................................................................................................... 83
Busy line and fault conditions............................................................................................................................ 84
Real-time status transmission............................................................................................................................ 84
Real-time request to printer............................................................................................................................... 87
Real-time printer status transmission............................................................................................................. 88
Real-time commands disable............................................................................................................................. 88
A776-PG00001 D 07/13
A776 (B780) Programming Guide
vi
Contents
Unsolicited status mode............................................................................................................... 89
Select or cancel unsolicited status mode (USM)......................................................................................... 89
Recognizing data from the printer............................................................................................... 92
Bar codes........................................................................................................................................ 93
Two-dimensional bar code QR code............................................................................................................... 93
Select the QR code model .................................................................................................................................. 93
Set size of QR code module ............................................................................................................................... 93
Select the QR code error correction level ..................................................................................................... 94
Set QR code data..................................................................................................................................................... 94
Print QR code........................................................................................................................................................... 95
Select printing position of HRI characters..................................................................................................... 96
Select pitch of HRI characters............................................................................................................................. 96
Select bar code height.......................................................................................................................................... 96
Print bar code........................................................................................................................................................... 97
Set GS1 DataBar (formerly RSS) parameters................................................................................................. 99
Print GS1 DataBar (formerly RSS), data length specified.......................................................................... 99
Note: Data length specified 1 to 2436 via integer nH : nL....................................................................... 99
Print GS1 DataBar (formerly RSS), null terminated..................................................................................... 100
Print multiple barcodes........................................................................................................................................ 100
Select PDF 417 parameters................................................................................................................................. 101
Select bar code width........................................................................................................................................... 102
Page mode...................................................................................................................................... 103
Slip page mode considerations......................................................................................................................... 103
Print and return to standard mode.................................................................................................................. 104
Cancel print data in page mode........................................................................................................................ 104
Print data in page mode....................................................................................................................................... 105
Select page mode................................................................................................................................................... 105
Select standard mode........................................................................................................................................... 106
Select print direction in page mode................................................................................................................ 106
Set print area in page mode............................................................................................................................... 107
Set absolute vertical print position in page mode..................................................................................... 108
Set relative vertical print position in page mode........................................................................................ 108
Macros............................................................................................................................................ 110
Select or cancel macro definition..................................................................................................................... 110
Execute macro......................................................................................................................................................... 110
MICR commands............................................................................................................................ 111
MICR reading............................................................................................................................................................ 111
Read MICR data and transmit............................................................................................................................. 111
Transmit last MICR read........................................................................................................................................ 111
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Contents
vii
MICR parsing.................................................................................................................................. 112
Define parsing format, save in NVRAM........................................................................................................... 112
Define parsing format, do not save permanently....................................................................................... 112
Parsing parameter string options..................................................................................................................... 112
Sample parsing formats....................................................................................................................................... 113
Check serial number.............................................................................................................................................. 116
Loading the exception table............................................................................................................................... 117
Exception table entry format............................................................................................................................. 117
Maintaining the exception table....................................................................................................................... 118
User data storage........................................................................................................................... 119
Write to user data storage................................................................................................................................... 119
Read from user data storage.............................................................................................................................. 119
Read from non-volatile memory....................................................................................................................... 119
Write to non-volatile memory (NVRAM)......................................................................................................... 119
Select memory type (SRAM/flash).................................................................................................................... 120
Flash memory user sectors allocation............................................................................................................. 120
Expanded flash memory allocation................................................................................................................. 121
Define extended user-defined character set................................................................................................ 121
Select flash area for storing logos and user-defined characters........................................................... 122
Erase user flash sector........................................................................................................................................... 122
User storage status (ColorPOS®)......................................................................................................................... 123
Lock permanent font flash area......................................................................................................................... 124
Flash download.............................................................................................................................. 124
Switch to flash download mode....................................................................................................................... 124
Return boot sector firmware part number.................................................................................................... 125
Return segment number status of flash memory....................................................................................... 125
Select flash memory sector to download...................................................................................................... 125
Get firmware CRC.................................................................................................................................................... 125
Return microprocessor CRC................................................................................................................................ 126
Erase all flash contents except boot sector................................................................................................... 126
Return main program flash CRC........................................................................................................................ 126
Erase selected flash sector................................................................................................................................... 126
Download to active flash sector........................................................................................................................ 127
Reset firmware......................................................................................................................................................... 127
Ethernet setup commands............................................................................................................ 128
Restore default settings....................................................................................................................................... 128
Set IP address........................................................................................................................................................... 128
Set Net Mask............................................................................................................................................................. 128
Set Gateway.............................................................................................................................................................. 128
Set raw TCPIP port 9001....................................................................................................................................... 129
LP Daemon................................................................................................................................................................ 129
Telnet Daemon........................................................................................................................................................ 129
BootP........................................................................................................................................................................... 129
DHCP (auto-configuration)................................................................................................................................. 129
Inactivity timeout................................................................................................................................................... 130
Keep-alive pings...................................................................................................................................................... 130
A776-PG00001 D 07/13
A776 (B780) Programming Guide
viii
Contents
Chapter 6: DH emulation for B780.................................................................................................................... 131
List of DH 4700 Emulation Commands................................................................................................ 131
List of DH 4700 Command Descriptions............................................................................................. 133
Printer Function Commands......................................................................................................... 133
End of Text................................................................................................................................................................. 133
Line Feed.................................................................................................................................................................... 133
Vertical Tab................................................................................................................................................................ 133
Carriage Return....................................................................................................................................................... 133
Setup Parameters................................................................................................................................................... 133
Reset Printer............................................................................................................................................................. 134
Cash Drawer 1.......................................................................................................................................................... 134
Cash Drawer 2.......................................................................................................................................................... 134
Document Clamp Open....................................................................................................................................... 134
Self Test....................................................................................................................................................................... 134
Document Validation............................................................................................................................................ 134
Receipt/Journal Print............................................................................................................................................. 134
Document Clamp Close....................................................................................................................................... 135
Form Eject.................................................................................................................................................................. 135
Download.................................................................................................................................................................. 135
Form In....................................................................................................................................................................... 135
Select........................................................................................................................................................................... 135
Either Form-In Sensor............................................................................................................................................ 135
Both Form-In Sensors............................................................................................................................................ 135
Busy Until Buffer Empty........................................................................................................................................ 135
Clamp Delay............................................................................................................................................................. 135
Print Speed................................................................................................................................................................ 136
Buffered Validate..................................................................................................................................................... 136
Buffer Clear................................................................................................................................................................ 136
Repeat Character.................................................................................................................................................... 136
Print Characteristics Commands....................................................................................................................... 136
Double-Wide Font.................................................................................................................................................. 136
Double-Wide Off..................................................................................................................................................... 136
Character Set............................................................................................................................................................ 137
Underline Print........................................................................................................................................................ 138
Underline Off............................................................................................................................................................ 138
Double-High Off..................................................................................................................................................... 138
Double-High Font................................................................................................................................................... 138
Pitch Selection......................................................................................................................................................... 138
Upside-Down Off.................................................................................................................................................... 138
Upside-Down Print................................................................................................................................................. 138
Graphics Commands..................................................................................................................... 139
Graphics..................................................................................................................................................................... 139
Graphics: 5 Dot........................................................................................................................................................ 139
Printer Status Commands.................................................................................................................................... 140
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Contents
ix
Appendix A: Commands listed by hexadecimal code...................................................................................... 141
Appendix B: Resident Character Sets................................................................................................................ 147
Code Page 437 (US)........................................................................................................................ 147
Code page 737 (Greek).................................................................................................................. 148
Code page 850 (Multilingual)....................................................................................................... 149
Code Page 852 (Slavic).................................................................................................................. 150
Code Page 857 (Turkish)............................................................................................................... 151
Code page 858 (with Eurosymbol)............................................................................................... 152
Code page 860 (Portugese)........................................................................................................... 153
Code page 862 (Hebrew) .............................................................................................................. 154
Code page 863 (French Canadian)............................................................................................... 155
Code page 865 (Nordic)................................................................................................................. 156
Code page 866 (Cyrillic)................................................................................................................. 157
Code page 1251 (Cyrillic).............................................................................................................. 158
Code page 1252 (Windows Latin 1).............................................................................................. 159
Code page 1255 (Hebrew)............................................................................................................. 160
Code page KZ_1048 (Kazakh)....................................................................................................... 161
Appendix C: Electronic Journal.......................................................................................................................... 163
Electronic Journal Storage................................................................................................................... 163
A776-PG00001 D 07/13
A776 (B780) Programming Guide
x
Contents
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Chapter 1: About this Guide
Chapter 1: About this Guide
How to use this Guide
This guide provides programming information on CognitiveTPG’s A776 (and B780) printer. It is written for tech-savvy
users who are interested in customizing or adjusting printer functionality and is meant to be used with the A776/B780
ColorPOS® Two-Color Thermal Receipt/Impact Hybrid Printer User Guide.
If you experience any difficulties during the programming process or feel unsure of adjustments you have made,
contact your CognitiveTPG representative for further assistance.
Where to find the basics
If you are looking for information on setup or basic operation, refer to the A776 (or B780) ColorPOS® User Guide. This
guide assumes that you have the A776 (or B780) ColorPOS® User Guide handy for reference or are already familiar
with the printer.
Where to find advanced technical information
This guide contains the most complete information available on programming the printer. If you cannot find what you
need here or would like further guidance on how to program the printer, contact a CognitiveTPG representative for
assistance.
If you are having problems with the physical operation of the printer the A776 /B780 ColorPOS® Service Guide
provides in-depth information on diagnostics and service. The A776/B780 ColorPOS® Service Guide is available to
qualified service technicians who have been certified by CognitiveTPG to perform advanced procedures.
Support
For more advanced procedures and troubleshooting, you may need to refer to the printer’s service guide or speak to a
CognitiveTPG technical professional. Your representative is able to provide you with necessary information.
For on-line service, refer to the website at www.CognitiveTPG.com or e-mail: [email protected].
A776-PG00001 D 07/13
A776 (B780) Programming Guide
1
2
Chapter 1: About this Guide
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Chapter 2: Printer Status, Ethernet and Indicators
3
Chapter 2: Printer Status and Indicators
The A776/B780 printer performs a number of diagnostics that provide useful information about the operating status of
the printer. The following diagnostic tests are available.
• Startup diagnostics, performed during startup cycle.
• Runtime diagnostics, performed during normal printer operation.
• Remote diagnostics, run during normal operation and reported in the print test.
The printer can be configured with the following settings and functions through the configuration menu that is printed
on the receipt. To learn more see the section called “Configuring the Printer” in the A776/B780 User Guide, page 26.
Communication interfaces (except Ethernet)
Diagnostic modes
RS-232C settings
Printer emulations/software options
Hardware options
Paper Type
Firmware features
Startup Diagnostics
When the printer receives power or performs a hardware reset, it automatically performs the startup diagnostics (also
known as level 0 diagnostics) during the startup cycle. The following diagnostics are performed:
• Turn off motors and solenoids
• Perform boot CRC check of the firmware ROM, test external SRAM, test EEPROM, and test main program CRC
Failure causes Startup Diagnostics to stop; the printer beeps and the light flashes a set number of times,
indicating the nature of the failure. The table in the “Indicators” section (page 16) describes the specific tone and
light sequences.
• Check if paper is present
• Return the knife to the home position
Failure causes a fault condition. The table in the “Indicators” section (page 16) describes the specific tone and light
sequences.
• Check if receipt cover is closed
Failure does not interrupt the startup cycle.
When the startup diagnostics are complete, the printer makes a two-tone beep (low then high frequency), the paper
feed button is enabled, and the printer is ready for normal operation.
If the printer has not been turned on before, or a new EEPROM has been installed, the default values for the printer
functions will be loaded into the EEPROM during startup diagnostics.
A776-PG00001 D 07/13
A776 (B780) Programming Guide
4
Chapter 2: Printer Status, Ethernet and Indicators
Runtime diagnostics
Runtime diagnostics (sometimes called level 2 diagnostics) run during normal printer operation. When the following
conditions occur, the printer automatically turns off the appropriate motors and disables printing to prevent damage
to the printer:
• Paper out
• Receipt cover open
• Printhead too hot
• Voltages out of range
• Knife unable to home
The light on the operator panel will signal when these conditions occur as well as indicate what state or mode the
printer is in.
Remote diagnostics
Remote diagnostics (sometimes called level 3 diagnostics) keeps track of the following tallies and prints them on the
receipt during the print test. These tallies can be used to determine the printer’s state of health.
• Model number
• Serial number
*** A776 / B780 – Diagnostics Form ***
• CRC number
Model number
Serial number
• Number of lines printed
Boot Firmware
Revision
CRC
P/N
Flash Firmware
Revision
CRC
P/N
• Number of knife cuts
• Number of hours the printer has been on
• Number of flash cycles
H/W parameters
Flash Memoriy Size
Flash Logos/Fonts
Flash User Storage
Flash Perm’nt Fonts
Flash Journal Size
SRAM Size
Head setting
Motor ID
Paper Type setting
Color Density Adj
Print Density (Mono)
Max Speed
Max Power
Paper Low Sensor
MICR
MICR Dual Pass
MICR DC offset
Check Flip
Slip Normal Alignment
Compressed Alignment
• Number of cutter jams
• Number of times the cover is opened
• Maximum temperature reached
:
:
A776-0000
0000000000
:
:
:
V3.02
0FDE
189-7760966A
:
:
:
V3.02
4E66
189-7760967B
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
2 Mbytes
704 kbytes
0 kbytes
256 kbytes
0 kbytes
512 kbytes
D
1
Type 0, Monochrome
n/a
100%
250 mm/sec
55 W
Enabled
Enabled
Disabled
80
Disabled
0Dh/13d
0Ch/12d
Comm. Interface
RX Buffer Size
Interface type
Parameters
Baud Rate
Data Bits
Stop Bit
Parity
Flow Control
Reception Errors
USB Driver Type
:
:
4096
RS232/USB
:
:
:
:
:
:
:
115200
8
1
NONE
DTR/DSR
Ignore
RS232 Emulation
Resident Code Pages
:
437, 850, 852. 858
860, 863, 865, 866
1252, 862, 737, 857
1251, 1255, KZ_1048
Downloaded Fontsets
:
1
To enter Printer Config Menu :
1) Flip DIP switch #1 down
2) Reset the printer, while holding
the Paper Feed button down
For more information about
See this section
Accessing the remote diagnostic tallies
“Command descriptions” in Chapter 5: Programming commands
(Status commands: Transmit printer ID, remote diagnostics extension,
Hexadecimal 1D 49 40 n)
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Chapter 2: Printer Status, Ethernet and Indicators
5
Indicators
The printer communicates various conditions both visually, with two green lights or audibly, with a
series of tones or beeps. The following table lists these indicators.
Green on-line, paper status, error light (to the rear of the paper feed button)
Indicator
Sequence
Condition
Light
Continuous, flashing quickly
Paper out
Cover open
Knife unable to home
Light
Continuous, flashing slowly
Paper is low
(if paper low sensor is installed)
Printhead too hot
Voltages out of range
Tone
Two-tone beep
Startup diagnostics completed successfully
Repeating Tone
Single beep
Boot CRC test failure
Repeating Tone
Double beep
SRAM test failure
Repeating Tone
Triple beep
EEPROM test failure
Repeating Tone
Four beeps
Dynamic memory initialization failure
Light
Two-Tone beep
and Tone
Continuous flashing of light
Main program CRC test failure
or
DIP switch is in on position indicating
flash download mode
Green slip-in light (in front of the paper feed button)
Indicator
Sequence
Condition
Light
Off
No check or form inserted or is incorrectly inserted
Light
On (continuous)
Check or form properly inserted
For more information about See this section
Error conditions and correcting them
Troubleshooting
Chapter 5 of the User Guide
The printer is also able to communicate its status to the host application if the application has been programmed to
receive this information.
A776-PG00001 D 07/13
A776 (B780) Programming Guide
6
Chapter 3: Migrating to a new printer
Chapter 3: Migrating to A776 and B780
Migrating from existing CognitiveTPG printers
The A776 printer is the fourth generation two station hybrid thermal/impact printer with feature enhancements
designed to provide the most desirable options to the customer. This section is provided for those customers who
would like to migrate from their existing A760 CognitiveTPG printers to the A776 printer, while maintaining as much
continuity as possible in the new application. Several commands exist to support such a migration. The primary
differences are described below:
A760 to A776:
A760: wide slip station (66 columns) A776: narrow (42 columns) slip station
A760: no top validation of forms
A776: top validation of forms
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Chapter 3: Migrating to a new printer
7
Moving from the A760 to the A776 (Slip differences)
The impact station print zone on the A760 is 4.7 inches wide and the print zone on the A776 is 3.0 inches. To compensate for
the narrower print zone on the A776 the firmware will provide the following functionality:
1.
For applications that currently use narrow forms with 42 or fewer columns, an option is provided to delete x leading
spaces. No application or form changes should be required.
2.
For applications that use narrow forms with 51 or fewer columns, an option is provided to default to compressed
mode. No application or form changes should be required.
3.
For applications using wide forms that print on less than 51 columns, options 1 and 2 above are combined with the
option to delete trailing spaces. There should be no changes required to the application but a new form will be
required.
4.
For applications using wide forms that print on more than 51 columns, the data will wrap to the next line.
don’t want data to wrap you will need to change the application and the form.
Impact Station Print Zone Characters/row – Normal Mode
Characters/row – Compressed Mode A760
If you
A776
4.7 inches
66
80
3 inches
42
51
See Chapter 4: Programming the Printer for more details about the slip print zones.
Some commands have new functions for the slip and can be configured to be enabled or disabled on the slip. Existing
applications that use these functions on the receipt but not on the slip may need to be disabled manually for the slip. The
default is disabled for the slip.
A776-PG00001 D 07/13
•
•
•
•
1B 21 10 double high slip character print
1B 20 n slip character right side spacing
1D 50 XY set minimum units for the slip station
1D 4C nL nH set left margin on the slip station
•
•
1D 57 nL nH set print width on the slip station
1B 61 n print justification on the slip station
A776 (B780) Programming Guide
8
Chapter 3: Migrating to a new printer
A776 Emulation Commands
Set Printer ID Mode
Code (Hexadecimal)
1F 03 0C n
This command is ignored.
Set A776 Printer ID
Code (Hexadecimal)
1F 03 25 0F n
This command sets the printer ID response to the Printer ID command (1D 49 01)
n
Printer ID
00
A776
01
A760
A776 Configuration Commands
Select Slip Lines per Inch
Code (Hexadecimal)
1F 03 25 04 n
This command sets the slip station lines per inch setting.
n
00
01
Line spacing
7.2 LPI
6.0 LPI
Select Number of Lines of Validation
Code (Hexadecimal)
1F 03 25 06 n
This command sets the number of lines of validation that can be printed.
n
00
01-04
05-0F
Number of validation lines
15
4 (default)
actual number (5 - 15 decimal)
Select A776 Narrow Slip Configuration Option to Ignore n Leading Spaces
Code (Hexadecimal) 1F 03 25 08 n
This command is available so A760 applications can ignore n leading spaces in a 42-column line of text.
Range of n
0x00 < n < 0x20 hexadecimal
0 < n < 3 2 decimal
•
•
•
•
n = 24 decimal is equivalent to printing the rightmost 42 columns of the A760 printzone (24 + 42 = 66).
The first non-space in columns 1-n will stop ignoring leading spaces.
Text over 42 columns will wrap to the next line.
Tab (0x09), set column (0x1B 0x14 n), set absolute position (0x1b 0x24 nL nH), and set relative position (0x1B 0x5C
nL nH) commands are handled within the range of ignored leading spaces.
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Chapter 3: Migrating to a new printer
9
Select A776 Narrow Slip Configuration Option to Ignore n Leading Spaces
Code (Hexadecimal) 1F 03 25 09 n
This command is available so A760 applications can ignore n leading spaces in a 51-column line of compressed text.
Range of n
0x00 < n < 0x20 hexadecimal
0 < n < 32 decimal
•
•
•
•
n = 29 decimal is equivalent to printing the rightmost 51 compressed columns of the A760 printzone (29 + 51 =
80).
The first non-space in columns 1-n will stop ignoring leading spaces.
Text over 51 columns will wrap to the next line.
Tab (0x09), set column (0x1B 0x14 n), set absolute position (0x1b 0x24 nL nH), and set relative position (0x1B 0x5C
nL nH) commands are handled within the range of ignored leading spaces.
Select A776 Narrow Slip 51-column Compressed Print Option
Code (Hexadecimal) 1F 03 25 0A n
When enabled, all normal text is printed in 51-column compressed print.
• This accommodates existing applications printing up to 51 columns on the slip station.
• The format will not match the A760 exactly.
• This will not affect rotated print mode (see below).
n
00
01
51-column compressed print option
Disable (default)
Enable
Select A776 Delete Slip Trailing Spaces Option
Code (Hexadecimal) 1F 03 25 0B n
When enabled, all trailing spaces on the slip will be deleted.
• This accommodates existing applications that send trailing spaces to the slip by not wrapping the blank text to
the next line.
• The format will match the A760 exactly, but a narrower form will be required.
• This command will not work for an application that relies on wrapping text to print a line. A print command is
required.
n
00
01
Delete slip trailing spaces option
Disable (default)
Enable
A776-PG00001 D 07/13
A776 (B780) Programming Guide
10
Chapter 3: Migrating to a new printer
Select A776 (21 and 25-line) Rotated Slip Print Options
Code (Hexadecimal)
1F 03 25 0C n
•
•
•
n
00
01
21-line rotated text print accommodates existing applications, which print 21 or fewer rotated lines (as read).
The format will match the A760 exactly.
25-line rotated text print accommodates existing applications, which print between 22 and 25 rotated lines (as
read). The format will not match the A760 exactly.
An A760 can print up to 33 rotated lines (as read), so those printing 26 or higher rotated lines, cannot be emulated
on the A776 printer.
Rotated Print Options
21-line (default)
25-line
Select A776 First Line of Print Option in Text and Page Mode
Code (Hexadecimal)
1F 03 25 0D n
•
•
•
•
n
00
01
02
03
The A760 mechanism has a positive slip stop for positioning a form at its top right corner. Some applications rely on a form inserted to this slip stop in order to print on specific areas of the form. When the top
right corner of the form is positioned at the slip stop, the first print line is 0.7” below the top of form. Some
applications rely on the operator manually positioning a form in order to print on specific areas of the form.
The A760 firmware does not automatically reposition an inserted form.
The A776 slip stop override option does not reposition an inserted form.
The A776 slip stop distance option is triggered at the slip selection command (0x1B 0x63 0x30 0x04) and
positions an inserted form prior to print so that the first line of print will match an A760.
There is a temporary run time command to override this configuration option:
1F 7E 01 00
operator positioning for first print line
1F 7E 01 01
position form to A760 slip stop distance for first print line
1F 7E 01 02
position form to top of form for first print line
First Line of Text
Operator position
A760 Slip stop
Top of form
A760 Slip stop
Beginning of Page Mode Print
Top of form
Top of form
(default)
Top of form
A760 Slip stop
Select Cover Open Option
Code (Hexadecimal)
1F 03 25 11 n
•
•
n
00
01
When the cassette cover open option is enabled and the operator opens the cassette cover, the printer will
stop printing and enter an error state.
When the option is disabled, the printer will ignore the state of the cassette cover.
Cassette Cover Option
Disabled
Enabled (default)
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Chapter 3: Migrating to a new printer
11
Set Page Mode Margin Mechanical Adjustment
Code (Hexadecimal)
1F 03 25 16 n
· This command applies to both the A776 and the B780, although it is primarily implemented for B780 printers
replacing existing A721 printers to match cashier check printing.
· Default is 0.
· Value is printed on the second diagnostic page.
· Ranges for margin configurations:
Margin Setting
.5”
.3”
.1”
Maximum mechanical adjustment
30 half dots
56 half dots
84 half dots
· Mechanical adjustment does not apply when page size is defined to be greater than the default of 200 full
dots wide.
Select A776 Slip Eject Option
Code (Hexadecimal)
1F 03 25 17 n
n
00
01
Slip Eject
disabled
enabled (default)
. When enabled, the A776 will eject slip and validation transactions out the top of the printer, like the B780. The
slip LED will blink to remove the form, also like the B780.
· Option can be disabled for applications that rely on the A760 slip eject out the bottom front position.
Select 45/60 Column Slip Option
Code (Hexadecimal)
1F 03 25 18 n
n
00
01
45/60 Column Slip Option
disabled (default)
enabled
Set Page Mode Option to Trim Full Dots
Code (Hexadecimal)
1F 03 2F n
n < 128 # of full dots trimmed from right side
n = 255 compress to fit in 3.024”
. This command applies to both the A776 and the B780, although it is primarily implemented for applications
specifying a page size greater than 242 full dots wide.
· Default is no trim.
· Maximum width that can be compressed to fit in 3.024” is 270 full dots.
· Value is printed on second diagnostic page.
A776-PG00001 D 07/13
A776 (B780) Programming Guide
12
Chapter 3: Migrating to a new printer
A776 Configurable Slip Commands
A776 Double High Slip Character Print
Code (Hexadecimal)
Command
1F 03 26 01 n
Enables or disables the 1B 21 10 command
n
00
01
Double high slip character print command (1B 21 10)
Disabled
Enabled
A776 Slip Character Spacing
Code (Hexadecimal)
Command
1F 03 26 02 n
Enables or disables the 1B 20 n command
n
00
01
Slip character right side spacing command (1B 20 n)
Disabled
Enabled
A776 Slip Minimum Units
Code (Hexadecimal)
Command
1F 03 26 03 n
Enables or disables the 1D 50 x y command
n
00
01
Set minimum units for the slip station command (1D 50 x y)
Disabled
Enabled
A776 Slip Left Margin and Print Width
Code (Hexadecimal)
1F 03 26 04 n
n
00
01
Command
Enables or disables the 1D 4C nL nH and 1D 57 nL nH commands
Set left margin(1D 4C nL nH) and print width(1D 57 nL nH) on the slip station commands
Disabled
Enabled
A776 Slip Print Justification
Code (Hexadecimal)
Command
1F 03 26 05 n
Enables or disables the 1B 61 n command
n
00
01
Print justification on the slip station command(1B 61 n)
Disabled
Enabled
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Chapter 4: Programming the Printer
13
Chapter 4: Programming the Printer
Overview of Printing Characteristics
Commands control all operations and functions of the printer. This includes selecting the size and placement of
characters and graphics on the receipt or the slip and feeding and cutting the paper. The programming commands
have been organized, in order of hexadecimal code within functional groups. For this reason, “related” commands may
not be listed adjacent to one another.
The A776 (B780) standard command set allows it to work with software written for CognitiveTPG or other POS
compliant printers.
Any of the commands may be used in any combination to program a host computer to communicate with the printer
(unless otherwise noted).
For the printer to operate properly within an Ethernet environment, a specific set of commands must be set.
Some commands listed and described here may not be implemented and are identified as “not implemented.”
If received, they are ignored and not sent to the print buffer as data.
Any non-legal commands have their parameter sent to the print buffer as data.
A776-PG00001 D 07/13
A776 (B780) Programming Guide
14
Chapter 4: Programming the Printer
Character appearance
The appearance of text can be changed using the following print modes:
• Standard • Underlined
• Compressed
• Bold
• Double-high
• Reverse
• Double-wide
• Italic
• Upside-down
• Strike-through
• Rotated
•
• Shading
Scaled
Receipt character specification
Standard
• Characters per inch: 15.6
• Characters per line: 44 • Cell size: 13 x 24 dots (default font)
13 x 27 dots (Tall and ColorPOS fonts)
13 x 18 dots (paper-saving font)
Compressed
• Characters per inch: 20.3
• Characters per line: 56
• Cell Size: 10 x 24 dots (default font)
10 x 27 dots (Tall and ColorPOS fonts)
10 x 18 dots (paper-saving font)
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Chapter 4: Programming the Printer
15
Print zones
Print zones for receipt station 80 mm paper
Specifications of print zone for receipt station 80 mm paper:
• 576 dots (addressable) @ 8 dots/mm, centered on 80 mm
• Top margin to manual tear-off:
17.8 mm (0.70 inches)
• Minimum margins for standard print: 2.0 mm (.079 inches)
• Top margin to knife cut:
19.0 mm (0.75 inches)
Note: The application centers 44 standard character cells (13 × 24 dots), or 56 compressed character cells (10 × 24 dots),
or 576 addressable bits of graphics across an 80 mm wide receipt. Minimum print line height is 24 dots for text or graphics.
Standard print line spacing is 27 dots (i.e., 3 extra row dots).
The A776 adds a 27 dot high font, so standard print spacing is 30 dots.
The A776 paper-saving feature adds a 18 dot high font and reduces extra dot rows to 2, so standard print spacing is 20
! $%#! &
# "
# A776-PG00001 D 07/13
A776 (B780) Programming Guide
16
Chapter 4: Programming the Printer
Print zones for slip station
The slip station prints characters (standard and compressed pitch) and graphics in a print zone of 77mm (3.0”) wide on
a slip or form.
• Standard pitch: 42 characters (columns) per line
• Compressed pitch: 51 characters (columns) per line
• 21 rotated characters
• 210 adjacent bits of graphics
• 420 addressable positions
The print line height of 7x7 dot characters is 2.46mm (.097”). With three-dot spacing, the print line height is 3.53mm
(.139”). See the following illustration (not to scale). To print as close to the bottom of the slip as possible without the
slip leaving the feed rollers, use the “Print and feed n lines” (1B 64 n) command, with n = 0.
Slip Print
Zone
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Chapter 4: Programming the Printer
17
Print Zones for Slip, Validation
!
"##$%
&'
Validation Format
The A776 has drop validation printing. The location of the first line of validation varies based on the table below:
Number of lines of validation @ 7.2 lpi Distance from bottom of form to top of first print line
14 lines 2.7 inches
10 lines 2.0 inches
6 lines 1.5 inches
4 lines 1.2 inches
A776-PG00001 D 07/13
A776 (B780) Programming Guide
18
Chapter 4: Programming the Printer
Rotated printing commands
Three commands control the rotation of printing. The table shows the combinations of set/cancel upside down print,
set/cancel rotated print (clockwise), and rotated print (counterclockwise).
Rotated clockwise and rotated counterclockwise print commands are mutually exclusive: the setting of the last received
command is effective. Unintended consequences may result when rotated clockwise is mixed with other commands.
Upside down (1B 7B n)
Rotated CW
(1B 56 n)
Rotated CCW
(1B 12)
Resulting output
Canceled
Canceled
Cleared
ABC
Canceled
Set
X
C
B
A
Set
Canceled
X
ABC
Set
Set
X
C
B
A
X
X
Set
A
B
C
The samples of the print show only the normal-size characters. Double-wide and double-high characters are printed in
the same orientation. They may also be mixed on the same line.
Note: The following print modes cannot be mixed on the same line:
• Standard and compressed pitch
• Vertical (normal) and rotated
• Right-side up and upside-down
• Single-high (normal) and double-high
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Chapter 5: Programming commands
19
Chapter 5: Programming Commands
Commands listed by function
Commands in bold are ColorPOS® commands.
Printer actions
Code (hexadecimal)
Command
10
Clear printer
36
11
Close form
37
18
Open form
37
1A
Perform partial knife cut (or code 1B 6D)
37
1B 07
Generate tone
37
1B 3C
Return home
37
1B 3D n
Select peripheral device (for multi-drop)
38
1B 40
Initialize printer
38
1B 43 n
Set slip paper eject length
38
1B 55 n
Set unidirectional print on impact station
38
1B 63 30 n
Select receipt or slip for printing; slip for MICR read
39
1B 63 31 n
Select receipt or slip for setting line spacing
39
1B 63 33 n
Select paper sensors to output paper end signals (parallel only)
39
1B 63 34 n
Select sensors to stop printing
40
1B 63 35 n
Enable or disable panel button
40
1B 66 m n
Set slip paper waiting time
40
1B 6D
Perform partial knife cut (or code 1A)
37
1B 70 n p1 p2 Generate pulse to open cash drawer
41
Release paper 41
1B 72 m
Set current color
41
1C
Select slip station
42
1D 56 m Select cut mode and cut paper (or code 1D 56 m n)
42
1D 56 m n
Select cut mode and cut paper (or code 1D 56 m)
42
1D 81 m n
Set paper type 42
1E
Select receipt station
43
1F 03 16 05 n
Set interpretation of “Set current color” command
43
1F 74
Print test form
44
1B 71
A776-PG00001 D 07/13
Page
A776 (B780) Programming Guide
20
Chapter 5: Programming commands
Print and paper feed
Code (hexadecimal)
Command
Page
0A
Print and feed paper one line
44
0C
Print and eject slip
44
0D
Print and carriage return
44
14 n
Feed n print lines
44
15 n
Feed n dot rows
45
16 n
Add n extra dot rows
45
17
Print
46
1B 4A n
Print and feed paper
46
1B 4B n
Print and reverse feed paper
46
1B 64 n
Print and feed n lines
46
1B 65 n
Print and reverse feed n lines
47
1D 14 n
Reverse feed n lines
47
1D 15 n Reverse feed n dots
47
Vertical and horizontal positioning
Code (hexadecimal)
Command
Page
09
Horizontal tab
47
1B 14 n
Set column
48
1B 24 nL nH Set absolute starting position
48
1B 32
Set vertical line spacing to 1/6 inch
48
1B 33 n
Set vertical line spacing
49
1B 44 [n] k 00
Set horizontal tab positions
49
1B 5C n1 n2
Set relative print position
50
1B 61 n
Select justification
51
1D 4C nL nH
Set left margin
51
1D 50 x y
Set horizontal and vertical minimum motion units
52
1D 57 nL nH
Set printing area width
52
Text characteristics
Code (hexadecimal)
Command
12
Select double-wide characters
53
13
Select single-wide characters
53
1B 12
Select 90 degree counter-clockwise rotated print
53
1B 16 n
Select pitch (column width)
54
1B 20 n
Set right-side character spacing
54
1B 21 n
Select print mode
55
1B 25 n
Select or cancel user-defined character set
55
1B 26 s c1 c2 Define user-defined character sets
56
A776 (B780) Programming Guide
Page
A776-PG00001 D 07/13
Chapter 5: Programming commands
21
1B 2D n
Select or cancel underline mode
57
1B 3A 30 30 30
Copy character set from ROM to RAM
57
1B 3F n
Cancel user-defined character
58
1B 45 n
Select or cancel emphasized mode
58
1B 47 n
Select double-strike
58
1B 48
Cancel double-strike
59
1B 49 n
Select or cancel italic print
59
1B 52 n
Select international character set
59
1B 56 n
Select or cancel 90 degree clockwise rotated print
60
1B 74 n
Select international character table
59
1B 7B n
Select or cancel upside-down print mode
60
1D 21 n
Select character size
60
1D 42 n
Select or cancel white/black reverse print mode
61
1D 62 n
Set smoothing
62
1D 85 m n
Reverse color text mode 62
1D 8D n m
Text strike-through mode 63
1D F0 01 n
Select font ID number
62
1D F0 02 n
Select font style number
63
1D F0 03
Save font ID number as default font at power up
64
1D F0 80
Download font
64
1D F0 C0 02
Download font list
64
1D F1 01 FSID
Dynamically select font set
1F 03 45 FSID
Configure use of font set over power cycles
1F 03 46 n
Configure line spacing
1F 05 n
Select superscript or subscript modes
64
1F 26 s c1 c2
Define extended user-defined character set
65
1F 69 n
Select active user-defined character set
65
Graphics
Code (hexadecimal)
Command
1B (+*.BMP file)
Download BMP logo
66
1B 2A m n1 n2 d1…dn
Select bit image mode
66
1B 2E m n rL rH d1 . . . dn
Print advanced raster graphics
67
1B 59 n1 n2 d1…dn
Select double-density graphics
68
1C 70 n m Print flash logo
68
1C 71 n . . . Define flash logos
68
1D 23 n
Select the current logo (downloaded bit image)
68
1D 2A n1 n2 d1…dn
Define downloaded bit image
69
1D 2F m Print downloaded bit image
69
A776-PG00001 D 07/13
Page
A776 (B780) Programming Guide
22
Chapter 5: Programming commands
1D 82 n1…n72 or …n80
Print raster monochrome graphics 70
1D 83 n1…n144 or …n160
Print raster color graphics 70
1D 84 m n1 n2 d1…dx
Download logo image 70
1D 86 m
Monochrome shade mode 71
1D 87 m
Color shade mode 71
1D 89 n m
Logo print with color plane swap 72
1D 8B n m o
Apply shading to logo 72
1D 8C n m
Merge watermark mode 72
1D 90 m x y o p q
Form and merge real-time surround graphic 73
1D 91 n
Save graphics buffer as logo 74
1D 92 n
Background logo print mode 74
1D 99 l m n o
Apply margin message mode 75
1D 9A n m o
Shade and store logo 75
1D 9B m n
Logo print with knife cut
76
1D A0 nl nh
Set temporary max target speed
76
1F 03 16 f s p/r t
Set LogoEZ® colorization 77
1F 03 17 a m s
Set LogoEZ® attribute mapping 79
1F 04 n
Convert 6-dots/mm bitmap to 8-dots/mm bitmap
81
1F 7B n
Enable constant speed logos
81
Status
Batch mode
Code (hexadecimal)
Command
Page
1B 75 0
Transmit peripheral device status 82
1B 76
Transmit paper sensor status
83
1D 49 n
Transmit printer ID
83
1D 49 40 n
Transmit printer ID, remote diagnostics extension
85
1D 72 n
Transmit status
87
1F 56
Send printer software version
89
Real-time
Code (hexadecimal)
Command
10 04 n
Real-time status transmission (DLE sequence)
91
10 05 n
Real-time request to printer (DLE sequence)
94
1D 03 n
Real-time request to printer (GS sequence)
94
1D 04 n
Real-time status transmission (GS sequence)
91
1D 05
Real-time printer status transmission
95
1F 7A n
Real-time commands disable
95
A776 (B780) Programming Guide
Page
A776-PG00001 D 07/13
Chapter 5: Programming commands
23
Unsolicited status mode
Code (hexadecimal)
Command
1D 61 n
Select or cancel unsolicited status mode
Page
96
Bar codes
Code (hexadecimal)
Command
Page
1D 48 n
Select printing position for HRI characters
100
1D 66 n
Select pitch for HRI characters
100
1D 28 6B 04 0
​ 0
00 31 41 n1 n2
Select the model for QR Code​
1D 28 6B 03 00 31 43 n
Select the size of the module for QR Code​
1D 28 6N 03 00 31 45 n
Select the error correction level for QR Code
1D 28 6B qL qH 31 50 30 f1 ... fk
Store the symbol data for QR Code​
1D 28 6B 03 00 31 51 30
Print the symbol data for QR Code
1D 68 n
Select bar code height
100
1D 6B m d1…dk 00
or 1D 6B m n d1…dn
Print bar code
100
1D 6B m nL nH d1... dn
Print GS1 DataBar (formerly RSS), data length specified
103
1D 6B n d1... 00
Print GS1 Databar (formerly RSS), null terminated
103
1D 6B FF n
Print multiple bar codes
103
1D 70 a b c d e f Select PDF 417 parameters
104
1D 71 a b c d e fL fH
Set GS1 Databar (formerly RSS) parameters
1D 77 n
Select bar code width
102
106
Page mode
Code (hexadecimal)
Command
Page
0C
Print and return to standard mode
108
18
Cancel print data in page mode
108
1B 0C
Print data in page mode
108
1B 4C
Select page mode
109
1B 53
Select standard mode
110
1B 54 n
Select print direction in page mode
110
1B 57 n1, n2…n8
Set print area in page mode
111
1D 24 nL nH
Set absolute vertical print position in page mode
112
1D 5C nL nH
Set relative vertical print position in page mode
112
Macros
Code (hexadecimal)
Command
1D 3A
Select or cancel macro definition
113
1D 5E r t m
Execute macro
113
A776-PG00001 D 07/13
Page
A776 (B780) Programming Guide
24
Chapter 5: Programming commands
MICR check reader commands
MICR Reading
Code (Hexadecimal)
Command
Page
1B 77 01
Read MICR data and transmit
114
1B 77 02
Read MICR data and transmit (B780 only)
114
1B 77 52
Transmit last MICR read
115
MICR Parsing
Code (Hexadecimal)
Command
Page
1B 77 50
Define parsing format, save in NVRAM
115
1B 77 70
Define parsing format, do not save permanently
115
User data storage
Code (hexadecimal)
Command
Page
1B 27 m a0 a1 a2 d1…dm
Write to user data storage
121
1B 34 m a0 a1 a2
Read from user data storage
122
1B 6A k
Read from non-volatile memory
122
1B 73 n1 n2 k
Write to non-volatile memory (NVRAM)
122
1D 22 n
Select memory type (SRAM/flash)
122
1D 22 55 n1 n2
Flash memory user sectors allocation
123
1D 22 80
Expanded flash memory allocation
123
1D 22 81 n
Select flash area
124
1D 40 n Erase user flash sector
124
1D 97 m n
User storage status 125
1D F0 10 n
Lock permanent flash area
Flash download
Code (hexadecimal)
Command
1B 5B 7D
Switch to flash download (boot) mode
126
1D 00
Return boot sector firmware part number
127
1D 01
Return segment number status of flash memory
127
1D 02 n
Select flash memory sector to download
127
1D 06
Get firmware CRC
127
1D 07
Return microprocessor CRC
127
1D 0E
Erase all flash contents except boot sector
128
1D 0F
Return main program flash CRC
128
1D 10 n
Erase selected flash sector
128
1D 11 aL aH cL cH d1…dn
Download to active flash sector
128
1D FF
Reset firmware
129
A776 (B780) Programming Guide
Page
A776-PG00001 D 07/13
Chapter 5: Programming commands
25
Ethernet setup commands
Code (hexadecimal)
Command
1B 5B 7D
Switch to flash download (boot mode)
126
1F 08 00
Restore default settings
129
1F 08 01 n1 n2 n3 n4
Set IP address
129
1F 08 02 n1 n2 n3 n4
Set net mask
129
1F 08 03 n1 n2 n3 n4
Set gateway
130
1F 08 04 n1 n2 n3 n4
Set raw TCPIP port
130
1F 08 05 n1
LP Daemon
130
1F 08 06 n1
Telnet Daemon
130
1F 08 07 n1
BootP
130
1F 08 08 n1
DHCP
131
1F 08 09 n1
Inactivity timeout
131
1F 08 0A n1
Keep-alive pings (arps)
131
A776-PG00001 D 07/13
Page
A776 (B780) Programming Guide
26
Chapter 5: Programming commands
Command conventions
The following information describes how each command is organized:
Name:
Name of command.
ASCII:
The ASCII control code.
Hexadecimal:
The hexadecimal control code.
Decimal:
The decimal control code.
Value:
A description of the command operands.
Range:
The upper and lower limits of the command operand.
Default:
The command operand default after printer reset.
Description: Brief description and summary of the command.
Formulas:
Any formulas used for this command.
Exceptions:
Describes any exceptions to this command; for example, incompatible commands.
Related information: Describes related information for this command; for example, bit information.
Command descriptions
Printer actions
The printer function commands control the following basic printer functions and are described
in order of their hexadecimal codes:
• Station select
• Platen control
• Resetting the printer
• Cutting the paper
• Opening the cash drawers
Clear printer
ASCII
Hexadecimal
Decimal
DLE
10
16
Clears the print line buffer without printing and sets the printer to the following condition:
• Receipt station is selected
• Double-wide command (0x12) is canceled
• Line spacing, pitch, and user-defined character sets are maintained at current selections (RAM is not affected)
• Single-wide, single-high, non-rotated, and left-aligned characters are set
• Printing position is set to column one
• Slip platen is opened
• Slip printhead is homed
Exceptions
The DLE command followed by a 04 or 05 is interpreted as a “Real-time command.” See Real- time status transmission
and Real-time request commands (DLE sequences).
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Chapter 5: Programming commands
27
Close form
ASCII:
DC1
Hexadecimal: 11
Decimal:
17
Closes the feed roller and platen (forms compensation arm assembly). If the printer is reset or the Clear (0x10) is
received, the feed roller and platen are opened.
This command executes if the platen is already closed. This command is processed regardless of which station is
selected.
Open form
ASCII:
Hexadecimal
Decimal:
CAN
18
24
Opens the feed roller and platen (forms compensation arm assembly) so that a form may be inserted (default position).
This command has the same code as the Cancel print data in page mode command, which is only executed in page
mode.
This command executes if the platen is already open. This command is processed regardless of which station is
selected.
Perform partial knife cut
ASCII
Hexadecimal
Decimal
SUB
1A
26
ESC m
1B 6D
27 109
Partially cuts the receipt, leaving 5 mm (0.20”) of paper. This command is implemented the same as Full knife cut (19
and 1B 69).
There are two codes (Hex 1A or 1B 6D) for this command and both codes perform the same function.
Exceptions
Line feed is executed first if print buffer is not empty.
This command is processed regardless of which station is selected
.
Generate tone
ASCII
Hexadecimal
Decimal
ESC BEL
1B 07
27 7
Generates an audible tone. Performed by the printer to signal certain conditions
.
Return home
ASCII
Hexadecimal
Decimal
ESC <
1B 3C
27 60
Moves the impact printhead (unless already there) to the home position.
Related Information
The printer is able to detect carriage motor jams, eliminating the need to home the printhead after each slip
transaction.
A776-PG00001 D 07/13
A776 (B780) Programming Guide
28
Chapter 5: Programming commands
Select peripheral device (for multi-drop)
ASCII
Hexadecimal
Decimal
ESC = n
1B 3D n
27 61 n
Value of n:
bits 0 and 1 only:
0 = printer only
1 = printer only
2 = peripheral device only
3 = printer and peripheral device both
Default:
printer only
Selects the device to which the host computer sends data.
Related Information
When the printer is disabled by this command, it ignores transmitted data until re-enabled by same command.
Initialize printer
ASCII
Hexadecimal
Decimal
ESC @
1B 40
27 64
Default:
Character pitch:
Column width:
Extra dot rows:
Character set:
Printing position:
15.6 CPI
44 characters
3
Code Page 437
Column One
Clears the print line buffer and resets the printer to the default settings for the start-up configuration (refer to Default
settings above).
Single-wide, single-high, non-rotated, and left-aligned characters are set, and user-defined characters or logo graphics
are cleared. (Flash memory is not affected.) Tabs reset to default. Receipt selection state is selected.
A776:
B780:
Slip set to 42 column pitch
Slip set to compressed pitch
Set slip paper eject length
ASCII
Hexadecimal
Decimal
ESC C n
1B 43 n
27 67 n
Value of n:
0 to 255
Exception
This command is ignored.
Set unidirectional print on impact station
ASCII
Hexadecimal
Decimal
ESC U n
1B 55 n
27 85 n
Value of n:
Only the lowest bit of n is used
0
Unidirectional printing is turned off
1
Unidirectional printing is turned on
Default of n:
0
For text printing
1
For Page Mode printing
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Chapter 5: Programming commands
29
Select receipt or slip for printing; slip for MICR read
ASCII
Hexadecimal
Decimal
ESC c 0 n
1B 63 30 n
27 99 48 n
Value of n:
1, 2, 3 Receipt selected
4
Slip selected
8
Default of n:
Validation station selected
1
Selects the station for printing. When slip is selected, the printer waits for the paper to be inserted. When slip has
already been selected and the selection is changed, the form is opened.
If the station has already been selected and it is re-selected, no action takes place.
Slip waiting time is configurable using the configuration menu and the wait time appears on the Diagnostic menu
printout
Exceptions
Receiving the command discards unprinted data in the buffer, forcing a “beginning of line” state.
When n is out of range this command is ignored.
Select receipt or slip for setting line spacing
ASCII
Hexadecimal
Decimal
ESC c 1 n
1B 63 31 n
27 99 49 n
Value of n:
1, 2, 3
Select receipt
4
Select Slip
8
Default of n:
Select validation
1
Selects which station receives the effects of the following commands:
1.
2.
3.
Select Default Line Spacing (1B 32)
Set Line Spacing (1B 33)
Add n extra dot rows (16 n)
Exceptions
This command is ignored if n is out of range.
Select paper sensors to output paper end signals
ASCII
Hexadecimal
Decimal
ESC c 3 n
1B 63 33 n
27 99 51 n
This command is ignored.
A776-PG00001 D 07/13
A776 (B780) Programming Guide
30
Chapter 5: Programming commands
Select sensors to stop printing
ASCII
Hexadecimal
Decimal
ESC c 4 n
1B 63 34 n
27 99 52 n
Value of n:
Sensor status
Default:
0
Bit of n
Bit
Function
0,1
Stop receipt on receipt low
4
Stop slip if trailing edge uncovered
5
Stop slip if leading edge uncover
7
Stop validation print if trailing edge uncovered
(B780 only)
Determines which sensor stops printing on the respective station. The command does not affect the paper out status
on the receipt station, which will automatically stop the printer when the paper is depleted.
Enable or disable panel button
ASCII
Hexadecimal
Decimal
ESC c 5 n
1B 63 35 n
27 99 53 n
Value of n:
0 = Enable
1 = Disable
Default:
0 (Enable)
Enables or disables the paper feed button. If the last bit
is 0, the paper feed button is enabled. If the last bit is 1, the paper feed button is disabled.
Related information
Functions that require the paper feed button (except for the execute macro [1D 5E r t m] command) cannot be used
when it has been disabled with this command.
Set slip paper waiting time
ASCII
Hexadecimal
Decimal
ESC f m n
1B 66 m n
27 102 m n
Value of m:
Value of n:
Not used
Tenths of seconds
The time that the printer waits for a slip to be inserted is set using the configuration menu. The default is forever, but it
can be set to 1, 3, or 5 minutes.
The value “n” sets the time (n x 0.1 seconds) that the printer waits to close the platen and start printing after the slip has
been inserted. The printer reads that a slip is inserted when the leading edge and trailing edge sensors are covered.
The slip-in light is lit (green) when both sensors are covered.
If a slip is not inserted in the time specified, the receipt station is selected for the next function.
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Chapter 5: Programming commands
31
Generate pulse to open cash drawer
ASCII
Hexadecimal
Decimal
ESC p n p1 p2
1B 70 n p1 p2
27 112 n p1 p2
Value of n:
00, 48 (Decimal) = Drawer 1;
01, 49 (Decimal) = Drawer 2
Value of p1:
0–255
Value of p2:
0–255
Sends a pulse to open the cash drawer.
Formulas
The value for either p1 or p2 is the hexadecimal number multiplied by 2 msec to equal the total time.
• On-time = p1 (Hex) x 2 msec
• Off-time = p2 (Hex) x 2 msec
Related information
Off-time is the delay before the printer performs the next operation. Refer to cash drawer specifications for required on
and off-time.
Release Paper
ASCII
ESC q
Hexadecimal
1B 71
Decimal
27 113
Description
Releases the slip paper as follows:
If receipt paper was selected, this command opens the platen to allow slip removal.
If the slip was selected, the printer enters the paper removal waiting state after releasing the paper. After 2 seconds, it
enters receipt paper mode.
Set current color
ASCII
Hexadecimal
Decimal
ESC r m
1B 72 m
27 114 m
Default of m:
0 (monochrome)
This command will set the current color to the color m for all character data that may follow this command and all
graphic objects (bit images) that have not been explicitly loaded as two-color.
m=
m =
m=
0 (monochrome) is the initial value
1 (two-color paper “primary color”, usually black)
2 (second color available from two-color paper)
The m values 0 and 1 will not have a distinguishable effect; 0 is the initial value and provides parameter value
consistency with other commands.
Continued . . .
A776-PG00001 D 07/13
A776 (B780) Programming Guide
32
Chapter 5: Programming commands
Description
When the monochrome paper type command (00) is set, this command is recognized and retained but has no effect.
The monochrome paper selection (usually black) controls the output.
When two-color paper is loaded and the two-color paper type command set, this command will designate which of
the two colors will be used for everything not specified as having (an) explicit color parameter(s) such as color logos,
side bars, surround graphics, background watermarks or color raster graphics.
Exception
After a power loss or reset the default value m=0 is reset.
Select slip station
ASCII
Hexadecimal
Decimal
FS
1C
28
Selects the slip station for printing or MICR. This command must be disabled via 1F 03 38 00 to
use the 1C 70 / 1C 71 logo command sequences.
Select cut mode and cut paper
ASCII
Hexadecimal
Decimal
GS V m
1D 56 m
29 86 m
Value of m:
Selects the mode as shown in the table.
Value of n:
Determines cutting position only if m is 65 or 66.
m
GS V m n
1D 56 m n
29 86 m n
Feed and cut mode
0, 48 Full cut (no extra feed). Partial cut on the A776.
1, 49 Partial cut (no extra feed).
65
Feeds paper to cutting position + (n times vertical
motion unit), and cuts the paper.
66
Feeds paper to cutting position + (n times vertical
motion unit), and performs a partial cut.
Range of m:
0, 48; 1, 49; 65, 66 (when used with n)
Range of n:
0 – 255
Default of m, n:0
Selects a mode for cutting paper and cuts the paper. There are two formats for this command, one requiring one
parameter m, the other requiring two parameters m and n. The format is indicated by the parameter m.
Formulas
n times the vertical motion unit is used to determine the cutting position to which the paper is fed.
Exceptions
If m is out of the specified range, the command is ignored.
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Chapter 5: Programming commands
33
Set paper type (ColorPOS®)
ASCII
Hexadecimal
Decimal
GS 0x81 m n
1D 81 m n
29 129 m n
Value of m:
0 = monochrome (black) paper
4 = two-color (blue/black) papers
5 = two-color (red/black or green/black) papers
Default: 0 (monochrome paper)
This command will set the optimum parameter values in the thermal print engine control hardware for any defined
monochrome or two-color paper chemistry. The m n parameters select paper category and formulation version,
respectively.
(m n = 0 0) defines the default monochrome (black category, initial version) paper, out-of-box printers will also have
factory pre-set descriptions for customer selected color types; initial release consists of three defined color types:
(m n = 4 0) blue/black paper, and (m n = 5 0) red/black paper or green/black paper..
When issuing this command a value of n = 0xFF can always be used; that is interpreted as requesting the setting of the
highest version defined in the printer of that category. This is a safe way for an application to always select the latest of
a manufacturer’s paper category, thus choosing “ latest standard red/black”.
An incorrect setting of m n for a two-color paper or non-standard monochrome paper, or failure to set m n when a
color paper is inserted will result in poor print quality printing.
The last set paper type choice is stored in non-volatile memory and is retained after a power loss and across reset
commands. The initial value at first boot after firmware load (or reload) is m n =0 0.
Related information
An incorrect setting of n for a two-color paper or failure to set n when a two-color paper is loaded will result in poor
output quality.
Select receipt station
ASCII
Hexadecimal
Decimal
RS
1E
30
Selects the receipt slip station for all functions. The receipt station is default setting after the
printer is initialized or the clear printer (0x10) command is received.
Set Interpretation of “Set current color”
ASCII
US ETX SYN ENQ n
Decimal
31 03 22 05 n
Hexadecimal
1F 03 16 05 n
Value of n:
0-FF (Hex) n = n=
01 will cause 1B 72 01 to print red. Any other value for 1B 72 will print black.
00 will cause 1B 72 00 to print red and all other values to print black.
This command defines how to interpret the 1B 72 command for legacy environments. It provides a method to resolve
any differences in the definition of command 1B 72 between the A776 native mode and earlier implementations in
other printers.
In A776 native mode, the standard “Set current color” command should be used.
Related information
The 1F 03 16 00 command disables this and all other LogoEZ® features.
To disable one LogoEZ® feature when multiple LogoEZ® features are set, first disable all LogoEZ® features and then reenable only those you desire.
A776-PG00001 D 07/13
A776 (B780) Programming Guide
34
Chapter 5: Programming commands
Print test form
ASCII
Hexadecimal
Decimal
US t
1F 74
31 116
Prints the current printer configuration settings on the receipt.
Disabled in page mode.
Print and paper feed
The print and feed commands control printing on the receipt and paper feed by the printer.
Print and feed paper one line
ASCII
Hexadecimal
Decimal
LF
0A
10
Prints one line from the buffer and feeds paper one line.
Carriage return/line feed pair prints and feeds only one line.
Print and eject slip
ASCII
Hexadecimal
Decimal
FF
0C
12
Prints data from the buffer to the slip station and if the paper sensor is covered, reverses the slip out the front of the
printer far enough to be accessible to the operator. The impact station opens the platen in all cases.
This command has the same code as the print and return to standard mode command, which is executed only when
the printer is in page mode. When the printer is not in page mode this command executes the print and eject slip
function.
Exception
This command is ignored if the receipt station is the current station.
Print and carriage return
ASCII
Hexadecimal
Decimal
CR
0D
13
Prints one line from the buffer and feeds paper one line. The printer can be set through the configuration menu
to ignore or use this command. Some applications expect the command to be ignored while others use it as print
command.
Related information
See ignoring/using the carriage return in Diagnostics for more information.
Carriage return/line feed pair prints and feeds only
one line.
Feed n print lines
ASCII
Hexadecimal
Decimal
DC4 n
14 n
20 n
Value of n:
The number of lines to feed at current line height setting.
Range of n:
0–127 in A756 emulation
0–255 in A756 emulation and
A776 native mode
Feeds the paper n lines at the current line height without printing. Ignored on receipt if current line is not empty.
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Chapter 5: Programming commands
35
Feed n dot rows
ASCII
Hexadecimal
Decimal
NAK n
15 n
21 n
Value of n:
Receipt - n/203 inch
Slip - n/72 inch
Range of n:
0–255 in
Feeds paper n dot rows without printing. Receipt moves n rows if the print buffer is empty.
Add n extra dot rows
ASCII
Hexadecimal
Decimal
SYN n
16 n
22 n
Value of n:
Receipt - n/203 inch
Slip -
n/72 inch
Range of n:
0–12
Default:
Receipt - 3 extra dot rows
Slip -
3 extra dot rows
Adds n extra dot rows to the character height to increase space between print lines or decrease the number of lines
per inch.
Line spacing is set for the station or stations selected by the command 1B 63 31 n .
Formulas
This table shows the relationship between the number of lines per inch and each dot row added:
Receipt Station
Slip Station
Extra rows
Lines per inch
Dot rows
Lines per Inch
Dot rows
0
8.47
24
10.29
7
1
8.13
25
9.00
8
2
7.81
26
8.00
9
3
7.52
27
7.20
10
4
7.25
28
6.55
11
5
7.00
29
6.00
12
6
6.77
30
5.54
13
7
6.55
31
5.14
14
8
6.35
32
4.80
15
9
6.16
33
4.50
16
10
5.98
34
4.24
17
11
5.81
35
4.00
18
12
5.64
36
3.79
19
A776-PG00001 D 07/13
A776 (B780) Programming Guide
36
Chapter 5: Programming commands
Print
ASCII
Hexadecimal
Decimal
ETB
17
23
Prints one line from the buffer and feeds paper one line.
Print and feed paper
ASCII
Hexadecimal
Decimal
ESC J n
1B 4A n
27 74 n
Value of n:
Receipt - n/203 inch
Slip -
n/144 inch
Range of n:
0–255
Prints one line from the buffer and feeds the paper.
On the receipt station, the line height equals the character height when n is too small. This does not apply to the slip
station. Use n = 0 to print a line without feeding the paper. This allows the printer to print on the last line of the slip (at
0.59 inch from the trailing edge) and still retain the slip in the feed rollers for reverse feeding the paper back out of the
slip station.
Related information
For more information, see the description of the set horizontal and vertical minimum motion units command in this
document.
Print and reverse feed paper
ASCII
Hexadecimal
Decimal
ESC K n
1B 4B n
27 75 n
Value of n:
Slip - n/144 of an inch
Range of n:
0–255
Prints one line from the buffer and reverse feeds the paper n/144 of an inch on the slip station.
Exceptions
The receipt station cannot be reverse fed.
Print and feed n lines
ASCII
Hexadecimal
Decimal
ESC d n
1B 64 n
27 100 n
Value of n:
Number of lines to be printed and fed.
Range of n:
1–255 (0 is interpreted as 1 on the
receipt station)
Prints one line from the buffer and feeds paper n lines at the current line height.
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Chapter 5: Programming commands
37
Print and reverse feed n lines
ASCII
Hexadecimal
Decimal
ESC e n
1B 65 n
27 101 n
Value of n:
The number of lines on the slip station
to be reverse fed.
Range of n:
0 – 255
Prints one line from the buffer and reverse feeds the paper n lines on the slip station. The receipt station cannot be
reverse fed.
Reverse feed n lines
ASCII
Hexadecimal
Decimal
GS DC4 n
1D 14 n
29 20 n
Range of n:
0 – 255
Reverses the paper feed in the slip station by n lines at the current spacing. The next character feed command returns
the paper feed back to the normal feed direction. This command is ignored if slip is not the selected station. Current
spacing is not a factor.
Reverse feed n dots
ASCII
Hexadecimal
Decimal
GS NAK n
1D 15 n
29 21 n
Value of n:
n dots at 1/72 inch
Range of n:
0 – 255
A776 native mode
Reverses the paper feed in the slip station by n dots at 1/72 inch (CognitiveTPG 7150™ command). This command is
ignored if receipt station is selected.
Vertical and horizontal positioning
The horizontal positioning commands control the horizontal print positions of characters on
the receipt and slip.
Horizontal tab
ASCII
Hexadecimal
Decimal
HT
09
9
Moves the print position to the next tab position set by the set horizontal tab positions (1B 44 n1 n2 ... 00) command.
The print position is reset to column one after each line.
Tab treats the left margin as column one, therefore changes to the left margin will move the tab positions.
When no tabs are defined to the right of the current position, or if the next tab is past the right margin, line feed is
executed. HT has no effect in page mode.
Print initialization sets 32 tabs at column 9, 17, 25…
A776-PG00001 D 07/13
A776 (B780) Programming Guide
38
Chapter 5: Programming commands
Set column
ASCII
Hexadecimal
Decimal
ESC DC4 n
1B 14 n
27 20 n
Value of n:
Receipt -
Slip -
Default of n:
1–44 = Standard pitch
1–56 = Compressed pitch
1–66 = Standard pitch
1–80 = Compressed pitch
1
Prints the first character of the next print line in column n. It must be sent for each line not printed at column one. The
value of n is set to one after each line.
Exceptions
This command cannot be used with single- or double-density graphics.
Set absolute starting position
ASCII
Hexadecimal
Decimal
ESC $ n1 n2
1B 24 n1 n2
27 36 n1 n2
Value of n:
n = Number of dots to be moved from the beginning of the line.
n1 = Remainder after dividing n by 256.
n2 = Integer after dividing n by 256.
The values for n1 and n2 are two bytes in low byte, high byte word orientation.
Sets the print starting position to the specified number of dots (up to the right margin) from the beginning of the line.
The print starting position is reset to the first column after each line.
Formulas
Determine the value of n by multiplying the column for the absolute starting position by 10 (slip, or receipt standard
pitch) or 8 (receipt compressed pitch). The example shows how to calculate column 29 (10 dots per column) as the
absolute starting position.
28 x 10 = 280/256 = n1 = 24 n2 = 280 dots (beginning of column 29)
1, remainder of 24
1
Related information
This command is also used in the graphics mode on the receipt. See graphic commands in this chapter for more
information.
If the set horizontal and vertical motion units command (1D 50) is used to change the horizontal and vertical minimum
motion unit, the parameters of this command (set relative print position) will be interpreted accordingly. For more
information, see the description of the command set horizontal and vertical minimum motion units command (1D 50)
in this document.
Set vertical line spacing to 1/6 inch
ASCII
Hexadecimal
Decimal
ESC 2
1B 32
27 50
Default:
3.33 mm (0.13”)
Sets the default line spacing to 4.25 mm (1/6 of an inch).
Line spacing is set for the station or stations selected by the command 1B 63 31 n .
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Chapter 5: Programming commands
39
Set vertical line spacing
ASCII
Hexadecimal
Decimal
ESC 3 n
1B 33 n
27 51 n
Value of n: Receipt - n/406 inch
Slip -
Range of n:
0 – 255
n/144 inch
Default:
Receipt - 0.13 inch (3.37 mm or 7.52 lines
per inch, 3 extra dot rows)
Slip -
0.14 inch (7.20 lines per inch,
3 extra dot rows)
Sets the line spacing for the receipt and for the slip. For the receipt, the space is set to n/406 inches. For the slip, the line
spacing is set to n/144 inches. The line spacing equals the character height when n is too small.
Line spacing is set for the station or stations selected by the command 1B 63 31 n .
If the set horizontal and vertical minimum motion units command (1D 50) is used to change the horizontal and vertical
minimum motion unit, the parameters of this command (set line spacing) will be interpreted accordingly.
Related information
For more information, see the description of the set horizontal and vertical minimum motion units command
in this document.
In addition, see “Configure line spacing” (1F 03 46 n).
Set horizontal tab positions
ASCII
Hexadecimal
Decimal
ESC D [n] k NUL
1B 44 [n] k 00
27 68 [n] k 0
Value of n: Column number for tab minus one.
(n is always less than or equal to the
current selected column width)
Value of k:
0–32 (decimal)
Default:
Every 8 characters from column
1 (9, 17, 25, etc.) for normal print.
Sets up to 32 horizontal tab positions n columns from column one, but does not move the print position. See the
horizontal tab command (09).
The tab positions remain unchanged if the character widths are changed after the tabs are set. The command ends
with hexadecimal 00; hexadecimal 1B 44 00 clears all tabs.
Tabs assumed to be in strictly ascending order. A tab out of order terminates the command string as if it were 00, and
remaining tab values are taken as normal data.
Formulas
Set the tab positions in ascending order and put Hex 00 at the end.
Hex 1B 44 00 (number of tabs not specified) clears all tab positions.
Exceptions
The tabs cannot be set higher than the column width of the current pitch.
A776-PG00001 D 07/13
A776 (B780) Programming Guide
40
Chapter 5: Programming commands
Set relative print position
ASCII
Hexadecimal
Decimal
ESC \ n1 n2
1B 5C n1 n2
27 92 n1 n2
Value of n:
To move the relative starting position right of the current position by n dots:
n1 = Remainder after dividing n by 256
n2 = Integer after dividing n by 256
The values for n1 and n2 are two bytes in low byte, high byte word orientation.
To move the relative starting position left of the current position by n dots:
n1 = Remainder after dividing (65,536–n) by 256
n2 = Integer after dividing (65,536–n) by 256
The values for n1 and n2 are two bytes in low byte, high byte word orientation.
Moves the print starting position the specified number of dots either right (up to the right margin) or left (up to the left
margin) of the current position. The print starting position is reset to the first column after each line.
Formulas
To move to the left:
Determine the value of n by multiplying the number of columns to move left of the current position by 10 (slip
or receipt standard pitch) or 8 (receipt compressed pitch). The example shows how to set the relative position two
columns in standard pitch (10 dots per column) to the left of the current position.
2 x 10 = 20 dots (two columns to be moved left of the current position)
65,536–20 = 65516
65,516/256 = 255, remainder of 236
n1 = 236, n2 = 255
To move to the right:
Determine the value of n by multiplying the number of columns to move right of the current position by 10 (slip
or receipt standard pitch) or 8 (receipt compressed pitch). The example shows how to set the relative position two
columns in standard pitch (10 dots per column) to the right of the current position.
2 x 10 = 20 dots (two columns to be moved left of the current position)
20/256 = 0, remainder of 20
n1 = 20, n2 = 0
Related information
If the set horizontal and vertical minimum motion units command (1D 50) is used to change the horizontal and vertical
minimum motion unit, the parameters of this command (set relative print position) will be interpreted accordingly. For
more information, see the description of the set horizontal and vertical minimum motion units command (1D 50) in
this document.
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Chapter 5: Programming commands
41
Select justification
ASCII
Hexadecimal
Decimal
ESC a n
1B 61 n
27 97 n
Value of n:
0, 48 = Left aligned
1, 49 = Center aligned
2, 50 = Right aligned
Range of n:
0–2, 48–50
Default:
0 (Left aligned)
Specifies the alignment of characters, graphics, logos, and bar codes.
The command can be enabled or disabled for the slip. Default is disabled for the slip on A776, and enabled on B780.
Exception
This command is valid only when input at the beginning of a line.
Set left margin
ASCII
Hexadecimal
Decimal
GS L nL nH
1D 4C nL nH
29 76 nL nH
Range of nL:
0–255
Range of nH:
0–255
Default:
576 dots (the maximum printable area)
Values of n:
nL = low byte = Remainder after dividing n by 256
nH = high byte = Integer after dividing n by 256
The command can be enabled or disabled for the slip. Default is disabled for the slip on A776, and enabled on B780.
Formulas
Sets the left margin of the printing area. The left margin is set to ((nH X 256) + nL) times horizontal motion unit) inches.
The horizontal motion units are set by the set horizontal and vertical minimum motion units command (1D 50),
described in this manual.
The width of the printing area is set by the set printing area width command (1D 57), which follows this command.
If the setting exceeds the printable area, the maximum value of the printable area is used. The maximum printable
receipt area is 576 dots on the receipt and 420 addressable dots on the slip. See the illustration on the next page.
To set the Receipt left margin to one inch at the default horizontal motion unit of 1/203 inches, send the four-byte
string:
GS L 203 0
Or, to set the left margin to two inches at the default horizontal motion unit of 1/203 units per inch, send the four-byte
string:
GS L 150 1
Where 2 inches = 406/203, and 406 = (1 X 256) + 150, derived from decimal to hexadecimal conversion:
406/256 = 1 (nH) with remainder 150 (nL)
Continued . . .
A776-PG00001 D 07/13
A776 (B780) Programming Guide
42
Chapter 5: Programming commands
To set the Slip left margin to one inch at the default horizontal motion unit of 1/140 inches, send the four-byte string:
GS L 140 0
Or, to set the left margin to two inches at the default horizontal motion unit of 1/140 units per inch, send the four-byte
string:
GS L 24 1
Exceptions:
The command is effective only at the beginning of a line. This command is ignored if the line buffer is not empty.
Set horizontal and vertical minimum motion units
ASCII
Hexadecimal
Decimal
GS P x y
1D 50 x y
29 80 x y
Value of x:
Horizontal
Value of y:
Vertical
Range of x:
0 – 255
Range of y:
0 – 255
Default of x:
Receipt: 203 Slip: 140
Default of y:
Receipt: 203 Slip: 144
Sets the horizontal and vertical motion units to 1/x inch and 1/y inch respectively.
When x or y is set to 0, the default setting for that motion unit is used.
The command can be enabled or disabled for the slip. Default is disabled for the slip on A776, and enabled on B780.
Set printing area width
ASCII
GS W nL nH
Hexadecimal
1D 57 nL nH
Decimal
29 87 nL nH
Range of nL:
0–255
Range of nH:
0–255
Default:
576 dots (the maximum printable area)
Sets the width of the printing area. If the setting exceeds the printable area, the maximum value of the printable area
is used. The width of the printing area is set to ((nH X 256) + nL) times horizontal motion unit) inches. The horizontal
motion units are set by the set horizontal and vertical minimum motion units command (1D 50).
The width of the printing area follows the set left margin command (1D 4C). See the set left margin command
(10 4C …) earlier in this document for a description.
The command can be enabled or disabled for the slip. Default is disabled for the slip on A776, and enabled on B780.
Formulas
To set the width of the receipt printing area to one inch at the default horizontal motion unit of 1/203 inches, send the
four-byte string:
GS W 203 0
Continued . . .
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Chapter 5: Programming commands
43
Or, to set the width of the printing area to two inches at the default horizontal motion unit of 1/203 units per inch,
send the four-byte string:
GS W 150 1
Where 2 inches = 406/203, and 406 = (1 X 256) + 150.
Exceptions
This command is effective only at the beginning of a line. If the setting exceeds the printable area, the maximum
value of the printable area is used. The maximum printable area is 576 dots on the receipt and 420 dots on the slip.
Text characteristics commands
These commands control what the printed information looks like, selection of character sets, definition of customdefined characters, and setting of margins. The commands are described in order of their hexadecimal codes.
Select double-wide characters
ASCII
Hexadecimal
Decimal
DC2
12
18
Prints double-wide characters. The printer is reset to single-wide mode after a line has been printed or the clear printer
(0x10) command is received. Double-wide characters may be used in the same line with single-wide characters.
Select single-wide characters
ASCII
Hexadecimal
Decimal
DC3
13
19
Prints single-wide characters. Single-wide characters may be used in the same line with double-wide characters.
Select 90 degree counter-clockwise rotated print
ASCII
Hexadecimal
Decimal
ESC DC2
1B 12
27 18
Rotates characters 90 degrees counter-clockwise. The command remains in effect until the printer is reset or until a
clear printer (0x10), select or cancel upside down print (1B 7B) or cancel rotated print (1B 56) command is received.
Exceptions
This command is valid only at the beginning of a line.
Rotated print and non-rotated print characters cannot be used together in the same line.
Related information
See “Summary of rotated printing” in this document.
A776-PG00001 D 07/13
A776 (B780) Programming Guide
44
Chapter 5: Programming commands
Select pitch (column width)
ASCII
Hexadecimal
Decimal
ESC SYN n
1B 16 n
27 22 n
Value of n:
0 = Standard pitch
1 = Compressed pitch
Default:
0 (Standard pitch)
Selects the character pitch for a print line.
Formulas
The following table provides the print characteristics for both pitches on the receipt and slip station.
Pitch
Receipt Columns
Receipt
CPI
Slip
Columns
Slip
CPI
Standard
44
15.6
42
13.9
Compressed 56
20.3
51
17.1
Related information
Look in Chapter 4: Programming the Printer, “Character appearance” for a description of both pitches.
Set right-side character spacing
ASCII
Hexadecimal
Decimal
ESC SP n
1B 20 n
27 32 n
Range of n:
0 – 32 (decimal)
Default:
0
Sets the right side character spacing to [ n x horizontal or vertical motion units]. Values for this command are set
independently in standard and paper mode.
The units of horizontal and vertical motion are specified by the set horizontal and vertical minimum motion units
(1D 50 …) command. Changes in the horizontal or vertical units do not affect the current right side character spacing.
When the horizontal or vertical motion unit is changed by the set horizontal and vertical minimum motion units
(1D 50 …) command the value must be in even units and not less than the minimum amount of horizontal movement.
In standard mode the horizontal motion unit is used.
In page mode the horizontal or vertical motion unit differs and depends on the starting position of the printable area.
When the starting printing position is the upper left or lower right of the printable area (set by select print direction
in page mode, 1B 54 n) the horizontal motion unit (x) is used. When the starting printing position is the upper right or
lower left of the printable area (set by select print direction in page mode, 1B 54 n) the vertical motion unit (y) is used.
The command can be enabled or disabled for the slip. Default is disabled for the slip on A776, and enabled on B780.
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Chapter 5: Programming commands
45
Select print mode
ASCII
Hexadecimal
Decimal
ESC ! n
1B 21 n
27 33 n
Value of n:
Pitch selection (standard, compressed, double-high, or double-wide.)
Value of n
Bit
Function
0
Bit 0
Pitch
(See chart below)
Standard pitch
Bit 3
Emphasized mode Canceled
Set
Bit 4
Double-high
Canceled
Set
Bit 5
Double-wide
Canceled
Set
Bit 7
Underlined mode
Canceled
Set
1
1
Compressed
pitch
Bits 1, 2 and 6 are not used.
Standard and compressed pitch cannot be used together in the same line.
1
Slip Default is standard pitch on A776 and compressed pitch on B780.
Selects the print mode: standard, compressed, double-high, or double-wide.
Default:
00
Pitch
Receipt Station
Receipt
CPI
Slip
Station
Slip CPI
Standard
44
15.6
42
13.9
Compressed 56
20.3
51
17.1
Related information
Double-high can be enabled or disabled for the slip. Default is disabled for the slip on A776, and enabled on B780.
The bits in this command perform the same function as the stand-alone functions:
1B 16 n
1B 45 n
1B 47 n
12
13
1B 2D n
Select pitch
Emphasized
Double-strike
Double-wide
Single-wide
Underline
Select or cancel user-defined character set
ASCII
Hexadecimal
Decimal
ESC % n
1B 25 n
27 37 n
Value of n:
0 = Code Page 437
1 = User Defined (RAM)
2 = Code Page 850
Range of n:
0–2
Default:
0 (Code Page 437)
Selects the character set. When an undefined RAM character is selected, the code page 437 character is used. Look in
Appendix B for the character sets.
Exception:
The character sets cannot be used together on the same line.
A776-PG00001 D 07/13
A776 (B780) Programming Guide
46
Chapter 5: Programming commands
Define user-defined character set
ASCII
Hexadecimal
Decimal
ESC & s c1 c2 [character 1 data] ... [character k data]
1B 26 s c1 c2 [character 1 data] ... [character k data]
27 38 s c1 c2 [character 1 data] ... [character k data]
Values and ranges:
Receipt:
s = 3, the number of bytes (vertically) in the character cell
c = the ASCII codes of the first (c1) and last (c2) characters respectively
c1 = Hex 20–FF (20 is always printed as a space)
c2 = Hex 20–FF (20 is always printed as a space)
To define only one character, use the same code for both c1 and c2
k = c2 – c1 + 1 = the number of characters to be defined in this command string [character i data] = [ni d1 ... d(3 x ni)] for 1 ≤ i ≤ k
ni = the number of dot columns for the ith character, 1 ≤ ni ≤ 16
d = the dot data for the characters
The number of bytes for the ith character cell is 3 x ni.
The bytes are printed down and across each cell.
Defines and enters downloaded characters into RAM. The command may be used to overwrite single characters. User-defined
characters are available until power is turned off or the initialize printer command (1B 40) is received.
Any invalid byte (s, c1, c2, n1) aborts the command.
Slip:
s= 0
c = the ASCII codes of the first (c1) and last (c2) characters
respectively
c1 = Hex 20–FF
c2 = Hex 20–FF
To define only one character, use the same code for
both c1 and c2
d = the column data for the nth character as specified
by d1 ... d12
Each character is defined by 12 bytes (only bytes 2–11 are printed.)
Each byte is one column (full- or half-dot column.)
Overlapped dots are not printed.
The data must contain [(c2 - c1 + 1) x 12] bytes. (See illustration.)
Defines and enters downloaded characters into RAM or flash. The command may be used to overwrite single
characters. User-defined characters are available until power is turned off or the initialize printer command (1B 40) is
received.
Any invalid byte (s, c1, c2, n1) aborts the command.
User-defined character sets for both slip and receipt may be used at the same time.
s = 2 B780, slip only.
Related information
See 1D 22 n (select memory type where to save user-defined fonts.)
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Chapter 5: Programming commands
47
Select or cancel underline mode
ASCII
Hexadecimal
Decimal
ESC - n
1B 2D n
27 45 n
Decimal Hex
Value of n:
0, 48
30 = Cancel underline mode
1, 49 31 = Select underline mode
2, 50
32 = Select double thickness
underline mode
Default:
0 (Cancel underline mode)
Turns underline mode on or off. Underlines cannot be printed for spaces set by the horizontal tab, set absolute start
position, or set relative print position commands.
This command and the select print mode(s) command (1B 21) turn underline on and off in the same way.
Exceptions
This command is ignored if n is out of the specified range.
Copy character set from ROM to RAM
ASCII
Hexadecimal
Decimal
ESC : 0 0 0
1B 3A 30 30 30
27 58 48 48 48
Default:
Code page 437
Copies characters in the active ROM set to RAM. Use this command to re-initialize the user-defined character set. Code
page 437 is copied by default at initialization. This command is ignored if current font is the user font.
Related information
To modify characters in one of the character set variations, such as rotated print, select one of the rotated print
commands, copy to RAM, then use the define user-defined character set command (1B 26).
Cancel user-defined character
ASCII
Hexadecimal
Decimal
ESC ? n
1B 3F n
27 63 n
Value of n:
Specified character code.
Range of n:
32–255
Cancels the pattern defined for the character code specified by n. After the user-defined character is canceled, the
corresponding pattern from code page 437 is printed.
Exceptions
This command is ignored if n is out of range or if the user-defined character is not defined.
A776-PG00001 D 07/13
A776 (B780) Programming Guide
48
Chapter 5: Programming commands
Select or cancel emphasized mode
ASCII
Hexadecimal
Decimal
ESC E n
1B 45 n
27 69 n
Value of n:
0 (bit 0) not selected
1 (bit 0) selected
(When 0 and 1 are the least
significant bit, LSB)
Range of n:
0–255
Default:
0 (bit 0)
Starts or stops emphasized printing on slip and receipt.
In emphasized mode on the slip, each line is printed twice to improve penetration of multi-part forms and increase
print contrast. The second pass is printed the same direction as the first to ensure accuracy of the overprint. Printing
speed decreases due to the second printing pass.
Exceptions
Only the lowest bit of n is effective.
Emphasized printing cannot be used with bit-images or downloaded bit-images.
Related information
This command and the select print mode(s) command
(1B 21) function identically.
Select double-strike
ASCII
Hexadecimal
Decimal
ESC G n
1B 47 n
27 71 n
Value of n:
0 = Off
1 = On
(When 0 and 1 are the
least significant bit, LSB)
Default:
0 (Off )
Turns double-strike mode on for the slip station. Overprints a second pass of the print line on the slip station to
improve penetration of multi-part forms and increase print contract. The second pass is printed the same direction as
the first to ensure accuracy of the overprint. The printer is reset to the standard print mode after a clear printer (0×10)
command is received.
Exceptions
The settings do not apply in page mode, However they can be set or cleared in page mode.
Double-strike printing cannot be used with bit-images or downloaded bit-images.
Related information
Printer output is the same as in emphasized mode.
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Chapter 5: Programming commands
49
Select or cancel italic print
ASCII
Hexadecimal
Decimal
ESC I n
1B 49 n
27 73 n
Value of n:
0 = Off
1 = On
(When 0 and 1 are the least
significant bit, LSB)
Default:
0 (Off )
Turns italic print mode on or off.
Italic print mode is available for built-in, user-defined characters. This command only works on the receipt station.
Select international character set
ASCII
Hexadecimal
Decimal
ESC R n
1B 52 n
27 82 n
or
or
or
ESC t n
1B 74 n
27 116 n
Value of n:
0 = Code Page 437
1 = Code Page 850
2 = Code Page 852
3 = Code Page 860
4 = Code Page 863
5 = Code Page 865
6 = Code Page 858
7 = Code Page 866
8 = Code Page 1252
9 = Code Page 862
0A = Code Page 737, Greek (only in A799 native mode)
0B = Code Page 874 (available for download)
0C = Code Page 857
0D = Code Page 1251
0E = Code Page 1255
0F = Code Page KZ_1048
Default:
0 (Code Page 437)
Selects the character set to be used. Look in “Appendix B: Resident Character Sets” for the character sets.
There are two codes for this command (see select international character set, 1B 74 n). Both codes
perform the same function.
Exception
The character sets cannot be mixed on the same line.
Related information
This command may also be known as select character code table.
Select character code table
See the previous command, select international character set, 1B 52 n .
A776-PG00001 D 07/13
A776 (B780) Programming Guide
50
Chapter 5: Programming commands
Select or cancel 90 degree clockwise rotated print
ASCII
Hexadecimal
Decimal
ESC V n
1B 56 n
27 86 n
Value of n:
0 = Cancel
1 = Set
Default:
0 (Cancel)
Rotates characters 90 degrees clockwise. The command remains in effect until the printer is reset or until a clear printer
(0x10) or rotated print (1B 12) command is received. See summary of rotated printing in this document.
Select or cancel upside-down print mode
ASCII
Hexadecimal
Decimal
ESC { n
1B 7B n
27 123 n
Value of n:
0 = Cancel
1 = Set
Default:
0 (Cancel)
Prints upside-down characters. The character order is inverted in the buffer so text is readable. The command remains
in effect until the rotated print (1B 12) command is received. Only bit 0 is used. Bits 1–7 are not used. See summary of
rotated printing in this document for more information.
Exceptions
The command is valid only at the beginning of a line.
The rotated print command (1B 12) cancels this command.
Select character size
ASCII
Hexadecimal
Decimal
GS ! n
1D 21 n
29 33 n
Value of n:
1–8 = vertical number of times normal font
1–8 = horizontal number of times normal font
Range of n:
00–07, 10–17, ...70–77
Default of n:
0
Selects the character height for receipt printing using bits 0 to 2 and selects the character width using bits 4 to 7, as
follows:
Character width selection
Hex
Decimal
Width
00
0
1 (normal)
10
16
2 (two times width)
20
32
3 (three times width)
30
48
4 (four times width)
40
64
5 (five times width)
50
80
6 (six times width)
60
96
7 (seven times width)
70
112
8 (eight times width)
Continued . . .
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Chapter 5: Programming commands
51
Character height selection
Hex
Decimal
Height
00
0
1 (normal)
01
1
2 (two times height)
02
2
3 (three times height)
03
3
4 (four times height)
04
4
5 (five times height)
05
5
6 (six times height)
06
6
7 (seven times height)
07
7
8 (eight times height)
This command is effective for all characters (except for HRI characters).
In standard mode, the vertical direction is the paper feed direction, and the horizontal direction is perpendicular to
the paper feed direction. However, when character orientation changes in 90 degree clockwise-rotation mode, the
relationship between vertical and horizontal directions is reversed.
In page mode, vertical and horizontal directions are based on the character orientation. When characters are enlarged
with different sizes on one line, all the characters on the line are aligned at the baseline.
The select print mode (1B 21 n) command can also select or cancel double-width and double-height modes. However,
the setting of the last received command is effective.
Exceptions
If n is out of the defined range, this command is ignored. This command is only valid for the receipt station.
Select or cancel white/black reverse print mode
ASCII
Hexadecimal
Decimal
GS B n
1D 42 n
29 66 n
Value of n:
0 = Off
1 = On
(When 0 and 1 are the least significant bit, LSB)
Range of n:
0–255
Default:
0 (Off )
Turns on white/black reverse print mode. In white/black reverse print mode, print dots and non-print dots are reversed,
which means that white characters are printed on a black background. When the white/black reverse print mode is
selected it is also applied to character spacing which is set by right-side character spacing (1B 20).
This command can be used with built-in characters and user-defined characters, but does not affect the space
between lines.
White/black reverse print mode does not affect bit image, downloaded bit image, bar code, HRI characters, and
spacing skipped by horizontal tab (09), set absolute starting position (1B 24 …), and set relative print position (1B 5C).
White/black reverse print mode has a higher priority than underline mode. When underline mode is on and white/
black reverse print mode is selected, underline mode is disabled, but not canceled.
Bar codes, logos, and bit images are not affected by this command.
Exceptions
This command is only valid for the receipt station.
A776-PG00001 D 07/13
A776 (B780) Programming Guide
52
Chapter 5: Programming commands
Set smoothing
ASCII
Hexadecimal
Decimal
GS b n
1D 62 n
29 98 n
Value of n:
0 = smoothing off,
1 = smooting on, default = off
Turns smoothing mode on or off for the quadruple or larger sizes of characters.
Reverse color text mode (ColorPOS®)
ASCII
Hexadecimal
Decimal
GS 0x85 m n
1D 85 m n
29 133 m n
Value of m:
0 = white
1 = black
2 = paper color
Value of n:
0 = white
1 = black
2 = paper color
Default:
m = 0 (off )
Sets a mode for reverse printing effects on text. The background color is specified by m, while the text color is specified
by n. Setting m = 0 turns off the mode.
If m = n but not zero, the printer produces solid printing in the given color. This tactic can be used to minimize the
firmware busy work.
The value of current color and white/black reserve print mode is superseded by the value of n whenever this mode is
on (m>0). Bar codes, logos, and bit images are not affected by this command.
Text strike-through mode (ColorPOS®)
ASCII
Hexadecimal
Decimal
GS 0x85 m n
1D 8D n m
29 141 n m
Value of m:
0 = retain same color as the character itself
1 = black
2 = paper color
Value of n:
standard cell height
Default:
n = 0 (off )
Prints a strike-through over characters. If the strike-through is as wide as the cell height, this will produce a cell that will
be printed as a solid current color.
When characters are greater than normal size, such as double-high, the number of character rows claimed by n also
increases proportionally, such as doubling for double-high cells. Location of the strike-through on a cell is on a cell-bycell basis, so mixing cell sizes on the same print row will give uneven results.
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Chapter 5: Programming commands
53
Select font ID number
ASCII
Hexadecimal
Decimal
GS 0xF0 0x01 n
1D F0 01 n
29 240 1 n
Value of n: 128 - 255
Select font ID number for downloaded font.
This command is sent before downloading the map file for a specific font. Each font ID has one map file to download.
This command is also sent to select a downloaded font at run time.
Three Asian Fonts are available for use on the A776/B780 printer: Traditional Chinese, Kanji, and Korean. Only one of
these character sets can be downloaded to the printer at one time.
Font ID
Font
C3 (hex)
Traditional Chinese
CB (hex)
Kanji
CE (hex)
Korean
Note: Before downloading one of the Asian Fonts, the expanded flash memory allocation must be set up to expand
the size of the permanent font space. (See Expanded Flash Memory Allocation below). For Traditional Chinese, 1.3 Meg
of space is required. Kanji requires 1 Meg, and Korean requires of 1 Meg of space in the permanent font area.
Select font style number
ASCII
Hexadecimal
Decimal
GS 0xF0 0x02 n
1D F0 02 n
29 240 2 n
Value of n: 0 - 255
Select font style number for downloaded font. After selecting font style number, set the horizontal and vertical
character spacing for the characters.
This command is sent before downloading the map file for a specific font. Each font ID can have multiple styles. For
example, two different styles could be 16 x 16 Gothic and 24 x 24 Gothic, or three different styles could be 16 x 16
Gothic, 16 x 16 Ariel, and 16 x 16 Courier. Each style number within a font has one character definition file.
This command is also sent to select a downloaded font style at run time.
Save font ID number as default font at power up
ASCII
Hexadecimal
Decimal
GS 0xF0 0x03
1D F0 03
29 240 3
Save current font ID number as default font at power up. All characters will be printed from the downloaded font.
Lock permanent font flash area
ASCII
Hexadecimal
Decimal
GS 0xF0 0x10 n
1D F0 10 n
29 240 16 n
Value of n:
n = 0x00
n = 0x01
lock permanent font flash (default)
unlock permanent font flash to erase or delete
This command allows or prevents the permanent font area to be erased.
Note: This only affects the 1D 40 33 commands and downloading a font to permanent font area when a font already exists
with the same ID.
A776-PG00001 D 07/13
A776 (B780) Programming Guide
54
Chapter 5: Programming commands
Download font
ASCII
Hexadecimal
Decimal
GS 0xF0 0x80 followed by file
1D F0 80
29 240 128
This command is the sequence introducer for downloading existing files.
The downloaded font is always stored in the permanent font area of flash. If there is not enough memory in the
permanent font area to store the file the printer returns NACK.
When the file is downloaded the printer returns ACK.
If the file contents are incorrect the printer returns NACK. File format to be described in appendix.
So the full sequence for downloading files as font ID 90 would be:
1D F0 01 CB
1D F0 80 followed by map file shftjis.chr
1D F0 02 01
1B 20 n for horizontal character spacing
1B 33 n for vertical character spacing
1D F0 80 followed by character definition file shftj16.chr
1D F0 02 02
1B 20 n for horizontal character spacing
1B 33 n for vertical character spacing
1D F0 80 followed by character definition file shftj24.chr
Download font list
ASCII
Hexadecimal
Decimal
GS 0xF0 0xC0 0x02
1D F0 C0 02
29 240 192 2
Print downloaded font information
Dynamically select the font set
ASCII
Hexadecimal
Decimal
GS 0xF1 SOH FSID
1D F1 01 FSID
29 241 1 FSID
Value of FSID: font ID
00 = 24 high
01 = Tall font
02 = Color POS font
03 - 0xFF (user configurable) = paper-saving font (18 high)
This command dynamically selects the font set.
Note: Sending the 1D F1 01 FSID command cancels both compressed and user defined character selections. 1D F1 01
FSID does not store the font selection over power cycles
Related information
To configure a font set to be used over power cycles, see “Configure use of font set” (1F 03 45 FSID)..
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Chapter 5: Programming commands
55
Configure use of font set
ASCII
Hexadecimal
Decimal
US ETX 0x45 FSID
1F 03 45 FSID
31 03 69 FSID
Value of FSID: font ID
00 = 24 high
01 = Tall font
02 = Color POS font
03 - 0xFF (user configurable) = paper-saving font (18 high)
This command configures a font set to be used all of the time (over power cycles).
Configure line spacing
ASCII
Hexadecimal
Decimal
US ETX 0x46 n
1F 03 46 n
31 03 70 n
Value of n:
1-byte #dot rows per print line
1 = 6 dpi
2 = 6.77 dpi
3 = 7.52 dpi
4 = 8.13 dpi
This command configures the line spacing for resident and downloaded font sets.
Five Asian Fonts are available for use on the A776 printer:
Simplified Chinese, Traditional Chinese, Kanji, Korean and Thai. Only one of the Simplified Chinese, Traditional Chinese,
Kanji, or Korean can be downloaded to the printer at one time.
New users of the Simplified Chinese font must first contact CognitiveTPG Sales Department for assistance.
The Thai font (Code Page 874) is available for download to permanent font flash. Contact CogntiveTPG for assistance.
The commands needed for downloading the fonts are described below in the order of use. Before downloading
Simplified Chinese, Traditional Chinese, Kanji, or Korean , the expanded flash memory allocation must be set up to
expand the size of the permanent font space. For Simplified Chinese, 2.2 Meg of space is required. Traditional Chinese
requires 1.3 Meg. Kanji requires 1 Meg, and Korean requires of 1 Meg of space in the permanent font area.
Select superscript or subscript modes
ASCII
Hexadecimal
Decimal
US ENQ n
1F 05 n
31 05 n
Value of n:
0 = Normal character size
1 = Select subscript size
2 = Select superscript size
Default:
0 (normal size)
Turns superscript or subscript modes on or off. This attribute may be combined with other characters size settings
commands (12, 13, 1B 21 n, 1D 21 n,…)
This command is available only on the receipt station.
Exceptions
This command is ignored if n is out of the specified range.
A776-PG00001 D 07/13
A776 (B780) Programming Guide
56
Chapter 5: Programming commands
Define extended user-defined character set
ASCII
Hexadecimal
Decimal
US & s c1 c2 [character 1 data] ... [character k data]
1F 26 s c1 c2 [character 1 data] ... [character k data]
31 38 s c1 c2 [character 1 data] ... [character k data]
Values and ranges:
s = the number of dot rows in the character cell (maximum 64)
c = the ASCII codes of the first (c1) and last (c2) characters respectively
c1 = Hex 20–FF (20 is always printed as a space)
c2 = Hex 20–FF (20 is always printed as a space)
To define only one character, use the same code for both c1 and c2
j = s/8 = the number of bytes (vertically) in the character cell
k = c2 – c1 + 1 = the number of characters to be defined in this command
string: [character i data] = [ni d1 ... d(j x ni)] for 1 ≤ i ≤ k
ni = the number of dot columns for the ith character, 1 ≤ ni ≤ 16
d = the dot data for the characters
The number of bytes for the ith character cell is j x ni.
The bytes are printed down and across each cell.
See the illustration.
Defines and enters downloaded characters into RAM. The command may be used to overwrite single characters. Userdefined characters are available until power is turned off or the Initialize Printer command (1B 40) is received.
Any invalid byte (s, c1, c2, n1, n2) aborts the command.
Select active user-defined character set
Selects user-defined character set number for download or printing. The default at power on is 0.
ASCII
Hexadecimal
Decimal
US i n
1F 69 n
31 105 n
n = 0 - 127
Set high order bit of n to configure user-defined character set number as the default. To configure the printer to print from
the user-defined character set at power, send 1F 3 0F 01 and reset the printer. Information will print on the first diagnostic
page.
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Chapter 5: Programming commands
57
Erase user flash sector for permanent fonts
ASCII
Hexadecimal
Decimal
GS @ n
1D 40 n
29 64 n
Value of n:
51
n = 51 (ASCII n = 3) HEX 33
This command erases all sectors available for permanent fonts.
Erases a page of flash memory and sends a carriage return when the operation is complete.
Related information
See command “Flash memory user sectors allocation” (1D 22 55 n1 n2).
See also command “Expanded flash memory allocation” (1D 22 80...) and “Select flash area” (1D 22 81 n).
Important: While erasing flash memory, the printer disables all interrupts, including communications. To provide feedback
to the application, the printer responds to the application when the erase is complete with a 0D (Hex). After sending the
erase user flash sector (1D 40 n) command, an application should wait for the response from the printer before sending
data. Otherwise, data will be lost. If an application is unable to receive data, it should wait a minimum of ten seconds after
sending the erase user flash sector (1D 40 n) command before sending data.
Select font style number
ASCII
Hexadecimal
Decimal
GS 0xF0 0x02 n
1D F0 02 n
29 240 2 n
Value of n: 0 - 255
Select font style number for downloaded font. After selecting font style number, set the horizontal and vertical character
spacing for the characters.
This command is sent before downloading the map file for a specific font. Each font ID can have multiple styles. For
example, two different styles could be 16 x 16 Gothic and 24 x 24 Gothic, or three different styles could be 16 x 16
Gothic, 16 x 16 Ariel, and 16 x 16 Courier. Each style number within a font has one character definition file.
This command is also sent to select a downloaded font style at run time.
Save font ID number as default font at power up
ASCII
Hexadecimal
Decimal
GS 0xF0 0x03
1D F0 03
29 240 3
Save current font ID number as default font at power up. All characters will be printed from the downloaded font.
A776-PG00001 D 07/13
A776 (B780) Programming Guide
58
Chapter 5: Programming commands
Graphics
These commands are used to enter and print graphics data and are described in order of their
hexadecimal codes.
Download BMP logo
ASCII:
ESC (+*.BMP file)
Hexadecimal: 1B (+*.BMP file)
Decimal:
27 66 77 (+*.BMP file)
Value:
Maximum width = 576
(640 for 8.5 mm paper)
Maximum height =512
Enters a downloaded BMP logo into RAM or flash.
The downloaded BMP logo can be printed by using the print downloaded bit image (1D 2F m) command.
To downloaded BMP file to save it as a logo, send the hexadecimal code 1B followed by the whole BMP file.
The printer decodes the BMP file header and will save the image data after checking important parameters, such as
width, height, and the number of colors (only monochrome images are accepted).
BMPs and bit images are definable for the receipt station. However, there is no longer an automatic erasure whenever
the user downloads a character set (as happened previously) as well as in the case where the current logo was never
set > 0, (the automatic erasure if user flash memory had filled up with inactive logo 0 definitions upon next power
cycle). Warnings about the effect of running out of defined logo space during a download apply (i.e. the command is
ignored). The application is required to manage user data space, downloaded font space, and logo space.
After downloading a logo to the printer, wait 100 ms to allow the printer time to write the logo to flash.
The downloaded BMP file can be printed by using the print downloaded bit image (1D 2F m) command.
Exceptions
This command is valid only for the receipt station. This command is valid only for monochrome logos.
Related information
Microsoft BMP bitmap file format.
See Select the Current Logo (1D 23 xx) for additional information.
See Download Logo Image (1D 84) for information concerning color logos.
Select bit image mode
ASCII
Hexadecimal
Decimal
ESC * m n1 n2 d1 ... dn
1B 2A m n1 n2 d1 ... dn
27 42 m n1 n2 d1 ... dn
Value of m:
Receipt Station
Value of m Mode
No. of dots (vertical)
No. of dots (horizontal)
0
8-Dot single-density
8 (68 DPI)
0–288 (101 DPI)
1
8-Dot double-density
8 (68 DPI)
0–576 (203 DPI)
32
24-Dot single-density
24 (203 DPI)
0–288 (101 DPI)
33
24-Dot double-density
24 (203 DPI)
0–576 (203 DPI)
Continued . . .
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Chapter 5: Programming commands
59
Slip Station
Value of m Mode
No. of dots (vertical)
No. of dots (horizontal)
0
8-Dot single-density
8 (72 DPI)
210 (70 DPI)
1
8-Dot double-density
8 (72 DPI)
420 (140 DPI)
32, 33
Not available on slip
In single density, one byte (8-dots) is printed in each full dot column. In double-density, one byte is
printed in each half/full dot column, but adjacent horizontal dots (overlapping dots) are not printed.
Value of n:
Value of n (8-dot single-density mode)
Value of n (24-dot single-density mode)
n1 + (256 × n2)
3 x [n1 + (256 × n2)]
Value of d
Number of bytes of data*
*Printed left to right (8-dot mode); Printed down then across (24-dot mode).
Formulas
8-dot single-density
24-dot single-density
n1 + (256 × n2)
3 x [ n1 + (256 × n2)]
Sets the print resolution and enters one line of graphics data into the print buffer. Excess data is accepted but ignored.
Any print command is required to print the data, after which the printer returns to normal processing mode.
See the illustration for graphic representations of the bit image on next page.
Print advanced raster graphics
ASCII
Hexadecimal
Decimal
ESC . m n rL rH d1 … dn
1B 2E m n rL rH d1 … dn
27 46 m n rL rH d1 … dn
Value of m:
horizontal offset from left margin = 8 x m dots
Value of n:
number of data bytes that compose the raster
Value of r:
number of times the raster has to be printed =256 x rH + rL
d1 … dn:
data bytes
Range:
0<= m <= 72
0<= n <= 72
0<= r <= 65535
0<= d1 … dn <= 255
Prints a horizontal raster of graphics data one or multiple times. Horizontal offset and number of data bytes are
variable and specified by parameters.
Exceptions
Advanced raster graphics is not available in page mode.
Select double-density graphics
ASCII
Hexadecimal
Decimal
ESC Y n1 n2 d1 ... dn
1B 59 n1 n2 d1 ... dn
27 89 n1 n2 d1 ... dn
Equivalent to 1B 2A m=1 n1 n2 d1 ... dn
Print Flash Logo
ASCII Hexadecimal
Decimal
FS p n m
1C 70 n m
28 112 n m
Print flash logo ID n using mode m. See command 1D 2F m for description of mode m. See
command 1C 71 for description of n. The select slip command x/C must be disabled via 1F 03 38
00 to use this logo command.
A776-PG00001 D 07/13
A776 (B780) Programming Guide
60
Chapter 5: Programming commands
Define Flash Logos
ASCII Hexadecimal
Decimal
FS q n [xL xH yL yH d1 …dk]1…[xL xH yL yH d1 …dk]n
1C 71 n [xL xH yL yH d1 …dk]1…[xL xH yL yH d1 …dk]n
28 113 n [xL xH yL yH d1 …dk]1…[xL xH yL yH d1 …dk]n
Define n flash logos specified by IDs 1 through n. Maximum size of logos is determined by
amount of flash allocated to logos. See command 1D 22 80… for flash allocation.The select slip
command x/C must be disabled via 1F 03 38 00 to use this logo command.
0 < xH:xL < 1024 max printable xH:xL = 72 = 576 dots wide
0 < yH:yL < 256
For each logo definition: xH:xL times 8 dots in the horizontal direction, yH:yL times 8 dots
in the vertical direction. Total data definition bytes k = xH:xL times yH:yL times 8 bytes. See
command 1D 2A x y … for description of data definition bytes arrangement.
During execution of this command printer turns off USM and Real Time status processing. The
printer goes busy when writing to flash. At the end of this command the printer resets.
Select the current logo (downloaded bit image)
ASCII
Hexadecimal
Decimal
GS # n
1D 23 n
29 35 n
Range of n:
0 – 255
Default: 0
Selects a color or monochrome logo to be defined or printed. The active logo n remains in use until this command is
sent again with a different logo n.
When this command precedes a logo definition, that definition is stored in flash memory as logo n. If there is already
a different definition in flash memory for logo n, the first is inactivated and the new definition is used. The inactive
definition is not erased from flash and continues to take up space in flash memory.
When this command precedes a logo print command and n is different from the previously active logo selected, the
printer retrieves the logo definition for n from flash memory and prints it. If there is no definition for logo n, then no
logo is printed.
In the case of a previously existing application that expects only one possible logo, the printer will not receive the
select current logo (1D 23 n) command. In this case, the printer assigns 0 as the active logo identifier. It automatically
stores any new logo definition in flash memory as logo 0, inactivating any previous logo 0 definition. If the flash
memory space available for logos fills up with inactive logo 0 definitions, the firmware erases the old definitions at the
next power cycle. This is the only case in which the printer erases flash memory without an application command.
In the case of a new application using multiple logos, the select current logo (1D 23 n) command is used. After that, the
printer no longer automatically erases the logo definition flash memory page when it fills with multiple definitions. A
new application using multiple logos, writing a user-defined character set into flash memory, or both, is responsible
for erasing the logo and user-defined character set flash memory page when the logo area is full or before a new
character set is defined.
Exception
This command is only valid for the receipt station, However, it will be processed correctly, regardless of whether the
receipt station is currently selected.
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Chapter 5: Programming commands
61
Define downloaded bit image
ASCII
Hexadecimal
Decimal
GS * n1 n2 d1 ... dn]
1D 2A n1 n2 d1 ... dn]
29 42 n1 n2 d1 ... dn]
Value of n1:
Value of n2:
Value of d:
See the following table
See the following table
See the following table
Value of n1
Value of n2
1–56 (8 x n1 = number of 1–64 (number of vertical bytes)
horizontal dot columns)
Value of d
Bytes of data
(printed down, then across)
The number of bytes sent is represented by the following formula:
n = 8 x n1 x n2 (n1 x n2 must be less than or equal to 4608).
*
Enters a downloaded bit image (such as a logo) into RAM or flash with the number of dots specified by n1 and n2.
If in RAM, the downloaded bit image is available until power is turned off, another bit image is defined, or initialize
printer (1B 40) command is received.
See the illustration below for a graphic representation of the downloaded bit image.
Related Information
See 1D 22 n (select memory type to store logos and 1D 23 n (select the current logo.)
Print downloaded bit image
ASCII
Hexadecimal
Decimal
GS / m
1D 2F m
29 47 m
Value and range of m:
This command is used to print a previously stored monochrome or color logo from printer memory on the receipt
station. The logo is identified as the one indicated by the most recent select current logo command or 0 if a select
current logo command has not yet been given. Parameter m is interpreted as follows:
Value of m Print mode
Vertical DPI
Horizontal DPI
0
Normal
203
203
1
Double-wide 203
101
2
Double-high 101
203
3
Quadruple
101
101
The indexed downloaded bit image from RAM or flash will be printed on the receipt station at a size specified by m.
If the bit image is a monochrome one, it is printed in the current color; otherwise it is printed as a two-color image. If
doubling or quadrupling exceeds the print paper width maximums (576 or 640 with 82.5 mm paper) the left side of the
image is printed and the bits to the right of the maximum column are discarded. If the available width is greater than
the bit image, its printing will adhere to any currently set right, left, or center justification. This command is ignored if
the index refers to an undefined logo/ bit image.
A776-PG00001 D 07/13
A776 (B780) Programming Guide
62
Chapter 5: Programming commands
Print raster monochrome graphics (ColorPOS®)
ASCII
Hexadecimal
Decimal
GS 0x82 n1…..n72 (576 dots) for 80 mm paper, or n80 (640 dots) for 82.5 mm paper
1D 82 n1…..n72 (576 dots) for 80 mm paper, or n80 (640 dots) for 82.5 mm paper
29 130 n1…..n72 (576 dots) for 80 mm paper, or n80 (640 dots) for 82.5 mm paper
Value and range of n: n1 to n72/n80 corresponds to one dot row data for a thermal receipt printer.
Each bit defines whether or not a dot of the current color will be printed. This command is used for printing a
monochrome graphic in real-time. Offsets, page and any other modes or overlays, including watermark do not apply
and are overridden by this command. A complete rendering of the intended final image should have been done by the
application before sending the dot rows.
If two-color paper is indicated by the set paper type command, then the raster will be printed in the color that is
defined by the set current color command.
Print raster color graphics (ColorPOS®)
ASCII
Hexadecimal
Decimal
GS 0x83 n1…..n144 (576 dots 80 mm paper) / n160 (640 dots, 82.5 mm paper)
1D 83 n1…..n144 (576 dots 80 mm paper) / n160 (640 dots, 82.5 mm paper)
29 13 n1…..n144 (576 dots 80 mm paper) / n160 (640 dots, 82.5 mm paper)
Value and range of n: n1 to n144 / n160 corresponds to one dot row data.
For each printed dot row starting at the top left, two-part bit strings are used to define (in the first half ), all dots that
are of either color (i.e. not white). The second half string defines only the dots where the color = black. Thus all dots
which are on in the first half string but not on in the second half string, select the secondary color. The parameter of
this command is thus a string of bytes for one dot row with the same structure as defined for the thermal color format
file given in the download color
logo command.
This command is used for printing a single raster of color graphics in real-time. Offsets, page and any other modes or
overlays, including watermark, and current color do not apply to this command. A complete rendering of the intended
final image has to be done by the application before sending the dot rows.
Download logo image (ColorPOS®)
ASCII
Hexadecimal
Decimal
GS 0x84 m n1 n2 d1…..dx , x = (n1 * n2*8 ) * m
1D 84 m n1 n2 d1…..dx , x = (n1 * n2*8 ) * m
29 132 m n1 n2 d1…..dx , x = (n1 * n2*8 ) * m
Value of m:
1 = monochrome
2 = two-color
Max n1 = 576/8 for 80 mm paper or
640/8 for 82.5 mm paper
!
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Chapter 5: Programming commands
63
The latest value from the set current logo command will be the logo index to be used to store the downloaded
graphic.
m identifies whether the image is monochrome (which requires one parameter bit row description) or two-color,
which requires a pairing of bit descriptions for each row.
n1 * n2 define a rectangular image n1 bytes wide and n2 bytes long. n1*8 specifies the number of dot columns, and
n2*8 the number of dot rows. That is, each row is defined by an integral number of bytes and the number of rows is
also an integral number of bytes. Note that n2 can be any length, subject to memory space availability.
For each color dot row starting at the top left, a two part parameter byte string is used to define first, all dots that are
not white, and the second half defines all dots where the color = black. Thus all dots that are on (=1) in the first half but
not on in the second half select the paper-color. A sequence of these raster row strings is used to specify the complete
logo. In the monochrome case, only one bit is needed per row. This is the same structure as used for the definitions of
print raster monochrome graphics and print raster color graphics.
This command is used for storing a logo of n1 by n2 size indexed by the current logo value.
After downloading a logo to the printer, wait 100 ms to allow the printer time to write the logo to flash.
Monochrome shade mode (ColorPOS®)
ASCII
Hexadecimal
Decimal
GS 0x86 m
1D 86 m
29 134 m
This applies a selected shade density to all monochrome objects such as text and monochrome logos. The parameter
m specifies the shading effect and has an initial value of 0 which signifies no effect.
m specifies the percentage of shading, 0 <= m <= 100.
m = 0 is the initial value and turns this mode off.
Note: Only a few gradations will be perceptible, so large increments of m, such as 20, should be used. If a reverse print mode
is on, the shade effect will be applied to the background only.
When the current color mode is set to black, increasing values of m relate to the relative amount of (white) paper that
replaces black dots. Analogously, when the paper-color is the current color, m defines the relative amount of color dots
being “erased” by white originals of the paper.
Both text and monochrome graphics are affected by this command.
Turning monochrome shade mode on, turns color shade mode off.
!
A776-PG00001 D 07/13
A776 (B780) Programming Guide
64
Chapter 5: Programming commands
Color shade mode (ColorPOS®)
ASCII
Hexadecimal
Decimal
GS 0x87 m
1D 87 m
29 135 m
This applies a mixing of color into any monochrome objects such as text and monochrome logos. Rather than fading
away, this mode transitions a character or logo from the current color in which it would normally be printed to the
other color. The parameter m specifies the shading effect and has an initial value of 0 which signifies no effect. m
specifies the percentage of shading, 0 <= m <= 100.
m specifies the percentage of shading, 0 <= m <= 100.
m = 0 is the initial value and turns this mode off.
Note: Only a few gradations will be perceptible, so large increments of m, such as 20, should be used. If a reverse print mode
is on, the shade effect will be applied to the background only.
When the current color mode is set to black, increasing values of m relate to the relative amount of paper-color that
replaces black dots. Analogously, when the paper-color is the current color, m defines the relative amount of black
color dots replacing the paper-color ones.
Both text and monochrome graphics are affected by this command.
Turning color shade mode on, turns monochrome shade mode off.
Logo print with color plane swap (ColorPOS®)
ASCII
Hexadecimal
Decimal
GS 0x89 n m
1D 89 n m
29 137 n m
This command will print logo n. The command is ignored if a logo with index n has not been defined. If m = 0 the
color(s) as defined in the logo is (are) used; if m = 1 and if the logo is a color one, then the two color planes (black and
paper-color) in the logo are swapped.
Apply shading to logo (ColorPOS®)
ASCII
Hexadecimal
Decimal
GS 0x8B n m o
1D 8B n m o
29 139 n m o
This command will apply shading effect m to logo n and store it at index o, also extending width to full horizontal size
if logo n is not at full paper width.
n must be the index value of an existing logo
0 <= m <= 100, possibly resulting in a logo suitable for background watermark mode use
o can be any value, and the logo will be placed according to the current setting of user storage into RAM or flash
memory.
An application might use a high value of m to shade out the logo if the original image has a significant number of “on”
dots to allow for future foreground print readability.
Note: The old logo size and current justification mode are used to create a new logo image at full paper width size by filling
in white space at either or both sides if needed. This new logo will provide for minimal performance impacts when it is
selected for use in watermark mode.
After sending the shading command, wait 5 seconds to allow the printer to apply the shading and write the results to
flash.
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Chapter 5: Programming commands
65
Merge watermark mode (ColorPOS®)
ASCII
Hexadecimal
Decimal
GS 0x8C n m
1D 8C n m
29 140 n m
Default
0 (off )
This command will insert the logo m as a repeated background image, similar to printing a visible watermark, into the
print stream. The space between repetitions of this usually shaded logo will be every n*8 dot rows.
n >0 = number of dot rows x8 to skip before repeating the merge action
m specifies the index value of the logo. If no logo has been defined with this index then the command is ignored.
Note: Horizontal placement of a watermark logo was fixed at the time the logo was Shaded or when it was downloaded as
a full width logo for watermark use. This command will be ignored if the current logo is not at full paper width size (see the
apply shading to logo command for preparing logos for watermark use).
The merge process is performed after all other image formation and takes whatever print raster data is ready to be
put on paper. It “adds” (computer logic OR) the mono or color bits to the print row. Generally, if the print dot was to be
white or same color as the watermark dot, the print dot will be the color of the watermark; otherwise it will be black.
Form and merge real-time surround graphic (ColorPOS®)
ASCII
GS 0x90 m x y o p q
Hexadecimal 1D 90 m x y o p q
Decimal
29 144 m x y o p q
This command will print a real-time graphic style designated by m. m = 0 rectangle, m =1 oval, m =2 ellipse (if printed
in a square area the ellipse becomes a circle),
m = 3 is a 5 point star, m = 4 is a free hand underline,
m = 5 is a free hand ellipse and other values of m reserved for future styles. This graphic is formed into a RAM based
graphics buffer, and the buffer state is set to “graphic merge pending”.
Whenever the buffer is in the pending merge state and print output is started, the state will be changed to frozen and
a merge process started (logically OR-ed graphic data) into the print lines that follow. The application determines how
close the graphic is to any printed character data by subsequent printing of blank lines or blank dot rows. The merge
process stops when the buffer is exhausted or its state changed (by a save graphics buffer as logo or new form and
merge real time surround graphics command). The form and merge real time surround graphics command can be
given multiple consecutive times, allowing the application to set up a multi-polygon background before starting its
printout with placed text or logo.
The geometric location points for this graphic are defined by a rectangular area start position of x bytes from the left
edge and y bytes from the top of the new line and times
o bytes wide times p bytes in length. For the case of
m =3 (star), the value passed for o is also used as the implicit p value (passed value is ignored), i.e. a square area. The
thickness of the graphic is defined by q dots. This will form a bit image in a RAM graphics buffer. Subsequent surround
graphic commands can be added into (logical OR process) with expanded size if needed) the graphics buffer until an
output action is issued. It is expected that area left white will then be (usually) filled in with text or other data that is to
be printed. Printing starts as soon as the first line of data or other printout arrives. After this printing is started, any new
surround graphics commands will set the graphics buffer to a merge pending state. Example: Create different size stars
and an ellipse around a block of text.
The graphics buffer is at a frozen state at printer initialization or reset, with blank data in it.
Each the time this command is given, the current color and shade mode values (if any) are used for the surround
graphic, and may be changed before any subsequent surround graphics and/or printing output. This command may
be used in page mode.
A776-PG00001 D 07/13
A776 (B780) Programming Guide
66
Chapter 5: Programming commands
Save graphics buffer as logo (ColorPOS®)
ASCII
Hexadecimal
Decimal
GS 0x91 n
1D 91 n
29 145 n
This command will save all the raster data that is in the working graphics buffer (where surround graphics are formed)
as a logo with index value n. This logo can then be used repeatedly for inserting different text. See the background
logo print command.
There is one working graphics buffer in the printer; its size (and that of the saved logo) is of maximum print width size,
and of sufficient length to store the largest of the surround graphic styles defined since the last buffer “freeze” event.
This command is ignored if the graphics buffer is not in a “merge pending” state. The graphics buffer state will be set to
“frozen” by this command.
Related information
This command is ignored in page mode.
Background logo print mode (ColorPOS®)
ASCII
Hexadecimal
Decimal
GS 0x92 n
1D 92 n
29 146 n
This command will place into the graphics buffer the logo designated by n. As soon as there is a print action command
(such as text output) the graphics buffer will be merged (logical OR process) with print output.
This command sets the graphics buffer state to “merge pending”, functioning and performing the save as in the form
and merge real time surround graphics command.
Related information
This command is ignored in page mode.
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Chapter 5: Programming commands
67
Apply margin message mode (ColorPOS®)
ASCII
Hexadecimal
Decimal
GS 0x99 l m n o
1D 99 l m n o
29 153 l m n o
Value of l:
l is a binary switch:
0 = disables margin message merging
1 = enable left margin message merging
2 = enable right margin message merging
l > 2 ignore command
Value of m:
m is the ID (index) of the logo to be used in the merging. If a logo with index m does not exist or is wider
than the print raster width then this command is ignored.
Value of n:
merge
n is the number of raster rows to be empty (skipped) before repeating the designated margin message
Value of o:
o is a right – left toggle switch:
o = 0 no toggling of the margin message merge
o = 1 enable toggling, starting with a left margin message first
o = 2 enable toggling, starting with a right margin message first
o > 2 ignore entire command
This command performs a dynamic merge of a designated logo/message (or logo/message pair, which can be the
same) into each raster line to be printed after the character data has been placed and in conjunction with any other
active merge modes. The parameter l specifies whether merging should take place from the left side or the right side.
A left side merge followed by a right side merge (or vice-versa) must be issued, with the latter side merge command
setting the toggle switch = 1 or 2 will create the desired left – right printing effect. Each merge side retains its n value
of raster rows to be skipped. If toggling is not selected when both sides are defined, then if the n skip row values are
different, or the logo height sizes are different, the side logos will not line up as printing progresses. If toggling is
selected then both left and right sides merge margin message must be defined; otherwise toggling is ignored.
Each side logo can be > ½ of the raster print line. In that case the printing process is additive in the overlap region. This
command with the first parameter l = 0 turns all margin message merging to off.
Shade and store logo (ColorPOS®)
ASCII
Hexadecimal
Decimal
GS 0x9A n m o
1D 9A n m o
29 154 n m o
Value of n:
n is ID (logo index value) of an existing logo in either flash or RAM memory
Value of m:
m is the % of shading to be applied to the logo, 0 <= m <=100.
Value of o:
o is the new ID (logo index value) to be used to store the shaded result, according to the current setting of
user storage into flash or RAM.
This command applies shading to an existing logo of any size, storing the result in a new logo at index o. The new logo
is thus better suited for use in a merging mode. The % of shading will have only a few perceptible gradations, so large
increments (20 is suggested) should be used to achieve visibly distinct effects.
A776-PG00001 D 07/13
A776 (B780) Programming Guide
68
Chapter 5: Programming commands
Logo print with knife cut
ASCII
Hexadecimal
Decimal
GS 0x9B m n
1D 9B m n
29 155 m n
Value of m: 0 = Standard size
1 = Double wide
2 = Double high
3 = Double high/wide
Value of n:
01 - FF (Hex)
#dot rows = n x 24, n = 5 is the recommended setting
Because the printhead and cutting knife are physically separated, it is necessary to advance the printed area of a
receipt past the knife to avoid the last of the printing from being cut off. This advance of paper however, causes a blank
space at the start of the next receipt that could be used. To utilize this space and reduce paper usage, this command
starts to print a logo for the next receipt before initiating the cut at the end of the current receipt. At a set location
during the printing of the logo, the corresponding paper advance is stopped and a paper cut performed.
The formula “n x 24” is used to determine the number of dot rows to move the paper from the start of the logo to the
position of the cut.
If n x 24 is greater than the height of the logo, the logo height is used to determine the cut position. If n = 0 the cut is
eliminated.
In order for this command to function properly, all commands used by legacy applications to move the end of the
current receipt past the knife should be removed.
Related information
See “Print downloaded bit image” command.
Set temporary max target speed
ASCII
Hexadecimal
Decimal
GS 0xA0 nl nh
1D A0 nl nh
29
Values: 15H - B4H monochrome
15H - 64H color
Default: 0 - normal speed
This command sets a specific speed for an operation, allowing the user more control of the print environment.
The speed is maintained as long as it is less than the speed automatically set by power management. A parameter of
zero (0) restores the normal max speed.
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Chapter 5: Programming commands
69
Set LogoEZ® colorization (ColorPOS®)
ASCII
Hexadecimal
Decimal
US ETX SYN f s p/t t
1F 03 16 f s p/t t
31 03 22 f s p/t t
Value of f: 0 =
1 =
2 =
3 =
4 =
turn off all LogoEZ® colorization
features
link print logo after knife cut
link watermark printing
link margin message printing
link logo print before cut
Default:
(Off )
0
This command configures into EEPROM (permanent configuration switch setting) a set of features that allows
placement of a color logo in the header, full-time margin message printing, watermarking in the middle of the receipt
and printing of a trailer color logo. These commands are triggered by any knife cut command (partial or full: 19, 1A, 1B
69, 1B 6D, 1D 56 m n). The printer when powered-up will (if set) activate the header, watermark, and margin message
features and will be ready to print the body of a receipt. For selected features to print however, logos with defined
index values of F0, F1, F2, F3 respectively must be saved in the flash memory.
Once logos have been loaded and enabled they can be used in any emulation mode. Skip distances remain constant.
Value descriptions:
f = function selector and defines which parameters
are used :
s = dot row space before object distance
p = dot row past an object
r = repetition space distance in mm
t = margin message toggle mode
f = 0 turn off all LogoEZ® colorization functions (default). No other parameters are required.
f = 1 link print logo after knife cut – equivalent to printing a transaction header graphic.
Example:
Print logo (#F0) after a knife-cut with “s” dot row spacing before the logo and “a” dot row spacing after the logo (1F 03
16 01 s p). After executing a knife-cut command, if s > 0, execute the following:
•
Stop background merging (1D 9B 1 command)
•
Skip s (feed paper) dot rows (15 s command) – adds spacing in addition to any set by the application around a
knife cut command
•
Set centered justification (1B 61 1 command), saving the previous justification
•
If the logo at F0h is currently defined, print logo by sending print downloaded bit image, normal size (1D 2F 0
command) without changing the value of current logo
•
Reset justification to previous value (1B 61 [previous value])
•
Skip (feed paper) “p” dot rows after logo (15 p command)
Since the normal space on the receipt paper after a knife cut is 18 mm (144 rows), no extra space is usually needed
above the logo. The default value is s = 0 and turns off the f = 1 logo after knife-cut link.
f = 2 link watermark printing
Example:
Activate watermark printing using logo #F1 (1F 03 16 02 s r) with “s” being the skip distance in dot rows before
activation and “r” is the distance in mm between watermark repetitions.
Continued . . .
A776-PG00001 D 07/13
A776 (B780) Programming Guide
70
Chapter 5: Programming commands
After executing a knife-cut command and the f = 1 steps, if s > 0, execute the following:
•
Skip “s” (feed paper) dot rows (15 s command)
•
Set watermark printing to “on” using logo F1 (execute merge watermark mode -1D 8C r F1 command). Logo
must be defined for F1 and comply with watermark mode requirements in order for this happen.
•
Stop background merging mode (1D 9B 1 command). Clears background for logos, barcodes, and captured
images.
The watermarks feature is now activated (following an optional F0 logo) to start after each knife cut. Note that when
printing graphic objects, merging is turned off by each knife cut. The default value is s = 0 and turns off the f = 2
watermark link.
No correlation exists (when both are set) between watermark and logo skip distances.
If the f = 4 logo link is undefined, you should set a null trailer logo with s = 1 and p = 144 (1F 03 16 04 1 90, no logo
at index F3). This will turn off watermarks at the position of a knife cut and leave a clear space at the top of the next
receipt.
f = 3 link margin message printing
Example:
Activate margin message printing using logo #F2 (1F 03 16 03 s r t) with “s” being the skip distance, “r” the distance
between repetitions and “t” the toggle mode.
Toggle mode values for t:
0 = both left and right side
1 = toggle sides, starting with left side
2 = right side margin message only
3 = left margin message only
After executing a knife cut command and the f=1 steps, if s > 0, execute the following:
• skip “s” dot rows (=15 s command). When both watermark and margin message merging are defined, the
respective “s” values are treated independently. The same value should be used to start watermark and
margin message at the same place.
• Use the toggle mode values listed above to apply margin message for the left and/or right side. For a margin
message on both sides, enter the 1D 99 1 F2 p 0 command followed by the 1D 99 t’ F2 r t’ (apply margin
message) command with the logo at index F2 defined.
• suspend background merging mode (=1D 9B 1 command), so any logos, barcodes, and captured images will
print in the clear
The margin message printing feature is activated after the header logo after a restart at each knife-cut. Note that when
printing graphic objects, merging is turned off by each knife cut. No correlation exists (when both are set) between
watermark and logo skip distances.
Continued . . .
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Chapter 5: Programming commands
71
If the f = 4 logo link is undefined, you should set a null trailer logo with s = 1 and p = 144 (1F 03 16 04 1 90, no logo at
index F3). This will turn off margin message at the position of a knife cut and leave a clear space at the top of the next
receipt.
f = 4 link logo print before cut
Prints a logo after the skip distance of “s” before a logo and “p” past a logo and performs a knife cut (1F 03 16 04 s p).
Immediately before executing a knife-cut command, if s > 0, execute the following:
• skip (feed paper) “s” dot rows (15 s command)
• stop background merging (1D 9B 1 command). Save previous background merging value, so logo prints in
the clear
• set centered justification (1B 61 1 command), saving the previous justification • if a logo at index F3h is currently defined, print the logo by sending print downloaded bit image, normal size
(1D 2F 0 command), without changing the value of current logo.
• reset justification to previous value (1B 61 [previous value])
• skip (feed paper) “p” dot rows (15 p command) a minimum value of 90h, to ensure knife cut occurs after the
logo
• restore background merge suspension (1D 9B [previous value])
Related information
This command is utilized in the CognitiveTPG LogoEZ® utility. The utility can be used to pre-configure new printers with
a default colorization set-up without requiring any application changes. The default set-up was designed to provide a
general level of colorization features that would not affect the printer operation. You can expand beyond the default
features of the utility by modifying the application at the host. However, do not attempt to
modify the settings within the utility.
LogoEZ® utility default settings:
f = 1: s = 1H
a = 30H
f = 2: s = 32H
r = 19H
f = 3: s = 1H
r = 7H
t = 1H
f = 4: s = 30H
a = A0H
Continued . . .
A776-PG00001 D 07/13
A776 (B780) Programming Guide
72
Chapter 5: Programming commands
Set LogoEZ® attribute mapping (ColorPOS®)
ASCII
Hexadecimal
Decimal
US ETX ETB a m s
1F 03 17 a m s
31 03 23 a m s
Values: a=
attribute map selector a , m, s = 0, 0, 0 turn off attribute mapping (all 3 bytes required)
a = 1
selects first attribute mapping definition (of two available)
a=2
selects second attribute mapping definition
a = 1 or 2, if m = 0 mapping 1 or 2, respectively, is turned off
A word (2 bytes) is used to identify the attribute mapping, with “m” bits 0 – 6 identifying which original attributes
should be mapped:
Original attribute mapped table
m bit on
attribute mapped
0
Bold
1
Italic
2
Reverse
3
Underline
4
Double high
5
Double wide
6
Compressed print
The following “s” bits and “m” bit 7 set the attributes that substitute for the mapped set:
Attributes substituted table
m bit on
attributes substituted
7
Bold substituted
s bit on
attributes substituted
0
Italic
1
Reverse
2
Underline
3
Double high
4
Double wide
5
Compressed print
6
Alternate color
7
Color reverse
This command configures into EEPROM (permanent configuration switch setting) one or two combinations of
character attribute mappings, including substitute attribute settings for color effects. The attributes of the character
code are used to form the desired pixel character when the code is placed into the raster print buffer. An “m” bit value
set to on in the “original attribute mapped table” above will have its attributes set to the corresponding bit value of “s”
in the “attributes substituted table”. If m = 0 then no substitution takes place.
The command is available only in A776 native mode. Once attributes have been defined and enabled they can be
used in any emulation mode. A776 native mode must be used to turn the feature off.
Continued . . .
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Chapter 5: Programming commands
73
The operational theory of this command is that if (input character attributes) AND (original) = (original); then (output
character attributes) = ([original] X OR [input character attributes]) OR (substituted). The input character’s original
attributes are mapped to the substituted attributes, but any attributes not specified for mapping are unchanged.
In the tables you will see that there are 7 input attributes and 9 outputs. It is expected that the alternate color attribute
will be used most. For example, when the alternate color attribute is combined with the reverse substitution attribute,
the result is white characters on a color background. The color reverse attribute without alternate color will print black
text on a color background. Any mappings utilizing compressed and/or double-wide attributes will effect the length
of a line and could cause unintended line wraps. Mappings containing double-high attributes could cause unintended
receipt lengths.
When both attribute mappings are set, processing is perform in order sequence. When two text attribute substitutions
contain conflicting dependent remappings, the result is undefined.
Related information
This command is utilized in the CognitiveTPG LogoEZ® utility. The utility can be used to pre-configure new printers with
a default colorization set-up without requiring any application changes. The default set-up was designed to provide a
general level of colorization features that would not affect the printer operation. You can expand beyond the default
features of the utility by modifying the application at the host. However, do not attempt to modify the settings within
the utility.
f = 1: s = 1H
a = 30H
f = 2: s = 32H
r = 19H
f = 3: s = 1H
r = 7H
t = 1H
f = 4: s = 30H
a = A0H
Convert 6-dots/mm bitmap to 8-dots/mm bitmap
ASCII
Hexadecimal
Decimal
US EOT n
1F 04 n
31 04 n
Value:
0 = Off
1 = On
(When 0 and 1 are the LSB)
Default:
0 (Off )
Selects or cancels 6-dot/mm to 8-dot/mm graphic emulation.
When the 6-dot/mm emulation is selected, logos and graphics are expanded horizontally and vertically during
download to emulate their size on a 6-dot/mm printer. The horizontal positioning commands also emulate positioning
on a 6-dot/mm printer.
Enable constant speed logos
ASCII
Hexadecimal
Decimal
US { n
1F 7B n
31 123 n
Value:
0 = disabled
1 = enabled
This command allows the firmware to determine the optimal speed to print a logo. It is set prior to downloading the
logo and reset after the logo has been downloaded.
In general, the “Set max target speed (1D A0 nl nh)” is the preferred command.
A776-PG00001 D 07/13
A776 (B780) Programming Guide
74
Chapter 5: Programming commands
Status
Status command introduction
The A776 has three methods of providing status to the application. These methods are through batch status
commands, real time status commands and unsolicited status mode. An application may use one or more of these
methods to understand the current status of the printer. A brief description of each of these methods follows.
Batch status commands – These commands are sent to the printer and stored in the printer’s buffer. Once the printer
has processed all the previous commands these commands are processed and the proper status is returned to the
application. In the event a condition causes the printer to go BUSY, it stops processing commands from the printer
buffer. If a batch status command remained in the buffer during this busy condition, it would not be processed. In fact,
no batch commands are processed while the printer is in this state.
Real-time commands – These commands are sent to the printer and stored in the printer buffer. Periodically,
when the printer has time, it scans the input buffer looking for these commands. When found by the printer, these
commands are processed immediately. This gives the application the ability to query the printer when it is in a busy
state in order to correct whatever fault has occurred.
Unsolicited status mode – This mechanism allows the application developer to program the printer to automatically
respond with a four byte status when certain conditions in the printer change.
Please see the subsequent sections for a more detailed description of these status commands. At the end of this
status commands section is a page entitled “Recognizing data from the printer”. This describes how to interpret what
command or setting (in the case of unsolicited status mode) triggered a response from the printer.
Batch mode
For RS-232C printers, these commands enable the printer to communicate with the host computer following the
selected handshaking protocol, either DTR/DSR or XON/XOFF. They are stored in the printer’s data buffer as they are
received, and are handled by the firmware in the order in which they are received.
When a fault occurs, the printer will go busy at the RS-232C interface and not respond to any of the batch mode printer
status commands. If the fault causing the busy condition can be cleared, such as by loading paper, or letting the
thermal printhead cool down, the printer will resume processing the data in its receive buffer.
Transmit peripheral device status
ASCII
Hexadecimal
Decimal
ESC u 0
1B 75 0
27 117 0
Value of returned byte:
Bit 0
Bit 1
1 = Drawer 1 Closed
1 = Drawer 2 Closed
0 = Drawer 1 Open
0 = Drawer 2 Open
Bits 2–7 are not used.
Transmits current status of the cash drawers. One byte is sent to the host computer. In DTR/DSR protocol, the printer
waits for DSR = SPACE. If a drawer is not connected, the status will indicate it is closed.
Exceptions
The A776 has a single connector that shares data reporting from either cash drawer. When either cash drawer is open,
an open status for both drawers is reported by the printer.
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Chapter 5: Programming commands
75
Transmit paper sensor status
ASCII
Hexadecimal
Decimal
ESC v
1B 76
27 118
Values:
Status Byte (A776 only)
Bit Function
0 Signifies
1 Signifies
0
Receipt paper
OK
Low (only if paper low sensor is enabled) or receipt cover open
1
Covers open
Both closed
Either cover is open
2
Receipt paper
OK
Out
3
Knife
OK
Error or switch open
4
Always zero
5
Slip leading
Not covered
Covered edge sensor
6
Slip trailing
Not covered
Covered edge sensor
7
Voltage/Temperature Error
OK
Error
Bit Function
0 Signifies
1 Signifies
0
Receipt paper
OK
Low (only if paper low sensor is enabled)
1
Receipt paper
OK
Low (only if paper low sensor is enabled)
2
Receipt paper
OK
Out
3
Receipt paper
OK
Out
4
Always zero
5
Slip leading
edge sensor
Covered
Not covered
6
Slip trailing
edge sensor
Covered
Not covered
7
Always zero
Status Byte (B780 only)
Sends status data to the host computer. The printer sends one byte to the host computer when it is not busy or in a
fault condition. In DTS/DSR protocol, the printer waits for DSR = SPACE.
Related information
See real time commands, in this document for details about fault conditions reporting.
A776-PG00001 D 07/13
A776 (B780) Programming Guide
76
Chapter 5: Programming commands
Transmit printer ID
ASCII
Hexadecimal
Decimal
GS I n
1D 49 n
29 73 n
Value of n:
1, 49 = Printer model ID
2, 50 = Type ID
3, 51 = ROM version ID
4, 52 = Logo Definition
Transmits the printer ID specified by n as follows:
n
Printer ID
Specification
ID (Hexadecimal)
1, 49 Printer model ID CognitiveTPG A776
0x2B (A776)
0x2A (A760)
0x2C (B780)
2, 50 Type ID
Installed options
Refer to the table below
3, 51 ROM version ID
ROM version
0x00
4, 52 Logo definition Logo definition
Refer to table
next column
n = 2 or 50: Type ID
Type ID (n = 2)
Bit
Off/On
Hex
Decimal Function
0
Off
00
0
No two-byte character
code installed.
On
01
1
Two-byte character
code installed.
1
Off
00
0
No knife installed.
On
02
2
Knife installed.
2
-
-
-
Undefined.
3
Off
00
0
No MICR installed.
On
08
8
MICR installed.
4
Off
00
0
Not used. Fixed to Off.
5
Off
00
0
No imager installed.
On
20
32
Imager installed.
6
-
-
-
Undefined
7
Off
00
0
Not used. Fixed to Off.
Continued . . .
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Chapter 5: Programming commands
77
n = 4 : Logo Definition
Bit
Off/On
Hex Decimal Function
0
Off
00
0
No logo definition loaded by application.
On
01
1
Logo loaded by application
1
-
-
-
Undefined
2
-
-
-
Undefined
3
-
-
-
Undefined
4
Off
00
0
Not used, Fixed to Off.
5
-
-
-
Undefined
6
-
-
-
Undefined
7
Off
00
0
Not used, Fixed to Off.
Transmits the printer ID specified by n. This command is a batch mode command; that is, the response is transmitted
after all prior data in the receive buffer has been processed. There may be a time lag between the printer receiving this
command and transmitting the response, depending on the receive buffer status.
Transmit printer ID, remote diagnostics extension
ASCII
Hexadecimal
Decimal
GS I @ n
1D 49 40 n
29 73 64 n
Values of n:
Refer to table
Range of n:
32–255
(not all defined but reserved)
Preforms the remote diagnostic function specified by n.
Eighteen remote diagnostic items are defined: eight printer ID items and ten printer tally items. Most of the diagnostic
items are maintained in non-volatile memory (NVRAM), but some are maintained in read-only memory (ROM).
The table that follows describes the variables.
The first item group in the table includes an example of data to send and to receive, Data sent from the host to write
to NVRAM must contain all digits required by the remote diagnostic item. All data must be ASCII. The printer returns all
ASCII data. It is preceded by the parameter n to identify the diagnostic item and is followed by a carriage return (0D) to
signify the end of the data.
The command performs the remote diagnostic function specified by n as described in the following table.
Value of n
ASCII
Hex
Dec
Remote diagnostic item
Function
Space 20
32
Serial #, 10 digit ASCII
Write to NVRAM Example, send 14 bytes to printer:
GS I @ 0x20 1234567890
!
21
33
Serial # Write to NVRAM, and print on receipt to verify
Example, send 14 bytes to printer:
GS I @ ! 1234567890 This will print on receipt:
Serial # written: 1234567890
“
Not available, cannot clear serial # item
22
34
Serial #
Continued . . .
A776-PG00001 D 07/13
A776 (B780) Programming Guide
78
Chapter 5: Programming commands
Value of n
ASCII
Hex
Dec
Remote diagnostic item
Function
#
23
35
Serial #
Return Serial #, preceded by n to identify Printer
returns 12 bytes in above example: #1234567890<CR>
$
24
36
Class/model #, 15 digit ASCII
Write to NVRAM
%
25
37
Class/model # Write to NVRAM, and print on receipt to verify
‘
27
39
Class/model #
Return Class/model #, returns 17 bytes
+
2B
43
Boot firmware part #, 12 digit ASCII
Return Boot firmware part #, returns 14 bytes
/
2F
47
Boot firmware CRC, 4 digit ASCII
Return Boot firmware CRC, returns 6 bytes
3
33
51
Flash firmware part #, 12 digit ASCII
Return Flash firmware part #, returns 14 bytes
7
37
55
Flash firmware CRC, 4 digit ASCII
Return Flash firmware CRC, returns 6 bytes
Receipt lines tally,
8 digit ASCII numeric, max 99,999,999
Write to NVRAM Example, send 12 bytes to printer:
GS I @ Ç00010000 To set receipt lines tally to 10,000
Ç
80
128
ü
81
129
Receipt lines tally Write to NVRAM, and print on receipt to verify
Example, send 12 bytes to printer:
GS I @ ü00010000 This will print on receipt:
Receipt tally written: 10,000
é
Clear receipt lines tally to 0
82
130
Receipt lines tally
â
83
131
Receipt lines tally
Return receipt lines tally, preceded by n to identify
Printer returns 10 bytes in above example:
â00010000<CR>
ä
84
132
Knife cut tally, 8 digit ASCII numeric, Write to NVRAM
max 99,999,999
à
85
133
Knife cut tally Write to NVRAM, and print on receipt to verify
å
86
134
Knife cut tally
Clear knife cut tally to 0
ç
87
135
Knife cut tally
Return knife cut tally, returns 10 bytes
ê
88
136
Slip Character tally, 8 digit ASCII
numeric, max 99,999,999
Write to NVRAM
ë
89
137
Slip character tally
Write to NVRAM, and printed on receipt to verify
è
8A
138
Slip character tally
Clear slip tally to 0
ï
8B
139
Slip character tally
Return slip character tally, returns 10 bytes
î
8C
140
MICR read tally, 8 digit ASCII numeric 99,999,999
Write to NVRAM
ì
8D 141
MICR read tally
Write to NVRAM, and print on receipt to verify
Ä
8E
142
MICR read tally
Clear MICR read tally to 0
Å
8F
143
MICR read tally
Return MICR read tally, returns to 10 bytes
É
90
144
Hours on tally, 8 digit ASCII numeric, Write to NVRAM
max 99,999,999
æ
91
145
Hours on tally Write to NVRAM, and print on receipt to verify
Æ
92
146
Hours on tally
Clear hours on tally to 0
ô
93
147
Hours on tally
Return hours on tally, returns 10 bytes
Continued . . .
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Chapter 5: Programming commands
79
Value of n
ASCII
Hex
Dec
Remote diagnostic item
Function
ù
97
151
Boot firmware version
Return boot firmware version, returns 6 bytes
ú
A3
163
Flash firmware version
Return flash firmware version, returns 6 bytes
ñ
A4
164
Flash cycles tally, 8 digit ASCII numeric, max 99,999,999
Write to NVRAM
Ñ
A5
165
Flash cycles tally
Write to NVRAM, and print on receipt to verify
a
A6
166
Flash cycles tally Clear flash cycles cut tally to 0
o
A7
167
Flash cycles tally Return flash cycles cut tally, returns 10 bytes
¿
A8
168
Knife jams tally, 8 digit ASCII numeric, max 99,999,999
Write to NVRAM
+
A9
169
Knife jams tally Write to NVRAM, and print on receipt to verify
+
AA
170
Knife jams tally Clear knife jams tally to 0
½
AB
171
Knife jams tally Return knife jams tally, returns 10 bytes
¼
AC
172
Cover openings tally, 8 digit ASCII numeric, max 99,999,999
Write to NVRAM
¡
AD
173
Cover openings tally
Write to NVRAM, and print on receipt to verify
«
AE
174
Cover openings tally
Clear cover openings tally to 0
»
AF
175
Cover openings tally
Return cover openings tally, returns 10 bytes
B2
178
Max temperature tally
Reset max temperature reached value
|
B3
179
Max temperature tally
Return max temperature reached since it was reset,
returns 10 bytes
B4 180
Slip lines tally, 8 digit ASCII
numeric, max 99,999,999
Write to NVRAM
B5
181
Slip line tally
Write to NVRAM, and print on receipt to verify
B6
182 Slip lines tally
Clear slip lines tally to 0
B7 183 Slip lines tally
Return slip line tally, returns 10 bytes
A776-PG00001 D 07/13
A776 (B780) Programming Guide
80
Chapter 5: Programming commands
Transmit status
ASCII
Hexadecimal
Decimal
GS r n
1D 72 n
29 114 n
Value of n:
1, 49 = printer status
2, 50 = cash drawer status
3, 51 = slip paper status
4, 52 = Flash memory user sector status
Range of n:
1–4
49–52
Transmits the status specified by n. This is a batch mode command which transmits the response after all prior data
in the receive buffer has been processed. There may be a time lag between the printer receiving this command and
transmitting the response, depending on the receive buffer status.
When DTR/DSR RS-232C communications handshaking control is selected, the printer transmits the one byte response
only when the host signal DSR indicates it is ready to receive data.
When XON/XOFF RS-232C communications handshaking control is selected, the printer transmits the one byte
response regardless of the host signal DSR.
When unsolicited status mode (USM) is enabled using the enable/disable unsolicited status mode command (1D 61),
the status transmitted by this command (transmit status) and the USM status must be differentiated according to
the information found in recognizing data from the printer. This is found in the real time commands section of this
document.
The status bytes to be transmitted are described in the following four tables.
Exceptions
When n is out of the specified range, the command is ignored.
The A776 has a single connector that shares data reporting from either cash drawer. When either cash drawer is open,
an open status is reported by the printer.
Printer status (n = 1 or n = 49)
Bit Off/On Hex Decimal Status for transmit status
0
Off
On
00
01
0
1
Receipt paper adequate.
Receipt paper low.
1
Off
On
00
02
0
2
Receipt paper adequate.
Receipt paper low.
2
Off
On
00
04
0
4
Receipt paper present.
Receipt paper exhausted.
3
Off On
00 08
0
8
Receipt paper present.
Receipt paper exhausted.
4
Off
00
0
Not used. Fixed to off.
5 Off
00
0
On 20
32
Slip leading edge sensor:
paper present.
Slip leading edge sensor:
no paper.
6 Off
00
0
On 40
64
Slip trailing edge sensor:
paper present.
Slip trailing edge sensor:
no paper.
7
Not used. Fixed to off.
Off
00
0
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Chapter 5: Programming commands
81
Cash drawer status (n = 2 or n = 50)
Bit Off/On Hex Decimal Status for transmit status
0
Off
On
00
01
0
1
One or both cash drawers open.
Both cash drawers closed.
1
Off
On
00
02
0
2
One or both cash drawers open.
Both cash drawers closed.
2
–
–
–
Undefined
3
–
–
–
Undefined
4
Off
00
0
Not used. Fixed to off.
5
–
–
–
Undefined.
6
–
–
–
Undefined.
7
Off
00
0
Not used. Fixed to off.
Slip paper status (n = 3 or n = 51)
Value of byte returned
Slip Status
0
There is no more printing space on the current slip, or the slip paper is
not selected.
1 to 8
Remaining print area on the current slip, in number of lines, at the currently set line spacing, when the
trailing edge sensor has become uncovered. Until the trailing edge sensor becomes uncovered the value
reported will be 6, because there are at least 9 lines remaining.
Flash memory user sector status (n = 4 or n = 52)
Bit Off/On Hex Decimal Status for transmit status
0
–
–
–
Undefined. Fixed to off.
1
–
–
–
Undefined. Fixed to off.
2
Off
00
0
User data storage write successful
On
04
4
User data storage write failed, specified area not erased.
3
Off
00
0
Flash logo area adequate, definition stored.
On
08
8
Flash logo area not adequate for recent definition.
4
Off
00
0
Not used. Fixed to off.
5
Off
00
00
No thermal user-defined characters written to flash.
On
20
32
Thermal user-defined characters written to flash.
6
Off
00
0
No impact user-defined characters written to flash.
On
04
64
Impact user-defined characters written to flash.
7
–
–
–
Undefined.
A776-PG00001 D 07/13
A776 (B780) Programming Guide
82
Chapter 5: Programming commands
Send printer software version
ASCII
Hexadecimal
Decimal
US V
1F 56
31 86
The printer returns 8 bytes containing the boot and flash software version. The first 4 bytes returned are an ASCII string
for the boot version.
The second 4 bytes are an ASCII string for the flash version. Example: For 1.234.56 (8 bytes), the boot version is 1.23 and
the flash version is 4.56.
Real-time commands
The real time commands provide an application interface to the printer even when the printer is
not handling other commands:
• Real-time status transmission: GS (Hex 1D) sequence and DLE (Hex 10) sequence
• Real-time request to printer: GS (Hex 1D) sequence and DLE (Hex 10) sequence
• Real-time printer status transmission
The batch mode printer status commands are placed in the printer’s data buffer as they are
received and handled by the firmware in the order in which they were received. If the paper exhausts while printing
data that was in the buffer ahead of the status command, the printer goes busy at the RS-232C interface and suspends
processing the data in the buffer until paper is reloaded. This is true for all error conditions: knife home error, thermal
printhead overheat, etc. In addition, there is no way to restart the printer after a paper jam or to cancel a slip waiting
condition when using the wait for slip command.
The real-time commands are implemented in two ways in order to overcome the limitations of batch mode status
commands. Both implementations offer the same functionality; which one you choose depends on the current usage
of your application.
Preferred implementation
For a new application the GS (1D) sequences are recommended to avoid possible misinterpretation of a DLE (0x10)
sequence as a clear printer (0x10 0, ASCII DLE NUL) command.
An application using these GS (1D) sequences, does not need to distinguish for the printer between the new real time
commands and the clear printer command. This implementation is ideal for an existing A756 application that already
uses the clear printer command or for a new application being developed.
Alternate implementation
The alternate implementation uses the DLE (0x10) sequences as implemented on other printers. An application using
these DLE (0x10) sequences and the original A756 clear printer command (0x10) must distinguish for the printer
between the new real time commands and the clear printer command by adding a NUL (0x00) to the clear printer
command.
An application using these DLE (0x10) sequences must also send the second byte of the sequence within 100
milliseconds of the first, to prevent the first byte being mistaken for a clear printer command.
Rules for using real-time commands
Three situations must be understood when using real time commands.
First, the printer executes the real time command within a few msec of detecting it in the input buffer and will transmit
status regardless of the condition of the DSR signal.
Second, the printer transmits status whenever it recognizes a real time status transmission command sequence, even if
that sequence happens to occur naturally within the data of another command, such as graphics data.
In this case the sequence will also be handled correctly as the graphics data it is intended to be when the graphics
command is executed from the buffer.
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Chapter 5: Programming commands
83
Third, care must be taken not to insert a real time command into the data sequence of another command that consists
of two or more bytes.
In this case the printer will use the real time command sequence bytes instead of the other command’s parameter
bytes when finally executing that other command from the buffer; the other command will NOT be executed correctly.
These three situations generally preclude use of standard DOS drivers for the serial communication ports when using
real time commands.
Moving data through the buffer
Applications should not let the buffer fill up with real time commands when the printer is busy at the RS-232C
interface. A busy condition at the RS-232C interface can be determined by bit 3 of the response to 1D 05, or 1D 04 1, or
10 04 1. The reason for a particular busy condition can be determined by other responses to 1D 04 n or 10 04 n.
Although the printer responds to real time commands when it is busy, it will place them into the buffer behind any
other data there, and flush them out in the order in which they were received. When the printer is busy due simply to
buffer full (that is, it can’t print data as fast as it can receive it), then data continues to be processed out of the buffer at
approximately print speed and the real time commands will eventually get flushed out.
When the printer is busy due to an error condition, then data stops being processed to the buffer until the condition
clears one way or another. In either case, but more quickly in the case of an error condition, the buffer can fill with real
time commands.
When the DLE (0×10) sequences are being used, the last byte stored when the buffer fills up could be the DLE (0×10)
code, with no room for the subsequent EOT or ENQ. When this lone DLE (0x10) byte is finally processed out of the
buffer it will be interpreted as a clear printer command.
Similarly, when the GS (1D) sequences are being used, the last byte stored when the buffer fills up could be the GS (1D)
code, with no room for the subsequent EOT or ETX or ENQ. When this lone GS (1D) byte is finally processed out of the
buffer it will use the next byte, whatever it is, as the second byte in its GS (1D) sequence.
To guard against this situation, the application must determine the cause of a busy condition and take appropriate
action or pace the real time commands to avoid filling the buffer. There is a minimum of 256 bytes available in the
printer’s buffer when it goes busy.
Busy line and fault conditions
If the printer is in error condition (cover is open, paper is exhausted…), the printer will still accept data, respond to the
batch mode status commands (1B 76 and 1B 75 0), handle the cash drawer commands, and not go busy until it actually
tries to execute a print command. Then it will stay busy and stop processing data out of the receive buffer until the
condition clears. It will respond to the real time commands as described below.
A776-PG00001 D 07/13
A776 (B780) Programming Guide
84
Chapter 5: Programming commands
Real-time status transmission
GS sequence
DLE sequence
ASCII
Hexadecimal
Decimal
GS EOT n 1D 04 n
29 4 n
DLE EOT n
10 04 n
16 4 n
Value of n:
GS/DLE sequence
1 = Transmit printer status
2 = Transmit RS-232C busy status
3 = Transmit error status
4 = Transmit receipt paper status
5 = Slip paper status
6 = Validation paper status
Transmits the selected one byte printer status specified by n command within a few msec according to the following
parameters. This command includes two sequences: GS (1D) and DLE (0×10).
Exceptions
The command is ignored if n is out of range.
An application using DLE (0×10) sequence must send EOT within 100 milliseconds of DLE or the printer will
misinterpret the DLE and execute a clear printer command. Avoid this possibility by using the ID 04 n sequence, which
is handled exactly the same as 10 04 n.
The A776 has a single connector that shares data reporting from either cash drawer. When either cash drawer is open,
an open status is reported by the printer.
Related information
1 = Transmit printer status
Bit Status Hex Decimal Function
0
Off
00
0
Fixed to Off.
1
On
02
2
Fixed to On.
2
Off
On
00
04
0
4
One or both cash drawers open.
Both cash drawers closed.
3 Off
On
interface.
00
08
0
8
Not busy at the RS-232C interface.
Printer is busy at the RS-232C
4
10
16
Fixed to on.
On
5
Undefined.
6
Undefined.
7
Fixed to off.
Off
00
0
Continued...
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Chapter 5: Programming commands
85
2 = Transmit RS-232C Busy Status
Bit Status Hex Decimal Function
0
Off
00
0
Fixed to off.
1
On
02
2
Fixed to on.
2 Off
00 0
On
04 4
Receipt and cassette
cover closed.
Receipt or cassette cover
open.
3 Off
00 0
On
08 8
Paper feed button
is not pressed.
Paper feed button is pressed.
4
Fixed to on.
On
10
16
5 Off
00 0
On
20 32
Printing not stopped due
to paper condition.
Printing stopped due to
paper condition.
6 Off
00 0
On
40 64
No error condition.
Error condition exists in
the printer.
7
Fixed to off.
Off
00
0
3 = Transmit error status
Bit Status Hex Decimal Function
0
Off
00
0
Fixed to off.
1
On
02
2
Fixed to on.
2
Off
00
0
Carriage or slip jam
3
Off
On
00
08
0
8
No knife error.
Knife error occurred.
4
On
10 16
Fixed to on.
5
Off
On
00
20
0
32
No unrecoverable error.
Unrecoverable error occurred.
6 Off
00 0
On
40 64
Thermal printhead temp.
and power supply voltage
are in range.
Thermal print head temp.
or power supply voltage
are out of range.
7
Fixed to off
Off
00
0
Continued...
A776-PG00001 D 07/13
A776 (B780) Programming Guide
86
Chapter 5: Programming commands
4 = Transmit receipt paper status
Bit Status Hex Decimal Function
0
Off
00
0
Fixed to off
1
On
02
2
Fixed to on
2 Off
00 0
On
04 4
Receipt Paper adequate
Receipt Paper low
3 Off
00 0
On
08 8
Receipt Paper adequate or Door Open
Receipt Paper low or Door Open
4
On
10
16
Fixed to on
5
Off
On
00
20
0
32
Receipt Paper present
Receipt Paper exhausted
6
Off
On
00
40
0
64
Receipt Paper present
Receipt Paper exhausted
7
Off
00
0
Fixed to off
5 = Transmit Slip Paper Status and 6 = Transmit Validation Paper Status
Bit Status Hex Decimal Function
0
Off
00
0
Fixed to Off
1
On
02
2
Fixed to On
2
Off
On
00
04
0
4
Slip paper selected
Slip not selected
3
Off
On
00
08
0
8
Not waiting for slip
Waiting for slip
4
On
10
16
Fixed to On
5 Off
00 0
On
20 32
Slip leading edge sensor:
paper present
Slip leading edge sensor:
no paper
6 Off
00 0
On
40 64
Slip trailing edge sensor:
paper present
Slip trailing edge sensor:
no paper
7
Fixed to Off
Off
00
0
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Chapter 5: Programming commands
87
Real-time request to printer
GS sequence DLE sequence
ASCII
Hexadecimal
GS ETX n 1D 03 n
29 3 n
DLE ENQ n
10 05 n
16 5 n
Value of n:
1 = recover and restart
2 = recover and clear buffers
3 = cancel slip wait
The printer responds to a request from the host specified by n. This command includes two sequences: GS and DLE.
The operations performed depend on the value of n, according to the following parameters.
n=1
Restarts printing from the beginning of the line where an error occurred, after recovering from the error. Print
settings that are normally preserved from line to line, such as character height and width, are still preserved with this
command. This sequence is ignored except when the printer is busy due to an error condition.
This command will attempt recovery from a knife error. Other errors associated with the receipt, such as paper out or
printhead overheating, can be recovered from only by clearing the specific condition, such as loading paper or letting
the printhead cool down.
n=2
Recovers from an error after clearing the receive and print buffers. Print settings that are normally preserved from line
to line, such as character height and width, are still preserved with this command. This sequence is ignored except
when the printer is busy due to an error condition.
The same error recovery possibilities exist as for n = 1.
n=3
Cancels the slip waiting status. This sequence is ignored except when the printer is waiting for a slip to be inserted.
When slip waiting is canceled, the receive and print buffers are cleared and the receipt is selected. When printing on
the slip is to continue, the slip must be selected again.
Exceptions
The command is ignored if n is out of range
An application using the DLE sequence must send ENQ within 100 milliseconds of DLE or the printer will misinterpret
the DLE and execute a Clear Printer command. Avoid this possibility by using the 1D 03 n sequence that is handled
exactly the same as 10 05 n.
A776-PG00001 D 07/13
A776 (B780) Programming Guide
88
Chapter 5: Programming commands
Real-time printer status transmission
ASCII
Hexadecimal
Decimal
GS ENQ
1D 05
29 5
Transmits one byte status of the printer in real time.
0 Off
00 0
On
01 1
Paper adequate.
Paper low
(if paper low sensor enabled).
1 Off
00 0
On
02 2
Paper adequate.
Paper low
(if paper low sensor enabled).
2 Off
00 0
On
04 4
Both receipt and cassette
door closed.
Receipt or cassette
door open.
3 Off
00 0
On
08 8
Not busy at the
RS-232C interface.
Printer is busy at the
RS-232C interface.
4 Off
00 0
On
10 16
One or both cash
drawers open.
Both cash drawers closed.
5 Off
00 0
On
20 32
Paper present at both slip
sensors.
Paper not present at one or
both sensors
6 Off
00 0
On
40 64
No error condition.
Error condition exists
in the printer.
7
Fixed to on.
On
80
128
Exceptions
The A776 has a single connector that shares data reporting from either cash drawer. When either cash drawer is open,
an open status is reported by the printer.
Real-time commands disable
ASCII
Hexadecimal
Decimal
US z n
1F 7A n
31 122 n
Value of n:
0 = disable
1 = enable
This command is used to disable real time commands. They are disabled prior to sending graphic or other data to the
printer that may contain embedded real time commands.
This command is a batch command and processed in the order received.
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Chapter 5: Programming commands
89
Unsolicited status mode
Select or cancel unsolicited status mode (USM)
ASCII:
GS a n
Hexadecimal: 1D 61 n
Decimal:
29 97 n
Value of n:
0 turns mode off;
any non-zero value turns mode on
Default:
0 (USM disabled)
Enables or disables automatic return of 4 status bytes whenever one or more of the listed changes occurs. This
command is a batch mode command; that is, it is processed after all prior data in the input buffer has been processed.
There may be a time lag between the printer receiving this command and enabling unsolicited status mode (USM),
depending on the pending input buffer contents.
If an immediate return of printer status is desired, then any of the other status commands should be issued following
this command. Once this mode is activated, the printer automatically transmits 4 status bytes whenever any of
the conditions change. If an RS-232C connection with hardware flow control is used, all four status bytes will be
transmitted without checking DSR.
This command is a POS version of general printer unsolicited status functions; it uses the same command code as older
versions of the POS command “automatic status back (ASB)” but has the following differences:
• The parameter n is an on/off switch; it does not select trigger subset.
• There is no immediate return when this mode is turned on.
• All 4 status bytes are always returned.
A change in any of the following conditions will trigger the USM response:
• Cash Drawer
• Receipt Cover
• Knife Error
• Out-of-Range Printhead Temperature
• Out-of-Range Voltage
• Paper Exhaust Status
• Slip Paper
Related information
When Unsolicited Status Mode is enabled using this command, the status transmitted by other commands and the
USM status are differentiated according to the information found in Recognizing Data from the printer, which follows
the USM return description.
The status bytes to be transmitted are described in the following four tables.
Byte 1 =
Byte 2 =
Byte 3 =
Byte 4 =
printer information
error information
paper sensor information
paper sensor information
Continued ....
A776-PG00001 D 07/13
A776 (B780) Programming Guide
90
Chapter 5: Programming commands
First Byte (printer Information)
Bit Off/On Hex Decimal Status for USM
0 Off
00
0
Not used. Fixed to off.
1 Off
00
0
Not used. Fixed to off.
2 Off
On
00
04
0
4
One or both cash drawers open.
Both cash drawers closed.
3 Off
On
00
08
0
8
Not busy at the RS-232C interface.
Printer is busy at the RS-232C interface.
4 On
10
16
Not used. Fixed to on.
5 Off
On
00
20
0
32
Receipt and cassette covers closed.
Receipt or cassette cover open.
6 Off
On
00
40
0
64
Paper feed button is not pressed.
Paper feed button is pressed.
7 Off
00
0
Not used. Fixed to off.
Second byte (error information)
Bit Off/On Hex Decimal Status for USM
0 –
–
–
Undefined
1 –
–
–
Undefined
2 Off
On
00
04
0
4
No mechanical error
Mechanical error occurred
3 Off
On
00
08
0
8
No knife error.
Knife error occurred.
4 Off
00
0
Not used. Fixed to off.
5 Off
On
00
20
0
32
No unrecoverable error.
Unrecoverable error occurred.
6 Off
00
0
No recoverable error.
On
40 64
Recoverable error:
Cover open, paper out,
temperature or voltage
error is out of range.
7 Off
Not used. Fixed to off.
00
0
Continued . . .
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Chapter 5: Programming commands
91
Third byte (paper sensor information)
Bit Off/On Hex Decimal Status for USM
0 Off
00 0
On
01 1
Receipt paper adequate
Receipt paper low
(if paper low sensor enabled)
1 Off
00 0
On
02 2
Receipt paper adequate
Receipt paper low
(if paper low sensor enabled)
2 Off
On
00
04
0
4
Receipt paper present.
Receipt paper exhausted.
3 Off
On
00
08
0
8
Receipt paper present.
Receipt paper exhausted.
4 Off
00
0
Not used. Fixed to off.
5 Off
00
0
Slip leading edge sensor: paper present
On
20
32
Slip leading edge sensor: no paper
6 Off
00
0
Slip trailing edge sensor: paper present
On
40
64
Slip trailing edge sensor: no paper
7 Off
00
0
Not used. Fixed to off.
Fourth byte (paper sensor information) -- A776
Bit Off/On Hex Decimal Status for USM
0 Off
00
0
Slip paper selected
On
01
1
Receipt paper selected
1 Off
00
0
Possible to print on slip
On
02 2
Not possible to print on slip because no
form has been inserted
2 –
–
–
Undefined
3 –
–
–
Undefined
4 Off
00
0
Not used. Fixed to off.
5 –
–
–
Undefined
6 –
–
–
Undefined
7 Off
00
0
Not used. Fixed to off
Continued . . .
A776-PG00001 D 07/13
A776 (B780) Programming Guide
92
Chapter 5: Programming commands
Fourth byte (paper sensor information) -- B780
Bit Off/On Hex Decimal Status for USM
0 Off
00
0
Slip paper selected
On
01
1
Slip paper not selected
1 Off
00
0
Possible to print on slip
On
02
2
Not possible to print on slip
2 On
00
0
Validation selected
Off
01
1
Validation not selected
3 On
00
0
Validation paper printable
Off
01
1
Validation paper not printable
4 Off
00
0
Not used. Fixed to off.
5 Off
00
0
Lead edge paper present
On
01
1
Lead edge paper not present
6 Off
00
0
Trail edge paper present
On
01
1
Trail edge paper not present
7 Off
00
0
Not used. Fixed to off
Recognizing data from the printer
An application sending various real time and non-real time commands to which the printer responds can determine
which command a response belongs to by the table below.
Batch mode responses are non-real time responses and arrive in the order in which they were solicited.
Batch mode response
Response recognized by:
ASCII
HEX
ECS u 0
1B 75 0
0
0
0
0
0
0
x
x
Binary
ESC v
1B 76
0
x
x
0
0
x
x
x
Binary
GS I n
1D 49 n
0
x
x
0
x
x
x
x
Binary
GS r n
1D 72 n
0
x
x
0
x
x
x
x
Binary
Real time response
Response recognized by:
ASCII
HEX
GS EOT n
1D 04 n
0
x
x
1
x
x
1
0
Binary
DLE EOT n
10 04 n
0
x
x
1
x
x
1
0
Binary
GS ENQ
1D 05
1
x
x
x
x
x
x
x
Binary
XON
0
0
0
1
0
0
0
1
Binary
XOFF
0
0
0
1
0
0
1
1
Binary
Unsolicited status mode (USM)
Response recognized by:
USM Byte 1
0
x
x
1
x
x
0
0
Binary
USM Byte 2–4
0
x
x
0
x
x
x
x
Binary
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Chapter 5: Programming commands
93
Bar codes
These commands format and print bar codes and are described in order of their hexadecimal codes.
Two-dimensional bar code QR code
QR code is a 2-dimensional matrix symbology consisting of an array of nomimally square modules arranged in an overall
square pattern using the QR symbology. A unique pattern at three of the symbol’s four corners assists in determining the
bar code size, position, and rotation.
A series of five commands are required to create and print QR codes.
1. Select the model
1D 28 6B 04 00 31 41 n1 n2
2. Set size of module
1D 28 6B 03 00 31 43 n
3. Select the error correction level 1D 28 6B 03 00 31 45 n
4. Store the symbol data
1D 28 6B qL qH 31 50 30 f1…fk
5. Print the symbol data
1D 28 6B 03 00 31 51 30
The details of each command are described below.
Note: The settings for model, size of module, and error correction level are effective until the printer is reset, or the power
is turned off.
Select the QR code model
ASCII
Hexadecimal
Decimal
Value of n1: Value of n2: GS ( k EOT NUL 1 A n1 n2
1D 28 6B 04 00 31 41 n1 n2
29 40 107 4 0 49 65 n1 n2
31h = Selects model 1
32h = Selects model 2 (default)
00h (default)
This command specifies the original version (m = 1), or the enhanced form of the symbology (m = 2). Model 2 is the
recommended model.
Set size of QR code module
ASCII
Hexadecimal
Decimal
Value of n: Default:
GS ( k ETX NUL 1 C n
1D 28 6B 03 00 31 43 n
29 40 107 3 49 67 n
01h ≤ n ≤ 10h
03h
This command sets the number of encoded data bytes, including carriage returns and line feeds.
A776-PG00001 D 07/13
A776 (B780) Programming Guide
94
Chapter 5: Programming commands
Select the QR code error correction level
ASCII
GS ( k ETX NUL 1 E n
Hexadecimal 1D 28 6B 03 00 31 45 n
Decimal
29 40 107 03 00 49 69 n
Value of n: Function
30h
Selects Error correction level L
Recovery Capacity%
7
31h
Selects Error correction level M
15
32h
Selects Error correction level Q
25
33h
Selects Error correction level H
30
Note: QR code employs Reed-Solomon error correction to generate a series of error correction code words.
Set QR code data
ASCII
GS ( k qL qH 1 P 0 f1 . . . fk
Hexadecimal 1D 28 6B qL qH 31 50 30 f1….fk
Decimal
29 40 107 qL qH 49 80 48 f1 . . . fk
This command stores the QR code symbol data (f1... fk) in the symbol storage area.
qL and qH: 04h < (qL+ qH x 100h) < 1BB4; 0h < qL < FF; 0h < qH < 1B
f: 0h < f < FF
k = (qL + qH x 100h) – 03h
Note:
•
k bytes of f1…fk are processed as symbol data.
•
It is possible to encode to a QR code as follows. Be sure not to include anything except the following in the
f1…fk data:
Category of data
Characters it is possible to specify
Numerical Mode data
“0” ~ “9”
Alphanumeric Mode data “0”~“9”, “A”~ “Z”, SP, $, %, *, +, -, ., /, :
Kanji Mode data
Shift JIS value (Shift value from JISX0208)
8-bit Byte Mode data
00h ~ FFh
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Chapter 5: Programming commands
95
Print QR code
ASCII
GS ( k ETX NUL 1 Q 0​​
Hexadecimal 1D 28 6B 03 00 31 51 30
Decimal
29 40 107 03 00 49 81 48
This command encodes and prints the QR code symbol data in the symbol storage area, based on the settings in the
previous four commands.
In standard mode, use this function when printer is “at the beginning of a line,” or “there is no data in the print buffer.”
The symbol size that exceeds the print area cannot be printed.
If there is no data in storage, or if the data in the storage area is more than the data allowed by specified model and data compaction mode, the QR code cannot be printed.
The following data are added automatically by the encode processing.
Position Detection Patterns
Separators for Position Detection Patterns
Timing Patterns
Format Information
Version Information
Error Correction code words (employs the Reed-Solomon Error Detection and Correction algorithm)
Pad codeword
Number of bits in Character Count Indicator
Mode Indicator
Terminator
Alignment Patterns (when model 2 is selected)
Extension Patterns (when model 1 is selected)
Printing of symbol is not affected by print mode (emphasized, double-strike, underline, white/black reverse printing, or
90° clockwise-rotated), except for character size and upside-down print mode.
In standard mode, this command executes paper feeding for the amount needed for printing the symbol, regardless of the
paper feed amount set by the paper feed setting command, The print position returns to the left side of the printable area
after printing the symbol, and printer is in the status “beginning of the line,” or “there is no data in the print buffer.”
In page mode, the printer stores the symbol data in the print buffer without executing actual printing. The printer moves
print position to the next dot of the last data of the symbol.
A quiet zone of four times the size of one module is required on all sides of the QR code symbol, but it is not included in
the printing data. Be sure to add a quiet zone when using this function.
A776-PG00001 D 07/13
A776 (B780) Programming Guide
96
Chapter 5: Programming commands
Select printing position of HRI characters
ASCII
Hexadecimal
Decimal
GS H n
1D 48 n
29 72 n
Value of n:
Printing position
0 = Not printed
1 = Above the bar code
2 = Below the bar code
3 = Both above and below the bar code
Default:
0 (Not printed)
Prints HRI (human readable interface) characters above or below the bar code.
Select pitch of HRI characters
ASCII
Hexadecimal
Decimal
GS f n
1D 66 n
29 102 n
Value of n:
0 = Standard pitch at 15.2 CPI
1 = Compressed pitch at 19 CPI
Default:
0 (Not printed)
Selects standard and compressed font for printing bar code characters.
When slip is selected as the interface, HRI is always compressed.
Select bar code height
ASCII
Hexadecimal
Decimal
GS h n
1D 68 n
29 104 n
Value of n:
Number of dots
Range of n:
1–255 (decimal)
01-FF (hexadecimal)
Default:
162 (decimal)
A2 (hexadecimal)
Sets the bar code height to (n/154”) for receipt and (n/172”) for slip
.
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Chapter 5: Programming commands
97
Print bar code
First Variation
Second Variation
ASCII
Hexadecimal
Decimal
GS k m d1…dk NUL GS k m n d1…dn
1D 6B m d1…dk 00 1D 6B m n d1…dn
29 107 m d1 dk 0
29 107 m n d1…dn
(0 = End of command)
Selects the bar code type and prints a bar code for the ASCII characters entered. If the width of the bar code exceeds
one line, the bar code is not printed.
There are two variations to this command. The first variation uses a NUL character to terminate the string; the second
uses a length byte at the beginning of the string.
The check digit is calculated for UPC and JAN (EAN) codes if it is not sent from the host computer.
Six-character zero-suppressed UPC-E tags are generated from full 11 or 12 characters sent from the host computer
according to standard UPC-E rules. Start/stop characters are added for code 39 if they are not included.
Rotated barcodes set with small modules (select bar code width command 1D 77 n , with n = 1 or 2) and PDF 417
barcodes in any orientation are printed at low speed, for better readability.
Exceptions
The command is only valid at the beginning of a line.
Illegal data cancels the command.
Values:
First variation: String terminated with NUL character. Length k is not specified in command string; it depends on the
bar code being printed.
d1...dk
length
0
UPC-A
1
UPC-E
48-57 (decimal)
30-39 (ASCII numerals)
Fixed length: 11,12
48–57
30-39
Fixed length: 11, 12
2
JAN13 (EAN)
48–57
30-39
Fixed length: 12, 13
3
JAN8 (EAN)
48–57
30-39
Fixed length: 7, 8
4
Code 39
48–57, 65–90 (decimal), 32, 36, 37, Variable length
43, 45, 46, 47 (decimal)
d1 = dk = 42 (start/stop code is supplied by printer if necessary)
30-39 (ASCII numerals), 41-5A (ASCII alphabet)
20, 24, 25, 2B, 2D, 2E, 2F (ASCII special characters)
d1=dk=2A (start/stop code is supplied by printer if necessary)
5
Interleaved 2 of 5
48–57
30-39
Variable length (even number)
6
Codabar
65–68, start code 48–57, 36, 43, 45, 46, 47, 58
41-44, start code 30-39, 24, 2B, 2D, 2E, 2F, 3A
Variable length
10
PDF 417
1–255
Variable length, maximum 1000 characters
01-FF
m
Bar code
Continued . . .
A776-PG00001 D 07/13
A776 (B780) Programming Guide
98
Chapter 5: Programming commands
Second variation: length n specified at beginning of string. Except as noted, 0 < n < 256.
m
Bar code
d1...dnn
65
UPC-A
48–57 (decimal)
30-39 (ASCII numerals)
Fixed length: 11, 12
66
UPC-E
48–57
30-39
Fixed length: 11, 12
67
JAN13 (EAN)
48–57
30-39
Fixed length: 12, 13
68
JAN8 (EAN)
48–57
30-39
Fixed length: 7, 8
69
CODE 39
48–57, 65–90 (decimal), 32, 36, 37, Variable
43, 45, 46, 47 (decimal)
d1 = dk = 42 (start/stop code is supplied by printer if necessary)
m
Bar code
d1...dnn
70
Interleaved 2 of 5 (ITF)
30-39
48–57
Variable (even number)
71
CODABAR (NW-7)
65–68, start code 48–57, 36, 43, 45, 46, 47, 58Variable
41-44, start code 30-39, 24, 2B, 2D, 2E, 2F, 3A
72
Code 93
00–127 00-7F
73
Code 128
0–105 d1 = 103–105 (must be a start code) Variable
d2 = 0–102 (data bytes) (Stop code is provided by the printer)
74
Code 128 auto compress
0-255
00-FF
Variable
75
PDF 417
0–255
00-FF
Variable
78
Code EAN 128 auto compress 0-255
00-FF
Variable
79
Variable
0 < n < 2800
PDF 417
data length specified via
integer n = nH:nL
1D 6B m nL nH d1 . . . dn
0-255
00-FF
Variable
The value of m selects the bar code system as described in the table. The variable d indicates the character code to
be encoded into the specified bar code system. If character code d cannot be encoded, the printer prints the bar code
data processed so far, and the following data is treated as normal data.
Exceptions
Illegal data cancels this command.
PDF 417 format cannot be printed on the slip.
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Chapter 5: Programming commands
99
Set GS1 DataBar (formerly RSS) parameters
Setting of parameters for GS1 Databar.
ASCII
Hexadecimal
Decimal
GS q a b c d e fL fH
1D 71 a b c d e fL fH
29 113 a b c d e fL fH
pixels per minimum unit, default 3, minimum 2, maximum 6 (value a applies to parameters b, c, d)
b
byte
X undercut, default 0, can be set 0 to a-1
c
byte
Y undercut, default 0, can be set 0 to a-1
d
byte
separator height, default a, can be set a to a*2
a
byte
e
byte
segment width, used only by GS1 DataBar Expanded, default 22, must be even number 2 to 22
f
line height, used only by UCC128, default 25, can be set 1 to 500
word
Note: For GS1 DataBar commands, consult ISO/IEC 24724. For further information, visit www.gs1.org.
Print GS1 DataBar (formerly RSS), data length specified
ASCII
Hexadecimal
Decimal
GS k m nL nH d1... dn
1D 6B m nL nH d1... dn
29 107 m nL nH d1... dn
m Type
61
GS1 DataBar
62
GS1 DataBar truncated
63
GS1 DataBar stacked
64
GS1 DataBar stacked omni-directional
65
GS1 DataBar limited
66
GS1 DataBar expanded and expanded stacked
67
UPC-A
68
UPC-E
69
EAN-13
6A
EAN-8
6B
UCC/EAN-128 with CC-A or CC-B
6C UCC/EAN-128 with CC-C
Note: Data length specified 1 to 2436 via integer nH : nL.
A776-PG00001 D 07/13
A776 (B780) Programming Guide
100
Chapter 5: Programming commands
Print GS1 DataBar (formerly RSS), null terminated
ASCII
Hexadecimal
Decimal
GS k n d1... 00
1D 6B n d1... 00
29 107 n d1... 00
n Type
51
GS1 DataBar
52
GS1 DataBar truncated
53
GS1 DataBar stacked
54
GS1 DataBar stacked omni-directional
55
GS1 DataBar limited
56
GS1 DataBar expanded and expanded stacked
57
UPC-A
58
UPC-E
59
EAN-13
5A
EAN-8
5B
UCC/EAN-128 with CC-A or CC-B
5C UCC/EAN-128 with CC-C
Note: Null terminated, data length 1 to 2436
Print multiple barcodes
ASCII
Hexadecimal
Decimal
GS k
1D 6B FF n
29 108 255
All the individual barcode strings start with 1D 6B m, where m is the type of barcode. Use the same command to do
multiple barcodes on one line.
1D 6B FF 01
begin multiple barcodes one line
1D 6B FF 00
end multiple barcodes one line, print the barcodes
·
Multiple barcodes can be aligned right, left, center same as single line barcodes
·
All barcodes on one line printed at same alignment, height, width, and HRI as the first one
·
Parameters for alignment, height, width, and HRI can be set before or after 1D 6B FF 01 command
·
No height restriction change from single line barcodes
·
Quiet zone between barcodes = 10 * module width
·
No text in between barcodes (results undefined)
·
Upright, picket fence barcodes only, no upside down or ladder. Extended barcode printing for upside down and ladder barcodes can be done in page mode if required.
·
Slip/validation selection disabled in multiple barcodes command string
Continued . . .
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Chapter 5: Programming commands
·
Multiple barcodes command string disabled when slip/validation selected
·
Page mode disabled in multiple barcodes command string
·
Multiple barcodes command string disabled in page mode
·
Page mode parameters initialized at end of multiple barcodes command string
101
Sample multiple barcodes command string:
1b 40
Initialize
1d 6b ff 01
Begin multiple barcodes one line
1b 61 01
Center align
1d 68 40
Barcode height
1d 77 02
Barcode width
1d 48 02
Print HRI below
1d 6b 49 06 67 27 2d 2e 2d 2e
Barcode 1, code 128
1d 6b 49 07 67 04 05 06 07 08 09 Barcode 2, code 128
1d 6b 49 04 67 01 02 03
Barcode 3, code 128
1d 6b ff 00
End multiple barcodes, print
Select PDF 417 parameters
ASCII
Hexadecimal
Decimal
GS p a b c d e f
1D 70 a b c d e f
29 112 a b c d e f
Value and Ranges:
Value: Ranges:
a, b =
Description:
The ratio of bar height to symbol length.
a=
height
limit 1 to 10
b=
width
limit 1 to 100
c=
rows
limit 3 to 90
Number of rows in the matrix of code words.
d=
columns
limit 7 to 30
Number of columns in the matrix of code words.
e=
x dimension
limit 1 to 7
Width of a single module in dots.
f=
y dimension
limit 2 to 25
Height of the code word in dots.
Defaults:
a=1
b=2
c = 58
d=7
e=3
f = 10
PDF 417 is a multi-row, continuous, variable length symbology which has high data capacity. Each symbol has
between 3 and 90 rows, with each row containing a start pattern, a left row indicator, 1 to 30 data characters, a right
row indicator and a stop pattern. The number and length of the rows are selectable, which allows the aspect ratio to be
adjusted to particular labeling applications. There are no separator bars between rows.
Continued . . .
A776-PG00001 D 07/13
A776 (B780) Programming Guide
102
Chapter 5: Programming commands
Each character has four bars and four spaces within 17 modules, and is assigned a value between 0 and 928. For this
symbology, it is common to refer to these character values as “code words.”
There are three mutually exclusive sets of symbol patterns, or clusters, each having 929 distinct patterns. Because
different clusters are used for adjacent rows, it is possible for the decoder to tell if the scanning path is crossing row
boundaries without the use of separator bars.
Sample symbol description:
Each PDF 417 symbol consists of 3 to 90 stacked rows surrounded on all four sides by a quiet
zone. Each row contains:
1 Leading quiet zone
2 Start pattern
3 Left row indicator characters (code words)
4 One to thirty data characters (code words)
5 Right row indicator character (code words)
6 Stop pattern
7 Trailing quiet zone
The number of characters in a row and number of rows can be adjusted to vary the symbol’s overall aspect ratio to best
fit an available space.
Each row has a left and right row indicator with a data region between. The left-most character in the top row of the
data region is the total number of characters in the data region, excluding error correction characters. Characters
within the data region are designed to be read from left to right, starting on the top row, immediately after the lengthdefining character. The maximum characters in the data region are 928.
Related Information:
The “Set bar code width” command (1D 77 n) affects the x dimension and row height for PDF 417. See chart below.
n value
x dimension
row height
2
2
7
3
3
10
4
4
13
5
5
17
6
6
20
Select bar code width
ASCII
Hexadecimal
Decimal
GS w n
1D 77 n
29 119 n
Value of n:
2, 3, 4, 5, 6
Default:
3 for receipt; 2 for slip
Sets the bar code width to n dots.
Formulas
n/8 mm (n/203 inch) for receipt.
n/5.7 mm (n/144 inch) for slip.
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Chapter 5: Programming commands
103
Page mode
Page mode is one of two modes that the A776 printer uses to operate. Standard mode is typical
of how most printers operate by printing data as it is received and feeding paper as the various
paper feed commands are received. Page mode is different in that it processes or prepares the
data as a “page” in memory before it prints it. Think of this as a virtual page. The page can be any
area within certain parameters that you define. Once the printer receives the (0 × 0C) command,
it prints the page and returns the printer to standard mode.
The select page mode command (1B 4C) puts the printer into page mode. Any commands that
are received are interpreted as page mode commands. Several commands react differently
when in standard mode and page mode. The descriptions of these individual commands in this
chapter indicate the differences in how they operate in the two modes.
Slip page mode considerations
Suggested command sequence to print bank check
1B 40
1B 63 30 04
1B 4C
1B 54 03
1B 57 00 00 00 00 90 01 80 05
Text and print commands
0C
1B 63 30 01
reset to power-on parameters
select the slip
select Page Mode
select printing direction
select page size (not necessary for default size)
as required
print the page and exit Page Mode
eject the check and select receipt
When switching between Page Mode print on the receipt and Page Mode print on the slip, 1B
40 should precede the station selection command to ensure the correct Page Mode defaults are
restored for each station.
Page size
The default page size is 200 full dots wide by 704 full dots long. (2.5” wide by 9.7” long.)
On the B780, the right side margin can be configured to .1”, .3”, or .5”. The .3” and .5” margins are for A721 emulations,
and provide a maximum width of 200 full dots. With the right side margin set to .1” the maximum width is 242 full dots
(3.024”).
On the A776, the right side margin is .1”, and provides a maximum width of 242 full dots.
The maximum length can be set to any size, but is limited by available memory. Width and length other than default
are set by command 1B 57…, with parameters specified in half dots. The length controls how much paper is fed.
For applications specifying a page size greater than 242 full dots wide, there is a configuration option for trimming
blank areas. The command is 1F 03 2F n.
Some examples of setting page size:
1B 57 00 00 00 00 90 01 80 05
0x190 = 400 half dots = 200 full dots wide
0x580 = 1408 half dots = 704 full dots long
1B 57 00 00 00 00 E4 01 F0 03
0x1E4 = 484 half dots = 242 full dots wide = 3.024”
0x3F0 = 1008 half dots = 504 full dots long = 7”
Character Size
It is best to use the Select Print Mode command (1B 21 n) to set character size. The Select Character Size command
(1D 21 n) can be used to set double wide and double high, but impact characters are not increased any further. When
using the legacy command 0x12 to set double wide, you must use the corresponding command 0x13 to turn off
double wide.
A776-PG00001 D 07/13
A776 (B780) Programming Guide
104
Chapter 5: Programming commands
Exceptions
The Print and Reverse Feed commands (1B 4B n and 1B 65 n) are not applicable to Page Mode.
Avoid bi-directional print. Uni-directional print is the default in Page Mode.
Page mode configurations
The original implementation of Page Mode on the slip station mapped thermal dots to impact dots, and sometimes
produced output that was not acceptable to customers. Improvements have been made, and the improved impact
Page Mode is the default configuration. It is printed out on the second diagnostic page, printed via 1F 74 1F 74 double
command, or by holding down the paper feed button at power on until the second page starts to print.
What prints:
Slip Application Command Options
Slip Page Mode : Improved
To re-configure the original Page Mode on the slip station, send 1F 03 26 06 00 or use the configuration menu. What
will print:
Slip Application Command Options
Slip Page Mode : Enabled
To disable Page Mode on the slip station, send 1F 03 21 00 or use the configuration menu. What will print:
Slip Application Command Options
Slip Page Mode : Disabled
Print and return to standard mode
ASCII
Hexadecimal
Decimal
FF
0C
12
The processed data is printed and the printer returns to standard mode. The developed data is deleted after being
printed. This command has the same code as the print and eject slip command, which is executed when the printer is
not in page mode.
Exceptions
This command is enabled only in page mode.
Cancel print data in page mode
ASCII
Hexadecimal
Decimal
CAN
18
24
Deletes all the data to be printed in the “page” area. Any data from the previously selected “page” area that is also part
of the current data to be printed is deleted.
This command has the same code as the open form command, which is performed when the printer is not in page
mode.
Exceptions
This command is only used in page mode.
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Chapter 5: Programming commands
105
Print data in page mode
ASCII
Hexadecimal
Decimal
ESC FF
1B 0C
27 12
Collectively prints all buffered page data in the printing area.
After printing, the printer does not clear the buffered page data.
Exceptions
This command is enabled only in page mode.
Select page mode
ASCII
Hexadecimal
Decimal
ESC L
1B 4C
27 76
Switches from standard mode to page mode. After printing has been completed either by the print and return to
standard mode (FF) command or select standard mode (1B 53) the printer returns to standard mode. The developed
data is deleted after being printed. For more information see page mode in this document.
This command sets the position where data is buffered to the position specified by select print direction in page mode
(1B 54) within the printing area defined by set print area in page mode (1B 57).
This command switches the settings for the following commands (which values can be set independently in standard
mode and page mode) to those for page mode.
• Set right-side character spacing (1B 20)
• Select 1/6-inch line spacing (1B 32)
• Set line spacing (1B 33)
It is possible only to set values for the following commands in page mode. These commands are not executed.
• Select or cancel 90 degree clockwise rotation (1B 56)
• Set counter-clockwise rotation (1B 12)
• Select justification (1B 61)
• Select or cancel upside-down printing (1B 7B)
• Set left margin (1D 4C)
• Set print area width (1D 57)
The table that follows shows the difference in memory allocation in page mode when using monochrome and twocolor paper. Two-color paper mode requires extra memory in order to differentiate between non-black and black.
Paper type Total memory
Area of
allocated (kBytes) construction (mm)
Monochrome 40.5
paper
72 wide × 72 high
Two-color 81.0
paper
72 wide × 72 high (dots)
72 wide × 72 high (energy)
Slip paper
200 wide × 704 high (full dots)
20
Continued . . .
A776-PG00001 D 07/13
A776 (B780) Programming Guide
106
Chapter 5: Programming commands
Exceptions
The command is enabled only when input at the beginning of a line.
The command has no effect if page mode has previously been selected.
For the A756 emulation mode this command has a different definition. The select page mode function is not available
in the A756 emulation mode.
Select standard mode
ASCII
Hexadecimal
Decimal
ESC S
1B 53
27 83
Switches from page mode to standard mode. In switching from page mode to standard mode, data buffered in page
mode are cleared, the printing area set by set print area in page mode (1B 57) is initialized and the print position is set
to the beginning of the line.
This command switches the settings for the following commands (the values for these commands can be set
independently in standard mode and page mode) to those for standard mode:
• Set right-side character spacing (1B 20)
• Select 1/6 inch line spacing (1B 32)
• Set line spacing (1B 33)
Standard mode is automatically selected when power is turned on, the printer is reset, or the initialize printer
command (1B 40) is used.
Exceptions
This command is effective only in page mode.
Select print direction in page mode
Start position
0 = Upper left corner proceeding across page to the right (A)
1 = Lower left corner proceeding up the page (B)
2 = Lower right corner proceeding across page to the left (upside down) (C)
3 = Upper right corner proceeding down page (D)
Default:
0
Value of n:
ESC T n
1B 54 n
27 84 n
ASCII
Hexadecimal
Decimal
Selects the printing direction and start position in page mode.
The command can be sent multiple times so that several different print areas, aligned in different print directions, can
be developed in the printer’s page buffer before being printed using the print page mode commands (0C or 1B 0C).
Exceptions
The command is valid only in page mode.
The command is ignored if the value of n is out of the specified range.
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Chapter 5: Programming commands
107
Set print area in page mode
ASCII
Hexadecimal
Decimal
ESC W n1, n2 ...n8
1B 57 n1, n2 ...n8
27 87 n1, n2 ...n8
Range of n:
0–255
Default:
n1–4 =
n5 = n6 =
n7 = n8 = Receipt Slip
0
0
64 144
2
1
64
128
2
5
��
��������
��
����������
������������������
Sets the position and size of the printing area in page mode.
The command can be sent multiple times so that several different print areas, aligned in different print directions, can
be developed in the printer’s page buffer before being printed using the print page mode commands (0C or 1B 0C).
Formulas
The starting position of the print area is the upper left of the area to be printed (x0, y0). The length of the area to be
printed in the y direction is set to dy inches. The length of the area to be printed in the x direction is set to dx inches.
Use the equations to determine the Value of x0, y0, dx, and dy.
• x0 = [(n1 + n2 × 256) × (horizontal direction of the fundamental calculation pitch)]
• y0 = [(n3 + n4 × 256) × (vertical direction of the fundamental calculation pitch)]
• dx = [(n5 + n6 × 256) × (horizontal direction of the fundamental calculation pitch)]
• dy = [(n7 + n8 × 256) × (vertical direction of the fundamental calculation pitch)]
Default values:
Receipt Slip
x0 = 0
0
y0 =
0
0
dx =
576
2.8 in.
200
2.5 in.
dy =
576
2.8 in.
705
9.7 in.
Keep the following notes in mind for this command.
• The fundamental calculation pitch depends on the vertical or horizontal direction.
Receipt:
•
Slip:
•
Receipt and Slip:
•
The maximum printable area in the x direction is 576/203 inches.
The maximum printable area in the x direction is 3.024 inches. This can be set using dx = 484 half dots, for
example 1B 57 00 00 00 00 E4 01 80 05.
The maximum printable area in the y direction depends on the available memory.
See the illustration for a graphic representation of the printing area. For more information about the fundamental
calculation pitch, see the set horizontal and vertical motion units command (1D 50).
Continued . . .
A776-PG00001 D 07/13
A776 (B780) Programming Guide
108
Chapter 5: Programming commands
Maximum area specification in page mode
Maximizing the possible area in page mode consumes almost all of free RAM. Without any free RAM, bitmap rotations
and enlargements cannot be performed. Use the user storage status command (1D 97 m n) to determine the amount
of free memory.
Exceptions
The command is effective only in page mode.
Set absolute vertical print position in page mode
ASCII
Hexadecimal
Decimal
GS $ nL nH
1D 24 nL nH
29 36 nL nH
Sets the absolute vertical print starting position for buffer character data in page mode. The absolute print position is
set to [(nL + nH × 256) × (vertical or horizontal motion unit)] inches.
The vertical or horizontal motion unit for the paper roll is used and the horizontal starting buffer position does not
move.
The reference starting position is set by select print direction in page mode (1B 54). This sets the absolute position in
the vertical direction when the starting position is set to the upper left or lower right; and sets the absolute position in
the horizontal when the starting position is set to the upper right or lower left. The horizontal and vertical motion unit
are specified by the set horizontal and vertical minimum motion units (1D 50) command.
The set horizontal and vertical minimum motion units (1D 50) command can be used to change the horizontal and
vertical motion unit. However, the value cannot be less than the minimum horizontal movement amount, and it must
be in even units of the minimum horizontal movement amount.
Formulas
[(nL + nH × 256) × (vertical or horizontal motion unit)] inches.
Exceptions
This command is effective only in page mode.
If the [(nL + nH × 256) × (vertical or horizontal motion unit)] exceeds the specified printing area, this command is
ignored.
Set relative vertical print position in page mode
ASCII
Hexadecimal
Decimal
GS \ nL nH
1D 5C nL nH
29 92 nL nH
Value:
The value for the horizontal and vertical movement cannot be less than the minimum horizontal movement amount,
and must be in even units of the minimum horizontal movement amount.
Sets the relative vertical print starting position from the current position. This command can also change the
horizontal and vertical motion unit. The unit of horizontal and vertical motion is specified by this command.
1. This command functions as follows, depending on the print starting position set by select print direction in page
mode (1B 54):
2. When the starting position is set to the upper right or lower left of the printing area, the vertical motion unit (y) is
used.
3. When the starting position is set to the upper left or lower right of the printing area, the horizontal motion unit (x) is
used.
Continued . . .
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Chapter 5: Programming commands
109
Formulas
The distance from the current position is set to (nL + nH × 256) × vertical or horizontal motion unit] inches. The amount
of movement is calculated only for the paper roll.
When pitch n is specified to the movement downward:
nL + nH × 256 = n
When pitch n is specified to the movement upward (the negative direction), use the complement of 65536.
When pitch n is specified to the movement upward:
nL + nH × 256 – 65536 – N
Exceptions
This command is used only in page mode, otherwise it is ignored.
Any setting that exceeds the specified printing area is ignored.
A776-PG00001 D 07/13
A776 (B780) Programming Guide
110
Chapter 5: Programming commands
Macros
These commands are used to select and perform a user-defined sequence of printer operations.
Select or cancel macro definition
ASCII
Hexadecimal
Decimal
GS :
1D 3A
29 58
Starts or ends macro definition. Macro definition begins when this command is received during normal operation and
ends when this command is received during macro definition. The macro definition is cleared, during definition of the
macro when the execute macro (1D 5E) command is received.
Normal printing occurs while the macro is defined. When the power is turned on the macro is not defined.
The defined contents of the macro are not cleared by the initialize printer (1B 40), thus, the initialize printer
(1B 40) command may be used as part of the macro definition.
If the printer receives a second select or cancel macro definition (1D 3A) command immediately after previously
receiving a select or cancel macro definition (1D 3A) the printer remains in the macro undefined state.
Formulas
The contents of the macro can be defined up to 2048 bytes.
Exceptions
If the macro definition exceeds 2048 bytes, excess data is not stored.
Execute macro
ASCII
Hexadecimal
Decimal
GS ^ r t m
1D 5E r t m
29 94 r t m
Value of r:
The number of times to execute the macro.
Value of t:
The waiting time for executing the macro.
Executes a macro. After waiting for a specified period the printer waits for the paper feed button to be pressed. After
the button is pressed, the printer executes the macro once. The printer repeats this operation the number of specified
times.
When the macro is executed by pressing the paper feed button (m = 1), paper cannot be fed by using the paper feed
button.
Formulas
The waiting time is t × 100 ms for every macro execution.
m specifies macro executing mode when the LSB (least significant bit) m = 0
The macro executes r times continuously at the interval specified by t when the LSB (least significant bit) of
m = 1.
Exceptions
If this command is received while a macro is being defined, the macro definition is aborted and the definition is
cleared.
If the macro is not defined or if r is 0, nothing is executed.
Continued . . .
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Chapter 5: Programming commands
111
MICR commands
MICR reading
These commands control the Magnetic Ink Character Recognition (MICR) check reader, including how it parses the
character strings on checks.
The section, MICR parsing, describes how to create a parsing format and how to create and maintain an exceptions
table.
Read MICR data and transmit
ASCII
ESC w 1
Hexadecimal 1B 77 01 A776: 1B 77 02 (B780 only) B780: B780: Decimal
27 119 1
Default:
All data returned
1B 77 01 = read & transmit MICR, position for endorsement
1B 77 01 = wait for check, read & transmit MICR, eject check
1B 77 02 = wait for check, read & transmit MICR, position for endorsement
Reads and transmits the MICR data and adds a carriage return (0x0D). One status byte precedes the MICR characters.
If no parsing format is selected with either of the define parsing format commands (see below), all data will be
returned, which is the default.
Status
Status byte value
Good read, data follows
0x00
Bad read, data follows
0x01
No check present, no data
0x02
Paper jam, no data
0x03
No MICR characters, no data
0x04
MICR characters
ASCII
Hexadecimal
Numerics
0 ... 9
0x30 ... 0x39
Unrecognized character
?
0x3F
Space
0x20
Amount symbol
&
0x26
Dash symbol
‘
0x27
“on us” symbol
(
0x28
Transit symbol
)
0x29
Transmit last MICR read
ASCII:
ESC w R
Hexadecimal: 1B 77 52
Decimal:
27 119 82
Resends the previously decoded MICR data (as if the parsing has not been defined) to the host. The return
data is defined in the “Read MICR data and transmit” command (1B 77 01) without parsing and presents the data from
the last MICR read since power-up or reset or indicates in the status that no read has yet occurred.
A776-PG00001 D 07/13
A776 (B780) Programming Guide
112
Chapter 5: Programming commands
MICR parsing
This section describes MICR parsing in detail and includes several examples of useful parsing variations. It also
describes how to create a parsing format and how to create and maintain an exception table.
Define parsing format, save in NVRAM
ASCII:
ESC w P d1 d2 … dn CR
Hexadecimal: 1B 77 50 d1 d2 … dn 0D
Decimal:
27 119 80 d1 d2 … dn 13
Defines and saves parsing format. See parsing parameter string options in this document. Send with this command
the parse data that is to be the default parse string at printer power-up. If no parameters are selected, parsing is not
performed.
d1 through dn are the parse string. The string must be CR terminated. If the string has invalid characters in it or is too
long, the printer will store a null string, and unparsed MICR data will be returned.
Define parsing format, do not save permanently
ASCII
Hexadecimal
Decimal
ESC w p
1B 77 70
27 119 112
Defines, but does not save parsing format. See parsing parameter string options in this document. Send as often as
desired to change the previous parse format string.
If no parameters are selected, parsing is not performed.
Same parameters as 1B 77 50....
Parsing parameter string options
Variable length fields
Variable length field name
Selector
Comments
Transit number
T
Full 9-digit routing/transit number
Bank number
B
Digits 4–8 of transit number
Check digit
D
Digit 9 of transit number
Account number
A
Check serial number
C
Separate from account number
Amount
$
This field may not be present or readable
Variable length field optional modifiers
Selector
Comments
Zero fill to length
0
ASCII zero preceding maximum length
Maximum length
nn
1- or 2-digit ASCII number
Remove space/dash
X
Replace space/dash with 0
x
Examples of variable length field format specifications
Account #, all characters in the field, keep spaces and dashes A
Account #, all characters in the field, replace spaces and dashes xA
Account #, maximum 12 characters, keep spaces and dashes 12A
Account #, always 12 characters zero filled, remove spaces and dashes 012XA
Continued . . .
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Chapter 5: Programming commands
113
Other parameters
Error number
E
One digit returned
0
Read OK
1
Read error: bad character, empty
field invalid length,
check digit invalid
Status
S
Two digits returned
01
No MICR data
09
Mexican check
08
Canadian check
05
Error in transit number
07
Error in account number
04
Error in check serial number
10
Business or commercial check
11
Amount field present
00
No error
Field separator
‘x
Field separator preceded by a single quote, so a field separator of the letter A would be
sent as ‘A (0x27 0x41).
If a carriage return is specified as a separator (0x27 0x0D), a final carriage return must still
terminate the parsing parameter string.
Country code
Un
One digit returned
n
Returned if US check
nothing
Returned if not US check
Country code
Km
One digit returned
m
Returned if Canadian check
nothing
Returned if not Canadian check
Check type
L
One digit returned
1
Personal check
2
Business or commercial check
Sample parsing formats
The following strings show various sample formats that you can use assuming they meet your parsing format needs.
Included with the sample format is a description of the data that is returned to the application.
ESC w p 18 A <CR>
• Maximum 18 characters in the account number
• Final carriage return
Continued . . .
A776-PG00001 D 07/13
A776 (B780) Programming Guide
114
Chapter 5: Programming commands
ESC w p 18 X A <CR>
• Maximum 18 characters in the account number with spaces and dashes removed
• Final Carriage Return
ESC w p 18 x A <CR>
• Maximum 18 characters in the account number with spaces and dashes replaced with 0
• Final carriage return
ESC w p 018 A <CR>
• Always 18 characters in the account number (high order zero-filled if necessary)
• Final carriage return
ESC w p 018 X A <CR>
• Always 18 characters in the account number with spaces and dashes removed
• Final carriage return
ESC w p 018 x A <CR>
• Always 18 characters in the account number with spaces and dashes replaced with 0
• Final Carriage Return
ESC w p T 18 X A 04C <CR>
• All characters in the transit number
• All characters in the account number (up to 18) with spaces and dashes removed
• Always four characters in the check number (zero-filled if check number is only three characters long)
• Final carriage return
ESC w p K9 X T 18 X A 04C <CR>
• U.S. check: all nine characters in the transit number (because there are no dashes)
• Canadian check: dash in transit number removed; “9” inserted at beginning, resulting in a fully numeric nine
character transit number
• All characters in the account number (up to 18) with spaces and dashes removed
• Always four characters in the check number (zero-filled if check number is only three characters long)
• Final carriage return
ESC w p T ‘/ A ‘/ C ‘/ S <CR>
• All characters in the transit number
• Field separator: /
• All characters in the account number
• Field separator: /
• All characters in the check number
• Field separator: /
• Two-digit status
• Final carriage return
Continued . . .
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Chapter 5: Programming commands
115
Notes:
All parameters are ASCII characters, i.e. greater than or equal to 0x20, with the exception of a non-ASCII character
enclosed in single quotes as a field separator. This applies both to parameter specifications sent from application to
printer, and to MICR data returned from printer to application.
Parameters are positional; their order in the parameter string is the order in which the parsed MICR data will be
returned. Unrecognized parameters will be ignored, and processing of the parsing parameters will stop. Any data
remaining after the unrecognized parameter will be treated as normal input data.
If parameters are not defined (for example, 1B 77 50 <CR> or 1B 77 70 <CR>) parsing is not selected. One status byte
followed by all decoded MICR characters will be returned. The chart on the next page is the default parsing format if no
other is selected:
Status
Status byte value
Good read, data follows
0x00
Bad read, data follows
0x01
No check present, no data
0x02
Paper jam, no data
0x03
No MICR characters, no data
0x04
MICR characters
ASCII
Hexadecimal
Numerics
0 ... 9
0x30 ... 0x39
Unrecognized character
?
0x3F
Space
0x20
Amount symbol
&
0x26
Dash symbol
‘
0x27
“on us” symbol
(
0x28
Transit symbol
)
0x29
Once a parsing format is specified, the following values are returned:
MICR characters
ASCII
Hexadecimal
Numerics
0 ... 9
0x30 ... 0x30
Space
0x20
Dash
0x2D
-
Field separator*
Country code*
*As specified in the parsing parameter string
A776-PG00001 D 07/13
A776 (B780) Programming Guide
116
Chapter 5: Programming commands
Check serial number
Parsing the check serial number
Most banks print the check serial number in three easily recognizable spots. The printer firmware will look for the
number in these spots, using the following ordered algorithm. The examples use letters to represent symbols on the
check:
t
o
$
-
c
x
Transit symbol
“on us” symbol
Amount symbol
Dash
Check serial number
Any other number
A number bracketed by “on us” symbols in the auxiliary “on us” field is the check serial number.
occcccco txxxxxxxxxt xxxxxxxxo
Otherwise, a three or more digit number to the right of the rightmost “on us” symbol, and to the left of the leftmost
amount symbol if an amount field is present, is the check serial number.
txxxxxxxxxt xxxxxxxxo cccc
txxxxxxxxxt xxxxxxxxo cccc $xxxxxx$
If both of these searches fail to produce the check serial number, extract the whole account number field from
between the rightmost transit symbol and the rightmost “on us” symbol. A three, four, or five-digit number to the right
of the rightmost transit symbol, separated by a space or a dash from the rest of the account number is the check serial
number.
txxxxxxxxxt cccc xxxxxxxxo
txxxxxxxxxt cccc-xxxxxxxxo
txxxxxxxxxt cccc xxxxxxxxo xx
If all of these searches fail to produce the distinct check serial number, and the check serial number field has been
specified in the parsing parameter string options, no check serial number will be returned. If it is imbedded within the
account number field, it will be returned as part of that variable length field.
Exceptions
Some banks print the check serial number in a location that cannot be electronically distinguished without specific
exception information, although it can be visually distinguished because it is repeated in the upper right corner of
the check. For these cases, the printer can hold up to nine exceptions for specific banks in its non-volatile memory
(NVRAM), which is accessed by the read and write NVRAM commands. The specific bank is picked out by its transit
number, and the firmware will look in the exception table for a transit number match before looking in the normal
check serial number locations.
In this example, without an exception table entry, the firmware would always pick the rightmost four-digit number as
the check serial number following rule two above. The bank with the three digit check serial number and the four digit
extension after the “on us” symbol would need to be exceptionally recognized:
txxxxxxxxxt ccc-xxxxxxxxxxoxxxx
txxxxxxxxxt xxx-xxxxxxxxxxocccc
In this example, without an exception table entry, the firmware would not be able to pick out the check serial number
because it is not separated from the rest of the account number:
txxxxxxxxxt ccccxxxxxxxxxxo
In this example, without an exception table entry, the firmware would not be able to pick out the check serial number
correctly, because it is imbedded within the rest of the account number:
txxxxxxxxxt xxx-ccc-xxxxxxxxxxo
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Chapter 5: Programming commands
117
Loading the exception table
The exception table begins at word 20 in NVRAM. Each entry takes five words. There is room for eight exceptions. An
application can load local exceptions into the printer using the write NVRAM command:
0x1B 0x73 n1 n2 k
which writes the two byte word n1:n2 to word k in NVRAM.
Exception table entry format
Each exception table entry consists of five words. The first two words contain the first eight characters of the transit
number by packing the low order nibble of the numeric transit number characters. For Canadian checks, eliminate the
dash and store the eight numerics.
The next three words are used as six individual bytes to tell the firmware how to interpret the MICR characters that fall
to the right of the rightmost transit symbol. Each of the six bytes is positional and consists of two parts: character type
and number.
The three high order bits of each byte mark the character type. The characters can be marked in three ways: check
serial # character, account # character, or “skip this character or symbol.”
The five low order bits of each byte contain the number of characters of that type to extract. Most exceptions will not
need to use all six bytes; in that case clear the unused bytes to zero.
Bits within byte
7
6
5 4
3 2
1
0
Check serial # character string
0
0
1 n
n n
n
n
Account # character string
0
1
0 n
n n
n
n
Character string to ignore
1
0
0 n
n n
n
n
Example 1
t123456780t12349876543210o
1234 is the check serial #
9876543210 is the account #
To load the second table entry, which starts at word 25, the transit number 123456780 would be stored in the first two
words of its table entry using this string of commands:
0x1B 0x73 0x12 0x34 25
0x1B 0x73 0x56 0x78 26
After the right transit symbol are immediately the four characters of the check serial #, followed immediately by the
ten characters of the account number. These would be bitwise encoded as:
and
0 0 1 0 0 1 0 0 (check #, four characters)
0 1 0 0 1 0 1 0 (account #, 10 characters)
then stored in the other three words of the table entry using:
0x1B 0x73 0x24 0x4A 27
0x1B 0x73 0x00 0x00 28
0x1B 0x73 0x00 0x00 29
A776-PG00001 D 07/13
A776 (B780) Programming Guide
118
Chapter 5: Programming commands
Example 2
t22137–632t001 6042202o927540
2754 is the check serial #
6042202 is the account #
To load the third table entry, which starts at word 30, the transit number 2137–632 would be stored in the first two
words of its table entry using this string of commands:
0x1B 0x73 0x22 0x13 30
0x1B 0x73 0x76 0x32 31
After the right transit symbol are four characters to skip, a seven digit account number, two characters to skip, and
finally a four digit check serial #. The final character to skip need not be encoded. These would be bitwise encoded as:
100
010
100
001
0 0 1 0 0
0 0 1 1 1
0 0 0 1 0
0 0 1 0 0
(skip four characters)
(account #, seven characters)
(skip two characters)
(check #, four characters)
then stored in the other three words of the table entry using:
0x1B 0x73 0x84 0x47 32
0x1B 0x73 0x82 0x24 33
0x1B 0x73 0x00 0x00 34
Maintaining the exception table
Present contents of the exception table can be examined using the read NVRAM command:
0x1B 0x6A k
which reads and returns word k in NVRAM. When the exception table is full, a new entry can replace an older, less
frequently used entry, by merely rewriting the words for that table entry.
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Chapter 5: Programming commands
119
User data storage
Write to user data storage
ASCII
Hexadecimal
Decimal
ESC ‘ m a0 a1 a2 d1 ... dm
1B 27 m a0 a1 a2 d1 ... dm
27 39 m a0 a1 a2 d1 ... dm
Value of m:
0 – 255
Writes m bytes of data to the user data storage flash page at the address specified. The printer waits for m bytes of data
following the 3-byte address, addr.
If any of the memory locations addressed by this command are not currently erased, the command is not executed.
The printer disables interrupts while writing to flash. Any command that cause data to be written to flash should be
followed by a 50 Msec delay to allow significant time for the write operation.
Read from user data storage
ASCII
Hexadecimal
Decimal
ESC 4 m a0 a1 a2
1B 34 m a0 a1 a2
27 52 m a0 a1 a2
Value of m:
0 – 255
Reads m bytes of data from the user data storage flash page at the address specified. Returns m bytes to the
application, followed by a carriage return (0Dh).
The high order byte of the address (a0) ranges from 0 to n2–1, with n2 specified in the flash allocation command. If the
flash allocation command has been used, the a0 = 0 always.
Read from non-volatile memory
ASCII
Hexadecimal
Decimal
ESC j k
1B 6A k
27 106 k
Range of k:
20 – 63 (decimal)
Reads a two-byte word from location k in the history EEROM. The printer returns the word at the next available
opportunity.
Write to non-volatile memory (NVRAM)
ASCII
Hexadecimal
Decimal
ESC s n1 n2 k
1B 73 n1 n2 k
27 115 n1 n2 k
Value of n1:
1st Byte
Value of n2:
2nd Byte
Range of k:
20 – 63 (decimal locations)
Writes the two-byte word, n1 n2, to location k in history EEROM.
A776-PG00001 D 07/13
A776 (B780) Programming Guide
120
Chapter 5: Programming commands
Select memory type (SRAM/flash)
Use this memory to save logos or user-defined fonts.
ASCII
Hexadecimal
Decimal
GS “ n
1D 22 n
29 34 n
Value of n:
48 – 53
n = 48 (ASCII n = 0) HEX 30
Loads active logo to RAM only. This is used to print a special logo but not have it take up flash memory. A logo defined
following this command is not preserved over a power cycle. The printer disables interrupts while writing to flash. Any
command that cause data to be written to flash should be followed by a 50 Msec delay to allow significant time for the
write operation.
n = 49 (ASCII n = 1) HEX 31
Loads active logo to flash memory. This is the default condition for logo flash storage. A logo defined following this
command is stored in flash memory.
n = 50 (ASCII n = 2) HEX 32
Loads user-defined characters to RAM only. This is the default condition for user-defined character storage. Any userdefined characters defined following this command are not preserved over a power cycle.
n = 51 (ASCII n = 3) HEX 33
Loads user-defined characters to flash memory. An application must use this command to store user-defined
characters in flash memory. Any user-defined characters defined following this command are stored in flash memory. A
user-defined character cannot be redefined in flash memory. The flash memory page must be erased by an application
before redefining user-defined characters. For more information, see the erase user flash sector (1D 40 n) command.
Specifies whether to load the logos or user-defined characters to logo/font flash memory or to RAM (volatile memory).
The selection remains in effect until it is changed via this command or until the power cycles. To specify permanent
font flash, also send 1D 22 81 01.
Flash memory user sectors allocation
ASCII
Hexadecimal
Decimal
GS “ U n1 n
1D 22 55 n1 n2
29 34 85 n1 n2
Default Value of n1:
1 (see below)
Default Value of n2:
1 (see below)
n1 is the number of 64k sectors used for logos and user-defined characters.
n2 is the number of 64k sectors used for user data storage.
n1 + n2 <= 6 (dec) (1M)
n1 + n2 <= 22 (dec) 16 (hex) (2M)
If n1 + n2 is greater than the maximum number of sectors available, the command is ignored. The printer returns
NACK.
Issuing this command with parameters different from current parameters will erase all sectors. The printer returns ACK.
Issuing this command with parameters the same as current parameters will do nothing. The printer returns ACK.
Note: Flash memory is made up of user and program code. Therefore, the available flash memory space will vary with the
amount of program code utilized.
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Chapter 5: Programming commands
121
Expanded flash memory allocation
ASCII
Hexadecimal
Decimal
GS “ 0x80
1D 22 80
29 34 128
This sequence of commands is used to specify the number of flash sectors to be used for different applications. The
begin and end sequence commands must be sent. All areas do not need to have flash sectors specified.
The command to request the number of user sectors is optional.
If more sectors are specified than are available the command sequence is ignored and the printer returns NACK.
If the sectors are available, and different from current parameters, all sectors are erased and the printer returns ACK.
If the sectors specified are the same as current parameters, nothing is erased and the printer returns ACK.
1D 22 80 00
1D 22 80 30
1D 22 80 31 nL nH
1D 22 80 32 nL nH
request number of user sectors available, printer returns nL nH
begin expanded flash memory allocation sequence
n sectors to logo/font area
n sectors to us
Define extended user-defined character set
ASCII
Hexadecimal
Decimal
US & s c1 c2 [character 1 data] ... [character k data]
1F 26 s c1 c2 [character 1 data] ... [character k data]
31 38 s c1 c2 [character 1 data] ... [character k data]
Values and ranges:
s = the number of dot rows in the character cell (maximum 64)
c = the ASCII codes of the first (c1) and last (c2) characters respectively
c1 = Hex 20–FF (20 is always printed as a space)
c2 = Hex 20–FF (20 is always printed as a space)
To define only one character, use the same code for both c1 and c2
j = s/8 = the number of bytes (vertically) in the character cell
k = c2 – c1 + 1 = the number of characters to be defined in this command string
[character i data] = [ni d1 ... d(j x ni)] for 1 ≤ i ≤ k
ni = the number of dot columns for the ith character, 1 ≤ ni ≤ 16
d = the dot data for the characters
The number of bytes for the ith character cell is j x ni.
The bytes are printed down and across each cell.
See the illustration.
Defines and enters downloaded characters into RAM. The command may be used to overwrite single characters. Userdefined characters are available until power is turned off or the Initialize Printer command (1B 40) is received.
Any invalid byte (s, c1, c2, n1, n2) aborts the command.
er data storage area
1D 22 80 33 nL nH
1D 22 80 34 nL nH
1D 22 80 40
n sectors to permanent font area
n sectors to electronic journal area
end expanded flash memory allocation sequence
n = 0xFFFF means allocate all remaining sectors to this area; only one area can specify this parameter value.
A776-PG00001 D 07/13
A776 (B780) Programming Guide
122
Chapter 5: Programming commands
Select flash area for storing logos and user-defined characters
ASCII
Hexadecimal
Decimal
GS” 0x81
1D 22 81 n
29 34 129 n
Value of n: n specifies
n=0
select logo/font flash
n=1
select permanent font flash
n>1
reserved
Logos and user-defined characters can be stored in either flash area.
Erase user flash sector
ASCII
Hexadecimal
Decimal
GS @ n
1D 40 n
29 64 n
Value of n:
49 – 51
n = 49 (ASCII n = 1) HEX 31
This command erases all 64K flash memory sectors allocated to user-defined character and logos storage. Those
sectors should be erased in two situations: when the logo definition area is full and an application is attempting to
define new logos, and when an application wants to replace one user-defined character set with another. In both
cases, all logos and character set definitions are erased and must be redefined.
n = 50 (ASCII n = 2) HEX 32
This command erases all sectors available for user data storage.
n = 51 (ASCII n = 3) HEX 33
This command erases all sectors available for permanent fonts.
Erases a page of flash memory and sends a carriage return when the operation is complete.
Related information
See command “Flash memory user sectors allocation” (1D 22 55 n1 n2).
See also command “Expanded flash memory allocation” (1D 22 80...) and “Select flash area” (1D 22 81 n).
Important: While erasing flash memory, the printer disables all interrupts, including communications. To provide feedback
to the application, the printer responds to the application when the erase is complete with a 0D (Hex). After sending the
erase user flash sector (1D 40 n) command, an application should wait for the response from the printer before sending data.
Otherwise, data will be lost. If an application is unable to receive data, it should wait a minimum of ten seconds after sending
the erase user flash sector (1D 40 n) command before sending data.
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Chapter 5: Programming commands
123
User storage status (ColorPOS®)
ASCII
Hexadecimal
Decimal
GS 0x97 m n
1D 97 m n
29 151 m n
Value of m:
m specifies the type of stored object to
be reported:
m=0
return the kilobytes (1024) of free user RAM,
n = 0 gets largest free block size
n = 1 gets the total size free
m = 3
return the CRC of a logo indexed by n
m=5
return the CRC of a macro that has been stored, n = 0
m = 0
the value of n selects a return of either the largest free block or total free size, since contiguous allocation cannot
be assumed as this area is completely under user control through address parameters.
n=0
if only one instance of an object type is allowed (macro, user data, user defined characters).
n
is the item index when more than one object of type m is possible
n <= FE, see the comments about logo and character set indexes
n = FF : return a list describing all the existing items of type m
Note: When a specific item request is made, a returned CRC value of 0 0 indicates that no item is stored at that index. There
is a practically negligible possibility that a valid object will have a 0 0 CRC; if this is of concern, applications should check the
object downloaded byte sequence to verify that this is not the case (as well as store the CRC as an “ID” for the object if needed
later for return value comparisons).
Downloaded character sets are identified by integer extending the existing code page selection as enumerated in the
select international character set (= select character code table) command. The firmware standard list is incrementally
extended each time a new single or double byte set is downloaded.
Single byte downloaded fonts are selected by
m = 3 and 0x40 <= n < 0x80.
Since there are only three double-byte character sets supported, the value 0x80 / 0xA0 / 0xC0 selects the first, second,
third downloaded double byte font respectively. In return, each downloaded double byte character band is reported
individually as 0xC0, 0xC1, 0xC2 ….for as many bands as have been defined.
This command returns the state of occupancy of available flash storage and user RAM. The printer response for each
item is a 4 byte header, 0x1D 0x97 nL nH (number of bytes that follow in the response) and for each item a
4 byte structure: 1st m (type) byte, 2nd n index byte followed by a 2 byte CRC in Lo Hi order of the data string in that
storage space.
The return for m = 0–2 is the header and one 4-byte item giving remaining storage space in the CRC position in
Lo Hi order: 1D 97 4 0 m 0 fL fH, where f is the kBytes of storage remaining. Note that RAM storage space is not content
typed, while available flash is statically divided into logo, character set, and user data types. Change of the divisions is
possible via flash erasure and flash
allocation commands.
If the communication protocol is RS-232C – Xon/Xoff, then “X symbol substitution response” should be configured with
the setting communications parameters command (US STX , 1F 02).
A776-PG00001 D 07/13
A776 (B780) Programming Guide
124
Chapter 5: Programming commands
Lock permanent font flash area
ASCII
Hexadecimal
Decimal
GS 0xF0 0x10 n
1D F0 10 n
29 240 16 n
Value of n:
n = 0x00
n = 0x01
lock permanent font flash (default)
unlock permanent font flash to erase or delete
This command allows or prevents the permanent font area to be erased.
Note: This only affects the 1D 40 33 commands and downloading a font to permanent font area when a font already exists
with the same ID.
Flash download
These commands are used to load firmware into the printer.
The commands are listed in numerical order according to their hexadecimal codes. Each
command is described and the hexadecimal, decimal, and ASCII codes are listed.
There are three ways to enter the download mode.
1. Powering the printer up with DIP Switch 1 up.
2. While the printer is running normally, send the command, “Switch to flash download mode”
(1B 5B 7D) to leave normal operation and enter the download mode.
3. If the flash if found corrupted during level 0 diagnostics the download mode is automatically entered after the
printer has reset.
The printer never goes directly from the download mode to normal printer operation. To return to normal printer
operation either the operator must turn the power off and then on to reboot or the application must send a command
to cancel download mode and reboot. DIP switch 1 must in UP position during reboot to return to normal printer
operation.
When each flash download command is received, the printer returns either ACK or NAK to the host computer when
each command is received:
• ACK (hexadecimal 06)
Sent when the printer has received a host transmission and has completed the request successfully.
• NAK (hexadecimal 15)
Sent when a request is unsuccessful.
Communicates to the printer information downloaded from applications. Data is downloaded to flash memory to
query the state of the firmware, calculate the firmware CRC and other functions.
Switch to flash download mode
ASCII
Hexadecimal
Decimal
ESC [ }
1B 5B 7D
27 91 125
Puts the printer in flash download mode in preparation to receive commands controlling the downloading of objects
into flash memory. When this command is received, the printer leaves normal operation and can no longer print
transactions until the reboot the printer command (1D FF) is received or the printer is rebooted.
This command does not affect the current communication parameters. Once the printer is in flash download mode,
this command is no longer available.
Related information
See entering flash download mode elsewhere in this book to put the printer in flash download mode using the
configuration menu.
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Chapter 5: Programming commands
125
Return boot sector firmware part number
ASCII
Hexadecimal
Decimal
GS NULL
1D 00
29 0
Returns ACK (Hex 06) + 12 bytes ASCII string describing the flash memory boot sector firmware part number.
Ex : 189–1234567A
Exceptions
Available only in download mode.
Return segment number status of flash memory
ASCII
Hexadecimal
Decimal
GS SOH
1D 01
29 1
Returns the size of the flash used. There may be 16
(1 Meg) or 32 (2 Meg) sectors in flash memory. This command assures that the firmware to be downloaded is the
appropriate size for flash memory. The value returned is the maximum sector number that can be accepted by the
select sector to download (1D 02 nn) command.
Exceptions
Available only in download mode.
Select flash memory sector to download
ASCII
Hexadecimal
Decimal
GS STX nn
1D 02 nn
29 2 nn
Value of n:
The flash sector to which the next
download operation applies
Range of n:
0
Selects the flash sector (n) for which the next download operation applies. The values of the possible sector are
restricted, depending upon the flash part type. The printer transmits an ACK if the sector number is acceptable or an
NAK if the sector number is not acceptable. Sector numbers start at 0.
Exceptions
Available only in download mode.
Get firmware CRC
ASCII
Hexadecimal
Decimal
GS ACK
1D 06
29 6
Causes the printer to calculate the CRC for the currently selected sector and transmits the result. This is performed
normally after downloading a sector to verify that the downloaded firmware is correct. The printer also calculates the
CRC for each sector during power up and halts the program if any sector is erroneous.
The printer transmits ACK if the calculated CRC is correct for the selected sector; NAK if the CRC is incorrect or if no
sector is selected.
A776-PG00001 D 07/13
A776 (B780) Programming Guide
126
Chapter 5: Programming commands
Return microprocessor CRC
ASCII
Hexadecimal
Decimal
GS BEL
1D 07
29 7
Returns the CRC calculated over the boot sector code space.
Formulas
ACK <low byte> <high byte>
Erase all flash contents except boot sector
ASCII
Hexadecimal
Decimal
GS SO
1D 0E
29 14
Causes the entire flash memory to be erased.
The printer returns ACK if the command is successful; NAK if it is unsuccessful.
Exceptions
Available only in download mode.
Return main program flash CRC
ASCII
Hexadecimal
Decimal
GS SI
1D 0F
29 15
Returns the CRC calculated over the flash firmware
code space.
The format of the response is ACK <low byte> <high byte>.
Erase selected flash sector
ASCII
Hexadecimal
Decimal
GS DLE n
1D 10 n
29 16 n
Value and range of n:
0–7 = 512k bytes flash
0–15 = 1M bytes flash
0–31 = 2M bytes flash
Erases the previously selected sector. The printer transmits ACK when the sector has been erased. If the previous sector
is not successfully erased, or if no sector was selected, the printer transmits NAK.
Exceptions
Available only in download mode.
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Chapter 5: Programming commands
127
Download to active flash sector
ASCII
Hexadecimal
Decimal
GS DC1 aL aH cL cH d1… dn
1D 11 aL aH cL cH d1… dn
29 17 aL aH cL cH d1… dn
Value of aL:
low byte of the address
Value of aH:
high byte of the address
Value of cL:
low byte of the count
Value of cH:
high byte of the count
Value of d:
data bytes, 0–255
Value of n (for number of data bytes)
Range of address (aL aH)
Range of count (cL cH)
((cH * 256) + cL)
0000–FFFF (hexadecimal)
0001–FFFF (hexadecimal)
Range:
Addresses run from 0 to 64K.
Contains a start address (aH × 256 + aL) and count (cH × 256 + cL) of binary bytes to load into the selected sector,
followed by that many bytes. The start address is relative to the start of the sector. Addresses run from
0 to 64K. The count must always be 256.
The printer may return one of several responses. ACK means that the data was written correctly and the host should
transmit the next block. NAK means that, for some reason, the data was not written correctly. This could mean that
communications failed or that the write to flash failed. The alternatives seem to be to retry the block or halt loading
and assume a hardware failure.
Related information
Available only in download mode.
Reset firmware
ASCII
Hexadecimal
Decimal
GS (SPACE)
1D FF
29 255
Ends the load process and reboots the printer. Before executing this command, the printer should have firmware
loaded and external switches set to the runtime settings. Application software for downloading should prompt the
user to set the external switches and confirm before sending this command. If the downloading was started from a
diagnostic, the reboot will cause the printer to re-enter download state unless the external switches are changed.
A776-PG00001 D 07/13
A776 (B780) Programming Guide
128
Chapter 6: DH emulation
Ethernet setup commands
The following commands are designed to set the required printer internal parameters for Ethernet operation. The
commands can be used only in the Flash download (boot) mode. See Chapter 3 for default setup.
Restore default settings
ASCII
Hexadecimal
Decimal
US BS NUL
1F 08 00
31 8 0
Restores the Ethernet settings to the preset values.
Default settings are:
IP address:
Net mask:
Gateway:
Raw TCPIP port 9001:
Telnet Daemon:
LP Daemon:
Bootp:
DHCP:
Inactivity timeout: Keep alive pings:
192.0.0.192
0.0.0.0
none
active
enabled
disabled
disabled
enabled
enabled
disabled
(in use after boot timeout of two minutes)
(default mask of selected IP is used)
Set IP address
ASCII
Hexadecimal
Decimal
US BS SOH n1 n2 n3 n4
1F 08 01 n1 n2 n3 n4
31 8 1
n1 n2 n3 n4
Default: 192.0.0.192
Sets the IP address value specified by the values of n1 to n4.
Set Net Mask
ASCII
Hexadecimal
Decimal
Default: US BS STX n1 n2 n3 n4
1F 08 02 n1 n2 n3 n4
31 8 2 n1 n2 n3 n4
0.0.0.0
Sets the Net Mask value specified by the values n1 to n4.
Set Gateway
ASCII
Hexadecimal
Decimal Default: US BS ETX n1 n2n3 n4
1F 08 03 n1 n2n3 n4
31 8 3 n1 n2n3 n4
none
Sets the printer to the gateway having the IP address value specified by the values n1 to n4. A gateway, even when the
printer is on another subnet, is not always needed.
The printer initiates no connection and obtains the gateway address from the host packets.
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Chapter 6: DH Emulation
129
Set raw TCPIP port 9001
ASCII
Hexadecimal
Decimal
US BS EOT n1 n2 n3 n4
1F 08 04 n1 n2 n3 n4
31 8 4 n1 n2 n3 n4
n1 = 0:
n1 = 1:
disabled
enabled
Default: enabled
Sets the port where the printer will look for raw tcpip communications.
LP Daemon
ASCII
Hexadecimal
Decimal
US BS ENQ n1
1F 08 05 n1
31 8 5
n1
n1 = 0: n1 = 1:
disabled
enabled
Default: disabled
Enables or disables the printer LP Daemon. The LP listens on port 515.
Telnet Daemon
ASCII
Hexadecimal
Decimal
US BS ACK n1
1F 08 06 n1
31 8 6
n1
n1 = 0:
n1 = 1:
disabled
enabled
Default: enabled
Enables or disables the printer Telnet server. The Telnet server listens on port 23.
BootP
ASCII
Hexadecimal
Decimal
US BS BELL n1
1F 08 07 n1
31 8 7
n1
n1 = 0:
n1 = 1:
disabled
enabled
Default: disabled
Enables or disables the use of BootP at power-up to obtain an IP address. BootP is a subset of DHCP.
DHCP (auto-configuration)
ASCII
Hexadecimal
Decimal
US BS BS n1
1F 08 08 n1
31 8 8 n1
n1 = 0:
n1 = 1:
disabled
enabled
Default: enabled
Enables or disables the use of DHCP at power-up to obtain an IP address. If no address is found within two minutes,
DHCP obtains the default IP address.
A776-PG00001 D 07/13
A776 (B780) Programming Guide
130
Chapter 6: DH emulation
Inactivity timeout
ASCII
Hexadecimal
Decimal
US BS HT n1
1F 08 09 n1
31 8 9 n1
n1 = 0:
n1 = 1:
disabled
enabled
Default: enabled
Enables or disables resetting of open TCP ports after five (5) minutes inactivity.
Keep-alive pings
ASCII
Hexadecimal
Decimal
US BS LF n1
1F 08 0A n1
31 8 10 n1
n1 = 0:
n1= 1:
disabled
enabled
Default: enabled
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Chapter 6: DH Emulation
131
Chapter 6: DH emulation for B780
List of DH 4700 Emulation Commands
This table lists the commands in numerical order according to their hexadecimal codes. The page number indicates
where a complete description of the command can be found. Some commands listed are not implemented (they are
identified as not implemented). If received, they are ignored and not sent to the print buffer as data.
Hexadecimal Code
Command Name
Page
03
End of Text
147
05 03
Status: 3 Bit
154
0A
Line Feed
147
0B
Vertical Tab
147
0C
Eject Slip
0D
Carriage Return
147
0e
Double-Wide Font
150
0f
Double-Wide Off
150
19
Setup Parameters
147
1B 00
Reset Printer
148
1b 05
Status: 6 Bit
154
1B 07
Cash Drawer 1
148
1B 08
Cash Drawer 2
148
1B 0C
Document Clamp Open
148
1B 13
Self Test
148
1B 17
Document Validation
148
1B 1A, 1B 5A
Receipt/Journal Print
148
1B 1C
Document Clamp Close
149
1b 1d
Graphics: 5 Dot
153
1b 21
Character Set
151
1B 41
Form Eject
149
1B 42 75
Download (Not Implemented)
149
1b 43
Underline Print
152
1B 44
Underline Off
152
1b 45
Double-High Off
152
Continued on next page . . .
A776-PG00001 D 07/13
A776 (B780) Programming Guide
132
Chapter 6: DH emulation
List of DH emulation Commands continued:
Hexadecimal Code
Command Name
Page
1B 46
Form In (Not Implemented) 149
1B 47
Select (Not Implemented)
149
1b 48
Double-High Font
152
1B 49
Either Form-In Sensor (Not Implemented) 149
1B 4A
Both Form-In Sensors (Not Implemented) 149
1B 4B
Busy Until Buffer Empty
149
1B 4C
Clamp Delay
149
1b 50
Pitch Selection
152
1b 52
Upside-Down Off
152
1B 53
Print Speed (Not Implemented)
150
1b 55
Upside-Down Print
152
1B 56
Status-Firmware
154
1B 57
Buffered Validate
150
1B 60
Buffer Clear
150
1B 7C
Wait for Slip
1B 7D n
Rotate Font 90 degrees
1B 7E
Cancel Slip Waiting
1e
Graphics
153
1F c n n n 1F
Repeat Character
150
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Chapter 6: DH Emulation
133
List of DH 4700 Command Descriptions
The command descriptions in this section are grouped in the following categories:
· Printer Function Commands
· Print Characteristics Commands
· Graphics Commands
· Printer Status Commands
Within each group the commands are listed in numerical order according to their hexadecimal codes. Each command
is described and the hexadecimal, decimal, and ASCII codes are listed.
Printer Function Commands
These commands control the following basic printer functions:
· Printing
· Feeding paper
· Moving the printhead
· Resetting the printer
The commands are listed numerically by hexadecimal code.
End of Text
Informs printer to send an acknowledge (Hexadecimal 06, Decimal 6, ASCII ACK) to the host computer after all
characters have been printed and all commands performed.
Hexadecimal
Decimal
ASCII
03
3
ETX
Line Feed
Prints the data in the buffer and feeds the paper one line. The height of the line is determined by the internal DIP
switch settings or by the Set Up Parameters command (19 n).
Hexadecimal
Decimal
ASCII
0A
10
LF
Vertical Tab
Prints any data in the buffer and then advances the paper .02083 inches (0.523mm).
Hexadecimal
Decimal ASCII
0B
11
VT
Carriage Return
Prints the data in the buffer and advances the paper if Auto Line Feed is enabled either by the internal DIP switch
settings or by the Set Up Parameters command (19 n). See “Chapter 3: Diagnostics and Print Test” for more information.
Hexadecimal
Decimal
ASCII
0D
13
CR
Setup Parameters
Sets temporary values for default printer parameters. N is the sum of the values for each parameter.
Hexadecimal
Decimal
ASCII
19 n
25 n
EM n
Value of n
Hexadecimal
Decimal
ASCII
Parameter
Setting
00
01
01
NUL
Auto Line Feed
SOH
ON
OFF
00
02
02
NUL
Characters per Line
STX
40
ALT
00
04
08
0C
NUL
Journal Lines/Inch
EOT
BS
FF
8.0
6.9
6.0
5.3
0
4
8
12
A776-PG00001 D 07/13
A776 (B780) Programming Guide
134
Chapter 6: DH emulation
00
10
20
30
00
40
0
16
32
48
NUL
Validation Lines/Inch
DLE
SPACE
0
0NUL
64
Print Self Test
NO
@
(After setting temporary parameters) YES
8.0
6.9
6.0
5.3
ALT selects the previous pitch selection.
Reset Printer
Resets and initializes the printer. This command is processed immediately. All data in the buffer is lost. The printer reinitializes
with the default DIP switch settings.
Hexadecimal
Decimal
ASCII
1B 00
27 0
ESC NUL
Cash Drawer 1
Opens the cash drawer. If a Y-cable is used to split the cash drawer connector so two cash drawers can be connected to
the printer, the cash drawer connected to the first connector (labeled 1 or A) will be opened.
Hexadecimal
Decimal
ASCII
1B 07
27 7
ESC BEL
Cash Drawer 2
Opens the second cash drawer. If a Y-cable is used to split the cash drawer connector so two cash drawers can be
connected to the printer, the cash drawer connected to the second connector (labeled 2 or B) will be opened.
Hexadecimal
Decimal
ASCII
1B 08
27 8
ESC BS
Document Clamp Open
Opens the platen. Any forms still in the printer may fall back into the validation station when the platen is opened. This
command enables the Receipt/Journal paper feed and disables the Slip/Validation paper feed.
Hexadecimal
Decimal
ASCII
1B 0C
27 12
ESC FF
Self Test
Clears all data in the print buffer and prints the current configuration parameters. This functions the same as the
general print test
Hexadecimal
Decimal
ASCII
1B 13
27 19
ESC DC3
Document Validation
Opens the platen. Once a form is detected, the platen will automatically close. This command enables the Slip/
Validation paper feed and disables the Receipt/Journal paper feed.
Hexadecimal
Decimal
ASCII
1B 17
27 23
ESC ETB
Receipt/Journal Print
Closes the platen. The 1B 5A version of the command closes the platen when no form has been detected. This
command enables the Receipt/Journal paper feed and disables the Slip/Validation feed.
Hexadecimal
Decimal
ASCII
1B 1A
27 90
ESC SUB
1B 5A
27 26
ESC Z
Note: The ASCII SUB character cannot be sent by some PC applications. In that case, use the following version of the
Receipt/Journal Print command.
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Chapter 6: DH Emulation
135
Document Clamp Close
Closes the platen when the form has been detected and the time for the clamp delay is up. This command enables the
Slip/Validation paper feed and disables the Receipt/Journal paper feed.
Hexadecimal
Decimal
ASCII
1B 1C
27 28
ESC FS
Form Eject
Ejects the form from the validation station after it has been printed.
Hexadecimal
Decimal
ASCII
1B 41
27 65
ESC A
Download
This command is not supported and is ignored if received.
Hexadecimal
Decimal
ASCII
1B 42 75
27 66 117 ESC B u
Form In
This command is not supported and is ignored if received.
Hexadecimal
Decimal
ASCII
1B 46
27 70
ESC F
Select
This command is not supported and is ignored if received.
Hexadecimal
Decimal
ASCII
1B 47
27 71
ESC G
Either Form-In Sensor
This command is not supported and is ignored if received.
Hexadecimal
Decimal
ASCII
1B 49
27 73
ESC I
Both Form-In Sensors
This command is not supported and is ignored if received.
Hexadecimal
Decimal
ASCII
1B 4A
27 74
ESC J
Busy Until Buffer Empty
Changes the state of the RTS (Request to Send) line until the buffer is empty. This command is processed immediately.
Hexadecimal
Decimal
ASCII
1B 4B
27 75
ESC K
Clamp Delay
Sets the time that the printer waits from when it detects an inserted form to when it clamps the platen closed. This
allows time for the form to be lined up correctly and held still.
Hexadecimal
Decimal
ASCII
1B 4C n
27 76 n
ESC L n See table
Value of n
Value of n
Hexadecimal
Decimal
ASCII
Time of Clamp Delay
00
0
NUL
No delay
01
1
SOH
0.250 seconds
02
2
STX
0.500 seconds (default)
03
3
ETX
1.00 seconds
A776-PG00001 D 07/13
A776 (B780) Programming Guide
136
Chapter 6: DH emulation
Print Speed
This command is not supported and is ignored if received.
Hexadecimal
Decimal
ASCII
1B 53
27 83
ESC S
Buffered Validate
Opens the platen to allow a form to be inserted. Any data that is received after this command will not be printed until
the form is detected. This command enables the Slip/Validation paper feed and disables the Receipt/Journal paper
feed.
Hexadecimal
Decimal
ASCII
1B 57
27 87
ESC W
Buffer Clear
Clears all print characters and control codes from the buffer. All current settings are maintained. This command does
not return the printer to its default condition. The command is processed immediately.
Hexadecimal
Decimal
ASCII
1B 60
27 96
ESC ‘
Repeat Character
Repeats any printable characters or control codes up to 255 times. This command is best used to send several Line
Feed commands (0A), or to print a single character a certain number of times.
Hexadecimal
Decimal
ASCII
Value of c
1F c n n n 1F
31 c n n n 31 US c n n n US
Control Code
or Character
Value of n
30-39 Hexadecimal
48-57 Decimal
0-9 (ASCII)
To send 101 Line Feed commands, send the following string:
1F 0A 31 30 31 1F
where 1F starts the command, 0A indicates the Line Feed command, 31 (Hex) equals ASCII 1, 30 (Hex) equals ASCII
0, 31 (Hex) equals ASCII 1 (thus 101 indicates the number of times to repeat the Line Feed command), 1F stops the
command.
Print Characteristics Commands
These commands affect the appearance of printed information. They control the following:
· Character set selection
· Character formatting
· Print orientation
The commands are listed numerically by hexadecimal code.
Double-Wide Font
Starts double-wide printing. The pitch of the double-wide font is half of the currently selected font. If the currently
selected font is 40 characters per line (13.9 pitch), the double-wide characters will print at 20 characters per line (6.9)
lines per inch.
This command may be used with the Double-High command 1B 48.
Hexadecimal
Decimal ASCII
0E
14
SO
Double-Wide Off
Turns off double-wide printing.
Hexadecimal
Decimal ASCII
0F
15
SI
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Chapter 6: DH Emulation
137
Character Set
Selects the character set. The default character set is defined by the internal DIP switch.
Hexadecimal
Decimal
ASCII
Value of n
1B 21 n
27 33 n
ESC ! n
See table
Value of n
Hexadecimal
Decimal
ASCII
Character Set
41
65
A
PC US (Code Page 437)
42
66
B
United Kingdom English
43
67
C
German
44
68
D
French
49
73
I
Italian
4B
75
K
Spanish
4C
76
L
Hebrew (Code Page 862) (does not emulate A721)
If a character set other than PC US (Code Page 437) is selected, the unique characters will be substituted with
characters in the PC US set. See the following tables for the substitutions.
A776-PG00001 D 07/13
A776 (B780) Programming Guide
138
Chapter 6: DH emulation
Underline Print
Activates the 9th wire on all character cells to underline all printable characters, including a space (blank) character.
Hexadecimal
Decimal ASCII
1B 43
27 67
ESC C
Underline Off
Turns off underline printing.
Hexadecimal
Decimal ASCII
1B 44
27 68
ESC D
Double-High Off
Turns off double-high printing.
Hexadecimal
Decimal ASCII
1B 45
27 69
ESC E
Double-High Font
Starts double-high printing. This command requires the printhead to make two passes to print one double-high line.
The paper is automatically advanced between each pass. This command may be used with the Double-Wide Font
command (0E).
Hexadecimal
Decimal ASCII
1B 48
27 72
ESC H
Pitch Selection
Selects the character pitch. The standard pitch on the receipt is 44 characters per line and compressed pitch is 56
characters per line. On the slip the number of characters per line is 42 or 51. When n > 4, text may wrap to the next line.
Hexadecimal
Decimal
ASCII
Value of n
1B 50 n
27 80 n
ESC P n See table
Value of n
Characters per line
Hexadecimal
Decimal
ASCII
DH
B780 Receipt
B780 Slip
00
0
NUL
33
44
42
01
1
SOH
36
44
42
02
2
STX
40
44
42
03
3
ETX
44
44
51
04
4
EOT
50
56
51
05
5
ENQ
57
56
51
06
6
ACK
66
56
51
Upside-Down Off
Turns off upside-down printing.
Hexadecimal
Decimal ASCII
1B 52
27 82
ESC R
Upside-Down Print
Starts upside-down printing. Available for both journal and validation printing. Lines are printed in the order they are
received from the host. The first line of data is the last line of text after the slip is turned right-side up for reading.
Hexadecimal
Decimal ASCII
1B 55
27 85
ESC U
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Chapter 6: DH Emulation
139
Graphics Commands
These commands are used to control the way graphics are entered or printed. They are listed in numerical order of their
hexadecimal codes.
Graphics
Enters graphics printing mode which prints all available dots (uses all wires in the printhead). Any combination of
dots may be printed in a graphics cell. Each graphics cell is eight dots wide by nine dots high, with nine bytes of data
needed to define the cell (each byte defines the row of eight dots). The command must precede the nine bytes that
define the cell. Graphics and text may be printed on the same line.
Do not use the command again to turn off this graphics mode as the printer will expect another set of bytes to define
a new cell.
Hexadecimal
Decimal
ASCII
1E
30
RS
The following representation of the graphics cell shows how the cell is defined and which bits define which dots in the
cell (bit 0 is the least significant bit; bit 7 is the most significant bit).
Bit Number
7
6
5
4
3
2
1
1st Byte
o
o
o
o
o
o
o
2nd Byte
o
o
o
o
o
o
o
3rd Byte
o
o
o
o
o
o
o
4th Byte
o
o
o
o
o
o
o
5th Byte
o
o
o
o
o
o
o
6th Byte
o
o
o
o
o
o
o
7th Byte
o
o
o
o
o
o
o
8th Byte
o
o
o
o
o
o
o
9th Byte
o
o
o
o
o
o
o
Each line may have up to 25 graphics cells (full-dot graphics). The print line is printed unidirectionally.
Use six Vertical Tab commands (0B) or one Line Feed command (0A) between each line (8 lines/inch).
Graphics: 5 Dot
Enters or exits graphics printing mode which prints only the top five dots of the column (corresponding to the top five
wires of the printhead). These top five dots correspond to the least significant five bits (bits 0-4) of the data sent to the
printer as shown in the table.
Dots (Top to Bottom)
1st Dot (Top)
4
Bit
24
16
2nd Dot
3
23
8
3rd Dot
2
22
4
4th Dot
1
21
2
5th Dot (Bottom)
0
2
1
Hexadecimal
Decimal
ASCII
1B 1D
27 29
ESC GS
0
Use the following characters to define the graphics (least significant five bits):
Hexadecimal: 20-3F
Decimal: 32-63
ASCII: SP-?
Continued . . .
A776-PG00001 D 07/13
A776 (B780) Programming Guide
140
Chapter 6: DH emulation
Each byte of data sent defines each column of the graphic to be printed. The first byte defines the column in the left
margin, with the following bytes defining the columns to the right, for a total of up to 200 columns in the print line.
The print line is printed unidirectionally. Graphics and text may be printed on the same line.
Use three Vertical Tab commands (0B) to overlap printing by half a dot with the next line. Each vertical tab advances
the paper by 0.02083 inches, with three tabs advancing the paper by 0.062 inches.
Note: This DH printer command provides compatibility with earlier DH model printers. It is generally not used for new
applications. See the Graphics command (1E) for the more generally used command.
Printer Status Commands
These commands enable the printer to communicate its status to the host computer.
The commands are listed numerically by hexadecimal code.
Status: 3 Bit
Transmits the status of the paper sensors and the condition of the printer. This command is processed immediately.
Hexadecimal
Decimal ASCII
05 03
5 3
ENQ ETX
The transmitted status is shown in the table:
Bit
0
1
0
Form Present
Form Not Present
1
Paper Present
Paper Not Present
2
Printer Is On-Line
Fault Condition
Note: This DH printer command provides compatibility with earlier DH model printers. It is generally not used for new
applications. See the Status: 6 Bit command (1B 05) for the more generally used command.
Status: 6 Bit
Transmits the status of the paper sensors, cash drawers, forms clamp, and the condition of the printer. This command is
processed immediately. The transmitted status is shown in the table below.
Hexadecimal
Decimal ASCII
1B 05
27 5
ESC ENQ
Bit
0
1
0
Form Present
Form Not Present
1
Paper Present
Paper Not Present
2
Printer Is On-Line
Fault Condition
3
Cash Drawer 1 Closed
Cash Drawer 1 Open
4
Cash Drawer 2 Closed
Cash Drawer 2 Open
5
Forms Clamp Closed
Forms Clamp Open
Status-Firmware
Used for RS-232C printers only. Causes the printer to return 3 bytes (000).
Hexadecimal
Decimal
ASCII
1B 56
27 86
ESC V
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Appendix A: Commands by hexadecimal code
141
Appendix A:
Commands listed by hexadecimal code
Code (hexadecimal)
Command Page
09
Horizontal tab
47
0A
Print and feed paper one line
44
0C
Print and eject slip
44
0C
Print and return to standard mode
0D
Print and carriage return
44
10
Clear printer
36
10 04 n
Real-time status transmission (DLE sequence)
91
10 05 n
Real-time request to printer (DLE sequence)
94
10 04 07
Real -time imager status
137
10 04 03
Real-time error status
138
10 05 06
Real-time cancel image transmission
138
11
Close form
37
12
Select double-wide characters
53
13
Select single-wide characters
53
14 n
Feed n print lines
44
15 n
Feed n dot rows
45
16 n
Add n extra dot rows
45
17
Print
46
18
Cancel print data in page mode
18
Open form
37
1A
Perform partial knife cut (or code 1B 6D)
37
1B (+*.BMP file)
Download BMP logo
66
1B 07
Generate tone
37
1B 0C
Print data in page mode
1B 12
Select 90 degree counter-clockwise rotated print
53
1B 14 n
Set column
48
1B 16 n
Select pitch (column width)
54
1B 20 n
Set right-side character spacing
54
1B 21 n
Select print mode
55
1B 24 nL nH Set absolute starting position
48
1B 25 n
Select or cancel user-defined character set
55
1B 26 s c1 c2 Define user-defined character sets
56
1B 27 m a0 a1 a2 d1…dm
Write to user data storage
1B 2A m n1 n2 d1…dn
Select bit image mode
A776-PG00001 D 07/13
108
108
108
121
66
A776 (B780) Programming Guide
142
Appendix A: Commands by hexadecimal code
Code (hexadecimal)
Command
1B 2D n
Select or cancel underline mode
57
1B 2E m n rL rH d1 … dn
Print advanced raster graphics
67
1B 32
Set vertical line spacing to 1/6 inch
48
1B 33 n
Set vertical line spacing
49
1B 34 m a0 a1 a2
Read from user data storage
1B 3A 30 30 30
Copy character set from ROM to RAM
57
1B 3C
Return home
37
1B 3D n
Select peripheral device (for multi-drop)
38
1B 3F n
Cancel user-defined character
58
1B 40
Initialize printer
38
1B 43 n
Set slip paper eject length
38
1B 44 [n] k 00
Set horizontal tab positions
49
1B 45 n
Select or cancel emphasized mode
58
1B 47 n
Select double-strike
58
1B 48
Cancel double-strike
59
1B 49 n
Select or cancel italic print
59
1B 4A n
Print and feed paper
46
1B 4B n
Print and reverse feed paper
46
1B 4C
Select page mode
1B 52 n
Select international character set
1B 53
Select standard mode
110
1B 54 n
Select print direction in page mode
110
1B 55 n
Select unidirectional print on impact station
38
1B 56 n
Select or cancel 90 degree clockwise rotated print
60
1B 57 n1, n2…n8
Set print area in page mode
1B 59 n1 n2 d1…dn
Select double-density graphics
1B 5B 7D
Switch to flash download (boot mode)
1B 5C n1 n2
Set relative print position
50
1B 61 n
Select justification
51
1B 63 30 n
Select receipt or slip for printing; slip for MICR read
39
1B 63 31 n
Select receipt or slip for setting line spacing
39
1B 63 33 n
Select paper sensors to output paper end signals (parallel only)
39
1B 63 34 n
Select sensors to stop printing
40
1B 63 35 n
Enable or disable panel button
40
1B 64 n
Print and feed n lines
46
1B 65 n
Print and reverse feed n lines
47
1B 66 m n
Set slip paper waiting time
40
A776 (B780) Programming Guide
Page
122
109
59
111
68
126
A776-PG00001 D 07/13
Appendix A: Commands by hexadecimal code
143
Code (hexadecimal)
Command 1B 6A k
Read from non-volatile memory (NVRAM)
1B 6D
Perform partial knife cut (or code 1A)
37
1B 70 n p1 p2 Generate pulse to open cash drawer
41
1B 71
Release paper 41
1B 72 m
Set current color
41
1B 73 n1 n2 k
Write to non-volatile memory (NVRAM)
1B 74 n
Select international character table
59
1B 75 0
Transmit peripheral device status 82
1B 76
Transmit paper sensor status
83
1B 77 01
Read MICR data and transmit
114
1B 77 02
Read MICR data and transmit (B780 only)
114
1B 77 50
Define parsing format, save in NVRAM
115
1B 77 52
Transmit last MICR read
115
1B 77 70
Define parsing format, do not save permanently
115
1B 7B n
Select or cancel upside-down print mode
60
1C
Select slip station
42
1C 70 m n
Print flash logo
68
1C 71 n ...
Define flash logos
68
1D 00
Return boot sector firmware part number
127
1D 01
Return segment number status of flash memory
127
1D 02 n
Select flash memory sector to download
127
1D 03 n
Real-time request to printer (GS sequence)
94
1D 04 n
Real time status transmission (GS sequence) 91
1D 05
Real-time printer status transmission
95
1D 06
Get firmware CRC
127
1D 07
Return microprocessor CRC
127
1D 0E
Erase all flash contents except boot sector
128
1D 0F
Return main program flash CRC
128
1D 10 n
Erase selected flash sector
128
1D 11 aL aH cL cH d1…dn
Download to active flash sector
128
1D 14 n
Reverse feed n lines
47
1D 15 n Reverse feed n dots
47
1D 21 n
Select character size
60
1D 22 n
Select memory type (SRAM/flash) 122
1D 22 55 n1 n2
Flash memory user sectors allocation
123
1D 22 80 Expanded flash memory allocation
123
1D 22 81 n
Select flash area for storing logos and user-defined characters
124
A776-PG00001 D 07/13
Page
122
122
A776 (B780) Programming Guide
144
Appendix A: Commands by hexadecimal code
Code (hexadecimal)
Command 1D 23 n
Select the current logo (downloaded bit image)
68
1D 24 nL nH
Set absolute vertical print position in page mode
112
1D 2A n1 n2 d1…dn
Define downloaded bit image
69
1D 2F m Print downloaded bit image
69
1D 3A
Select or cancel macro definition
113
1D 40 n Erase user flash sector
124
1D 42 n
Select or cancel white/black reverse print mode
1D 48 n
Select printing position for HRI characters
100
1D 49 02
Transmit Printer Type (Extended Existing Command)
144
1D 49 n
Transmit printer ID
83
1D 49 40 n
Transmit printer ID, remote diagnostics extension
85
1D 4C nL nH
Set left margin
51
1D 50 x y
Set horizontal and vertical minimum motion units
52
1D 56 m Select cut mode and cut paper (or code 1D 56 m n)
42
1D 56 m n
Select cut mode and cut paper (or code 1D 56 m)
42
1D 57 nL nH
Set printing area width
52
1D 5C nL nH
Set relative vertical print position in page mode
112
1D 5E r t m
Execute macro
113
1D 61 n
Select or cancel unsolicited status mode
96
1D 62 n
Set smoothing
62
1D 66 n
Select pitch for HRI characters
100
1D 68 n
Select bar code height
100
1D 6B m
Print bar code
100
Print GS1 DataBar (RSS barcode), data length specified
103
Print GS1 Databar (RSS barcode), null terminated
103
Print Multiple Barcodes
103
Select PDF 417 parameters
104
Set GS1 Databar (RSS) parameters
102
1D 6B m nL nH d1... dn
1D 6B n d1... 00
1D 6B FF n
1D 70 a b c d e f 1D 71 a b c d e fL fH
Page
61
1D 72 n
Transmit status
1D 77 n
Select bar code width
1D 81 m n
Set paper type 42
1D 82 n1…n72 or …n80
Print raster monochrome graphics 70
1D 83 n1…n144 or …n160
Print raster color graphics 70
1D 84 m n1 n2 d1…dx
Download logo image 70
1D 85 m n
Reverse color text mode 62
1D 86 m
Monochrome shade mode 71
1D 87 m
Color shade mode 71
A776 (B780) Programming Guide
87
106
A776-PG00001 D 07/13
Appendix A: Commands by hexadecimal code
145
Code (hexadecimal)
Command 1D 89 n m
Logo print with color plane swap 72
1D 8B n m o
Apply shading to logo 72
1D 8C n m
Merge watermark mode 72
1D 8D n m
Text strike-through mode 63
1D 90 m x y o p q
Form and merge real-time surround graphic
73
1D 91 n
Save graphics buffer as logo
74
1D 92 n
Background logo print mode
74
1D 97 m n
User storage status
1D 99 l m n o
Apply margin message mode 75
1D 9A n m o
Shade and store logo 75
1D 9B m n
Logo print with knife cut
76
1D A0 nl nh
Set temporary max target speed
76
1D B0
Calibrate Scanner
132
1D B1 m n Configure/Change Image Transmission Port
133
1D B2 n
Set Top Entry Startup Delay
133
1D B3 m p r
Set Image Format Properties
133
1D B4 nL nH t0. . .tm
Define/Update Application Tag Values
135
1D B6
Attach Scan Application Tags
136
1D B7
Return Integer Status
136
1D B8 m p r
Wait for Scan & Optionally Transmit
138
1D B9 s t m nL nH pL pH
Transmit Image
140
1D BA p
Eject from Scanner
142
1D BB nL nH
Free Image
143
1D BC m
Free Imager Buffering
143
1D BD
Get Buffered Image List
143
1D BE nL nH
Get Buffered Image Attributes
143
1D C5 nL nH m d1-dn-1
Configure Binarization Methods and Attributes
134
1D C6 m n
Configure Scan Options
144
1D C7 wL wH lenL lenH
Configure Max Scan Width & Height
144
1D F0 01 n
Select font ID number
63
1D F0 02 n
Select font style number
63
1D F0 03 Save font ID number as default font at power up
64
1D F0 80
Download font
64
1D F0 C0 02
Download font list
64
1D FF
Reset firmware
1E
Select receipt station
43
1F 03 16 05 n
Set interpretation of “Set current color” command
43
A776-PG00001 D 07/13
Page
125
129
A776 (B780) Programming Guide
146
Appendix A: Commands by hexadecimal code
Code (hexadecimal)
Command 1F 03 16 f s p/r t
Set LogoEZ® colorization
77
1F 03 17 a m s
Set LogoEZ® attribute mapping
79
1F 04 n
Convert 6-dots/mm bitmap to 8-dots/mm bitmap
81
1F 05 n
Select superscript or subscript modes
64
1F 08 00
Restore default settings
129
1F 08 01 n1 n2 n3 n4
Set IP address
129
1F 08 02 n1 n2 n3 n4
Set net mask
129
1F 08 03 n1 n2 n3 n4
Set gateway
130
1F 08 04 n1 n2 n3 n4
Set raw TCPIP port
130
1F 08 05 n1
LP Daemon
130
1F 08 06 n1
Telnet Daemon
130
1F 08 07 n1
BootP
130
1F 08 08 n1
DHCP (auto-configuration)
131
1F 08 09 n1
Inactivity timeout
131
1F 08 0A n1
Keep-alive pings (arps)
131
1F 26 s c1 c2
Define extended user-defined character set
65
1F 56
Send printer software version
89
1F 69 n
Select active user-defined character set
65
1F 74
Print test form
44
1F 7A n
Real-time commands disable
95
1F 7B n
Enable constant speed logos
81
A776 (B780) Programming Guide
Page
A776-PG00001 D 07/13
Appendix B: Resident Character Sets
147
Appendix B:
Resident Character Sets
Code Page 437 (US)
A776-PG00001 D 07/13
A776 (B780) Programming Guide
148
Appendix B: Resident Character Sets
Code page 737 (Greek)
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Appendix B: Resident Character Sets
149
Code page 850 (Multilingual)
A776-PG00001 D 07/13
A776 (B780) Programming Guide
150
Appendix B: Resident Character Sets
Code Page 852 (Slavic)
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Appendix B: Resident Character Sets
151
Code Page 857 (Turkish)
A776-PG00001 D 07/13
A776 (B780) Programming Guide
152
Appendix B: Resident Character Sets
Code page 858 (with Eurosymbol)
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Appendix B: Resident Character Sets
153
Code page 860 (Portugese)
A776-PG00001 D 07/13
A776 (B780) Programming Guide
154
Appendix B: Resident Character Sets
Code page 862 (Hebrew)
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Appendix B: Resident Character Sets
155
Code page 863 (French Canadian)
A776-PG00001 D 07/13
A776 (B780) Programming Guide
156
Appendix B: Resident Character Sets
Code page 865 (Nordic)
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Appendix B: Resident Character Sets
157
Code page 866 (Cyrillic)
A776-PG00001 D 07/13
A776 (B780) Programming Guide
158
Appendix B: Resident Character Sets
Code page 1251 (Cyrillic)
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Appendix B: Resident Character Sets
159
Code page 1252 (Windows Latin 1)
A776-PG00001 D 07/13
A776 (B780) Programming Guide
Code page 1255 (Hebrew)
Code page
(Kazakh)
Code
PageKZ_1048
KZ_1048
(Kazakh)
162
Appendix C: Electronic Journal
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Appendix C: Electronic Journal
163
Appendix C: Electronic Journal
The Electronic Journal feature is for use with an application that does not support electronic journal. The printer
can be used to store a variety of transactions.
Electronic Journal Storage
There are two methods for activating Electronic Journal:
1F 03 18 01 n Auto Journal Mode via Configuration Command:
Value of n
1
2
3
4
5
6
7
Data saved in journal
Receipt
Slip
Validation
Receipt and slip
Receipt and validation
Slip and validation
Receipt, slip, and validation
•
The printer can be configured to power up in Auto Journal Mode using command 1F 03 18
01 n. Any combination of print stations can be configured. This configuration is saved over
power cycle. The electronic journal configuration information is printed on the second
diagnostic page.
•
Most commands and data printed are saved in the journal flash buffer.
•
Logos and graphics printed on the receipt are not saved in the journal flash buffer.
•
Multiple line feeds are not saved in the journal flash buffer.
•
A knife cut sent to the receipt is saved in the journal flash buffer as two print commands:
0x0A 0x0A.
Auto Journal Mode via Runtime Command:
1F 0A C1 - Enable
1F 0A C2 - Disable
Commands and data printed on the receipt only are stored in the Journal flash buffer.
A776-PG00001 D 07/13
A776 (B780) Programming Guide
164
Appendix C: Electronic Journal
Journal RAM buffer
Journal data is temporarily buffered in RAM until the printer is triggered to write it to flash. At power up 4K bytes
of RAM will be dynamically allocated. In the unlikely event that 4K bytes are not available, 2K will be allocated. If
for some reason 2K bytes are not available, the electronic journal feature cannot be used. Allocation success or
failure information is available to the interface via commands described below.
Loss of power results in loss of any data currently in the journal RAM buffer.
Triggers that cause the journal data in RAM to be written to flash are:
•
Knife Cut command
•
Write Journal RAM Data to Flash command (described below)
•
Printer is idle for 10 seconds
•
Reset Printer command (0x1D 0xFF)
•
Print To Journal command (described below)
•
RAM becomes filled before one of these other triggers occurs.
The printer goes busy at the communication interface while writing to the journal flash buffer.
Journal Flash buffer
A portion of flash memory is available for the journal flash buffer. By using the Flash Memory User Sectors Allocation
command (0x1D 0x22 0x 55 n1 n2), the user can allocate the number of 64Kbyte sectors used for logos, user storage,
and journal flash buffer.
If there are X sectors available, the Flash Memory User Sectors Allocation command will allocate n1 sectors to logos,
n2 sectors to user storage, and (X – n1 – n2) sectors for the journal flash buffer. If all available sectors are allocated for
logos and user storage, there is no flash available for the journal.
The firmware default allocation is 1 sector for logos, 1 sector for user storage, and the rest for journal, but this may
be changed at printer build time. Journal flash allocation and flash usage information is available via commands
described below, and is printed on the diagnostics form.
Before erasing flash, check to see if there is journal data stored, and print it out if necessary.
Triggers that cause the journal flash buffer to be cleared are:
•
Clear Journal command (described below)
•
Flash Memory User Sectors Allocation command (0x1D 0x22 0x 55 n1 n2) reallocates flash
memory.
•
New Flash firmware is downloaded to the printer
•
Exception Conditions in Auto Journal Mode
When there isn’t enough memory available in the journal flash buffer, the printer beeps at each receipt to signal the
flash full condition. The printer will print a duplicate receipt and cut after it, instead of writing it to flash, and clear
out the RAM buffer. When the trigger for writing to flash is a knife cut (which would be the usual case in Auto Journal
Mode) the customer receipt is easily detached from the duplicate receipt by the operator.
If a receipt is over 4Kbytes in size, and there are less than 4Kbytes available in the journal flash buffer, the printer will
not print a portion of the duplicate receipt in the middle of the original receipt. This portion of the duplicate receipt is
lost.
A776 (B780) Programming Guide
A776-PG00001 D 07/13
Appendix C: Electronic Journal
165
Printing and Erasing the Journal Flash Buffer:
Operator Activation of Journal Print and Erase
Enabled via 1F 03 2E 01. Disabled via 1F 03 2E 00. Enabled and disabled also via the config menu under the
Emulation/Software Options sub-menu. Default is disabled. Option prints on diagnostic Form II:
Journal print via Command Only
(when disabled)
Journal print via Operator
(when enabled)
Printing Journal via Operator (when enabled):
1) Open the receipt cover.
2) Press the paper feed button three times quickly, about a half second each. A short tone will sound each time. If you
press the feed button too long, or wait too long between depressions, a longer tone will sound and the sequence is
aborted; you have to start over.
3) Close the receipt cover.
If there is nothing in the journal, the message “No Flash journal” prints out on the receipt. If there is something in the
journal, it prints on the receipt, followed by a query to the operator printed on the receipt:
Erase journal?
1F 0A C3
Yes --> Long click
No --> Short click
Clear Journal
Erases the journal flash buffer. Printer goes busy at the communication interface while the flash is being erased.
Application should not send any further data or commands until printer goes not busy at the communication
interface. Printer returns a 0x0D when the erase is complete. At this point the application can resume sending data to
the printer.
1F 0A C4
Print Journal
Prints contents of journal data saved in flash. Printer goes busy at the communication interface. Application should
not send any further data or commands until printer goes not busy at the communication interface. If paper runs out,
printing will pause until a new roll is loaded, then resume where it left off.
Points to note when printing the journal:
•
Receipt character attributes and bar code attributes are set to their default values before
and after printing the journal.
•
Receipt station is selected.
•
Macro definitions are not cleared.
•
If the macro execution command is in the journal, the macro definition should be in the
journal also. If not, the printed journal might look OK before a power cycle when the
macro definition is still in memory. After a power cycle the macro definition will be gone.
•
If User Defined characters are printed, their definitions (0x1B 0x26 ….) should be stored in
flash (via 0x1D 0x22 0x33) and their selection command (0x1B 0x25 0x01) should be in the
journal buffer.
A776-PG00001 D 07/13
A776 (B780) Programming Guide
166
Appendix C: Electronic Journal
1F 0A C5 Return Journal Status
Returns one byte of status.
bit 0 = 0 >> Write to flash successful
bit 0 = 1 >> Write to flash fail
bit 1 = 0 >> RAM allocation for journal data successful
bit 1 = 1 >> RAM allocation for journal data fail
bit 2 = 0 >> Auto Journal Disabled
bit 2 = 1 >> Auto Journal Enabled
1F 0A C6 Return Journal Flash Size
Returns two 3-byte counts in hexadecimal notation, as n1 n2 n3 and m1 m2 m3.
Journal flash buffer total size
Journal flash buffer used
= (n1 * 0x10000 + n2 * 0x100 + n3)
= (n1 * 65,536 + n2 * 256 + n3) decimal
= (m1 * 0x10000 + m2 * 0x100 + m3)
= (m1 * 65,536 + m2 * 256 + m3) decimal
Journal flash buffer total size corresponds directly to this line on the diagnostics form:
Flash Journal Size
: nnnn kbytes
Journal flash buffer used corresponds inversely to this line on the diagnostics form:
Journal Unused
: mmmm kbytes
1F 0A C7 Write Journal RAM Data to Flash
Writes the journal data in RAM to Flash and marks it as a complete journal entry with two print commands: 0x0A
0x0A. Printer goes busy at the communication interface while the flash is being written. Application should not send
any further data or commands until printer goes not busy at the communication interface.
A776 (B780) Programming Guide
A776-PG00001 D 07/13
A776-PG00001 Rev. D 07/2013

advertisement

Was this manual useful for you? Yes No
Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Related manuals

advertisement