Intermec PM43/PM43c Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43
Intermec PM43/PM43c Manual
View all Intermec PM43/PM43c manuals
Add to My Manuals
Save this manual to your list of manuals |
Intermec PM43/PM43c manual content summary:
- Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 1
Fingerprint Developer's Guide - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 2
intermec.com The information contained herein is provided solely for the purpose of allowing customers to operate and service Intermec Intermec Technologies Corporation. © 2012 by Intermec Technologies Corporation. All rights reserved. The word Intermec, the Intermec of Intermec Technologies - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 3
xi Global Services and Support xi Who Should Read This Manual xii Related Documents xii 1 Introduction to Fingerprint 1 What Is Fingerprint 2 Learning the Structure of Fingerprint Commands 2 Fingerprint Operating Modes 3 Sending Fingerprint Commands to the Printer 3 2 Understanding - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 4
Contents Using a WHILE...WEND Instruction 23 Structuring Your Program 24 Executing the 29 Creating a Startup Program 29 3 Managing Files 31 Using Directories in the Printer File System 32 Using Path Shortcuts 32 About File Types 33 Commands for Listing 40 iv Fingerprint Developer's Guide - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 5
BUSY or READY Statements 50 Using an ON LINE | OFF LINE Statement 51 Controlling Printer Response with VERBON | VERBOFF 51 Managing Background Communication 51 Background Communication Example 52 Retrieving Blocks and Determining File Length With LOC and LOF 59 Fingerprint Developer's Guide v - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 6
Read and Determining File Length With LOC and LOF 62 Output to Communication Channels 62 Output to the Printer Display 63 5 Managing Fonts, Bar Codes, and Images 65 Managing Fonts 66 About Font Types 66 81 Choosing the Human-Readable Font with BARFONT 82 vi Fingerprint Developer's Guide - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 7
Summary for Lines 86 Additional Printing Instructions 86 Printing Partial Fields With the Controlling the Printer 101 Using Fingerprint to Control the Printer 102 Controlling the Last Printing Operation With PRINTFEED 104 Enabling Manual Printing With PRINT KEY ON 105 Checking the Guide vii - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 8
Remapping the Keypad With KEYBMAP 110 Using the Keypad in Immediate Mode 111 Using the Printer Display 112 Customizing the Printer Display 112 Controlling the LEDs and Beeper 112 Using an LED ON|OFF|BLINK Statement 125 Using STOP and CONT Statements 125 viii Fingerprint Developer's Guide - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 9
and Keywords 133 Introduction to Character Sets 134 About the UTF-8 Character Set 135 Example 136 Reserved Keywords and Symbols 137 I Index 139 Fingerprint Developer's Guide ix - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 10
Contents x Fingerprint Developer's Guide - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 11
topic or contain special instructions for handling a particular condition or set of circumstances. Global Services and Support Warranty Information To understand the warranty for your Intermec product, visit the Intermec web site at www.intermec.com and click Support > Returns and Repairs > Warranty - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 12
You Begin Who Should Read This Manual This document is written for the person who is responsible for developing applications in the Intermec Fingerprint programming language. You need to be familiar with operating, maintaining, and troubleshooting your Intermec printer. You should also be familiar - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 13
1 Introduction to Fingerprint This chapter introduces Intermec Fingerprint and includes these topics: • What Is Fingerprint? • Learning the Structure of Fingerprint Commands • Fingerprint Operating Modes • Sending Fingerprint Commands to the Printer 1 - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 14
specific Fingerprint or Direct Protocol commands, see the Fingerprint Command Reference Manual. To locate the latest Fingerprint firmware for your printer: 1 Visit the Intermec web site at www.intermec.com. 2 Click Support > Downloads. 3 Use the Product Category, the Product Family, and Product to - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 15
are processed when the printer receives a carriage Intermec printer using a serial connection, you need: • a computer with a screen and keyboard. • a serial connection to the printer printer, see your printer user's manual. Connect to the printer using a communications program 1 Connect the printer - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 16
to Fingerprint Stop bits Flow control 1 None These serial connection parameters are the default for Fingerprint printers. If you have changed the communication settings on your printer, use those settings instead. 5 In the communications program, type: SETUP WRITE "uart1:" 6 Press Enter. The - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 17
Fingerprint Syntax • About Devices • About Immediate Mode • About Programming Mode • Sending Programs to the Printer • Commands for Editing Code • Using Conditional Instructions • About Branching • About Loops • Structuring Your Program • Executing the Program • Breaking Program Execution • Breaking - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 18
specified line. STORE IMAGE Sets up parameters for storing an image in printer memory. In some cases, a space character is a required part of For more information, see the Fingerprint Command Reference Manual. A statement is an instruction which specifies an operation. It consists of a Guide - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 19
the printer to only echo back either a Carriage Return (ASCII 13 decimal) or a Line Feed (ASCII 10 decimal). If you type the line numbers manually, start set of instructions on one line: PP100,250:FT"Univers":PT"Text 1":PF ? You cannot change a line after you send it to the printer. However, - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 20
). String variables are indicated by a trailing $ sign, as in these examples: A$="INTERMEC" B$ = TIME$ LET C$ = DATE$ • Numeric variables store only numbers. by C and followed by K. This variable name is valid. Note: Intermec suggests that all variables and line labels start with a q. For a list - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 21
used as an assignment operator. Greater than Greater than or equal to Relational operators return: -1 if relation is TRUE. 0 if relation is FALSE. Fingerprint Developer's Guide 9 - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 22
illustrated by the following examples, where A and B are simple logical expressions. Examples of Logical Operator AND A B T T T F F T F F A AND B T F F F Examples of Logical OperatorXOR A B T T T F F T F F A XOR B F T T F 10 Fingerprint Developer's Guide - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 23
display and keyboard. Note: Use the DEVICES command to see the list of devices your printer supports. You may need to specify a device in relation to a Fingerprint command. The next table directory commands, such as SAVE, KILL, or FORMAT, and with OPEN statements. Fingerprint Developer's Guide 11 - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 24
Understanding Fingerprint Syntax In instructions used in connection with host computer. This method resembles "Escape sequences" used in other types of label printers. • Send commands that can be used in either Immediate or Programming mode, such Reference Manual. 12 Fingerprint Developer's Guide - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 25
instructions for syntax errors. Provided there is a working two-way communication and the verbosity is on, the printer are either manually entered as printer is switched on, and keep running indefinitely. Using Line Numbers You can manually enter line numbers as you write program lines. Intermec - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 26
next section. Programming Without Line Numbers To write program lines without manually entering line numbers, send the IMMEDIATE OFF command first. Then you There are three main methods of writing and transmitting a program to the printer: • One line at a time. If you have a "non- Developer's Guide - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 27
the text editor and then copy and paste it into the communications program. • Sending a text file to the printer. If the host computer has both a communication program and a text editor, you can write the program in appear. LIST is issued in Immediate mode. Fingerprint Developer's Guide 15 - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 28
Both single lines and ranges of lines in consecutive Conditional Instructions Conditional instructions control instruction, which can be used in two different ways. Using an IF...THEN...[ELSE] Instruction RUN Using an IF...THEN...[ELSE]...END IF Instruction It is also possible to execute multiple - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 29
see the next section. Branching to Subroutines A subroutine is a range of program lines intended to perform a specific task separately from write the routine once, making the program more compact. The instruction for unconditional branching to subroutines is the GOSUB statement. After Guide 17 - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 30
RETURN Instructions for instructions are used for conditional branching: Using an IF...THEN GOTO...ELSE Instruction RUN Using an ON...GOSUB Instruction Depending on the value of The next example includes such an instruction: 10 20 30 1000 2000 ON...GOTO Instruction This instruction is similar - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 31
interrupted when the Shift and Pause keys on the printer keyboard are pressed. The execution branches to a subroutine ,50 NEXT A% GOTO 60 Using an ON COMSET...GOSUB Instruction When one of several specified conditions interrupts the background communication RETURN Fingerprint Developer's Guide 19 - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 32
Instruction To use the printer keypad, each key can be enabled individually using a KEY ON statement and assigned to a subroutine using an ON KEY GOSUB statement. The subroutine should contain the instructions 30 200 PRINT "POSITIVE VALUE" 210 GOTO 30 RUN 20 Fingerprint Developer's Guide - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 33
a specific line. Line 20 is an example of conditional branching. For more information, see "Instructions for Conditional Branching" on page 18. The GOTO statement can also be used to resume program A% RESUME PRINT "Undefined error, execution terminated" END RUN Fingerprint Developer's Guide 21 - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 34
the same line or a previous line. There are two instructions for using more advanced loops: Using a FOR...NEXT Instruction These statements create loops in which a counter is incremented or : ", A% 20 INPUT "Number of labels: ", B% 30 INPUT "Increment: ", C% 22 Fingerprint Developer's Guide - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 35
"COUNTER: "; A% 110 PRINTFEED 120 A%=A%+C% 130 NEXT D% RUN Using a WHILE...WEND Instruction This instruction creates loops in which a series of statements are executed provided a given condition is TRUE. 70 PRINT "You will exit the program" 80 END RUN Fingerprint Developer's Guide 23 - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 36
, ON ERROR GOSUB, ON KEY GOSUB, or other commands as necessary. • Printer setup: SETUP, OPTIMIZE ON/OFF, LTS& ON/OFF, CUT ON/OFF, INPUT#. • Printing routine: FORMFEED, PRINTFEED, CUT. • Looping instructions: GOTO. 4 Subroutines • Break subroutines: BREAK ON/OFF, on. 24 Fingerprint Developer's Guide - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 37
The printer returns "Ok". 4 Type the following text and press Enter at the end of each line: REM This is a demonstration program PRINT "This is the main program" GOSUB sub1 END sub1: PRINT "This is a subroutine":'Line label RETURN IMMEDIATE ON The printer returns "Ok". Fingerprint Developer's Guide - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 38
program is stored on an external device, you can disconnect the device and restart the printer. Four instructions can be used for providing a program with a break interrupt facility: • BREAK - channel (except "net1:" and "usb1:") and for the printer keypad. 26 Fingerprint Developer's Guide - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 39
for the specified device and deletes the specified break character from the printer memory. Using an ON BREAK ...GOSUB...Statement This instruction is not necessary for issuing a break interrupt, but is useful for back to the host in order to make a backup copy. Fingerprint Developer's Guide 27 - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 40
more information on printer memory, see "About Printer Memory" on page as PROGRAM1.TXT to a USB storage device connected to the printer. Protecting the Program When a program is saved, you have to other lines, such as loops and branching instructions. The next example saves the current program as - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 41
selected based on the following priority: 1 An AUTOEXEC.BAT file stored in a CompactFlash memory card, provided the card was inserted in the printer before startup. 2 An AUTOEXEC.BAT file stored in the read/write part of the printer permanent memory (device "/c"). Fingerprint Developer's Guide 29 - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 42
3 The PUP.BAT file (Intermec Shell) in the read-only part of the printer permanent memory (device "/rom"). The MKAUTO.PRG program is included in the systems part of the printer memory ("/rom/MKAUTO.PRG") and that you cannot KILL startup programs stored in "/rom". 30 Fingerprint Developer's Guide - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 43
system and how to manage files, including these sections: • Using Directories in the Printer File System • About File Types • Commands for Creating and Managing Program Files • Commands for Creating and Managing Data Files • Commands for Transferring Text and Binary - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 44
read/write permanent storage memory (/c) in the printer support the use of directories. However, directories cannot information on commands, see the Fingerprint Command Reference Manual. Using Path Shortcuts As a shortcut, each only "/c" supports using directories. 32 Fingerprint Developer's Guide - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 45
various parts of the printer memory: • Program files Files The files stored in the printer memory can be listed using memory (wildcards are supported). You can COPY PRG program included in the Intermec Fingerprint firmware is used to RUN "/rom/FILELIST.PRG" The printer prompts you to enter the name - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 46
adds a copy of a specified program file to the program file currently residing in the printer working memory. • RUN executes the instruction in the program file. Must be issued in Immediate Mode (not in a numbered line copies a file to another name and/or directory. 34 Fingerprint Developer's Guide - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 47
Protocol Files can be sent from host to printer (or vice versa) with the ZMODEM protocol. For more information, see the Fingerprint Command Reference Manual. Using a TRANSFER STATUS Statement After a 0 returns: Number of packets Element 1 returns: Number of NAKs Fingerprint Developer's Guide 35 - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 48
50 PRINT B$(0), B$(1) RUN Commands for Transferring Files Between Printers If you want to transfer a file from one printer to another printer, start by transferring the file to the host. Then disconnect and enclosed by parentheses, as in this example: ARRAY$(3,3,3) 36 Fingerprint Developer's Guide - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 49
according to the fifth character in each element: 10 FOR Q%=0 TO 3 20 A$=STR$(Q%) 30 ARRAY%(Q%)=1000+Q%:ARRAY$(Q%)="No. "+A$ 40 NEXT Q% 50 SORT ARRAY%,0,3,1 Fingerprint Developer's Guide 37 - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 50
3 80 PRINT ARRAY%(I%), ARRAY$(I%) 90 NEXT I% RUN The printer returns: 1000 No. 3 1001 No. 2 1002 No. (B%-1) 60 PRINT ARRAY$(C%) 70 NEXT RUN The printer returns: ONE TWO THREE FOUR FIVE SIX Calculating checksum: ";C% RUN The printer returns: LRC checksum: 0 DRC checksum: - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 51
the Standard IN and OUT Channels • Input From a Host • Input From Sequential Files • Input From a Random File • Input From the Printer Keypad • Controlling Communication • Managing Background Communication • Output to the Standard OUT Channel • Redirecting Output to a File • Output to Sequential - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 52
in Fingerprint instructions (such Command Reference Manual. For example printer cannot echo back the correct character to the host if its ASCII value exceeds 127. Although semicolon characters appear onscreen, the desired "£" characters are printed on the label. 40 Fingerprint Developer's Guide - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 53
the printer to various national standards. By default, characters are printed according to the Roman 8 character set. Fingerprint supports right- is printed according to the selected character set. However, instructions concerning the printable label image that have already been processed Guide 41 - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 54
a specified ASCII value. This is useful when a printer keyboard cannot produce a particular character. • FLOATCALC$ calculates returns the total number of characters and spaces in a string expression. • MID$ returns a portion of a string expression. You can specify the start Developer's Guide - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 55
a specified interval. This example tests a random dot on the printhead of a 12 dots/mm printer: 10 MIN%=HEAD(-7)*85\100: MAX%=HEAD(-7)*115\100 20 DOTNO%=RANDOM(0,1279) 30 IF HEAD RANDOMIZE A% 30 B%=RANDOM(1,100) 40 PRINT B% RUN The printer returns: 42 Fingerprint Developer's Guide 43 - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 56
• INPUT# • INPUT$ • LINE INPUT# • CLOSE The standard IN channel is used for sending instructions and data from the host to the printer to perform a variety of tasks, such as controlling the printer in Immediate Mode, creating programs in Programming Mode, downloading program files, or transmitting - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 57
for input and assigned a number, which is used when referred to in other instructions. The number mark (#) is optional. Up to 10 files and devices can PRINT C$ 150 PRINT D$ 160 PRINT E$ 170 PRINT F$ 180 CLOSE #1 RUN The printer returns: Record A a b c Record B 1 2 3 Record C xyz Record - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 58
PRINT "Record 2:",B$ 100 PRINT "Record 3:",C$ 110 CLOSE #1 RUN The printer returns: Record1: ABCDEFGHIJ Record2: KLMNO Record3: PQRTSUVWXYZ Reading a Line to 50 LINE INPUT #1, A$ 60 PRINT A$ 70 CLOSE #1 RUN The printer returns: Record A,Record B,Record C 46 Fingerprint Developer - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 59
of an OPENed file. The example illustrates how the length of the file "PRICELIST" is returned: 10 20 ..... ..... OPEN "PRICELIST" AS #5 PRINT LOF(5) Fingerprint Developer's Guide 47 - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 60
format using VAL functions. In this example, the following code displays the data on the host screen: 40 PRINT F1$,F2$,F3$ 48 Fingerprint Developer's Guide - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 61
...GOSUB statements and vice versa. The following Fingerprint commands are used in connection with input from the printer keyboard: • OPEN (opens the device "console:" for sequential INPUT) • INPUT# • INPUT$ character set (NASC/NASCD) and possible MAP statements. Fingerprint Developer's Guide 49 - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 62
signal (for example, XOFF or RTS/CTS low). • When a READY statement is executed, the printer sends a ready signal (for example XON or RTS/CTS high). For more information, see the printer user's guide. • The parallel Centronics communication channel uses the BUSY/READY statements to control the PE - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 63
of another command, such as an INPUT statement. Instructions like DEVICES, FILES, FONTS, IMAGES, LIST and PRINT also work normally. When the printer receives a character, such as from the host keyboard and turns on background reception on the specified channel. Fingerprint Developer's Guide 51 - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 64
communication. For specifics on each command, see the Fingerprint Command Reference Manual. To set up the printer for background communication 1 Enable the error handling for the desired background , how much of the temporary memory will be allocated). 52 Fingerprint Developer's Guide - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 65
: 1010 Q% = COMSTAT (1) 1020 IF Q% AND 2 THEN PRINT A$ 1030 IF Q% AND 4 THEN PRINT B$ 1040 IF Q% AND 8 THEN PRINT C$ 1050 IF Q% AND 32 THEN PRINT D$ Fingerprint Developer's Guide 53 - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 66
remaining free space (bytes) in the transmitter buffer. • LOF returns the remaining number of characters to be transmitted from the transmitter buffer. 54 Fingerprint Developer's Guide - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 67
THEN PRINT B$ IF COMSTAT(1) AND 8 THEN PRINT C$ IF COMSTAT(1) AND 32 THEN PRINT D$ PRINT QDATA$ RETURN Setting Up RS-422 Communication Some Intermec printers can be fitted with an optional interface board that provides RS-422 connectivity (isolated or non-isolated) on "uart2:" or "uart3:". Neither - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 68
selected for both standard IN and OUT channels. For every instruction received on the standard IN channel, the printer returns "Ok" or an error message (such as zone is 10 characters long). Example: PRINT "Price","$10" The printer returns: Price $10 • A semicolon (;) places the following - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 69
Example: PRINT "Price_"+"$10" The printer returns: Price_$10 Each line is Price_";"$10"; 20 PRINT "_per_dozen" RUN The printer returns: Price_$10_per_dozen A PRINT statement can also 25+25:PRINT CHR$ (65) The printer returns: 50 A If the PRINT statement 32;49;48 The printer returns: Price $ 10 Note: - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 70
is redirected to the file "IMAGES.DAT". The images in the printer memory are read to the file, after which the output is redirected opened file, which is used when the file is referred to in other instructions. The number mark (#) is optional. Optionally, the length of the record Developer's Guide - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 71
returns the length (in bytes) of a file that has been opened. For an example, see "Determining File Length with LOF" on page 47. Fingerprint Developer's Guide 59 - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 72
with different reference numbers. Now it is time to write some data to the file. Usually the data comes from the host or from the printer keyboard. In this example, we will type the data directly on the host and assign the data to string variables: 60 Fingerprint Developer - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 73
the STR$ function. Left or Right Justifying Data With LSET and RSET There are two instructions for placing data into a random file buffer: • LSET places the data left-justified. : Byte: 1 2 3 4 1 2 3 4 1 2 3 4 5 6 1 2 3 4 1 2 3 4 1 2 3 4 5 6 1 2 3 4 1 2 3 4 1 2 3 Fingerprint Developer's Guide 61 - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 74
cannot be used. These Fingerprint commands are used in connection with output to a communication channel: • OPEN • PRINT# • PRINTONE# • CLOSE • LOC • LOF • COPY 62 Fingerprint Developer's Guide - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 75
The only device other than the serial communication channels that can be opened to receive output from a Fingerprint program is the printer display ("console:"). For more information, see your printer user manual, or the Fingerprint Command Reference Manual. Fingerprint Developer's Guide 63 - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 76
Chapter 4 - Managing Input and Output 64 Fingerprint Developer's Guide - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 77
5 Managing Fonts, Bar Codes, and Images This chapter explains how to manage fonts, bar code printing, and images, and includes these topics: • Managing Fonts • About Bar Code Symbologies • Understanding Images and Image Files 65 - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 78
to manage fonts and font printing. For more information about the fonts included by default with your printer, see the Fingerprint Command Reference Manual. About Font Types Fingerprint supports scalable fonts in TrueType® (.ttf) format, and TrueType-based OpenType® format. You can also purchase - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 79
when moving from a legacy or competitive printer installation to an Intermec printer installation. When you use font aliasing, Univers",12,10,95 About Bar Code Symbologies Fingerprint supports the following bar code symbologies. When using Fingerprint "CODE128" Fingerprint Developer's Guide 67 - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 80
" "C2OF5IND" "C2OF5INDC" "INT2OF5" "I2OF5C" "I2OF5A" "C2OF5MAT" "MAXICODE" "MICROPDF417" "MSI" "PDF417" "PLANET" "PLESSEY" "POSTNET" "QRCODE" "RSS14" "RSS14E" "RSS14ES" "RSS14L" "RSS14S" "RSS14SO" "RSS14T" "C2OF5" 68 Fingerprint Developer's Guide - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 81
" "USPS4CB" General Rules for Bar Code Printing The printer contains a number of bar code generators, which can Therefore, to ensure a highly readable printout, Intermec recommends that you use narrow bars at least see the Fingerprint Command Reference Manual. Commands for Working With Guide 69 - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 82
the Fingerprint Command Reference Manual. Understanding Images and the internal bitmap format of Intermec Fingerprint. • "Image Files" . The printer's current image buffer can in the printer as an Printer Display" on page 112. Standard Images As a standard, the systems part ("Kernel") of the printer - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 83
printer web page, a USB mass storage device, FTP, or SmartSystems to copy image files to your printer , can be downloaded to the printer using the STORE IMAGE, STORE printer driver in the printer image buffer and printed, but cannot be saved in the printer. The names of all images stored in printer - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 84
:", and "usb1:") using REMOVE IMAGE statements. Image files can be removed from the read/write devices ("/c", "tmp:", and "usb1:") using KILL statements. 72 Fingerprint Developer's Guide - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 85
Fields in the Layout • Creating Single-Line and Multi-Line Text Fields • Creating Bar Code Fields • Creating Image Fields • Creating Boxes • Creating Lines • Additional Printing Instructions • Using the LAYOUT Command • Creating a Simple Label • Handling Errors With ERRHAND.PRG 73 - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 86
field ABC Company 1000 First Ave. Azusa CA Line field Image field Multi-line text field Example of Fields in a Label Layout 74 Fingerprint Developer's Guide - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 87
printer X-start value. This value can be set by using a SETUP command, or by manually placing the printer in Setup mode and changing the value. • the current Feed setting on the printer left to right (as seen when facing the printer), and the Y-axis runs along the media - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 88
an integrated part of the bar code pattern (such as for EAN and UPC codes), see ALIGN in the Fingerprint Command Reference Manual. The next illustrations show the anchor point locations for the different fields. 5 7 8 9 4 6 1 2 3 Bar Code Field Anchor Points 1, 4, or 7 2, 5, or 8 Box - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 89
box and the box surrounding the field. The box can be made visible or invisible. 7 8 9 6 4 Baseline 1 52 3 Single-Line Text Field Anchor Points Fingerprint Developer's Guide 77 - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 90
out of label" error, the PRSTAT command is used to check the width of the printed fields. If the printed width exceeds 550 dots, the printer continues printing on the next label: 78 Fingerprint Developer - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 91
PRINTFEED 110 END RUN Checking the Size and Position of a Field When printing a label, Fingerprint instructions are processed into a bitmap pattern that can be sent to the printhead. This process is called only needed when changing back from INVIMAGE printing. Fingerprint Developer's Guide 79 - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 92
to a new line according to the hyphenation settings. For more information, see the Fingerprint Command Reference Manual. Summary for Text Fields To print a single- or multi-line text field, the following information Bold,20,15,80" 50 INVIMAGE 60 PRTXT "HELLO" 80 Fingerprint Developer's Guide - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 93
90 PRINTFEED RUN Creating Bar Code Fields Fingerprint supports many common bar code symbologies, including 2D , BARRATIO, BARTYPE, and BARMAG instructions. BARSET contains optional parameters for , see the Fingerprint Command Reference Manual. For common one-dimensional bar codes Guide 81 - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 94
data. Summary for Bar Code Fields To print a bar code field, the following information and instructions must be specified. If no value is given, defaults are substituted. Required Information for Bar Code Input data to bar code field Resets parameters to default 82 Fingerprint Developer's Guide - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 95
the standard positioning statements PRPOS, ALIGN and DIR, an image field can contain the following instructions: • MAG - Magnification value. • NORIMAGE or INVIMAGE - Specifies inverse printing. • matches DIR 2 and DIR 4 The image must be in the default directory. Fingerprint Developer's Guide 83 - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 96
for Image Fields To print an image field, the following instructions must be specified. If no value is specified, default values depending on direction Resets parameters to default This example shows a typical image field instruction: 10 PRPOS 50,50 20 ALIGN 9 30 DIR 3 40 MAG 2,2 50 - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 97
Height, width, and line weight in dots Resets parameters to default This example shows a typical box field instruction: 10 PRPOS 250,250 20 ALIGN 1 30 DIR 3 40 PRBOX 200,200,10 50 PRINTFEED RUN Creating the PRDIAGONAL command to create a diagonal line. Fingerprint Developer's Guide 85 - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 98
200,10 50 PRINTFEED RUN Additional Printing Instructions Fingerprint includes other commands you can use size of which is determined by the combination of the printer X-Start, Width, and Length settings. Any field extending see the Fingerprint Command Reference Manual. Use CLIP OFF to return Guide - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 99
or arrays. This requires less programming in the printer and less data transfer between printer and host, but some kind of overhead program in the host to handle data input and file transfer is typically of great help. The program instruction is a statement called LAYOUT. Before using this statement - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 100
appended to the fixed data at the position specified in bytes 43 and 44. The LAYOUT statement does not support multi-line text fields. About Layout Requirements You must follow these rules when you create a layout: • because its ASCII number (58 dec) minus 48 = 10. 88 Fingerprint Developer's Guide - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 101
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 Syntax of Layout File Records (1) Fingerprint Developer's Guide 89 - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 102
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 Syntax of Layout File Records (2) 90 Fingerprint Developer's Guide - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 103
must be appended by a semicolon (;). If you specify logotype-by-name (record type A), the printer memory is searched for an image with the specified name. A logotype-by-name file is " 40 PRINT#1, "2 :DIAMONDS.1" 50 PRINT#1, "3 :DIAMONDS.2"; 60 CLOSE 1 Fingerprint Developer's Guide 91 - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 104
layout records plus twice the sum of all data records. You should also include some routine that reads the array, for example: 92 Fingerprint Developer's Guide - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 105
a simple layout created using the layout statement in combination with data and error arrays: 10 DIM QERR%(28) 20 LAYDATA$(0)="02Var. input" 30 LAYDATA$(1)="03 PRINTER" 40 QERR%(0)=0 Fingerprint Developer's Guide 93 - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 106
GOTO 260 230 PRINT " ERROR "; QERR%(I%+1); " in record "; QERR%(I%) 240 I%=I%+2 250 GOTO 220 260 PRINTFEED RUN "; 11I 22 "; 0 11 "; 3 311 100"; 11 "; 5 "; "; 94 Fingerprint Developer's Guide - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 107
Manual. To design and print a simple label 1 Connect the printer to a host PC. For help, see "Sending Fingerprint Commands to the Printer , and inserted at position X=10, Y=10. 3 Type RUN and press Enter. The printer prints this label: Feed direction 4 Enter the following text: 30 PRPOS 30,30 40 - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 108
Designing Bar Code Labels 5 Type RUN and press Enter. The printer prints this label: GLOBE.1 image 6 Enter the following text: Y=270, using Code 39, with the data "ABC". 7 Type RUN and press Enter. The printer prints this label: 8 Enter the following text: 1 BARFONT ON 2 BARFONT "Univers", 6 This - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 109
Chapter 6 - Designing Bar Code Labels 9 Type RUN and press Enter. The printer prints this label: Bar code interpretation field 10 Enter the following text: 80 font, with the text "My FIRST Label". 11 Type RUN and press Enter. The printer prints this label: Single-line text field Fingerprint Developer - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 110
of the field is aligned with the left side of the bar code field: 80 PRPOS 75,220 14 Type RUN and press Enter. The printer prints this label: 15 (Optional) To save your program, enter the following text and then press Enter: SAVE "LABEL1" Your program is saved in the - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 111
programs you may find use for an error handler. For this purpose, Intermec includes ERRHAND.PRG in the firmware. Note: To use ERRHAND.PRG you . ERRHAND.PRG contains subroutines that displays the type of error on the printer display (for example, "Out of paper" or "Head lifted"), prints Guide 99 - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 112
: 160 GOSUB 500000 170 GOTO 170 RUN Try pressing different keys on the printer keyboard. Only keys that have been assigned a function in ERRHAND.PRG (Pause, PRG can easily be modified to fit into more complex programs and Intermec recommends that you include it in your programs until you are - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 113
This chapter describes how to control various functions in the printer and includes these topics: • Using Fingerprint to Control the Printer • Controlling Media Feed • Controlling Printing • Using the Printer Keypad • Using the Printer Display • Controlling the LEDs and Beeper • Setting the Date and - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 114
, conditions after printing, and setting the date and time for the printer real-time clock. For specific printer information, or for details on media types and compatibility with your printer, see the printer user's guide. Controlling Media Feed Use these Fingerprint commands to control the media - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 115
increments during program execution, for best results Intermec recommends that you make adjustments to the printer Start Adjust and Stop Adjust values instead. short labels. For information, see the Intermec Fingerprint Command Reference Manual. Rotating the Platen Roller With CLEANFEED 's Guide 103 - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 116
PRINTFEED At execution of a PRINTFEED statement, the printer runs the last program that included printing instructions such as field content or positioning, and prints one "INT2OF5", 3, 1, 2, 100, 2, 1, 2, 0, 0 "INT2OF5" 1 "Univers", 12, 0, 100 NORIMAGE 1, 1 0, 0 104 Fingerprint Developer's Guide - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 117
when the Print key on the printer keypad is pressed manually. The default is PRINT KEY OFF. These commands can only be issued in the Immediate Mode and in the Intermec Direct Protocol. Checking the Transfer FAULTY DOT statements by marking all dots as correct. Fingerprint Developer's Guide 105 - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 118
Chapter 7 - Controlling the Printer BARADJUST enables the firmware to track all faulty dots, and relocates the how to use FUNCTEST on a PF4i: 10 FUNCTEST "HEAD", A$ 20 PRINT "HEADTEST:", A$ RUN The printer returns (for example): HEADTEST: HEAD OK,SIZE:832 DOTS Ok 106 Fingerprint Developer - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 119
HEADTEST:", FUNCTEST$ ("HEAD") The printer returns (for example): HEADTEST: executed, the printer renders the program instructions into a bitmap buffer is emptied, the printer processes the next bitmap pattern instructions to manage the buffers first, and process variable data last. - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 120
For more information on adjusting the print speed, see the printer user's guide. Clearing the Print Buffer With CLL and FIELDNO The image invoked if: • a value >1 is entered for the PRINTFEED statement."Using Conditional Instructions" on page 16. • the label taken sensor is disabled (LTS& OFF). - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 121
each of these keys can be disabled using a MAP or KEYBMAP$ instruction to map it to an ASCII value other than ASCII 30 or 31 Manual Printing With PRINT KEY ON" on page 105. Using the Printer Keypad If your printer has a keypad, you can use it to: • Control the printer in Developer's Guide 109 - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 122
Sets and Keywords" on page 133. Note: KEYBMAP$ instructions do not affect the printer in Setup Mode. The current keyboard mapping can be read B%=1 TO 64 40 C$=MID$(A$,B%,1) 50 E%=ASC(C$) 60 PRINT B%,E%,C$ 70 NEXT RUN You can also use the KEYBMAP$ instruction to remap the keyboard, Guide - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 123
Printer printer has been placed in Immediate Mode (by sending an IMMEDIATE ON statement), these keys on the printer PRINT KEY ON statement. For more information, see "Enabling Manual Printing With PRINT KEY ON" on page 105. • TESTFEED operation. • Setup places the printer in Setup Mode. • Pressing i - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 124
on how to use custom images with these commands, see the Fingerprint Command Reference Manual. Controlling the LEDs and Beeper If your printer has status LEDs instead of a display, you can control these LEDs using a LED 0 ON LED 1 OFF END LED 0 OFF LED 1 ON RESUME 112 Fingerprint Developer's Guide - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 125
988,25 : SOUND 30000,10 RESUME Setting the Date and Time Some Intermec printers are equipped with a real-time clock (RTC) with battery backup. If at each startup. If no RTC is installed, you need to manually set the clock using either a DATE$ or a TIME$ variable Fingerprint Developer's Guide 113 - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 126
Chapter 7 - Controlling the Printer • =TIME$("F") - Returns the current time in the format specified by FORMAT Go to work!" 180 IF A%>5 THEN PRINT "It is ";WEEKDAY$(DATE$); ". Stay home!" RUN The printer returns (for example): Monday Apr/03/2003 08.00 am Date: Apr/03/2003 Time: 08.00 am - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 127
SETUP statement. A SETUP statement can: • place the printer in Setup Mode for manual configuration (pressing keys on the printer keypad). When the printer is in Setup Mode, it does not respond to on "uart1:". Finally, use the setup file to change the printer setup. Fingerprint Developer's Guide 115 - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 128
Printer can decide whether a change in the printer setup should be permanent or temporary using the Fingerprint Command Reference Manual. The next table previously executed SYSVAR(15) instruction. Returns the number of bytes messages transmitted by the printer. Returns 0 if the printer is set up for - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 129
Chapter 7 - Controlling the Printer SYSVAR Values and Descriptions (continued) Value 22 23 24 26 27 28 29 30 31 32 33 34 35 36 37 39 mm) of the ribbon supply. Modifies the DNS timeout value. Default is 5 (150 seconds). Each increment or decrement equals ±30 sec. Fingerprint Developer's Guide 117 - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 130
of three characteristics of the printer: • VERSION$(0) returns the firmware version (for example, "P10.03.006424"). • VERSION$(1) returns the printer family (for example, "PM43"). • VERSION$(2) returns the communication settings for the STDIN and STDOUT channels. 118 Fingerprint Developer's Guide - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 131
of Intermec Fingerprint, the device designations "ram:" and "c:" are interpreted as "/c" and "rom:" as "/rom". The printer memory consists of a number of parts, some with directories. Permanent Memory The permanent memory, "c:" or "/c" (also called /ram or "ram:" in some printer manuals) resides - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 132
memory is used for the following purposes: • To execute Fingerprint instructions. At startup, the kernel in the permanent memory is copied to each kind. The size of each buffer is decided separately by the printer. • For communication buffers. In a program, you may set up Fingerprint Developer's Guide - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 133
Printer small instruction that returns the number of free bytes in a specified part of the printer memory "/c" and or "tmp:". If the printer is not equipped with the maximum amount printer. Formatting the Permanent Memory The printer does not erase your printer configuration. FORMAT "/c" erases - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 134
, and control lamps, in addition to the printer. Conversely, the status of various external devices can be used to control both the printer and other equipment. Thus, a Fingerprint program port, or checks the current state of a specified input or output signal. 122 Fingerprint Developer's Guide - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 135
8 Error Handling This chapter describes how Fingerprint handles errors and includes these topics: • Standard Error Handling • Checking for Programming Errors • Commands for Error-Handling Routines • Using the ERRHAND.PRG Utility Program • Standard Error Codes 123 - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 136
application and how independently the printer works. For flexibility, Intermec Fingerprint includes a number of checks: • Syntax Check. Each program line or instruction received on the standard IN channel is checked for the Fingerprint Command Reference Manual. 124 Fingerprint Developer's Guide - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 137
the Debug STDOUT port or not. • The statement LIST,B lists all breakpoints to the standard OUT channel. • The statement DBEND terminates the debugger. Fingerprint Developer's Guide 125 - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 138
information, see "Instructions for Conditional Branching" Command Reference Manual. ERL returns see "Instructions for returns, the printer is OK. Description Printer is OK Printhead lifted printer has no LTS) Label Stop Sensor does not detect a label Printer out of thermal transfer ribbon, or the printer - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 139
, if the printhead is lifted (1), and the printer is out of media (128) and ribbon more information, see PRSTAT in the Fingerprint Command Reference Manual. Error Handling Example In this example one error condition than one application stored in printer memory, you can save valuable memory - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 140
contain the actual text that appears in the printer display on lines 1 and 2 respectively. The by the statement GOSUB 500000. Clears the printer display and makes the display texts stored Routine for Setup key (key No. 18). Places the printer in Setup Mode. Called by the statement GOSUB 1800000. - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 141
IF PRSTAT AND 1 THEN GOTO 330040 330050 FORMFEED 330060 IF PCOMMAND% THEN GOSUB 500000 330200 RETURN 340000 'Error 1027 Out of transfer ribbon Fingerprint Developer's Guide 129 - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 142
$ 1500120 GOSUB 600000 1501000 'PD41 Pause function 1501005 ON KEY 17 GOSUB 1501000 : 'Temporarily hijack the PRINT key. 1501010 KEY 17 ON 130 Fingerprint Developer's Guide - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 143
ON 1900200 RETURN Extensions to ERRHAND.PRG The following subroutines can be added manually to stop new input via the printer keyboard while a subroutine is executed. To enable all keys after completing a all keys off FOR I% = 0 TO 21 KEY (I%) OFF NEXT I% RETURN Fingerprint Developer's Guide 131 - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 144
Chapter 8 - Error Handling Standard Error Codes When a problem occurs, your printer may display an error code. For a list of standard error codes and the explanations for the error, see the Fingerprint Command Reference Manual. 132 Fingerprint Developer's Guide - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 145
A Character Sets and Keywords This chapter includes an introduction to character sets and a list of Fingerprint keywords reserved for use by commands. 133 - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 146
RS Shift in 31 US End of medium Substitute Escape File separator Group separator Record separator Unit separator For the full list of character sets supported by Fingerprint, see the Fingerprint Command Reference Manual. 134 Fingerprint Developer's Guide - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 147
the Unicode character number. Unicode character number range Hex 0000-007F Binary x7x6x5x4x3x2x1 0080-07FF bytes: 1110z4z3z2z1 10y6y5y4y3y2y110 x6x5x4x3x2x1 Four bytes: Not currently supported. Follow the next procedure to convert a Unicode character 10010110. Fingerprint Developer's Guide 135 - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 148
Letter Small A" 50 PRPOS 0,35 60 FONT "Univers" 70 PRTXT CHR$(208)+CHR$(150) 80 PRTXT " = Cyrillic Capital Letter ZHE" 90 PRINTFEED 136 Fingerprint Developer's Guide - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 149
INT INVIMAGE IP KEY KEYBMAP$ KILL LAYOUT LBLCOND LED LEFT$ LEN LET LINE INPUT LIST LISTPFSVAR LOAD LOC LOF LSET LTS& MAG MAKEASSOC MAP MERGE MID$ MKDIR MOD MODE NAME NASC NASCD NEW NEXT NI NORIMAGE NOT OFF OFF LINE ON ON BREAK ON COMSET ON ERROR GOTO ON HTTP GOTO - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 150
TIME$ TIMEADD$ TIMEDIFF TO TRANSFER TRANSFER$ TRANSFERSET TROFF TRON VAL VERBOFF VERBON VERSION$ WEEKDAY WEEKDAY$ WEEKNUMBER WEND WHILE WRITE XOR XORMODE XYZZY 138 Fingerprint Developer's Guide - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 151
I Index 139 - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 152
labels, designing, 74 printing, rules for, 69 rules for printing, 69 specifying for bar code fields, 81 supported, 67 baradjust record, for layouts, illustrated, 90 BARADJUST, to avoid faulty dots, 69, 105 BARCODENAME$, , 104 wide and narrow bar ratio, setting, 70 Fingerprint Developer's Guide - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 153
52 Index COMBUF$, 52 commands, sending to printer, 3 comments, adding to code, 15 ...GOSUB, 20 ON...GOSUB, 18 ON...GOTO, 18 conditional instructions, 16 IF...THEN...[ELSE], 16 IF...THEN...[ELSE]...END IF 29 counter, specifying, 22 creating directories in printer memory, 32 CSUM, 38 CURDIR$ defined, - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 154
BREAK, 26 BREAK...OFF, 27 BREAK...ON, 27 ON BREAK...GOSUB, 27 specifying printer action on break, 27 expressions, defined, 9 F faulty dots, defined, 105 Feed code labels, 75 FILE& LOAD, to download fonts to printer, 67 FILELIST, to list files line-by-line, 33 FILENAME$, 33 files, - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 155
with TRANSFER$, 34 program files, described, 34 text files, transferring, 35 transferring between printers, 36 transferring data between files with TRANSFERSET, 34 transferring with TRANSFER KERMIT, 35 images, 83 image files, 70 downloading, 71 removing, 72 Fingerprint Developer's Guide 143 - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 156
71 downloading fonts to printer, 67 IMAGENAME$, listing printer keypad input, 49 insertion point current position, 78 for fields in bar code labels, 76 INSTR, 42 instructions LINE INPUT#, 46 entering ASCII characters from keypad, 110 printer keypad input, 49 line numbers automatically adding, 15 - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 157
, 121 temporary, 120 merging files, 99 message format for errors, 124 MID$, 42 MKAUTO.PRG file, described, 29 MKDIR, to create a new character sets with, 41 net1: as device, described, 11 NEW, to clear printer memory, 15 NORIMAGE black-on-white print in image fields, 83 black-on- 's Guide 145 - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 158
by ASCII values with PRINTONE, 57 clearing print buffer with CLL, 108 commands, 104 controlling, 104 from printer keypad, enabling with PRINT KEY ON, 105 label taken sensor, enabling with LTS& ON, 104 labels 34 copying, 29 deleting lines, 16 errors, checking for, 125 Fingerprint Developer's Guide - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 159
with INPUT#, 45 reading line to variable with LINE INPUT#, 46 Fingerprint Developer's Guide Index reading specific data length with INPUT$, 46 Ready LED, controlling with LED commands, 112 REBOOT, 119 rebooting printer, 119 REDIRECT OUT, 34 redirecting output data to file, 58 relational operators - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 160
116 setup file, creating, 115 setup strings, described, 116 using setup file, 115 SETUP, to set printer parameters, 115 SGN, 42 single-byte character sets, choosing, 41 single-byte fonts, described, 66 single ON, 86 Y Y-axis, for printing, 75 Z ZMODEM protocol, 35 Fingerprint Developer's Guide 148 - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 161
Index Fingerprint Developer's Guide 149 - Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 162
- Intermec PM43/PM43c | Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43 - Page 163
Worldwide Headquarters 6001 36th Avenue West Everett, Washington 98203 U.S.A. tel 425.348.2600 fax 425.355.9551 www.intermec.com © 2012 Intermec Technologies Corporation. All rights reserved. Fingerprint Developer's Guide *934-067-001* P/N 934-067-001
Fingerprint
Developer’s Guide