Advertisement

Quick Links

Blackroc Pro60 Thermal Printer
Programming Manual
March 2007
V1.4

Advertisement

Table of Contents
loading
Need help?

Need help?

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

Questions and answers

Subscribe to Our Youtube Channel

Summary of Contents for Blackrock Microsystems Pro60

  • Page 1 Blackroc Pro60 Thermal Printer Programming Manual March 2007 V1.4...
  • Page 2 Revision Date Details V1.0 November 2006 Initial release V1.1 December 2006 Additional specifications added and form control codes clarified. V1.2 January 2007 Added description of setup using the OPD menu system. V1.3 March 2007 Added description of storing 'batch' files. Clarified graphic commands.
  • Page 3: Table Of Contents

    Table of Contents 1Introduction............................3 2Specifications............................. 3 3Key Functions.............................3 4OPD Menu............................4 5Bluetooth Configuration........................5 6Escape Code Programming........................ 5 6.1Print Commands......................... 6 6.2Positioning..........................6 6.3Formatting Characters.........................7 6.3.1Selecting Character Sizes....................7 6.3.2Character Spacing & Colour....................7 6.3.3Print Orientation & Density Adjustment................8 1.1.1 Graphic Commands......................8 6.3.4Form Control........................10 6.3.4.1Control by paper length.....................
  • Page 4: 1Introduction

    1 Introduction The Pro60 printer is a self contained portable printer that may be optionally fitted to the rear of a PsionTeklogix Workabout Pro (7525) portable computer. The printer accepts rolls of paper that are 58mm wide and with a maximum outside dimension of 34mm. Connectivity is provided by a Bluetooth link.
  • Page 5: 4Opd Menu

    4 OPD Menu The Pro60 may be setup by use of the buttons on the front face of the unit. By pressing the buttons as instructed by the prompts printed on the paper. Various parameters can be set by use of the OPD (On Paper Display) menus.
  • Page 6: 5Bluetooth Configuration

    Font number 1, 2, 3, 4 Text orientation Text Mode, Data Mode Character Size W0/H0, W0/H1, W0/H2, W0/H3, W1/H0, W1/H1, W1/H2, W1/H3 Character Spacing 0, 1, 2, 3, 4, 5, 6, 7 Print Width 48...32mm The user is advised not to change the items shown in italics. To change any parameter, the options may be stepped through by use of keys shown in the table below.
  • Page 7: 6Escape Code Programming

    0.5uA 0.9uA 6 Escape Code Programming The Pro60 printer may be controlled by 'escape' sequences sent over the air via the Bluetooth link. This relies on an initial virtual serial port being setup and in operation. 6.1 Print Commands Command...
  • Page 8: Formatting Characters

    Command Command Function (ASCII) (hex) <ESC> “F” lh ll 1B 46 lh ll Forwards paper feed by l lines where l = (lh * 256) + ll This command can only be given at the start of a line or will be ignored.
  • Page 9: 3Print Orientation & Density Adjustment

    Command Command Function (ASCII) (hex) <ESC> “I” “0” 1B 49 30 Print black/gray on white. This command is valid until cancelled. This mode is selected after reset. <ESC> “I” “1” 1B 49 31 Print white in black/gray (inverted colours). This command is valid until cancelled.
  • Page 10 Command Command Function (ASCII) (hex) <ESC> “m” n 1B 6D n Set the current graphic mode n = 0x00: unencoded n = 0x01: run length encoded n = 0x02: TIFF 4.0 encoded n = 0x03: delta row encoded n = 0x04: x byte offset (see below) n = 0x05: reset delta row seed row (see below) x byte offset If n is set to 0x04, an additional parameter must be...
  • Page 11: 4Form Control

    TIFF combines the features of unencoded and run length encoding. The graphic information is preceded by a control byte. The control byte indicates (sign bit) if the following byte is a graphic byte that is repeated (up to 127 times) or if a number of bytes follow (up to 127) that are to be printed as a bit map.
  • Page 12: 5Batch Files

    The mark should be positioned as shown in the diagram opposite. It must be on the front (print) side of the paper and be positioned 11mm from the right hand edge of the paper. The mark must be 5mm wide, and have a height of between 3 and 7mm.
  • Page 13: Character Set

    Batch File Block 1 This block contains batch files T0-T9. These can contain user-specific macros, logos, they also have special functions; T0: This file can be output after a RESET by holding down the FEED key for more than two seconds.
  • Page 14: Example Wince Application - Escape Commands Version

    6.5 Example WinCE Application – Escape Commands Version The following code sample describes an example WinCE application that will generate some simple output on the printer. The application assumes that a Bluetooth connection has been established between the handheld and the printer. The application therefore prints to a (virtual) serial port. The application is available as part of the documentation pack, and is provided in source and compiled form.
  • Page 15 DWORD SerialReadThread(LPVOID lpvoid) // Specify a set of events to be monitored for the port. SetCommMask (SerialChannel, EV_RXCHAR); while (SerialChannel != INVALID_HANDLE_VALUE) DWORD CommStatus; // Wait for an event to occur for the port. WaitCommEvent (SerialChannel, &CommStatus, 0); // Re-specify the set of events to be monitored for the port. SetCommMask (SerialChannel, EV_RXCHAR);...
  • Page 16 PortDCB.fParity = FALSE; // Disable parity checking. PortDCB.fOutxCtsFlow = TRUE; // CTS output flow control PortDCB.fOutxDsrFlow = TRUE; // DSR output flow control PortDCB.fDtrControl = TRUE; // DTR flow control type PortDCB.fDsrSensitivity = FALSE; // DSR sensitivity PortDCB.fTXContinueOnXoff = TRUE; // XOFF continues Tx PortDCB.fOutX = FALSE;...
  • Page 17 static void SerialWriteString(const char *Data, int Length) DWORD dwError, NumBytesWritten; unsigned int BytesToPrint; if (Length == -1) BytesToPrint = strlen(Data); else BytesToPrint = Length; if (!WriteFile (SerialChannel, Data, BytesToPrint, &NumBytesWritten, NULL)) // Must be NULL for Windows CE // WriteFile failed. Report error. dwError = GetLastError();...
  • Page 18: 7Wince Printer Driver Programming

    // --------------------------------------------------------------------------- 7 WinCE Printer Driver Programming The Pro60 is supplied with a suitable driver for WinCE. This driver is presently available for devices based upon the ARM processor. Access to the printer is available to a programmer via a dll that must be present on the machine.
  • Page 19: 1Source Code

    7.1.1 Source Code The following source file implements a complete module that will write to the Pro60 printer from an application. The 'standard' WinCE application which calls this module is not shown, but may be found in the accompanying files in the documentation pack.
  • Page 20 // Fill in the structure with info about this "document" DocInfo.cbSize = sizeof(DOCINFO); DocInfo.lpszDocName = L"Test Document"; DocInfo.lpszOutput = NULL; DocInfo.lpszDatatype = 0; DocInfo.fwType = 0; // Inform the spooler the document is beginning. if( (dwJob = StartDoc(PrinterDC, &DocInfo )) == 0 ) DeleteDC(PrinterDC);...
  • Page 21 DeleteObject(BitmapHandle); return TRUE; // ---------------------------------------------------------------------------...
  • Page 22 Appendix A Bluetooth Configuration Windows CE .net 4.2 Initial Screen, select Control Select Power Properties Select the Built-in devices tab Panel and enable Bluetooth Select Bluetooth Device Press the Scan button Wait for the Bluetooth Properties scanning to complete...
  • Page 23 Locate the device 'BT- Double click ASYNC Select Active Printer' The device should now show its active serial port...
  • Page 24 Windows Mobile 2003...
  • Page 26 Alphabetical Index...

Table of Contents