Wincor Nixdorf TH250 Programmer's Manual

Wincor Nixdorf TH250 Programmer's Manual

Hide thumbs Also See for TH250:
Table of Contents

Advertisement

TH250
Thermal Printer
Programmer's Guide (January 2016)

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the TH250 and is the answer not in the manual?

Questions and answers

Summary of Contents for Wincor Nixdorf TH250

  • Page 1 TH250 Thermal Printer Programmer’s Guide (January 2016)
  • Page 2: Table Of Contents

    Printer settings and functions ....................10 Programming the Printer ......................13 Overview of commands ....................... 13 Comparison to A793 ........................13 Two-color commands (comparison TH210 to TH250) ..............15 Character appearance ......................... 16 Width specifications ........................16 Print zones........................... 16 Print zones for 80mm paper .....................
  • Page 3 Automatic Status Back ......................87 Unsolicited status mode......................89 Bar codes ............................ 93 QR code Overview ........................93 Select model for QR code ......................93 Set size for QR code module ....................93 Set data parsing mode for QR Code ..................94 Select error correction level for QR Code .................
  • Page 4 Flash download ......................... 120 Switch to flash download mode ....................121 Erase all flash contents except boot sector ................121 Return main program flash CRC ....................121 Download application ........................ 121 Reset firmware .......................... 122 Ethernet setup commands ......................123 Restore default settings ......................
  • Page 5 Set fine adjustment of partial cut steps ..................135 Set printer ID mode ........................135 Set default code page at power on .................... 135 Set Asian ASCII characters to narrow ..................135 Set vertical white space ......................136 Set printer tone ......................... 136 Enable or disable shutdown mode .....................
  • Page 6: About This Guide

    Support For more advanced procedures and troubleshooting, you may need to refer to the printer’s service manual or speak to a Wincor Nixdorf technical professional. Your representative is able to provide you with necessary information. For online service, refer to the Web site at www.wincor-nixdorf.com.
  • Page 7: Diagnostics And Configuration

    TH250 Programmer’s Guide Diagnostics and Configuration The printer performs a number of diagnostics that provide useful information about the operating status of the printer. The following diagnostic tests are available.  Start-up diagnostics Perform during the printer’s start-up cycle.  Runtime diagnostics Perform during normal printer operation.
  • Page 8: Runtime Diagnostics

    TH250 Programmer’s Guide 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 ...
  • Page 9: Accessing The Remote Diagnostic Tallies

    TH250 Programmer’s Guide TH250 Diagnostics Form Print test will vary per model or printer configuration. Accessing the remote diagnostic tallies Refer to “Command descriptions” in Chapter “Programming commands“ (Status commands: Transmit printer ID, remote diagnostics extension, Hexadecimal 1D 49 40 n)
  • Page 10: Indicators

    TH250 Programmer’s Guide Indicators The printer communicates various conditions both visually, with the green LED or audibly, with a series of tones or beeps. The following table lists these indicators. Indicator Sequence Condition Continuous, blinking on Paper out Cover open...
  • Page 11: Printer Configuration

    TH250 Programmer’s Guide Printer configuration Printers are shipped with all the functions and parameters preset at the factory. Settings for various printer parameters can be changed. This menu is printed on the receipt and scrolls through instructions for selecting and changing any of the functions or parameters.
  • Page 12: Configuring The Printer

    TH250 Programmer’s Guide Configuring the printer The configuration menu allows you to select functions or change various settings for the printer. Instructions printed on the receipt guide you through the processes. Caution: Be extremely careful changing any of the printer settings to avoid changing other settings that might affect the performance of the printer.
  • Page 13: Communication Interface Settings

    TH250 Programmer’s Guide Communication interface settings To change the communication interface settings, enter the configuration menu, select “Set Communication Interface” from the main menu. Caution: Be extremely careful changing any of the printer settings to avoid inadvertently changing other settings that might affect the performance of the printer.
  • Page 14: Enable Or Disable Data Scope Mode

    TH250 Programmer’s Guide Enable or disable data scope mode The data scope mode test prints a hexadecimal dump of all data sent to the printer: “1” prints as hexadecimal 31, “A” as hexadecimal 41 and so on. This helps troubleshoot communication problems and runs during a normal application (after being enabled through printer configuration).
  • Page 15: Electronic Journal Datascope Diagnostic

    TH250 Programmer’s Guide To exit the receipt test mode: 1. Enter the configuration menu again. 2. Disable the receipt test mode. 3. Exit the configuration menu. The printer is on-line and can again communicate normally with the host computer. Electronic Journal Datascope Diagnostic 1F 03 18 02 n=1, turn on electronic journal datascope, run time only 1F 03 18 02 n=0, n>1, turn off electronic journal datascope, run time only...
  • Page 16 This function is used to determine what printer ID value is returned in response to a Transmit printer ID command (1D 49 n) when the printer is in TH210/TH210-2/A794 emulation mode. The printer can be configured to send back the ID of the TH250, TH210/TH210-2/A794, A793 or Application Compatible Escape Command systems.
  • Page 17 TH250 Programmer’s Guide  Partial cut distance Allows the user to set the distance that the knife will cut across a receipt in 5 step increments between 110-160.  Fine partial cut steps Allows the user to set the amount of extra steps the knife will cut across a receipt, between 0 and ...
  • Page 18: Programming The Printer

    Comparison to A793 The following table details the list of commands whose behavior differs between the A793, TH210/TH210-2/A794, and TH250 because of the physical differences of a 6 dots/mm head (A793) versus an 8 dots/mm head (TH210/TH210-2/A794 and TH250). Command Description...
  • Page 19 Programmer’s Guide Command Description Difference between previous product and new product emulation mode inch and the TH250 has a fundamental step of 1/203 inch, the actual line spacing will not exactly match the requested spacing. 1B 4A n Print and feed paper This command uses n in terms of n/360 inches.
  • Page 20: Two-Color Commands (Comparison Th210 To Th250)

    TH250 Programmer’s Guide Two-color commands (comparison TH210 to TH250) The following table details the list of commands that have been added for two-color functionality or existing commands that have been altered by the addition of two-color capacity. Color interpreted commands...
  • Page 21: Character Appearance

    TH250 Programmer’s Guide Character appearance The appearance of text can be changed using the following print modes:  Standard  Rotated  Italic  Compressed  Underlined  Strike-through  Double-high  Bold  Scaled  Double-wide  Reverse  Shading ...
  • Page 22: Rotated Printing Commands

    The TH250 Series adds a 27 dot high font, so standard print spacing is 30 dots. The TH250 Series paper-saving feature adds a 18 dot high font and reduces extra dot rows to 2, so standard print spacing is 20 dots.
  • Page 23: Emulation Modes

    Programmer’s Guide Emulation modes The Wincor Nixdorf TH250 Series printer may be operated in a number of different emulation modes. However, printing characteristics and defaults may differ, depending on the desired mode. For instance, two-color paper commands and features are available only in TH250 native mode.
  • Page 24: Programming Commands

    TH250 Programmer’s Guide Programming Commands Commands listed by function Printer actions Code (hexadecimal) Command Clear printer Perform full knife cut (or code 1B 69) Perform partial knife cut (or code 1B 6D) 1B 07 Generate tone 1B 3D n Select peripheral device (for multi-drop)
  • Page 25 TH250 Programmer’s Guide Vertical and horizontal positioning Code (hexadecimal) Command Horizontal tab 1B 14 n Set column 1B 24 nL nH Set absolute starting position 1B 32 Set vertical line spacing to 1/6 inch 1B 33 n Set vertical line spacing 1B 44 n1...nk 00...
  • Page 26 TH250 Programmer’s Guide Text characteristics Code (hexadecimal) Command 1D F0 03 Save font ID number as default font at power up 1D F0 80 Download font 1D F0 C0 02 Download font list 1F 03 45 FSID Configure use of font set over power cycles...
  • Page 27 TH250 Programmer’s Guide Text characteristics Code (hexadecimal) Command 1D F0 80 Download font 1D F0 C0 02 Download font list 1F 03 45 FSID Configure use of font set over power cycles 1F 03 46 n Configure line spacing 1F 05 n...
  • Page 28 TH250 Programmer’s Guide Graphics Code (hexadecimal) Command 1F 7B n Enable constant speed logos Status Batch mode Code (hexadecimal) Command 1B 75 0 Transmit peripheral device status (RS-232C printers only) 1B 76 Transmit paper sensor status 1D 49 n Transmit printer ID...
  • Page 29 TH250 Programmer’s Guide Bar codes Code (hexadecimal) Command 1D 48 n Select printing position for HRI characters 1D 66 n Select pitch for HRI characters 1D 28 6B 04 00 Select model for QR Code 00 31 41 n1 n2...
  • Page 30 TH250 Programmer’s Guide Macros Code (hexadecimal) Command 1D 3A Select or cancel macro definition 1D 5E r t m Execute macro User data storage Code (hexadecimal) Command 1B 27 m a0 a1 a2 d1…dm Write to user data storage 1B 34 m a0 a1 a2...
  • Page 31 TH250 Programmer’s Guide Ethernet setup commands Code (hexadecimal) Command 1F 08 0En1 n2 Set HTTP port 1F 0B nn Get Ethernet configuration Settings commands Code (hexadecimal) Command 1F 09 01 06 Save current settings as factory settings 1F 09 01 07...
  • Page 32 TH250 Programmer’s Guide Miscellaneous configuration commands Code (hexadecimal) Command 1F 03 2E n Enable or disable EJ action via operator control 1F 03 31 n Set fine adjustment of partial cut steps 1F 03 32 n Set printer ID mode...
  • Page 33: Command Conventions

    TH250 Programmer’s Guide 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.
  • Page 34: Perform Full Knife Cut

    TH250 Programmer’s Guide Perform full knife cut ASCII ESC i Hexadecimal 1B 69 Decimal 27 105 Cuts the receipt. There are two codes (Hex 19 or 1B 69) for this command and both perform the same function. Exceptions The full cut is replaced by a partial cut in the A793 emulation. ASCII EM, (0x19) is ignored in LEGACY emulation.
  • Page 35: Initialize Printer

    TH250 Programmer’s Guide Select peripheral device (for multi-drop) ASCII ESC = n Hexadecimal 1B 3D n Decimal 27 61 n Value of n: 0 (bit 0), device not selected 1 (bit 0), device selected Default: 1 (bit 0), device selected...
  • Page 36 TH250 Programmer’s Guide Select sensors to stop printing ASCII ESC c 4 n Hexadecimal 1B 63 34 n Decimal 27 99 52 n Value of n: Sensor status Sensor Status Sensor Receipt paper near-end Disabled Enabled Receipt paper near-end Disabled...
  • Page 37: Set Current Color

    TH250 Programmer’s Guide 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 ...
  • Page 38 TH250 Programmer’s Guide Feed and cut mode 0, 48 Full cut (no extra feed) 1, 49 Partial cut (no extra feed) Feeds paper to cutting position + (n times vertical motion unit), and cuts the paper completely Feeds paper to cutting position + (n times vertical motion unit), and...
  • Page 39 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. The following list clarifies how the TH250 printer will behave in each emulation mode: Two-color paper commands and features are supported only in Native mode.
  • Page 40: Print Test Form

    TH250 Programmer’s Guide n = 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 Native mode and earlier implementations in other printers.
  • Page 41: Print And Paper Feed

    TH250 Programmer’s Guide Sets an idle time after which switching between communication ports can be done without a power cycle. Setting seconds to 0 disables port idle timeout. Print and paper feed The print and feed commands control printing on the receipt and paper feed by the printer.
  • Page 42 TH250 Programmer’s Guide Feed n dot rows ASCII NAK n Hexadecimal 15 n Decimal 21 n Value of n: n/203 inch Range of n: 0–255 in Native mode 0–127 in A793 emulation Feeds the paper n dot rows (n/8 mm, n/203 inch), without printing. Receipt moves n rows if the print buffer is empty.
  • Page 43 TH250 Programmer’s Guide Related information This is ignored in LEGACY emulation and the parameter byte goes into the print buffer. Print ASCII Hexadecimal Decimal Prints one line from the buffer and feeds paper one line. Executes LF on receipt. Related information This command is ignored in LEGACY emulation.
  • Page 44: Horizontal Tab

    TH250 Programmer’s Guide Horizontal tab ASCII Hexadecimal 09 Decimal 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.
  • Page 45: Set Absolute Starting Position

    In order to improve the speed of printing, the TH250 moves the data into a buffer for the printhead when it receives it. When the “Set relative print position” command contains a move to the left, this causes the new data to overstrike the previous data.
  • Page 46 TH250 Programmer’s Guide n x 2 = Number of dots to be moved from the beginning of the line when this command is followed by a graphics command. Set vertical line spacing to 1/6 inch ASCII ESC 2 Hexadecimal 1B 32...
  • Page 47: Set Relative Print Position

    TH250 Programmer’s Guide Sets a horizontal tab to n columns from the beginning of the line, where k indicates the number of horizontal tab positions to be set. The horizontal tab position is stored as a value of [character width x n], measured from the beginning of the line.
  • Page 48: Select Justification

    In order to improve the speed of printing, the TH250 moves the data into a buffer for the printhead when it receives it. When the “Set relative print position” command contains a move to the left, this causes the new data to overstrike the previous data.
  • Page 49: Set Left Margin

    TH250 Programmer’s Guide Related information On the LEGACY emulation printer, this command is valid only at the beginning of a line. Range of n on A793 is 0–255 using low 2 bits only: left aligned center right aligned center Set left margin...
  • Page 50: Text Characteristics Commands

    TH250 Programmer’s Guide Set printing area width ASCII GS W nL nH Hexadecimal 1D 57 nL nH Decimal 29 87 nL nH Value of n: 0–255 Range of n: 0–255 Default: 576 dots (the maximum printable area) Sets the width of the printing area until the printer is initialized, reset, or powered off. If the setting exceeds the printable area, the maximum value of the printable area is used.
  • Page 51 TH250 Programmer’s Guide (0x10) command is received. Double-wide characters may be used in the same line with single- wide characters. Exceptions Double-wide characters may not be used in the same line with single or double-density graphics. Related information This is ignored in LEGACY emulation.
  • Page 52 TH250 Programmer’s Guide Default of n: 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 station. Pitch Columns, 80mm Paper Standard 15.6 Compressed 20.3 Related information Look in the chapter “Programming the Printer, Character appearance”...
  • Page 53 TH250 Programmer’s Guide Select print mode ASCII ESC ! n Hexadecimal 1B 21 n Decimal 27 33 n Value of n: Pitch selection (standard, compressed, double high, or double wide.) Value of n Bit 1 Function Pitch 2 (See chart below)
  • Page 54 TH250 Programmer’s Guide Select or cancel user-defined character set ASCII ESC % n Hexadecimal 1B 25 n Decimal 27 37 n Value of n: 0 = Code Page 437 1 = User Defined (RAM) 2 = Code Page 850 Range of n: 0–2...
  • Page 55 TH250 Programmer’s Guide Define extended user-defined character set ASCII US & s c1 c2 [character 1 data] ... [character k data] Hexadecimal 1F 26 s c1 c2 [character 1 data] ... [character k data] Decimal 31 38 s c1 c2 [character 1 data] ... [character k data]...
  • Page 56 TH250 Programmer’s Guide Select or cancel underline mode ASCII ESC - n Hexadecimal 1B 2D n Decimal 27 45 n Value of n: Decimal 0, 48 30 = Cancel underline mode 1, 49 31 = Select underline mode 2, 50 32 = Select double thickness...
  • Page 57 TH250 Programmer’s Guide 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.
  • Page 58: Select Or Cancel Italic Print

    TH250 Programmer’s Guide Select or cancel double-strike ASCII ESC G n Hexadecimal 1B 47 n Decimal 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 or off until the printer is initialized, reset, or powered off.
  • Page 59: Select International Character Code

    Select international character code ASCII ESC R n Hexadecimal 1B 52 n Decimal 27 82 n Value of n: Native mode, TH250 A793 emulation Application Compatible Emulation Escape Command emulation (LEGACY) 0 = Code Page 437 0 = Code Page 437 0 = U.S.A.
  • Page 60: Select Or Cancel 90 Degree Clockwise Rotated Print

    ASCII ESC t n Hexadecimal 1B 74 n Decimal 27 116 n Value of n: Native mode, TH250 A793 emulation Emulation 0 = Code Page 437 0 = Code Page 437 1 = Code Page 850 Not 0 = Code Page 850...
  • Page 61 TH250 Programmer’s Guide Native mode, TH250 A793 emulation Emulation 0B = Code Page 874 0C = Code Page 857 0D = Code Page 1251 0E = Code Page 1255 0F = Code Page KZ_1048 10 = Code Page 1254 11 = Code Page 1250...
  • Page 62 TH250 Programmer’s Guide Default: 0 (Cancel) Prints upside-down characters until the printer is initialized, reset, or powered off. The command may be combined with clockwise rotated print (1B 56) or counter-clockwise rotated print (1B 12). The character order is inverted in the buffer so text is readable. Only bit 0 is used. Bits 1-7 are not used.
  • Page 63 TH250 Programmer’s Guide This command is effective for all characters (except for HRI characters) and is effecitve until the printer is initialized, reset, or powered off. In standard mode, the vertical direction is the paper feed direction, and the horizontal direction is perpendicular to the paper feed direction.
  • Page 64: Set Smoothing

    TH250 Programmer’s Guide Related information If the current color is not black and two-color paper is loaded, no visible effect takes place. In A793 emulation, the command is unrecognized and the parameter byte is put into the print buffer. Set smoothing...
  • Page 65: Select Superscript Or Subscript Modes

    TH250 Programmer’s Guide 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.
  • Page 66: Double-Byte Fonts

    Double-byte fonts Five double-byte fonts are built-into the TH250 Series printer: Simplified Chinese, Traditional Chinese, Kanji, Korean and Thai. If the TH250 is set to Unicode, the GB18030 Chinese and Vietnamese character sets are available. Lock permanent font flash area ASCII...
  • Page 67: Select Font Id Number

    TH250 Programmer’s Guide n = 49 (ASCII n = 1) HEX 31 This command erases all 64K Flash Memory sectors allocated to user-defined character and logos storage in Flash. Those sectors should be erased only in one situation: when the logo definition area is full and an application is attempting to define new logos.
  • Page 68: Select Font Style Number

    TH250 Programmer’s Guide Select font style number ASCII GS 0xF0 0x02 n Hexadecimal 1D F0 02 n Decimal 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.
  • Page 69: Graphics

    TH250 Programmer’s Guide 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.
  • Page 70: Select Bit Image Mode

    TH250 Programmer’s Guide Exceptions BMP file images that are not monochrome are put into the print buffer. Related information Microsoft BMP bitmap file format. This command is recognized in Native mode. In A793 and LEGACY emulations, the BMP file bytes are put into the print buffer.
  • Page 71: Print Advanced Raster Graphics

    TH250 Programmer’s Guide Print advanced raster graphics ASCII ESC, m n rL rH d1 ... dn Hexadecimal 1B 2E m n rL rH d1 ... dn Decimal 27 46 m n rL rH d1 ... dn Value of m: horizontal offset from left margin = 8 x m dots...
  • Page 72 TH250 Programmer’s Guide Enters one line of 8-dot single-density graphics into the print buffer. Any print command is required to print the line, after which the printer returns to normal processing mode. Single- density mode allows 0–288 dot columns. The number of bytes sent is represented by the formulas in the table.
  • Page 73 TH250 Programmer’s Guide 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 or RAM memory and prints it. If there is no definition for logo n, then no logo is printed.
  • Page 74: Print Downloaded Bit Image

    TH250 Programmer’s Guide Print downloaded bit image ASCII GS / m Hexadecimal 1d 2F m Decimal 29 47 m Value and range of m: This command is used to print a previously stored monochrome or color logo (defined by 1D 2A) from printer memory on the receipt station.
  • Page 75 TH250 Programmer’s Guide Value and range of m: n1 to n72 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.
  • Page 76 TH250 Programmer’s Guide 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.
  • Page 77 TH250 Programmer’s Guide 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. 0 < xH:xL < 1024 max printable xH:xL = 72 = 576 dots wide 0 <...
  • Page 78 TH250 Programmer’s Guide 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. Monochrome shade mode ASCII GS Ox86 m...
  • Page 79 TH250 Programmer’s Guide 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 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.
  • Page 80 TH250 Programmer’s Guide 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...
  • Page 81: Logo Print With Knife Cut

    TH250 Programmer’s Guide not line up as printing progresses. If toggling is selected then both left and right sides merge message(graphic) 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.
  • Page 82 TH250 Programmer’s Guide Set temporary max target speed GS 0xA0 nl nh ASCII Hexadecimal 1D A0 nl nh Decimal Values: 15 00 - 5E 01 monochrome 15 00 - 96 00 color Max value is limited by the max speed setting of the printer...
  • Page 83: Status

    Status Status command introduction The TH250 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.
  • Page 84: Transmit Paper Sensor Status

    Unlike the A793, that had a dedicated connector and resultant dedicated status reporting for each cash drawer, the TH250 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.
  • Page 85 Unlike the A793, that had a dedicated connector and resultant dedicated status reporting for each cash drawer, the TH250 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.
  • Page 86: Real Time Commands

    TH250 Programmer’s Guide Flash memeory sector status (n = 4 or n = 52) Off/On Decimal Status for transmit status – – – Undefined. Fixed to off. – – – Undefined. Fixed to off. User data storage write successful User data storage write failed, specified area not erased.
  • Page 87: Rules For Using Real Time Commands

    TH250 Programmer’s Guide addition, there is no way to restart the printer after a paper jam or other error, when using batch mode status commands. The real time commands are implemented in two ways in order to overcome the limitations of batch mode status commands.
  • Page 88: Busy Line And Fault Conditions

    Unlike the A793, that had a dedicated connector and resultant dedicated status reporting for each cash drawer, the TH250 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.
  • Page 89 TH250 Programmer’s Guide Related information 1 = Transmit printer status Off/On Decimal Function Fixed to Off. Fixed to On. One or both cash drawers open. Both cash drawers closed. Not busy at the RS-232C interface. Printer is busy at the RS-232C interface.
  • Page 90 TH250 Programmer’s Guide 4 = Transmit receipt paper status Off/On Decimal Function Fixed to off Fixed to on Paper adequate Paper low (if paper low sensor enabled) Paper adequate Paper low (if paper low sensor enabled) Fixed to on Paper present...
  • Page 91 Unlike the A793, that had a dedicated connector and resultant dedicated status reporting for each cash drawer, the TH250 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.
  • Page 92: Automatic Status Back

    TH250 Programmer’s Guide Automatic Status Back Enable/disable Automatic Status Back (ASB) ASCII GS a n Hexadecimal 1D 61 n Decimal 29 97 n Range of n: 0 - 255 Default: 0 (ASB disabled) Enables or disables automatic status back (ASB) and specifies the status items. This command is a batch mode command;...
  • Page 93 TH250 Programmer’s Guide Related information When Automatic Status Back (ASB) is enabled using this command, the status transmitted by other commands and the ASB status are differentiated according to the information found in Recognizing Data from the printer, (in the Real Time Commands section in this chapter). The status bytes to be transmitted are described in the following four tables.
  • Page 94: Unsolicited Status Mode

    TH250 Programmer’s Guide Third (paper sensor Information) Off/On Decimal Status for ASB Receipt paper adequate Receipt paper low (if paper low sensor enabled) Receipt paper present Receipt paper low (if paper low sensor enabled) Receipt paper present. Receipt paper exhausted.
  • Page 95 TH250 Programmer’s Guide 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 ...
  • Page 96 TH250 Programmer’s Guide Off/On Decimal Status for USM No recoverable error. Recoverable error: Cover open, paper out, temperature or voltage error is out of range. Not used. Fixed to off. Third (paper sensor Information) Off/On Decimal Status for USM Receipt paper adequate...
  • Page 97 TH250 Programmer’s Guide Real time response Response recognized by: ASCII GS EOT n 1D 04 n Binary DLE EOT n 10 04 n Binary GS ENQ 1D 05 Binary Binary XOFF Binary Unsolicited status mode Response recognized by: (USM) USM Byte 1...
  • Page 98: Bar Codes

    TH250 Programmer’s Guide Bar codes These commands format and print bar codes and are described in order of their hexadecimal codes, with the exception of the QR code overview, which is described in the order of use in creating two- dimensional QR codes.
  • Page 99: Set Data Parsing Mode For Qr Code

    TH250 Programmer’s Guide Set data parsing mode for QR Code ASCII GS ( k ETX NUL 1 D m Hexadecimal 1D 28 6B 03 00 31 44 m Decimal 29 40 107 3 49 68 m Value of n: 30h = Manual Mode...
  • Page 100: Print Symbol Data For Qr Code

    TH250 Programmer’s Guide  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 Type byte (Manual mode) Numerical Mode data “0”...
  • Page 101: Select Printing Position Of Hri Characters

    TH250 Programmer’s Guide 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°...
  • Page 102: Select Bar Code Height

    TH250 Programmer’s Guide Select bar code height ASCII GS h n Hexadecimal 1D 68 n Decimal 29 104 n Value of n: Number of dots Range of n: 1-255 Default: Sets the bar code height to (n/154 inch). Print bar code...
  • Page 103 TH250 Programmer’s Guide Bar code d1...dk length characters) d1 = dk = 42 (start/stop code is supplied by printer if necessary) Interleaved 2 of 5 48–57 Variable length (even number) Codabar 65–68, start code 48–57, Variable length 36, 43, 45, 46, 47, 58...
  • Page 104: Print Multiple Barcodes

    TH250 Programmer’s Guide 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.
  • Page 105: Print Gs1 Databar, Null Terminated

    TH250 Programmer’s Guide Print GS1 DataBar, null terminated ASCII GS k n d1... 00 Hexadecimal 1D 6B n d1... 00 Decimal 29 107 n d1... 00 Type GS1 DataBar GS1 DataBar truncated GS1 DataBar stacked GS1 DataBar stacked omni-directional GS1 DataBar limited...
  • Page 106: Set Gs1 Databar Parameters

    TH250 Programmer’s Guide Set GS1 DataBar parameters ASCII GS q a b c d e fL fH Hexadecimal 1D 71 a b c d e fL fH Decimal 29 113 a b c d e fL fH byte pixels per minimum unit, default 3, minimum 2, maximum 6...
  • Page 107 TH250 Programmer’s Guide rows are selectable, which allows the aspect ratio to be adjusted to particular labeling applications. There are no separator bars between rows. Each character has four bars and four spaces within 17 modules, and is assigned a value between 0 and 928.
  • Page 108: Select Bar Code Width

    TH250 Programmer’s Guide Select bar code width ASCII GS w n Hexadecimal 1D 77 n Decimal 29 119 n Value of n: 2, 3, 4, 5, 6 n = 3 Default: Sets the bar code width to n dots until the printer is initialized, reset, or powered off. If the barcode is too wide for the printing area, the barcode will not print.
  • Page 109: Set Datamatrix Module Size

    TH250 Programmer’s Guide Module (minimum unit of symbol) d1, d2 symbol type number of rows, columns 0, 48 (0, 0) Square (ECC200) Sets automatic processing for the number of rows and columns of the symbol. 0, 48 Other than Square (ECC200)
  • Page 110: Store Datamatrix Data In Symbol Storage Area

    TH250 Programmer’s Guide Notes n = width of a module = height of a module (because the DataMatrix modules are square). If n is outside its range, this command is ignored. Settings of this command are in effect until 1b 40 is executed, the printer is reset, or the power is turned off.
  • Page 111 TH250 Programmer’s Guide This command encodes and prints the DataMatrix symbol data stored in the symbol storage area. Notes Use this command when the printer is at the beginning of a line, or there is no data in the print buffer.
  • Page 112: Page Mode

    Programmer’s Guide Page mode Page mode is one of two modes that the TH250 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 113: Print Data In Page Mode

    TH250 Programmer’s Guide Print data in page mode ASCII ESC FF Hexadecimal 1B 0C Decimal 27 12 Collectively prints all buffered data in the printing area. After printing, the printer does not clear the buffered data and sets values for select print direction in page mode (1B 54 n) and set print area in page mode (1B 57 …), and sets the position for...
  • Page 114: Select Standard Mode

    TH250 Programmer’s Guide Paper type Total memory allocated Area of construction (mm) (kBytes) Monochrome paper 40.5 72 wide x 72 high Two-color (dots) paper 81.0 72 wide x 72 high 72 wide x 72 high (energy) Printer returns to standard mode through use of 0C, 1B 53, or initialization (which cancels all settings).
  • Page 115: Select Print Area In Page Mode

    TH250 Programmer’s Guide Selects the printing direction and start position in page mode. See the illustration below. 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).
  • Page 116: Set Absolute Vertical Print Position In Page Mode

    TH250 Programmer’s Guide in the x direction is set to dx inches. Use the equations to determine the Value of x0, y0, dx, and  x0 = [(n1 + n2 x 256) x (horizontal direction of the fundamental calculation pitch)] ...
  • Page 117: Set Relative Vertical Print Position In Page Mode

    TH250 Programmer’s Guide Exceptions This command is effective only in page mode. If the [(nL + nH X 256) x (vertical or horizontal motion unit)] exceeds the specified printing area, this command is ignored. Set relative vertical print position in page mode...
  • Page 118: Macros

    TH250 Programmer’s Guide Macros These commands are used to select and perform a user-defined sequence of printer operations. Select or cancel macro definition ASCII GS : Hexadecimal 1D 3A Decimal 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.
  • Page 119 TH250 Programmer’s Guide 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.
  • Page 120: User Data Storage

    TH250 Programmer’s Guide User data storage Write to user data storage ASCII ESC ‘ m a0 a1 a2 d1 ... dm Hexadecimal 1B 27 m a0 a1 a2 d1 ... dm Decimal 27 39 m a0 a1 a2 d1 ... dm...
  • Page 121: Flash Memory User Sectors Allocation

    TH250 Programmer’s Guide 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 user- defined characters defined following this command are not preserved over a power cycle.
  • Page 122: Flash Object Area Pack

    TH250 Programmer’s Guide Flash object area pack ASCII GS” ` n1 Hexadecimal 1D 22 60 n1 Decimal 29 34 96 n1 Value of n1: n1 specifies n1 = 0 pack the permanent font area pack the logo and user-defined character area n1 = 1 Issuing this command will pack the objects currently stored in flash memory.
  • Page 123: Select Flash Area For Storing Logos And User-Defined Characters

    TH250 Programmer’s Guide 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.
  • Page 124: User Storage Status

    TH250 Programmer’s Guide 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.
  • Page 125: Lock Permanent Font Flash Area

    TH250 Programmer’s Guide 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;...
  • Page 126: Switch To Flash Download Mode

    TH250 Programmer’s Guide  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...
  • Page 127: Reset Firmware

    TH250 Programmer’s Guide Sending this command followed by an application will download the application to the printer. This will reprogram the flash. Related information Available only in download mode. For more information, contact your service representative. Reset firmware GS (SPACE)
  • Page 128: Ethernet Setup Commands

    TH250 Programmer’s Guide 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 flash download mode. See User Guide for default setup. Restore default settings...
  • Page 129: Set Gateway

    TH250 Programmer’s Guide Set Gateway US BS ETX n1 n2 n3 n4 ASCII 1F 08 03 n1 n2 n3 n4 Hexadecimal 31 8 3 n1 n2 n3 n4 Decimal none Default: 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.
  • Page 130: Keep-Alive Pings

    TH250 Programmer’s Guide Keep-alive pings ASCII US BS LF Hexadecimal 1F 08 0A Decimal 31 8 n1 = 0: disabled enabled n1 = 1: Default: disabled Enables or disables sending of the keep alive pings (self arps). Keep alive pings may be required for use with such things as smart hubs;...
  • Page 131 TH250 Programmer’s Guide Identifying value of configuration setting type reflecting nn values (01-0E) Low byte of data size High byte of data size d0...ds: Data bytes representing value Example: Sending 1F 0B 08 (nn = 08, return DHCP status) returns 01 08 01 00 01. The first 01 is the rr (1 record) and the rest is the record (08 01 00 01), where 08 is the id (DHCP), 01 00 is the size as s0 s1 (1 byte), and the final 01 is the data as d0...ds (enabled).
  • Page 132: Settings Commands

    TH250 Programmer’s Guide Settings commands The following commands enable the user to save and restore printer settings. Save current settings ASCII US HT SOH ACK Hexadecimal 1F 09 01 06 Decimal 31 09 01 06 Saves all current settings as factory settings.
  • Page 133: Black Bar Commands

    TH250 Programmer’s Guide Black bar commands Set black bar flags ASCII US EXT 0X51 NUL nn Hexadecimal 1F 03 51 00 nn Decimal 31 03 81 00 nn Value of nn: binary byte of wanted flags (in hex) 01 = Sensor available...
  • Page 134: Enable Black Bar Max Feed

    TH250 Programmer’s Guide Enable black bar max feed ASCII US EXT 0X51 EOT nn Hexadecimal 1F 03 51 04 nn Decimal 31 03 81 04 nn Value of nn: number of inches Sets the max feed to nn inches. Enable black bar threshold...
  • Page 135: Miscellaneous Configuration Commands

    TH250 Programmer’s Guide Miscellaneous configuration commands Set diagnostics mode ASCII US EXT NUL n Hexadecimal 1F 03 00 n Decimal 31 03 00 n Value of n: 0 = Normal operation/diagnostics mode off 1 = DataScope mode (without graphics) 2 = Receipt test mode...
  • Page 136: Set Max Power

    TH250 Programmer’s Guide Set max power ASCII US EXT EOT n Hexadecimal 1F 03 04 n Decimal 31 03 04 n Value of n: 0 = Auto 1 = 55W 2 = 75W 3 = 90W 0 (Auto) Default: 1 (Enable) Sets the max power to match the power supply of the printer.
  • Page 137: Set Partial Cut Distance

    TH250 Programmer’s Guide Set partial cut distance ASCII US EXT LF n Hexadecimal 1F 03 0A n D ecimal 31 03 10 n Value of n: 00h = 125 steps 05h = 110 steps 01h = 130 steps 06h = 115 steps...
  • Page 138: Enable Or Disable Code 128 Check Digit Calculation

    Failure to observe this rule may result in a printer service call and may void the printer warranty. Running at a higher energy level will reduce the printhead life. Consult your Wincor Nixdorf technical support specialist if you have questions. Enable or disable Code 128 check digit calculation...
  • Page 139: Set Paper Low Threshold Extension

    TH250 Programmer’s Guide Set paper low threshold extension ASCII US EXT US n Hexadecimal 1F 03 1F n Decimal 31 03 31 n Value of n: 0 = Zero 1 = 5 feet 2 = 10 feet 3 = 15 feet...
  • Page 140: Set Fine Adjustment Of Partial Cut Steps

    ID command (1D 49 n). If n > 0, the printer ID will transmit whatever value of n is selected. If n = 0, the printer can be configured to send back the ID of the TH250, TH210/TH210-2/A794, A793 or Application Compatible Escape Command systems using the configuration menu.
  • Page 141: Set Vertical White Space

    TH250 Programmer’s Guide Set vertical white space ASCII US EXT 0x47 n Hexadecimal 1F 03 47 n Decimal 31 03 71 n Value of n: number of dot rows 0 = Reduced white space on FF = Normal spacing When this command is sent, the amount of white space on the printed receipt is n dot rows.
  • Page 142: Set Shutdown Mode Timeout

    TH250 Programmer’s Guide Set shutdown mode timeout US EXT 0x54 SOH ll hh ASCII 1F 03 54 01 ll hh Hexadecimal Decimal 31 03 84 01 ll hh 0 = Disable Value of n: 1 = Enable low byte of frequency...
  • Page 143: Th230 Emulation Exceptions

    Appendix A: TH230 Emulation Exceptions The TH250 can be set to emulate the TH230. Please refer to the TH230 Programming Manual for commands specific to this emulation. The commands below are exceptions to how the commands normally run on a TH230.
  • Page 144 TH250 Programmer’s Guide Code (hexadecimal) Command Exception Paper feeds same regardless of knife installed or not 1F 7A n Real time commands disabled n = 1 is not a real time command 1D 28 6B 03 00 31 43 n Set size for QR code module Initializing printer doesn’t...
  • Page 145 TH250 Programmer’s Guide Code (hexadecimal) Command Exception generator checksum, returns “_OK” n = 143: No booter, returns null n = 145: No powerup test version, returns null n = 146: No powerup test checksum, returns “_OK” n = 148: no EEPROM status, returns “_OK”...
  • Page 146: Commands Listed By Hexadecimal Code

    TH250 Programmer’s Guide Appendix B: Commands listed by hexadecimal code Code (hexadecimal) Command Horizontal tab Print and feed paper one line Print and return to standard mode Print and carriage return Clear printer 10 04 n Real time status transmission (DLE sequence)
  • Page 147 TH250 Programmer’s Guide Code (hexadecimal) Command 1B 3A 30 30 30 Copy character set from ROM to RAM 1B 3D n Select peripheral device (for multi-drop) 1B 3F n Cancel user-defined character 1B 40 Initialize printer 1B 44 n1...nk 00...
  • Page 148 TH250 Programmer’s Guide Code (hexadecimal) Command 1D 22 n Select memory type (SRAM/Flash) where to save logos or user- defined fonts 1D 22 55 n1 n2 Flash memory user sectors allocation 1D 22 60 n1 Flash object area pack 1D 22 61 n1 n2 (n3)
  • Page 149 TH250 Programmer’s Guide Code (hexadecimal) Command 1D 62 n Set smoothing 1D 66 n Select pitch of HRI characters 1D 68 n Select bar code height 1D 6B m d1...dk 00 Print bar code 1D 6B m n d1...dn 1D 6B n d1... 00 Print GS1 Databar (RSS barcode), null terminated 1D 6B m nL nH d1...
  • Page 150 TH250 Programmer’s Guide Code (hexadecimal) Command 1F 03 00 n Set diagnostics mode 1F 03 02 n Enable or disable knife 1F 03 03 n Enable or disable paper low sensor 1F 03 04 n Set max power 1F 03 07 n...
  • Page 151 TH250 Programmer’s Guide Code (hexadecimal) Command 1F 08 01 n1 n2 n3 n4 Set IP address 1F 08 02 n1 n2 n3 n4 Set net mask 1F 08 03 n1 n2 n3 n4 Set gateway 1F 08 04 n1 n2...
  • Page 152: Resident Character Sets

    TH250 Programmer’s Guide Appendix C: Resident Character Sets Character sets Character code table Page 0 (PC437: USA, Standard Europe):...
  • Page 153: Character Code Table Page 1 (Pc850: Multilingual Latin I)

    TH250 Programmer’s Guide Character code table Page 1 (PC850: Multilingual Latin I):...
  • Page 154: Character Code Table Page 2 (Pc852: Latin Ii)

    TH250 Programmer’s Guide Character code table Page 2 (PC852: Latin II):...
  • Page 155: Character Code Table Page 3 (Pc860: Portuguese)

    TH250 Programmer’s Guide Character code table Page 3 (PC860: Portuguese):...
  • Page 156: Character Code Table Page 4 (Pc863: Canadian French)

    TH250 Programmer’s Guide Character code table Page 4 (PC863: Canadian French):...
  • Page 157: Character Code Table Page 5 (Pc865: Nordic)

    TH250 Programmer’s Guide Character code table Page 5 (PC865: Nordic):...
  • Page 158: Character Code Table Page 6 (Pc858: Multilingual I + Euro)

    TH250 Programmer’s Guide Character code table Page 6 (PC858: Multilingual I + Euro):...
  • Page 159: Character Code Table Page 7 (Pc866: Russian)

    TH250 Programmer’s Guide Character code table Page 7 (PC866: Russian):...
  • Page 160: Character Code Table Page 8 (Wpc1252: Latin I)

    TH250 Programmer’s Guide Character code table Page 8 (WPC1252: Latin I):...
  • Page 161: Character Code Table Page 9 (Pc862: Hebrew)

    TH250 Programmer’s Guide Character code table Page 9 (PC862: Hebrew):...
  • Page 162: Character Code Table Page 10 (Pc737: Greek)

    TH250 Programmer’s Guide Character code table Page 10 (PC737: Greek):...
  • Page 163: Character Code Table Page 11 (Pc874: Thai)

    TH250 Programmer’s Guide Character code table Page 11 (PC874: Thai):...
  • Page 164: Character Code Table Page 12 (Pc857: Turkish)

    TH250 Programmer’s Guide Character code table Page 12 (PC857: Turkish):...
  • Page 165: Character Code Table Page 13 (Wpc1251: Cyrillic)

    TH250 Programmer’s Guide Character code table Page 13 (WPC1251: Cyrillic):...
  • Page 166: Character Code Table Page 14 (Wpc1255: Hebrew)

    TH250 Programmer’s Guide Character code table Page 14 (WPC1255: Hebrew):...
  • Page 167: Character Code Table Page 15 ((Kz_1048: Kazakh)

    TH250 Programmer’s Guide Character code table Page 15 ((KZ_1048: Kazakh):...
  • Page 168: Character Code Table Page 16 (Wpc1254: Turkish)

    TH250 Programmer’s Guide Character code table Page 16 (WPC1254: Turkish):...
  • Page 169: Character Code Table Page 17 (Wpc1250: Central Europe)

    TH250 Programmer’s Guide Character code table Page 17 (WPC1250: Central Europe):...
  • Page 170: Character Code Table Page 18 (Wpc28591: Latin 1)

    TH250 Programmer’s Guide Character code table Page 18 (WPC28591: Latin 1):...
  • Page 171: Character Code Table Page 19 (Wpc28592: Latin 2)

    TH250 Programmer’s Guide Character code table Page 19 (WPC28592: Latin 2):...
  • Page 172: Character Code Table Page 20 (Wpc28599: Turkish)

    TH250 Programmer’s Guide Character code table Page 20 (WPC28599: Turkish):...
  • Page 173: Character Code Table Page 21 (Wpc28605: Latin 9)

    TH250 Programmer’s Guide Character code table Page 21 (WPC28605: Latin 9):...
  • Page 174: Character Code Table Page 22 (Pc864: Arabic)

    TH250 Programmer’s Guide Character code table Page 22 (PC864: Arabic):...
  • Page 175: Character Code Table Page 23 (Pc720: Arabic)

    TH250 Programmer’s Guide Character code table Page 23 (PC720: Arabic):...
  • Page 176: Character Code Table Page 24 (Wpc1256: Arabic)

    TH250 Programmer’s Guide Character code table Page 24 (WPC1256: Arabic):...
  • Page 177: Character Code Table Page 25 (Wpc28596: Arabic)

    TH250 Programmer’s Guide Character code table Page 25 (WPC28596: Arabic):...
  • Page 178: Character Code Table Page 26 (Katakana: Asia)

    TH250 Programmer’s Guide Character code table Page 26 (KATAKANA: Asia):...
  • Page 179: Character Code Table Page 27 (Pc775: Baltic)

    TH250 Programmer’s Guide Character code table Page 27 (PC775: Baltic):...
  • Page 180: Character Code Table Page 28 (Wpc1257: Baltic)

    TH250 Programmer’s Guide Character code table Page 28 (WPC1257: Baltic):...
  • Page 181: Character Code Table Page 29 (Wp28594: Baltic)

    TH250 Programmer’s Guide Character code table Page 29 (WP28594: Baltic):...
  • Page 182 Offenders will be liable for damages. All rights, including rights created by patent grant or registration of a utility model or design, are reserved. Delivery subject to availability; technical modifications possible. Copyright © Wincor Nixdorf International GmbH, 2016 Wincor Nixdorf International GmbH, 2016 Order No.: 01750275608 B...

Table of Contents

Save PDF