WOOSIM SYSTEMS PORTI-SM40 Bluetooth Thermal Printer User Manual Operator Manual Porti SM40
Woosim System Inc. Bluetooth Thermal Printer Operator Manual Porti SM40
Users Manual
MODEL PORTI-SM40 (Mobile Printer) ͑ WOOSIM SYSTEMS Inc. #501, Daerung Technotown 3th, 448, Gasan-Dong, GeumChun-Ku, Seoul, Korea Tel : +82-2-2107-3700 Fax : +82-2-2107-3707 URL: http://www.woosim.com All specifications are subjected to change without notice. http://www.woosim.com Copyright Porti-SM40 Mobile printer operator’s manual. Copyright ᐕ2006 by Woosim Systems Inc. All rights reserved. The information contained in this manual is the property of Woosim Systems Inc. and may not be reproduced in whole or in part without the prior written permission of Woosim Systems Inc. Trademark a registered trademark of Woosim Systems Inc. All other trademark are the properties of their respective companies. Caution Some semiconductor devices are easily damaged by static electricity. You should turn the printer “OFF”, before you connect or removed the cable on the rear side, in order to guard the printer against the static electricity. If the printer is damaged by the static electricity, you should turn the printer “OFF” Notice ͑مThe contents of this manual are subject to change without notice. ͑مChanges or modifications not expressly approved by the party responsible for compliance could void the user's authority to operate the equipment. مThis device complies with part 15 of the FCC Rules. Operation is subject to the following two conditions: (1) This device may not cause harmful interference, and (2) this device must accept any interference received, including interference that may cause underired operation. http://www.woosim.com Introduction The Porti-SM40 is the ideal solution for Mobile banking system , Retail, point of sales, Credit card Transaction, other traveling and mobile computing etc. The general features of Porti-SM40 printer are as follows: X Pocket size(80.5ϧ113.5ϧ46mm) X Light weight(300g) for true mobility X Very silent printing thru direct thermal printing method X High speed(50mm/sec, MAX) X UART(RS-232C or TTL), Bluetooth interface X Battery Indicator X Support Magnetic Stripe Reader & Smart card reader X Support Graphic LCD(128ϧ32dots) with Blue LED Backlight X Support text and graphic printing X Support bit-image(logo), firmware download X Easier paper roll loading by CLAMSHELL design X One touch paper cover X Easier maintenance with self-diagnostics X Flow control : Software (XON/XOFF) ఐ Hardware flow control not supported in printer 㩷 㩷 㩷 㩷 㩷 㩷 㩷 㩷 http://www.woosim.com Operating Precautions Please follow the precautions below to enjoy and maintain the full performance of the printer. X Using the Printer Ɣ Be careful not to drop or bump the printer on a hard surface. Ɣ Do not install the printer in direct sunlight or such areas. Suitable environment for the use of the printer is as follows: ଝ Operating temperature :-10°C to 40°C ଝ Relative humidity : 10% to 90% (No condensation) Ɣ Do not install the printer near devices that generate strong electromagnetic fields such as a copy machine. Ɣ Do not open the platen cover during printing . Ɣ Do not remove or reinstall the communication cable during printing or transmission. Ɣ Do not touch the connectors of the communication during printing. Ɣ Switch the POWER OFF when not in use. Ɣ Do not use alcohol or other solvent. Ɣ The AC adapter, the battery charger and the battery pack may become warm when in use. This is normal and is not a malfunction. Ɣ When the battery pack is used at low temperature, the length of time the printer can be used may be shortened. X Thermal Paper Handling Ɣ Store the thermal paper in a cool, dry and dark place. Ɣ Do not rub the paper with hard object. Ɣ Do not leave the paper with hard object. Ɣ Do not allow plastic film, erasers, or adhesive tape to touch the paper for long periods. Ɣ Do not stack the thermal paper with diazo copies immediately after copying or wet-type copies. Ɣ Do not use chemical glue. Ɣ Always use the clean thermal paper. http://www.woosim.com CONTENTS 1. Outline. ...........................................................................................................................................8G 1.1. Model classifications. ...............................................................................................................8G 1.2. Specifications............................................................................................................................9G 2. Setting up the printer...................................................................................................................10G 2.1. Printer & Accessories .............................................................................................................10G 2.2. Printer Features.......................................................................................................................11G 2.3. Replacing paper roll................................................................................................................13G 2.4. Power supply ..........................................................................................................................14G 2.4.1. Specified power supply. ...................................................................................................14G 2.4.2. Installing the battery ........................................................................................................14G 2.4.3. Recharging the battery pack.............................................................................................15G 2.5. Set operation mode. ................................................................................................................16G 3. Interface........................................................................................................................................19G 3.1. RS-232C or TTL.....................................................................................................................19G 3.2. Bluetooth ................................................................................................................................20G 4. Smart Card Module.....................................................................................................................21G 4.1. General Spec...........................................................................................................................21G 4.2. Communication Protocol Sequence........................................................................................22G 4.2.1. Regular Operation............................................................................................................22G 4.2.2. Irregular Operation (Communication Error)....................................................................22G 5. Using the printer. .........................................................................................................................23G 5.1. Control panel. .........................................................................................................................23G 5.2. The self test.............................................................................................................................24G 6. Consumable Parts........................................................................................................................25G 6.1. Recommended paper...............................................................................................................25G 6.2. Printing position......................................................................................................................25G 7. Print Control Function................................................................................................................26G 7.1. Print Command.......................................................................................................................28G 7.2. Line Spacing Command..........................................................................................................30G http://www.woosim.com 7.3. Character Commands..............................................................................................................31G 7.4. Panel Button Commands. .......................................................................................................38G 7.5. Print Position Commands. ......................................................................................................39G 7.6. Bit-Image Commands. ............................................................................................................52G 7.7. Barcode Commands................................................................................................................57G 7.8. Macro Function Commands....................................................................................................61G 7.9. Miscellaneous function commands.........................................................................................63G 7.10. Line & box commands..........................................................................................................66G 7.11. Black mark detection commands. .........................................................................................67G 7.12. Magnetic Card Reader Commands. ......................................................................................68G 7.13. Smart Card Reader Commands.............................................................................................70G 8. Smart Card Reader Control Command ....................................................................................71G 8.1. Communication Protocol Description.....................................................................................71G 8.1.1. Command & Response Format ........................................................................................71G 8.1.2. Command Code List ........................................................................................................71G 8.1.3. Error Code List ................................................................................................................72G 8.2. Communication Details ..........................................................................................................74G 8.2.1. Activation.........................................................................................................................74G 8.2.2. Deactivation.....................................................................................................................75G 8.2.3. Exchange APDU ..............................................................................................................76G 8.3. Example ..................................................................................................................................77G 9. Introduction of Protocol Bluetooth ............................................................................................78G 9.1. Frame Structure. .....................................................................................................................78G 9.2. Process of Getting the Printer Status.......................................................................................79G 9.2.1. Frame Format...................................................................................................................79G 9.3. Process of Printing Data. ........................................................................................................80G 9.3.1. Format of Print Data Frame. ............................................................................................81G 9.3.2. Format of ENQ Frame. ....................................................................................................81G 9.3.3. Format of ACK Frame. ....................................................................................................82G 9.3.4. Format of NACK Frame. .................................................................................................82G 9.3.5. Format of ETX Frame......................................................................................................82G http://www.woosim.com 9.3.6. Format of EOT Frame......................................................................................................82G Appendix ..........................................................................................................................................83G http://www.woosim.com 1. Outline. 1.1. Model classifications. PORTI–SM40 㩷 Model Interface None: UART/Bluetooth Power None : DC 8.4V http://www.woosim.com 1.2. Specifications. Item Specifications Print method Direct thermal line printing Characters per line 42cpl (MAX) Character size Eng. : 9ϧ24dots, 12ϧ24dots Resolution 203dpi, 8dots/mm Print width 2-inch (48mm, 384dots) Print speed 50mm / sec (MAX) Dimension 80.5ϧ113.5ϧ46 mm Weight 300g (Including battery & roll paper) Interface UART(RS-232C or TTL) / Bluetooth Paper roll Thermal roll paper (57mm wide, 40ø) Kor. : 16ϧ24dots, [24ϧ24dots] PDF417(2D Barcode), Code128, Code39, Code93, I2 / 5, Barcodes UPC, EAN(KAN, JAN), CODABAR Receive buffer size 10K bytes MSR ISO 7810 / 7811 / 7812 1&2 or 2&3 Track Reading ISO 7816 Compliant (EMV level 1 Certified) / Smart card reader T=0, T=1 support / 2 SAM (Security Access Module) LCD 128൴32 Dots FSTN (Blue LED Backlight) Battery Rechargeable 7.4V DC/ 1,100mAh (Li-ion) Battery duration 1 hour continuous printing Input (100~250V AC, 50~60Hz) Battery charger Output(8.4VDC/0.8A), 4hours full charge time Temperature Environment conditions Humidity MCBF(Mean Cycle Between Failure) Mechanical Head -10°C ~ 40°C (operating) -10°C ~ 70°C (storage) 30% - 80% (operating) 10% - 90% (storage) 37,000,000 lines Approximately 50 Km http://www.woosim.com 2. Setting up the printer. 2.1. Printer & Accessories Your printer box should include these items. If any items are damaged or missing, please contact your dealer for assistance. Battery Pack Paper Roll PORTI-SM40 Battery Charger ഖG OPTIONAL Extra Charger Communication Cable http://www.woosim.com Car Charger 10 2.2. Printer Features ඖ Part Name http://www.woosim.com 11 ඖ Dimensions http://www.woosim.com 12 2.3. Replacing paper roll. Note : Be sure to use paper rolls that meet the specifications. Do not use paper rolls that have the paper glued to the core because the printer cannot detect the paper end correctly. 1. Make sure that the printer is not receiving data; otherwise, data may be lost. 2. Open the paper cover by placing your fingers under the paper cover lock and pull a paper cover lock open. 3. Insert a new paper roll as shown. 4. Tear the excess paper off using the edge of paper door as a tear bar. http://www.woosim.com 13 2.4. Power supply 2.4.1. Specified power supply. The following specification is requested for Power supply. Input : DC 8.4V Standby 60mA and Max 2.5A Avoid using power supply which its power capacity of power current is extremely high. 2.4.2. Installing the battery NOTE : Ɣ Before installing or removing the battery pack, ensure the printer is OFF. Ɣ If the printer is not used for long period of time, remove the battery pack from the printer. ᐭ To install battery pack, proceed as follows: - Insert the Battery pack in the direction of the arrow. ᐮ Reverse the order to remove the battery pack. ྛ The battery pack install into extra charger. - Insert the Battery pack in the direction of the arrow. http://www.woosim.com 14 2.4.3. Recharging the battery pack For recharging the battery pack, install the battery pack in the printer or the extra charger. Insert the Battery Charger to the charge connector of the printer or the extra charger. NOTE : Ɣ While charging the printer, turn off the printer power. Ɣ Do not remove the battery during charging. Ɣ The battery is consumable parts and when purchasing, compared to the use hour is gradually decreases. (Warranty 6 month) Ɣ If the printer is not used for a long time, unplug the power cord from the printer and outlet. Ɣ The recharging time depends on the voltage level and ambient temperature of the battery. Normally, if takes about 4 to 5 hours to recharge a battery pack. Ɣ Red Lamp : charging the battery. Green Lamp: charging is finished. http://www.woosim.com 15 2.5. Set operation mode. 1. Change the mode and option using the mode Code (Table1). z MODE button : changing Printer MODE status. z FEED button : changing OPTION status. 2. [Example] The defaults of the printer are : UART/ 9600 BPS/8 DATA BIT/ NO Parity/1 STOP BIT/ Density LOW If a user wants to modify the defaults with Bluetooth/38400 BPS/7 DATA BIT/Even Parity/2 STOP BIT/Density HIGH X Press MODE Button until Error Lamp twinkles 5 times. o You will see present COMMUNICATION mode in the LCD. o Press the MODE Button two times. (The interface mode has set to Bluetooth mode.) X Press FEED button one time. o You will see present BAUD RATE mode in the LCD. o Press MODE Button 2 times. (The baud rate has set to 38,400 bps) X Press FEED button one time. o You will see present DATA BIT mode in the LCD. o Press MODE Button one time. (The data bit has set to 7 data bit.) X Press FEED button one time. o You will see present PARITY BIT mode in the LCD. o Press MODE Button 2 times. (The parity bit has set to even parity bit.) http://www.woosim.com 16 X Press FEED button one time. o You will see present STOP BIT mode in the LCD. o Press MODE Button one time. (The stop bit has set to 2 stop bit.) X Press FEED button one time. o You will see present DENSITY mode in the LCD. o Press MODE Button two times. (The density has set to high.) If all the mode have set, press the FEED Button and the MODE Button at the same time after then release the buttons at the same time. The printer will print out the mode status which has modified. (Bluetooth/38,400 BPS/ 7 DATA BIT/Even Parity/ 2 STOP BIT / Density HIGH) If the status is not correct, please try it again according to the procedure. http://www.woosim.com 17 Mode No. Printer Mode Option Option No. (Mode Button) (Feed Button) UART Communication UART (Protocol) Port Bluetooth Bluetooth (Protocol) 9600 bps 19200 bps 34800 bps 57600 bps 115200 bps 7 Data bit 8 Data bit No Parity Odd Parity Even Parity 1 Stop Bit 2 Stop Bit Low Density Medium Density High Density No use Use Sensor Low Sensor Medium 1 Sensor Medium 2 Sensor High Baud Rate Data Bit Parity Bit Stop Bit Density Mark Sensor 㪓㪫㪸㪹㫃㪼㩷㪈㪕㩷 http://www.woosim.com 18 3. Interface. 3.1. RS-232C or TTL The Porti-SM40 printer has a RS-232C or TTL interface and is connected by means of a 4 pin mini USB socket. In the following table, the signals present on the MiniUSB socket are listed: NOTE : Ɣ Pin No. Name Direction Function TxD Output Transmit Data RxD Input Receive Data CTS GND Ground When data receiving, when it removes the communication cable, it loses a data. http://www.woosim.com 19 3.2. Bluetooth Category Specification Bluetooth Spec. Bluetooth V1.1 / Class2 (10m) Frequency Range 2.4GHz ISM BAND Data Transmission Rate 57600bps Fixed. Data bit 8 Data bit Fixed. Parity bit No parity Fixed. Stop bit 1 Stop bit Fixed. Notice If the quantity of data which is printed at once is more than 10K byte on Bluetooth communication, it would cause the buffer to overflow and the data to get damaged. http://www.woosim.com 20 4. Smart Card Module 4.1. General Spec. X Contact Smart Card Reader Module for ISO/IEC-7816 X Support Asynchronous Protocol T=0,T=1 X Smart Card Connection Short Circuit Current Limitation 6KV ESD Protection on whole Smart Card Interface Connector : Friction Type with Smart Card presence detection X 2 SAM (Security Application Module)G X EMV Level 1 Certified http://www.woosim.com 21 4.2. Communication Protocol Sequence 4.2.1. Regular Operation Host Command Module Execution Response 4.2.2. Irregular Operation (Communication Error) 500ms timeout Host Command Command Module Host Command Command is Command Executio Command Error Module CheckSumEr http://www.woosim.com Executio 22 5. Using the printer. 5.1. Control panel. ࢽ ࢽ ࢽ ࢽ X Button - FEED Button : When the printer is on, paper can be feed manually by pressing and holding the FEED button for more than one second. - MODE Button : MODE Button is for use to change communication mode. (Refer to 2.5. Set operation mode for details about mode conversion) X Panel lamp -POWER (Green) : Printer is ON and ready to receive data. -ERROR (Red) : Indicated a fault condition or a printer error. (i.e : no paper, paper cover opened. etc.) X LCD - LCD will display most of the printer functions. (i.e : current printer status, paper out, indicated remaining battery etc.) http://www.woosim.com 23 5.2. The self test. The self test procedure will check most of the printer functions. For self test, turn on the power while holding down the FEED Button. The Self-Test checks the following : 1) Make sure paper roll has been installed properly. 2) The Self-Test prints the current printer status, which provides the control ROM version and the communication method setting. 3) After printing the current printer status, Self-Test will print a pattern using the built-in character set. 4) The Self-Test automatically ends. The printer is ready to receive data as soon as it completed the self test. http://www.woosim.com 24 6. Consumable Parts. 6.1. Recommended paper. Type : Thermal Paper Paper width : 57mm Paper thickness : 60±5༁ Outer diameter : Ø40mm or less Recording side : Outside of roll Cautions 1. Do not paste the paper to the core. And the roll paper which has Near end mark printing on its near end is recommended. 2. Chemicals or oil may change the color of paper, or printed Characters may fade. 3. Change of paper color starts from approx 70 . Pay attention to heat, humidity and sun light. 4. Color of paper may be changed by being scratched by nail or hard metal, etc 6.2. Printing position. http://www.woosim.com 25 7. Print Control Function. Ɣ Supported Commands List Command Name Function Type Page HT Horizontal tab Print position 42 LF Print and line feed Print 28 FF Print and return to standard mode Print 29 CAN Cancel print data in page mode Miscellaneous function 65 ESC FF Print data in page mode Print 29 ESC SP Set right-side character spacing Character 32 ESC ! Select print mode Character 33 ESC $ Set absolute print position Print position 39 ESC * Select bit-image mode Bit image 52 ESC - Turn underline mode on/off Character 34 ESC 2 Select default line spacing Line spacing 30 ESC 3 Set line spacing Line spacing 30 ESC @ Initialize printer Miscellaneous function 63 ESC D Set horizontal tab positions Print position 43 ESC E Turn emphasized mode on/off Character 35 ESC J Print and feed paper Print 28 ESC L Select page mode Miscellaneous function 63 ESC O Set print starting position. Print position 51 Black mark detection 67 Set the movement position from the ESC P black mark ESC R Select an international character set Character 32 ESC S Select standard mode Miscellaneous function 64 ESC T Select print direction in page mode Print position 48 ESC W Set printing area in page mode Print position 46 ESC X 4 Define user-defined bit-image Bit image 55 ESC ڷ Set relative print position Print position 40 http://www.woosim.com 26 Command Name Function Type Page ESC Z Print 2D barcode Barcode 60 ESC a Select justification Print position 41 ESC c 5 Enable/disable panel buttons Panel button 38 ESC d Print and feed n lines Print 29 ESC f Print downloaded bit image Bit image 56 ESC z Feed the paper to the movement position Black mark detection 67 ESC y Feed the paper to the black mark position ESC { Turn upside-down printing mode on/off Character 35 ESC N Set Smart card reader mode Smart card module 70 ESC M Set Magnetic Card Reader mode Magnetic card reader 69 Exit card reader 68 Character 36 Print position 49 Macro function 61 Character 37 Barcode 60 Exit Magnetic Card Reader & EOT GS ! Smart Card Reader mode Select characters size Set absolute vertical print position in GS $ GS : page mode Start/end macro definition Turn white/black reverse printing mode GS B On/off Select printing position of HRI GS H characters GS L Set left margin Print position 44 GS W Set printing area width Print position 45 GS i Print box & line in page mode Box & line command 66 Print position 50 GS ڷ Set relative vertical print position in page mode GS ^ Execute macro Macro function 62 GS h Set barcode height Barcode 57 GS k Print bar code Barcode 58 GS w Set barcode width Barcode 57 http://www.woosim.com 27 7.1. Print Command. The PORTI-SM40 supports the following commands for printing character and advancing paper: Command Name LF Print and line feed ESC J Print and feed paper ESC d Print and feed n lines FF Print and return to standard mode(in page mode) ESC FF Print data in page mode LF [Name] Print and line feed [Format] ASCII LF HEX 0A Decimal 10 [Description] Print the data in the print buffer and feeds one line based on the current line spacing. [Note] This command sets the print position to the beginning of the line. [Reference] ESC 2, ESC 3 ESC J n [Name] Print and feed paper. [Format] ASCII ESC HEX 1B 4A Decimal 27 74 [Range] 0 n 255 [Description] Prints the data in the print buffer and feeds the paper [n x (vertical or horizontal motion unit)] inches. http://www.woosim.com 28 ESC d n [Name] Print and feed n lines [Format] ASCII ESC HEX 1B 64 Decimal 27 100 [Range] 0n 255 [Description] Prints the data in the print buffer and feeds n lines. [Note] 1) This command sets the print starting position to the beginning of the line. 2) This command does not affect the line spacing set by ESC 2 or ESC 3. [Reference] ESC 2, ESC 3 FF [Name] Print and return to standard mode in page mode. [Format] ASCII FF HEX 0C Decimal 12 [Description] Prints the data in the print buffer collectively and returns to standard mode. [Note] 1) The buffer data is deleted after being printed. 2) The Printing area set by ESC W is reset to the default setting. 3) This command sets the print position to the beginning of the line. 4) This command is enabled only in page mode. [Reference] ESC FF, ESC L, ESC S ESC FF [Name] Print data in page mode. [Format] ASCII ESC FF HEX 1B 0C Decimal 27 12 [Description] In page mode, prints all buffered data in the printing area collectively. [Note] This commands is enabled only in page mode. After printing the printer does not clear the buffered data, setting values for ESC T and ESC W, and the position for buffering. [Reference] FF, ESC L, ESC S http://www.woosim.com 29 7.2. Line Spacing Command. The PORTI- SM40 supports the following commands for setting line spacing. These commands only set the line spacing; they do not actually advance the paper. The line spacing set using these commands affects the results of LF and ESC d and paper feeding by using the FEED button. Command Name ESC 2 Select default line spacing ESC 3 Set line spacing ESC 2 [Name] Select default line spacing [Format] ASCII ESC HEX 1B 32 Decimal 27 50 [Description] Selects 1/7 inch line (approximately 3.75mm) spacing. [Note] The line spacing can be set independently in standard mode and in page mode. [Reference] ESC 3 ESC 3 n [Name] Set line spacing [Format] ASCII ESC HEX 1B 33 Decimal 27 51 [Range] 0 n 255 [Description] Sets the line spacing [Note] 1) The line spacing can be set independently in standard mode and in page mode. to [n x vertical or horizontal motion until] inches. 2) The horizontal and vertical motion unit are specified by GS P. Changing the horizontal or vertical motion unit does not affect the current line spacing. http://www.woosim.com 30 3) The GS P command can change the horizontal (and vertical) motion unit. However, the value cannot be less than the minimum vertical movement amount, and it must be in even units of the minimum vertical movement amount. 4) In standard mode, the vertical motion unit (y) is used. 5) In page mode, this command functions as follows, depending on the starting position of the printable area: When the starting position is set to the upper left or lower right of the printable area using ESC T, the vertical motion unit(y) is used. When the starting position is set to the upper right or lower left of the printable area using ESC T, the horizontal motion unit(x) is used. [Reference] ESC 2, GS P 7.3. Character Commands. The PORTI- SM40 supports the following commands for setting character font and size: Command Name ESC SP Set right-side character spacing ESC R Select an international character set ESC ! Select print mode ESC - Turn underline mode on/off ESC E Turn emphasized mode on/off ESC G Turn double-strike mode on/off ESC { Turn upside-down GS ! Select character size GS B Turn white/black reverse printing mode on/off http://www.woosim.com 31 ESC SP n [Name] Set right-side character spacing. [Format] ASCII ESC SP HEX 1B 20 Decimal 27 32 [Range] 0 n 255 [Description] Sets the character spacing for the right side of the character to [n x horizontal or vertical motion units] inches. [Note] 1) The right side character spacing for double-width mode is twice the normal value. When characters are enlarged, the right side character spacing is n times normal value. 2) This command sets values independently in each mode. 3) The horizontal and vertical motion unit are specified by GS P. Changing the horizontal or vertical motion unit does not affect the current right-side spacing. 4) The maximum right side spacing if 255/180 inches, Any setting exceeding the maximum is converted to the maximum automatically. [Default] n=0 [Reference] GS P ESC R n [Name] Select an international character set. [Format] ASCII ESC HEX 1B 52 Decimal 27 82 [Range] 0 n 10 [Description] Selects an international character set n from the following table. http://www.woosim.com 32 n Character set Character set Character set U.S.A Sweden 10 Denmark II France Italy Germany Spain U.K Japan Denmark I Norway [Default] n = 0 ESC ! n [Name] Select print mode. [Format] ASCII ESC HEX 1B 21 Decimal 27 33 [Range] 0 n 255 [Description] Select print mode(s) using n as follows. Bit Off / On Hex Decimal Function Off 00 Character font A (12 x 24) On 01 Character font B (9 x 24) Off Undefined On Undefined Off Undefined On Undefined Off 00 Emphasized mode not selected On 08 Emphasized mode selected Off 00 Double-height mode not selected On 10 16 Double-height mode selected Off 00 Double-width mode not selected On 20 32 Double-width mode selected Off Undefined On Undefined Off 00 Underline mode not selected On 80 128 Underline mode selected http://www.woosim.com 33 [Note] 1) When both double-height and double-width modes are selected, quadruple size characters are printed. 2) The printer can underline all characters, but can not underline the space set by HT. 3) The thickness of the underline is that selected by ESC -, regardless of the character size. 4) When some characters in a line are double or mode height, all the characters on the line are aligned at the baseline. 5) ESC – can also turn on or off underline mode. However, the setting of the last received command is effective. 7) GS ! can also select character size. However, the setting of the last received command is effective. [Reference] ESC -, ESC E, GS! ESC - n [Name] Turn underline mode on/off [Format] ASCII ESC HEX 1B 2D Decimal 27 45 [Range] 0n1 [Description] Turns underline mode on or off, based on the following values of n; [Notes] Function 0, 48 Turns off underline mode 1. 49 Turns on underline mode (1 dot thick). 2, 50 Turns on underline mode (2 dot thick) 1) The printer can underline all characters (including right-side character spacing), but cannot underline the space set by HT. 2) The printer cannot underline white/black inverted characters. 3) When underline mode id turned off by setting the value of n to 0 or 48, the http://www.woosim.com 34 following data is not underlined, and the underline thickness set before the mode is turned off does not change. The default underline thickness is 1 dot. 4) Changing the character size does not affect the current underline thickness. 5) Underline mode can also be turned on or off by using ESC !. Note, however, that the last received command is effective. [Default] n=0 [Reference] ESC ! ESC E n [Name] Turn emphasized mode On/Off. [Format] ASCII ESC HEX 1B 45 Decimal 27 69 [Range] 0 n 255 [Description] Turns emphasized mode on of off. When the LSB(least significant bit) is 0, emphasized mode is turned off. When the LSB(least significant bit) is 1, emphasized mode is turned on. [Note] 1) Only the least significant bit of n is enabled. 2) This command and ESC ! turn on and off emphasized mode in the same way. Be careful when this command is used with ESC ! [Default] n=0 [Reference] ESC ! ESC { n [Name] Turn On/Off upside-down printing mode [Format] ASCII ESC HEX 1B 7B Decimal 27 123 [Range] 0 n 255 [Description] Turns upside-down printing mode on of off When the LSB is 0, upside-down mode is turned off. When the LSB is 1, upside-down mode is turned on. http://www.woosim.com 35 [Note] 1) Only the lowest significant bit of n is valid. 2) This command is enabled only when processed at the beginning of a line in standard mode. 3) When this command is input in page mode, the printer performs only internal flag operations. 4) This command does not affect printing in page mode. 5) In upside-down printing mode, the printer rotates the line to be printed by 180 degree and then prints it. [Default] n = 0 [Example] GS ! n [Name] Select character size [Format] ASCII GS HEX 1D 21 Decimal 29 33 [Range] 0 n 255 [Description] (1 vertical number of times 8, 1 horizontal number of times 8) Selects the character width using bits 0 to 2 and selects the character height using bits 4 to 7, as follows; http://www.woosim.com 36 Hex Decimal Width Hex Decimal Height 00 1 (normal) 00 1 (normal) 01 2 (double width) 10 16 2 (double height) 02 20 32 03 30 48 04 40 64 05 50 80 06 60 96 07 70 112 Character Height Selection Character Width Selection [Notes] 1) This command is all characters effective 2) If n is outside of the defined range, this command is ignored. 3) In standard mode, the vertical direction is the paper feed direction, and the horizontal direction is perpendicular to the paper feed direction. 4) In page mode, vertical and horizontal directions are based on the character orientation. 5) When characters are enlarged with different sizes on one line, all the characters on the line are aligned at the baseline. 6) The ESC ! command can also turn double width and double height modes on or off. [Default] n=0 [Reference] ESC ! GS B n [Name] Turn white/black reverse printing mode On/Off. [Format] ASCII GS HEX 1D 42 Decimal 29 66 [Range] 0 n 255 [Description] Turns on or off White/Black reverse printing mode. http://www.woosim.com 37 [Notes] 1) When the LSB is 0, white/black reverse printing mode is turned on. 2) When the LSB is 1, white/black reverse printing mode is turned off. 3) Only the lowest bit of n is valid. 4) This command is available for built in characters and user defined characters. 5) When white/black reverse printing mode is on, it also applied to character spacing set by ESC SP. 6) This command does not affect the space between lines. 7) White/black reverse mode has a higher priority than underline mode. Even if underline mode is on, it is disabled (but not canceled) when white/black reverse mode is selected. [Default] n = 0 7.4. Panel Button Commands. The PORTI- SM40 supports the following command for enabling and disabling the panel button. Command Name ESC c 5 Enable/disable panel buttons ESC c 5 n [Name] Enable/Disable panel buttons [Format] ASCII ESC HEX 1B 63 35 Decimal 27 97 53 [Range] 0n 255 [Description] Enables or disables the panel buttons. When the LSB is 0, the panel buttons are enabled. When the LSB is 1, the panel buttons are disabled. [Notes] 1) Only the least significant bit of n is valid. http://www.woosim.com 38 2) When the panel buttons are disabled, none of them are usable when the printer cover is closed. 3) In this printer, the panel buttons is the FEED button. 4) In the macro ready mode, the FEED button are enabled regardless of the settings of this command; however, the paper cannot be fed by using these buttons. [Default] n=0 7.5. Print Position Commands. The PORTI- SM40 supports the following commands for setting the print position Command Name ESC $ Set absolute print position ESC ڷ Set relative print position ESC a Select justification HT Horizontal tab ESC D Set horizontal tab positions GS L Set left margin GS W Set printing area width ESC W Set printing area in page mode ESC T Select print direction in page mode GS $ Set absolute vertical print position in page mode GS ڷ Set relative vertical print position in page mode ESC O Set print starting position. ESC $ nL nH [Name] Set absolute print position [Format] ASCII ESC nL nH HEX 1B 24 nL nH Decimal 27 36 nL nH [Range] 0 nL 255 0 nH 255 http://www.woosim.com 39 [Description] Set the distance from the beginning of the line to the position at which subsequent characters are to be printed. [Notes] 1) The distance from the beginning of the line to the print position is [(nL + nH x 256) x (vertical or horizontal motion unit)] inches. 2) Setting outside the specified printable area are ignored. 3) The horizontal and vertical motion unit are specified by GS P. 4) The GS P command can change the horizontal (and vertical) motion unit. However, the value cannot be less than the minimum horizontal movement amount, and it must be in even units of he minimum horizontal movement amount. 5) In standard mode, the horizontal motion unit (x) is used. 6) In page mode, horizontal or vertical motion unit differs depending on the starting position of the printable area as follows; 1. When the starting position is set to the upper left or lower right of the printable area using ESC T, the horizontal motion unit (x) is used. 2. When the starting position is set to the upper right or lower left of the printable area using ESC T, the vertical motion unit (y) is used. [Reference] ESC\, GS$, GS\, GS P ESC ڷnL nH [Name] Set relative print position [Format] ASCII ESC ڷ nL nH HEX 1B 5C nL nH Decimal 27 92 nL nH [Range] 0 nL 255, 0 nL 255 [Description] Set the print starting position based on the current position by using [Notes] 1) This command sets the distance from the current position to [(nL+nHx256) x horizontal or vertical motion unit] http://www.woosim.com 40 2) Any setting that exceeds the printable are is ignored 3) When pitch N is specified to the right; nL + nH x 256 = N When pitch N is specified to the left (the negative direction), use the complement of 65536. 4) The print starting position moves from the current position to [N x horizontal or vertical motion unit)] 5) The horizontal and vertical motion unit are specified by GS P. 6) The GS P command can change the horizontal (and vertical) motion unit. However, the value cannot be less than the minimum horizontal movement amount, and it must be in even units of the minimum horizontal movement amount. 7) In standard mode, the horizontal motion unit is used. 8) In page mode, the horizontal or vertical unit differs as follows, depending on the starting point of the printing area; When the starting position is set to the upper left or lower right of the printable area using ESC T, the horizontal motion unit (x) is used. When the starting position is set to the upper right or lower left of the printable area using ESC T, the vertical motion unit (y) is used. [Reference] ESC $, ESC P ESC a n [Name] Select justification [Format] ASCII ESC HEX 1B 61 Decimal 27 97 [Range] 0n2 48 n 50 [Description] Aligns all the data in one line to the specified position. n selects the type of justification as follows; Justification 0, 48 Left justification 1, 49 Center justification 2, 50 Right justification http://www.woosim.com 41 [Notes] 1) The command is enabled only when processed at the beginning of the line in standard mode. 2) If this command is input in page mode, the printer performs only internal flag operations. 3) This command has no effect in page mode. 4) This command executes justification in the printing area. 5) This command justifies the space area according to HT, ESC $ or ESC \ [Default] n=0 [Example] HT [Name] Horizontal Tab [Format] ASCII HT HEX 09 Decimal [Description] Moves the print position to the next horizontal tab position. [Note] 1) This command is ignored unless the next horizontal tab position has been set. 2) If the next horizontal tab position exceeds the printing area, the printer sets the printing position to [Printing area width + 1] 3) Horizontal tab positions are set with ESC D. 4) If this command is received when the printing position is at [Printing area width + 1], the printer executes print buffer-full printing of the current line and horizontal tab processing from the beginning of the next line. 5) The default setting of the horizontal tab position for the paper roll is every 0th character. [Reference] ESC D http://www.woosim.com 42 ESC D n1…nk NUL [Name] Set horizontal tab positions. [Format] ASCII ESC n1…nk NUL HEX 1B 44 n1…nk 00 Decimal 27 68 n1…nk [Range] 1 <= n <= 255 0 <= k <=32 [Description] Set horizontal tab position [Notes] 1) n specifies the column number for setting a horizontal tab position from the beginning of the line. 2) k indicates the total number of horizontal tab positions to be set. 3) The horizontal tab position is stored as a value of [character width x n] measured from the beginning of the line. The character width includes the right-side character spacing, and double-width characters are set with twice the width of normal characters. 4) This command cancels the previous horizontal tab settings. 5) When setting n=8, the print position is moved to column 9 by sending HT. 6) Up to 32 tab positions (k=32) can be set. Data exceeding 32 tab positions is processed as normal data. 7) Transmit [n]k in ascending order and place a NUL code 0 at the end. 8) When [n]k is less than or equal to the preceding value [n]k-1, tab setting is finished and the following data is processed as normal data. 9) ESC D NUL cancels all horizontal tab positions. 10) The previously specified horizontal tab positions do not change, even if the character width changes. 11) The character width is memorized for each standard and page mode. [Default] The default tab positions are at intervals of 0 characters. [Reference] HT http://www.woosim.com 43 GS L nL nH [Name] Set left margin. [Format] ASCII GS nL nH HEX 1D 4C nL nH Decimal 29 76 nL nH [Range] 0 nL 255, 0 nH 255 [Description] Set the left margin using nL and nH. [Notes]1) The left margin is set to [(nL+nHx256)] x (horizontal motion unit) inches. 2) This command is effective only processed at the beginning of the line in standard mode. 3) If this command is input in page mode, the printer performs only internal flag operations. 4) This command does not affect printing in page mode. 5) If the setting exceeds the printable area, the maximum value of the printable area is used. 6) The horizontal and vertical motion units are specified by GS P. Changing the horizontal and vertical motion unit does not affect the current left margin. 7) The horizontal motion unit (x) is used for calculating the left margin. The calculated result is truncated to the minimum value of the mechanical pitch. [Default] nL = 0, nH = 0 [Reference] GS P, GS W http://www.woosim.com 44 GS W nL nH [Name] Set printing area width [Format] ASCII GS nL nH HEX 1D 57 nL nH Decimal 29 87 nL nH [Range] 0 nL 255, 0 nH 255 [Description] Sets the printing area width to the area specified by nL and nH. [Notes] 1) The printing area width is set to [(nL+nHx256)] x horizontal motion unit inches. 2) This command is effective only processed at the beginning of the line. 3) In page mode, the printer performs only internal flag operations. 4) This command does not affect printing in page mode. 5) If the [left margin + printing area width] exceeds the printable area, (printable area width - left margin) is used. 6) The horizontal and vertical motion units are specified by GS P. Changing the horizontal and vertical motion units does not affect the current left margin. 7) The horizontal motion unit (x) is used for calculating the printing area width. The calculated result is truncated to the minimum value of the mechanical pitch. 8) If the width set for the printing area is less than the width of one character, when the character data is developed, the following If the printing area width cannot be extended sufficiently, the left margin is reduced to accommodate one character. http://www.woosim.com 45 If the printing area width cannot be extended sufficiently, the right space is reduced. 9) If the width set for the printing area is less than one line in vertical, the following processing is performed only on the line in question when data other than character data(e.g., bit image, user defined bit image) is developed: The printing area width is extended to the right to accommodate one line in vertical for the bit image within the printable area. If the printing area width cannot be extended sufficiently, the left margin is reduced to accommodate one line in vertical. [Default] nL = 0, nH = 2 [Reference] GS L, GS P ESC W xL xH yL yH dxL dxH dyL dyH [Name] Set printing area in page mode [Format] ASCII ESC xL xH yL yH dxL dxH dyL dyH HEX 1B 57 xL xH yL yH dxL dxH dyL dyH Decimal 27 87 xL xH yL yH dxL dxH dyL dyH [Range] 0 xL,xH,yL,yH,dxL,dxH,dyL,dyH 255 (except dxL=dxH=0 or dyL=dyH=0) [Description] The horizontal starting position, vertical starting position, printing area width, and printing area height are defined as x0, y0, dx(inch), respectively. x0 = [(xL + xH * 256)] * (horizontal motion unit) y0 = [(yL +yH * 256)] * (vertical motion unit) dx = [(dxL + dxH x 256)] x (horizontal motion unit) http://www.woosim.com 46 dy = [(dyL + dyH * 256)] * (vertical motion unit) The printing area is set as shown in the figure below. [Note] 1) If this commands is input in standard mode, the printer executes only internal flag operation. This command does not affect printing in standard mode. 2) If the horizontal or vertical starting position is set outside the printable area, the printer stops command processing and processes the following data as normal data. 3) If the printing area width or height is set to 0, the printer stops command processing and processes the following data as normal data. 4) This command sets the position where data is buffered to the position specified by ESC T within the printing area. 5) If (horizontal starting position + printing area width) exceeds the printable area, the printing area width is automatically set to (horizontal printable area - horizontal starting position). 6) If (vertical starting position + printing area height) exceeds the printable area, the printing area height is automatically set to (vertical printable area-vertical starting position). 7) The horizontal and vertical motion unit are specified by GS P. Changing the horizontal or vertical motion unit does not affect the current printing area. 8) The GS P command can change the horizontal (and vertical) motion unit. However, the value cannot be less than the minimum horizontal movement amount, and it must be in even units of minimum horizontal movement amount. 9) Use the horizontal motion unit (x) for setting the horizontal starting position and printing area width, and use the vertical motion unit (y) for setting the vertical starting position and printing area height. 10) When the horizontal starting position, vertical starting position, printing area width, and printing area height are defined as X, Y, Dx, Dy respectively, the printing area is set as shown in the figure below. http://www.woosim.com 47 [Default] xL = xH = yL = yH = 0 dxL = 0, dxH = 2, dyL = 126, dyH = 6 [Reference] CAN, ESC L, ESC T, GS P ESC T n [Name] Select print direction in page mode [Format] ASCII ESC HEX 1B 54 Decimal 27 84 [Range] 0 n 3 or 48 n 51 [Description] Selects the print direction and starting position in page mode. n specifies the print direction and starting position as follows; Print Starting position direction Upper left 0,48 Left to right (A in the figure) Lower left 1,49 Bottom to top (B in the figure) Lower right 2,50 Right to left (C in the figure) Upper right 3,51 Top to bottom (D in the figure) http://www.woosim.com 48 [Notes] 1) When the command is input in standard mode, the printer executes only internal flag operation. This command does not affect printing in standard mode. 2) This command sets the position where data is buffered within the printing area set by ESC W. 3) Parameters for horizontal or vertical motion units (X or Y) differ as follows, depending on the starting position of the printing area; If the starting position is the upper left or lower right of the printing area, data is buffered in the direction perpendicular to the paper feed direction. Commands using horizontal motion unit: ESC SP, ESC $, ESC \ Commands using vertical motion unit: ESC 3, ESC J, GS $, GS \ If the starting position is the upper right or lower left of the printing area, data is buffered in the paper feed direction. Commands using horizontal motion units : ESC 3, ESC J, GS $,GS \ Commands using vertical motion units : ESC SP, ESC $, ESC \ [Default] n=0 [Reference] ESC $, ESC L, ESC W, ESC \, GS $, GS P, GS \ GS $ nL nH [Name] Set absolute vertical print position in page mode. [Format] ASCII GS nL nH HEX 1D 24 nL nH Decimal 29 36 nL nH [Range] 0 nL 255, 0 nH 255 [Description] Sets the absolute vertical print starting position for buffer character data in page mode. [Notes] 1) This command sets the absolute print position to [(nL+nHx256)]x (vertical or horizontal motion unit) inches. 2) This command is effective only in page mode. 3) If the [(nL+nHx256)] x (vertical or horizontal motion unit) exceeds the specified printing area, this command is ignored. 4) The horizontal starting buffer position does not move. http://www.woosim.com 49 5) The reference starting position is that specified by ESC T. 6) This command operates as follows, depending on the starting position of the printing area specified by ESC T; When the starting position is set to the upper left or lower right, this command sets the absolute position in the vertical direction. When the starting position is set to the upper right or lower left, this command sets the absolute position in the horizontal direction. 7) The horizontal and vertical motion unit are specified by GS P. 8) The GS P command can change the horizontal and vertical motion unit. However, the value cannot be less than the minimum horizontal movement amount, and it must be in even units of the minimum horizontal movement amount. [Reference] ESC $, ESC T, ESC W, ESC \, GS P, GS \ GS ڷnL nH [Name] Set relative vertical print position in page mode GS ڷ nL nH HEX 1D 5C nL nH Decimal 29 92 nL nH [Format] ASCII [Range] 0 nL 255 0 nH 255 [Description] Sets the relative vertical print starting position from the current position in page mode. [Notes] 1) This command sets the distance from the current position to [(nL + nHx256)] x vertical or horizontal motion unit inches. 2) This command is ignored unless page mode is selected. 3) When pitch N is specified to the movement downward; nL + nHx256 = N When pitch N is specified to the movement upward (the negative direction), use the complement of 65536. When pitch N is specified to the movement upward; nL + nH x 256 = 65536 - N http://www.woosim.com 50 4) Any setting that exceeds the specified printing area is ignored. 5) This command function as follows, depending on the print starting position set by ESC T; When the starting position is set to the upper left or lower right of the printing, the vertical motion unit (y) is used. When the starting position is set to the upper right or lower left of the printing, the horizontal motion unit (x) is used. 6) The horizontal and vertical motion unit are specified by GS P. 7) The GS P command can change the horizontal (and vertical) motion unit. However, the value cannot be less than the minimum horizontal movement amount, and it must be in even units of the minimum horizontal movement amount. [Reference] ESC $, ESC T, ESC W, ESC \, GS $, GS P ESC O xL xH yL yH [Name] Set print starting position. [Format] ASCII ESC xL xH yL yH HEX 1B 4F xL xH yL yH Decimal 27 79 xL xH yL yH [Description] Set horizontal starting position and vertical starting position in page mode. Horizontal starting position = (xL + xH * 256) * (horizontal motion unit) Vertical starting position [Note] = (yL + yH * 256) * (vertical motion unit) This command is effective only in page mode. http://www.woosim.com 51 7.6. Bit-Image Commands. The PORTI- SM40 supports the following bit-image command. Command Name ESC * Select bit image mode ESC X 4 Define user-defined bit image ESC * m nL nH d1 dk [Name] Select bit-image mode. [Format] ASCII ESC nL nH d1…dk HEX 1B 2A m nL nH d1…dk Decimal 27 42 m nL nH d1…dk [Range] m = 0,1,32,33 0 nL 255 0 nH 3 0 d 255 [Description] Selects a bit-image mode using m for the number of dots specified by nL and nH, as follows: Vertical direction mode Number Dot density Horizontal direction Dot density Number of Data of Dots 8 dot single density 60 DPI 90 DPI nL+nHx256 8 dot double density 60 DPI 180 DPI nL+nHx256 32 24 dot single density 24 180DPI 90 DPI (nL+nHx256)x3 33 24 dot double 24 180 DPI 180 DPI (nL+nHx256)x3 [Notes] 1) If the values of m is out of the specified range, nL and data following are processed an normal data. 2) The nL and nH indicate the number of dots of the bit image in the horizontal direction. 3) The number of dots is calculated by nL + nH x 256. http://www.woosim.com 52 4) If the bit-image data input exceeds the number of dots to be printed on a line, the excess data is ignored. 5) d indicates the bit-image data. Set a corresponding bit to 1 to print a dot or to 0 to not print a dot. 6) If the width of the printing area set by GS L and GS W less than the width required by the data sent with the ESC * command, the following will be performed on the line in question (but the printing cannot exceed the maximum printable area): The width of the printing area is extended to the right to accommodate the amount of data. If step does not provide sufficient width for the data, the left margin is reduced to accommodate the data. 7) After printing a bit image, the printer returns to normal data processing mode. 8) This command is not affected by print modes (emphasized, doublestrike, underline, character size or White/Black reverse printing), except upside-down printing mode. 9) The relationship between the image data and the dots to be printed is as follows; http://www.woosim.com 53 - When 8-dot bit image is selected - When 24-dot bit image is selected http://www.woosim.com 54 ESC X 4 x y d1…dk [Name] Define user-defined bit-image [Format] ASCII ESC x y d1…dk HEX 1B 58 34 x y d1…dk Decimal 27 88 52 x y d1…dk [Description] ESC X 4 x y d1 ... d(x y) ҏ defines a user-defined bit image using x ҏ8 dots in the horizontal direction and y dots in the vertical direction. - Horizontal direction dots - Vertical direction dots = (x * 8)dots = (y)dots http://www.woosim.com 55 [Note] ESC X 4 is supported in Porti_W,S produced after August,2002, but it’s not supported in others yet. [Reference] ESC f ESC W, ESC O, FF [Name] Print downloaded PCX bit-image. [Format] ASCII ESC HEX 1B 66 102 Decimal 27 [Range] 0 n 14, [Description] ESC f prints a downloaded bit image specified by n as follows: n=255 Prints a PCX bit image in “n x 1000H” Address when nആ0 and n 14. Prints a PCX File when n=255. (Only black and white PCX file) http://www.woosim.com 56 7.7. Barcode Commands. The PORTI- SM40 supports the following barcode commands. Command Name GS h Set barcode height GS w Set barcode width GS k Print bar code GS H Select printing position of Human Readable Interpretation (HRI) characters GS h n [Name] Set barcode height [Format] ASCII GS HEX 1D 68 Decimal 29 104 [Range] 0 n 255 [Description] GS h n selects the height of a barcode. n specifies the number of dots in the vertical direction. One dot corresponds 1/8mm. The default setting is n = 80. GS w n [Name] Set barcode width [Format] ASCII GS HEX 1D 77 Decimal 29 119 3n5 [Range] n = 0, [Description] GS w n selects the horizontal size of a barcode. The default setting is n = 0. http://www.woosim.com 57 ཛGS k m d1…dk NUL ཛྷGS k m n d1…dn [Name] Print barcode [Format] ཛASCII GS HEX 1D Decimal 29 ཛྷ ASCII GS HEX 1D Decimal 29 m d1…dk NUL 6B m d1…dk 00 107 m d1…dk 0 m n d1…dn 6B m n d1…dn 107 m n d1…dn ཛ 0 m 6 (k and d depends on the bar code system used.) [Range] ཛྷ 0 m 6 (n and d depends on the bar code system used.) [Description] GS k m d1…dk NUL selects a barcode system and print the barcode. m specifies a bar code system as follows; ཛ Barcode System Number of character Remarks UPC-A 11 k 12 48 d 57 UPC-E 11 k 12 48 d 57 EAN13 11 k 13 48 d 57 EAN8 7k8 48 d 57 CODE39 1k 48 d 57, 65 d 90, d = 32, 36, 37, 43, 45, 46,47 ITF 1 k (even number) 48 d 57 CODABAR 1k 48 d 57, 65 d 68, d = 36, 43, 45, 46, 47, 58 http://www.woosim.com 58 ཛྷ Barcode System Number of characters Remarks 65 UPC-A 11 n 12 48 d 57 66 UPC-E 11 n 12 48 d 57 67 EAN13 11 n 13 48 d 57 68 EAN8 7n8 48 d 57 69 CODE39 1 n 255 48 d 57, 65 d 90, d = 32, 36, 37, 43, 45, 46,47 70 ITF 1 n 255 (even number) 48 d 57 71 CODABAR 1 n 255 48 d 57, 65 d 68, d = 36, 43, 45, 46, 47, 58 72 CODE93 1 n 255 0 d 127 73 CODE128 2 n 255 0 d 127 [Notes] 1) This command ends with a NUL code. 2) When the bar code system used is UPC-A or UPC-E, the printer prints the bar code data after receiving 12 bytes bar code data and processes the following data as normal data. 3) When the bar code system used in EAN13, the printer prints the bar code after receiving 13 bytes bar code data and processes the following data as normal data. 4) When the bar code system used in EAN8, the printer prints the bar code after receiving 8 bytes bar code data and processes following data as normal data. 5) The number of data for ITF bar code must be even numbers. When an odd number of data is input, the printer ignores the last received data. 6) n indicates the number of bar code data, and the printer processes n bytes from the next character data as bar code data. 7) If n is outside of the specified range, the printer stops command processing and processes the following data as normal data. http://www.woosim.com 59 8) Be sure to keep spaces on both right and left sides of a bar code. Spaces are different depending on the types of the bar code. [Reference] GS h, GS w, GS H, ESC L, ESC W, ESC FF GS H n [Name] Turn HRI characters print mode ON/OFF [Format] ASCII GS HEX 1D 48 Decimal 29 72 [Range] n = 0, 1 [Description] GS H n turns HRI characters print mode on or off. When the LSB(least significant bit) of n is 1, HRI characters print mode is turned on; When it is 0, HRI character print mode is turned off. The default setting is n=0. ESC Z m n k d d1…dn [Name] Print 2D barcode [Format] ASCII ESC m n k d d1…dn HEX 1B 5A m n k d d1…dn Decimal 27 90 m n k d d1…dn [Range] 1m7 0n8 2k5 1 d 65535 [Description] Print 2D bar code (PDF417 format). m specifies column number of 2D bar code. n specifies security level to restore when bar code image is damaged. k is used for define horizontal and vertical ratio. d is consist of 2 byte. 1st byte is lower number. And 2nd byte is upper number. http://www.woosim.com 60 7.8. Macro Function Commands. The PORTI- SM40 supports the following macro function commands; Command Name GS : Start/end macro definition GS ^ Execute macro GS : [Name] Start/End macro definition [Format] ASCII GS HEX 1D 3A Decimal 29 58 [Description] Starts ends macro definition. [Notes] 1) Macro definition starts when this command is received during normal operation. Macro definition ends when this command is received during macro definition. 2) When GS ^ is received during macro definition, the printer ends macro definition and clears the definition. 3) Macro is not defined when the power is turned on. 4) The defined contents of the macro are not cleared by ESC @. Therefore, ESC @ can be included in the contents of the macro definition. 5) If the printer receives GS : again immediately after previously receiving GS : the printer remains in the macro undefined state. 6) The contents of the macro can be defined up to 2048 bytes. If the macro definition exceed 2048 bytes, excess data is not stored. [Reference] GS ^ http://www.woosim.com 61 GS ^ r t m [Name] Execute macro. [Format] ASCII GS r t m HEX 1D 5E r t m Decimal 29 94 r t m [Range] 0 <= r <= 255 0 <= t <= 255 m = 0, 1 [Description] Executes a macro. [Notes] 1) r specifies the number of times to execute the macro. 2) t specifies the waiting time for executing the macro. ଖ t fuction is not available now. 3) m specifies macro executing mode. When LSB of m = 0 The macro executes r times continuously at the interval specified by t. When LSB of m = 1 After waiting for the period specified by t, the ERROR LED indicators blink and the printer waits for the FEED button to be pressed. After the button is pressed, the printer executes the macro once. The printer repeats the operation r times. 4) The waiting time is t x 100 ms for every macro execution. 5) If this command is received while a macro is being defined, the macro definition is aborted and the definition is cleared. 6) If the macro is not defined or if is 0, nothing is executed. 7) When the macro is executed (m=1), paper always cannot be fed by using the FEED button. [Reference] GS : http://www.woosim.com 62 7.9. Miscellaneous function commands. The PORTI- SM40 supports the following miscellaneous function commands; Command Name ESC @ Initialize printer ESC L Select page mode ESC S Select standard mode CAN Cancel print data in page mode ESC @ [Name] Initialize printer. [Format] ASCII ESC HEX 1B 40 Decimal 27 64 [Description] Clears the data in the print buffer and resets the printer mode to the mode that was n effect when the power was turned on. [Notes] 1) The data in the receive buffer is not cleared. 2) The macro definition is not cleared. ESC L [Name] Select page mode [Format] ASCII ESC HEX 1B 4C Decimal 27 76 [Description] Switches from standard mode to page mode. [Notes] 1) This command is enabled only when processed at the beginning of a line in standard mode. 2) This command has no effect in page mode. 3) After printing by FF is completed or by using ESC S, the printer returns to standard mode. http://www.woosim.com 63 4) This command sets the position where data is buffered to the position specified by ESC T within the printing area defined by ESC W. 5) This command switches the settings for the following commands (in which the values can be set independently in standard mode and page mode) to those for page mode; Set right-side character spacing : ESC SP Select default line spacing : ESC 2, ESC 3 6) Only valve settings is possible for the following commands in page mode; these commands are not executed. Select justification : ESC a Turn upside-down printing mode on/off : ESC { Set left margin : GS L Set printable area width : GS W 7) The printer returns to standard mode when power is turned on, the printer is reset, or ESC @ is used. [Reference] FF, CAN, ESC FF, ESC S, ESC T, ESC W, GS $, GS \ ESC S [Name] Select standard mode [Format] ASCII ESC HEX 1B 53 Decimal 27 83 [Description] Switches from page mode to standard mode. [Note] 1) This command is effective only in page mode. 2) Data buffered in page mode are cleared. 3) This command sets the print position to the beginning of the line. 4) The printing area set by ESC W are initialized. 5) This command switches the settings for the following commands (in which the values can be set independently in standard mode and page mode) to those for standard mode; http://www.woosim.com 64 Set right-side character spacing : ESC SP Select default line spacing : ESC 2, ESC 3 6) The following commands are enabled only to set in standard mode. Set printing area in page mode : ESC W Select print direction in page mode : ESC T 7) The following commands are ignored in standard mode. Set absolute vertical print position in page mode : GS $ Set relative vertical print position in page mode : GS \ 8) Standard mode is selected automatically when power is turned on, the printer is reset, or command ESC @ is used. [Reference] FF, ESC FF, ESC L CAN [Name] Cancel print data in page mode [Format] ASCII CAN HEX 18 Decimal 24 [Description] In page mode, deletes all the print in the current printable area. [Notes] This command is enable only in page mode. If data that existed in the previously specified printing area also exists in The currently specified printing area, it is deleted. [Reference] ESC L, ESC W http://www.woosim.com 65 7.10. Line & box commands. The PORTI- SM40 supports the following line & box commands; Command Name GS i Print line & box in page mode GS i [Name] Print line & box in page mode [Format] ASCII GS xL xH yL yH n HEX 1D 69 xL xH yL yH n Decimal 29 105 xL xH yL yH n [Description] Print line & box in page mode Horizontal length : xL + xH *256(dot) Vertical length : yL+ yH*256(dot) Line thickness : n (dot) If the horizontal length is 0, it becomes vertical line If the vertical length is 0, it becomes horizontal line [Range] 0 xL, xH, yL, yH 255 0 n 255 http://www.woosim.com 66 7.11. Black mark detection commands. ESC P xL xH [Name] Set the movement position from the black mark. [Format] ASCII ESC HEX 1B 50 Decimal 27 80 [Description] xL xH The movement position will be set when this command is sent to the printer just once. iGG sGRG oGQGY\]GOGPG tGwG ESC z ESC y [Name] Feed the paper to the movement position. [Format] ASCII ESC ESC HEX 1B 7A 1B 79 Decimal 27 122 27 121 [Description] Feed the paper to the movement position. http://www.woosim.com 67 7.12. Magnetic Card Reader Commands. The PORTI- SM40 supports the following magnetic card reader commands; Command Name ESC M C Set 2 track card reader mode. ESC M D Set 3 track card reader mode. ESC M E Set 2,3 track card reader mode. EOT Cancel card reader mode ESC M C [Name] Set 2 track card reader mode. [Format] ASCII ESC HEX 1B 4D 43 Decimal 27 77 67 [Note] When the ESC M C command is executed, printed nothing before read the card or executed the EOT command. ESC M D [Name] Set 3 track card reader mode. [Format] ASCII ESC HEX 1B 4D 44 Decimal 27 77 68 [Note] When the ESC M D command is executed, printed nothing before read the card or executed the EOT command. ESC M E [Name] Set 2,3track card reader mode. [Format] ASCII ESC HEX 1B 4D 45 Decimal 27 77 69 [Note] When the ESC M E command is executed, printed nothing before read the card or executed the EOT command. http://www.woosim.com 68 EOT [Name] Cancel card reader mode. [Format] ASCII EOT HEX 04 Decimal [Description] Cancel card reader mode. ଖ Card specification The table below summarizes the format of the data stored on each magnetic track. ISO-2 Track (ABA) ISO-3 Track (MINTS) Recording Density 75 BPI 210 BPI Recording Capacity 40 characters 107 characters Data Format Numeric Numeric Data Capacity 37 characters 104 characters ଖ Magnetic Card Data Output Format ڈTrack 2 (ESC M C) 02H 43H 31H 31H 1CH DATA (37 Characters) 1CH 03H 0DH 0AH DATA (104 Characters) 03H 0DH 0AH ڈTrack 3 (ESC M D) 02H 44H 31H 31H 1CH ڈTrack 2,3 (ESC M E) 02H 45H 31H 31H 1CH 1CH DATA(37) 1CH DATA(104) http://www.woosim.com 1CH 03H 0DH 0AH 69 7.13. Smart Card Reader Commands. The PORTI- SM40 supports the following smart card reader commands; Command Name ESC N Enter the Smart Card Reader mode EOT Exit the Smart Card Reader mode ESC N [Name] Smart card reader mode. [Format] ASCII ESC HEX 1B 4E Decimal 27 78 [Description] Enter the Smart Card Reader mode. For using the Smart Card Reader, you must use ESC N command. After ESC N command, use the smart card reader control command. When this command use, you can see the “SCR MODE” display on LCD. EOT [Name] Exit smart card reader mode. [Format] ASCII EOT HEX 04 Decimal [Description] Exit smart card reader mode. If you want exit smart card mode, you must use EOT command. http://www.woosim.com 70 8. Smart Card Reader Control Command 8.1. Communication Protocol Description 8.1.1. Command & Response Format STX CON LEN DATA ETX 1 byte 1 byte 2 byte n byte 1 byte * STX : 0x7e * CON : Control byte 0x00 : IC Card Control 0xa0 : SAM1 Control 0xb0 : SAM2 Control 0xX0 : Activation(or Deactivation) command control Activation Positive response : 0x00 Deactivation Positive response : 0x02 0xX1 : APDU exchange command(or response) control Positive response : 0x01 0x02 : Error code response(except deactivation response) * LEN : Length of DATA[n] field * DATA[n] : Data bytes (Command, Response, APDU, ATR) * ETX : 0x7e 8.1.2. Command Code List COMMAND CON DATA DESCRIPTION Activation 0xX0 0x30 Activate Card Deactivation 0xX0 0x31 Deactivate card Exchange APDU 0xX1 APDU (n byte) Sends data(APDU) to the accessed card * X => 0 : CARD A : SAM1 B : SAM2 http://www.woosim.com 71 8.1.3. Error Code List DESCRIPTION STATUS LIST NOCARDERR 0x06 No Card ATRFORMATERR 0x10 ATR Format error ATRLENGTHERR 0x11 ATR Invalid Length ATRPROTOCOLERR 0x12 ATR Unknown Protocol type ATRFIDIERR 0x13 ATR [TA2] FI or DI is out of value ATRTB2ERR 0x14 ATR [TB2] ATR containing TB2 ATRWIERR 0x15 ATR [TC2] Value of WI is not 10 ATRISFIERR 0x16 ATR [TA3] IFSI is out of value ATRBWIERR 0x17 ATR [TB3] BWI is out of value ATRCWIERR 0x18 ATR [TB3] CWI is out of value ATRTB3ERR 0x19 ATR [TB3] ATR not containing TB3 (T=1) ATRTC3ERR 0x1a ATR [TC3] Invalid value TC3 ATRTCKERR 0x1b ATR [TCK] Invalid TCK ATRTB1ERR 0x1c ATR [TB1] ATR not containing TB1=0x00 ATRNATRERR 0x20 ATR not received TS ATRSNERR 0x21 ATR ATR data stream Exceeded PARITYERR 0x31 Parity Bit error WTOERR 0x32 Waiting Time Out error http://www.woosim.com 72 DESCRIPTION STATUS LIST TXERR 0x35 Transmission error STATUSERR 0x36 Unsupported Procedure Byte or Status Byte NOTACTERR 0x40 Not Activated APDUFORMATERR 0x41 APDU format error EDCERR 0x42 EDC error (T=1) ABORTERR 0x43 Received Abort request (T=1) SEQERR 0x44 Sequence number error (T=1) NADERR 0x45 NAD error (T=1) EXCESSERR 0x46 Excess error (T=1) LOOPERR 0x4f Program Loop error (T=1) INVALIDFORMAT 0x51 Invalid Format INVALIDCOMMAND 0x52 Invalid Command DCDCFAILERR 0x60 Card VCC Power Fail http://www.woosim.com 73 8.2. Communication Details 8.2.1. Activation Activate Card - Command STX CON 0x7e 0xX0 LEN 0x00 0x01 DATA ETX 0x30 0x7e * CON : 0xX0 => (X = 0,a,b) - Positive Response STX CON 0x7e 0x00 LEN 0x00 Len DATA ETX ATR[Len] 0x7e DATA ETX ERR CODE 0x7e - Negative Response STX CON 0x7e 0x02 LEN 0x00 0x01 http://www.woosim.com 74 8.2.2. Deactivation Deactivate Card - Command STX CON 0x7e 0xX0 LEN 0x00 0x01 DATA ETX 0x31 0x7e * CON : 0xX0 => (X = 0,a,b) - Positive Response STX CON 0x7e 0x02 LEN 0x00 0x01 DATA ETX 0x07 0x7e DATA ETX ERR CODE 0x7e - Negative Response STX CON 0x7e 0x02 LEN 0x00 0x01 http://www.woosim.com 75 8.2.3. Exchange APDU Sends data(APDU) to the accessed card - Command STX CON 0x7e 0xX1 LEN 0x00 Len DATA ETX APDU[Len] 0x7e DATA ETX APDU[Len] 0x7e DATA ETX ERR CODE 0x7e * CON : 0xX1 => (X = 0,a,b) - Positive Response STX CON 0x7e 0x01 LEN Len1 Len2 - Negative Response STX CON 0x7e 0x02 LEN 0x00 0x01 http://www.woosim.com 76 8.3. Example *Smart Card Reader Mode Start - 0x1b 0x4e (“SCR MODE” display on LCD) * Activation - 0x7e 0x00 0x00 0x01 0x30 0x7e (CARD) - 0x7e 0xA0 0x00 0x01 0x30 0x7e (SAM1) * Deactivation - 0x7e 0x00 0x00 0x01 0x31 0x7e (CARD) - 0x7e 0xA0 0x00 0x01 0x31 0x7e (SAM1) * Exchange APDU 1. Select File APDU (1PAY.SYS.DDF01) - 0x7e 0x01 0x00 0x13 0x00 0xA4 0x04 0x00 0x0E 0x31 0x50 0x41 0x59 0x2E 0x53 0x59 0x53 0x2E 0x44 0x44 0x46 0x30 0x31 0x7e (CARD) - 0x7e 0xA1 0x00 0x13 0x00 0xA4 0x04 0x00 0x0E 0x31 0x50 0x41 0x59 0x2E 0x53 0x59 0x53 0x2E 0x44 0x44 0x46 0x30 0x31 0x7e (SAM1) 2. Read Record1 - 0x7e 0x01 0x00 0x05 0x00 0xB2 0x01 0x0C 0x00 0x7e (CARD) - 0x7e 0xA1 0x00 0x05 0x00 0xB2 0x01 0x0C 0x00 0x7e (SAM1) 3. Read Record2 - 0x7e 0x01 0x00 0x05 0x00 0xB2 0x02 0x0C 0x00 0x7e (CARD) - 0x7e 0xA1 0x00 0x05 0x00 0xB2 0x02 0x0C 0x00 0x7e (SAM1) *Smart Card Reader Mode End - 0x04 (Communication mode display on LCD) http://www.woosim.com 77 9. Introduction of Protocol Bluetooth 9.1. Frame Structure. SOF TOF (Start Of Frame) (Type Of Frame) 1 Byte 1 Byte DATA Variable EOF (End Of Frame) 1 Byte Type of frame Type of frame Value DATA Field ACK 0x06 NACK 0x15 ENQ 0x05 PRINT Data ‘D’ (0x44) Response of Printer Status ‘S’ (0x53) Inquiry of Printer Status ‘Q’ (0x51) EOT 0x04 ETX 0x03 During transmission, if C0H, C1H, and/or 7DH are contained in data field, 7DH should be inserted before the data and the data should be XOR with 20H and sent. During reception, if 7DH is encountered, 7DH should be ignored and the next byte should be XOR with 20H and stored. http://www.woosim.com 78 9.2. Process of Getting the Printer Status. HOST PRINTER Inquiry of Printer Status Response of Printer Status It is recommended that the host send the same inquiry up to 5 times with 400ms time interval in case of no response from the printer. 9.2.1. Frame Format. Inquiry of printer status 0xC0 0xC0 0x51 0xC1 Response of printer status 0x53 Status (1 Byte) Previous ID # (1 Byte) 0xC1 ୕ IMPORTANT !! This function is not yet implemented fully. Currently the status byte is fixed to 0x02. However, this process can be used to check the communication. http://www.woosim.com 79 9.3. Process of Printing Data. HOST PRINTER Sending ENQ frame Sending ACK frame Sending Print Data frame Sending EOT, ETX frame Or Sending NACK frame Resending Print Data frame In normal operation, after receiving the print data frame, the printer sends EOT, prints out the data, and sends ETX. And it will wait for the next frame. Conditions of NACK frame issued 1) Different checksum value 2) No data byte received 200ms after the previous byte received 3) No EOF (End of frame) at the end 4) No predefined number in Data Length field http://www.woosim.com 80 9.3.1. Format of Print Data Frame. 'D' kh{h DATA ID CHECK C0H Print DATA (0x44) Number Length Byte Bytes C1H SUM kG Bytes Data ID number : ‘0’૫‘9’(0x30~0x39). Every time the host sends a new print data frame, it increases this number. Data Length : “0001” ૫ “9999”. Each number must be an ascii code. Checksum : 2 bytes. The first byte is the result of XOR of even number of data in Print data field and the second byte is that of odd number. (Example) If “SAMPLE TEST” is in Print Data field, the data length will be “0011 (0x30 0x30 0x31 0x31)” and the first byte of checksum will be the result of XOR of S, M, L, space, E, and T and the second byte that of A, P, E, T, and S. It is recommended that the host goes back to the initial stage in case that it receives neither EOT nor NACK from the printer 1 sec after it has sent the print data frame. 9.3.2. Format of ENQ Frame. C0H 0x05 C1H It is recommended that the host send the same ENQ frame up to 10 times with 400ms time interval in case of no response from the printer. http://www.woosim.com 81 9.3.3. Format of ACK Frame. C0H 0x06 C1H 9.3.4. Format of NACK Frame. C0H 0x15 C1H 9.3.5. Format of ETX Frame. C0H 0x03 Data ID No. C1H Printer will send this frame after it finishes all of the requested printing. 9.3.6. Format of EOT Frame. C0H 0x04 C1H Printer will send this frame after it receives the print data frame successfully. ଗ IMPORTANT !! In every frame coming from the printer, 1 Byte of Null is preceded to SOF, and CR and LF are followed by EOF. For example, the actual data of ETX frame is 0x00, 0xC0, 0x03, 0xC1, 0x0D, and 0x0A. The host can ignore these prefix and suffixes. http://www.woosim.com 82 Appendix A. MISCELLANEOUS NOTES 1. Printer mechanism handling 1) Do not pull the paper out when the cover is closed. 2) Because the thermal elements of the print head and driver ICs are easy to break, so do not touch them with any metal objects. 3) Since the areas around the print head become very hot during and just after printing, do not touch them. 4) Do not use the cover open button except when necessary. 5) Do not touch the surface of the print head because bust and dirt can stick to the surface and damage the elements. 6) Thermal paper containing Na, K, Cl ions can harm the print head thermal elements. Therefore, be sure to use only the specified paper. 7) If you want to use label paper, please contact your dealer for assistance. 2. Thermal paper handling - Notes on using thermal paper Chemicals and oil on thermal paper may cause discoloration and faded printing. Therefore, pay attention to the following; 1) Use water paste, starch paste, polyvinyl paste, or CMC paste when gluing thermal paper. 2) Volatile organic solvents such as alcohol, ester, and ketone can cause discoloration. 3) Some adhesive tapes may cause discoloration or faded printing. 4) If thermal paper touches anything which includes phthalic acid ester plasticizer for a long time, it can reduce the image formation ability of the paper and can cause the printed image to fade. Therefore, when storing thermal paper in a card case or sample notebook, be sure to use only products made from polyethylene, polypropylene, or polyester. 5) If thermal paper touches diazo copy paper immediately after copying, the printed surface may be discolored. 6) Thermal paper must not be stored with the printed surfaces against each other because the printing may be transferred between the surfaces. http://www.woosim.com 83 7) If the surface of thermal paper is scratched with a hard metal object such as a nail, the paper may become discolored. - Notes on thermal paper storage Since color development begins at 70°C (158°F), thermal paper should be protected from high temperature, humidity, and light, both before and after printing. 1) Store paper away from high temperature and humidity. Do not store thermal paper near a heater or in enclosed places exposed to direct sunlight. 2) Avoid direct light Extended exposure to direct light may cause discoloration or faded printing. 3. Others Because this printer uses plated steel, the manual cutting edge may be subject to rust. However, this does not affect the printer performance. http://www.woosim.com 84
Source Exif Data:
File Type : PDF File Type Extension : pdf MIME Type : application/pdf PDF Version : 1.4 Linearized : No XMP Toolkit : 3.1-701 Producer : Acrobat Distiller 7.0.5 (Windows) Create Date : 2006:11:03 14:52:38+09:00 Modify Date : 2006:11:03 14:52:38+09:00 Metadata Date : 2006:11:03 14:51:21+09:00 Document ID : uuid:29A72A55FF6ADB11BE5FEBEE546B0AD5 Instance ID : uuid:ef05d705-2e6f-42a6-9ab7-2958b48220bd Derived From Instance ID : uuid:13949002-36dc-406d-980f-f17bbf42e9c7 Derived From Document ID : uuid:9c0d5106-e7de-4659-8887-786fc25b5524 Format : application/postscript Title : Microsoft Word - Operator Manual Porti_SM40.doc Creator :EXIF Metadata provided by EXIF.toolsPage Count : 84 Author :