Brother RJ-4030 User Manual

Software Developer's Manual
Raster Command Reference RJ-4030/4040
Version 1.02
The Brother logo is a registered trademark of Brother Industries, Ltd. Brother is a registered trademark of Brother Industries, Ltd. © 2013 Brother Industries, Ltd. All rights reserved.
Each owner whose software title is mentioned in this document has a Software License Agreement specific to its proprietary programs. Any trade names and product names of companies appearing on Brother products, related documents and any other materials are all trademarks or registered trademarks of those respective companies.

IMPORTANT - PLEASE READ CAREFULLY

Note

This documentation (“Documentation”) provides information that will assist you in controlling your Printer RJ-XXXX (where XXXX is the model name). You may use the Documentation only if you first agree to the following conditions. If you do not agree to the following conditions, you may not use the Documentation.

Condition of Use

You may use and reproduce the Documentation to the extent necessary for your own use of your Printer Model (“Purpose”). Unless expressly permitted in the Documentation, you may not; (i) copy or reproduce the Documentation for any purpose other than the Purpose,
(ii) modify, translate or adapt the Documentation, and/or redistribute it to any third party, (iii) rent or lease the Documentation to any third party, or, (iv) remove or alter any copyright notices or proprietary rights legends included within the Documentation.

No Warranty

a. Any updates, upgrades or alteration of the Documentation or Printer Model will be performed at the sole
discretion of Brother. Brother may not respond to any request or inquiry about the Documentation.
b. THIS DOCUMENTATION IS PROVIDED TO YOU "AS IS" WITHOUT WARRANTY OF ANY KIND,
WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTY OF FITNESS FOR A PARTICULAR PURPOSE. BROTHER DOES NOT REPRESENT OR WARRANT THAT THIS DOCUMENTATION IS FREE FROM ERRORS OR DEFECTS.
c. IN NO EVENT SHALL BROTHER BE LIABLE FOR ANY DIRECT, INDIRECT, PUNITIVE, INCIDENTAL,
SPECIAL OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER, ARISING OUT OF THE USE, INABILITY TO USE, OR THE RESULTS OF USE OF THE DOCUMENTATION OR ANY SOFTWARE PROGRAM OR APPLICATION YOU DEVELOPED IN ACCORDANCE WITH THE DOCUMENTATION.
Raster Command Reference
Contents
Introduction ······························································································ 1 About Raster Commands ············································································ 2
1. Printing Using Raster Commands ································ ····························· 3
2. Print Data ······························································································ 5
2.1 Print data overview ························································································ 5
2.2 Sample (analyzing the print data of the test page) ················································ 7
2.2.1 Preparation ........................................................................................................... 7
2.2.2 Checking the print data ......................................................................................... 7
2.2.3 Explanation of print data for the test page .......................................................... 10
2.3 Page data details·························································································· 12
2.3.1 Resolution .......................................................................................................... 12
2.3.2 Page size ............................................................................................................ 12
2.3.3 Feed amount ...................................................................................................... 14
2.3.4 Maximum and minimum lengths ......................................................................... 14
2.3.5 Raster line .......................................................................................................... 15
3. Print Command List ··············································································· 17
4. Printing Command Details ······································································ 18
NULL Invalidate ................................................................................................... 18
ESC i S Status information request ......................................................................... 18
ESC @ Initialize ...................................................................................................... 23
ESC i U Additional media information command ..................................................... 23
ESC i d Specify margin amount (feed amount) ....................................................... 25
ESC i a Switch dynamic command mode ............................................................... 26
g Raster graphics transfer ............................................................................ 26
ESC i B Specify baud rate ....................................................................................... 27
Z Zero raster graphics ................................................................................... 27
FF Print command........................................................................................... 27
Control-Z Print command with feeding ...................................................................... 27
ESC i z Print information command ........................................................................ 28
M Select compression mode ......................................................................... 29
5. MCR Command Specifications ································································ 31
5.1. Command details ························································································ 31
ESC #1 MCR on command ..................................................................................... 31
ESC #0 MCR off command ..................................................................................... 31
5.2. Response ·································································································· 32
6. Flow Charts··························································································· 34
6.1 Normal flow for USB connection ······································································ 34
6.2 Error flow for USB connection (when feeding at the end of the page) ······················ 35
6.3 Error flow for USB connection (with a concurrent printing error such as end of tape) ··· 36
6.4 Cooling flow for USB connection ······································································ 37
6.5 Flow for setting serial connection baud rate ······················································· 38
6.6 Normal flow for serial connection ····································································· 39
6.7 Error flow for serial connection ········································································ 40
6.8 Cleaning flow for serial connection ··································································· 41
Appendix A: USB Specifications ································································· 42 Appendix B: Introducing the Brother Developer Center ·································· 43
- i -
Raster Command Reference

Introduction

This material provides the necessary information for directly controlling the Brother printer RJ-XXXX (where XXXX is the model name). This information is provided assuming that the user has full understanding of the operating system being used and basic mastery of USB and networks in a developer's environment. Details concerning the USB interface are not described in this material. If a USB interface is being used, refer to “Appendix A: USB Specifications” to prepare the interface.
We accept no responsibility for any problems caused by programs that you develop using the information provided in this material, affecting software, data or hardware, including the Brother printer RJ-XXXX, and any problems resulting directly or indirectly from them. These materials are provided in their current condition, and we assume no responsibility for their content. Use this material only if you accept these terms.
This material shall not be reproduced, in part or in full, without prior approval. In addition, this material shall not be used as evidence in a lawsuit or dispute in a way that is unfavorable towards our company.
Read the model names that appear in the screens in this manual as the name of your printer.
- 1 ­Introduction
Raster Command Reference

About Raster Commands

Using raster commands an RJ-XXXX printer (where “XXXX” is the model name) can be used to print without using our printer driver. This operation is useful in the following situations. When printing from an operating system other than Windows
(Example: When printing from a Linux computer or mobile terminal) When adding print functions to an existing system In addition, printing can be performed with advanced settings.
In this material, “raster” refers to binary bitmap data (collection of dots). Refer to this material to print by sending initialization commands and control codes together with raster data to the RJ-XXXX printer (hereafter, referred to as “printer”). This manual describes the procedure for adding these codes and sending the data.
- 2 ­About Raster Commands
Raster Command Reference
(2) Send the status
(Confirm the printer status.)
(1) Open the port
(5) Send the status
(Confirm that printing is completed.)
(6) Close the port
Port
(4) Print
At your side
(3) Send the print data
Your printer
Computer, mobile terminal, etc.

1. Printing Using Raster Commands

The printing procedure is described below. For detailed flow charts, refer to “6. Flow Charts”. For details on each command, refer to “4. Printing Command Details”.
In addition, descriptions of the commands for the MCR (magnetic card reader) are provided. For details, refer to “5. MCR Command Specifications”.
- 3 -
1. Printing Using Raster Commands
Raster Command Reference
(1) Open the USB/serial/network port
Open the USB/serial/network port in the operating environment. The procedure for opening the USB/serial/network port is not described in this material. The network port can only be used with the RJ-4040.
(2) Confirm the printer status sent from the printer
The “status information request” command is sent to the printer, the status information received from the printer is analyzed, and then the status of the printer is determined.
For details on the “status information request” command and on the definitions of “status”, refer to “Status information request” in “4. Printing Command Details”.
(3) Send the print data
If the status analysis confirms that media compatible with the print data is loaded into the printer and that no error has occurred, the print data is sent. The structure of the print data is explained in the next section, “2. Print Data”.
Note: No command can be sent to the printer after the print data is transmitted and until the completion of printing is confirmed. Even the “status information request” command cannot be sent during printing.
(4) Print the data
(5) Confirm that printing is completed
When printing is completed, the status is received from the printer. If this status is analyzed to confirm that printing is completed, printing one page is considered finished. If the print job has multiple pages, (2) through (4) are repeated.
(6) Close the USB/serial/network port
After all printing is finished, close the USB/serial/network port.
Note: In order to print at high speed when a USB port is used to send uncompressed raster data, the Brother RJ-XXXX starts printing when it starts to receive print data, instead of waiting for a print command (concurrent printing). For the processing flow, for example when managing errors, refer to “6. Flow Charts”.
- 4 -
1. Printing Using Raster Commands
Raster Command Reference
Sequence
Command Name
Description/Example
1
Invalidate
Sends a 350-byte invalidate command, and then resets the printer to the receiving state.
2
Initialize
Initializes for printing. 1Bh, 40h (Fixed)
Sequence
Command Name
Description/Example
1
Switch dynamic command mode
1Bh, 69h, 61h, 01h
2
Additional media information command
1Bh, 69h, 55h, 77h, 01h, 127 bytes of media information
Note If the media information is the same as when printing was last performed, it is unnecessary to send the additional media information command.
3
Print information command
Sets the print information for the printer. For 102-mm-wide continuous length tape: 1Bh, 69h, 7Ah, 86h, 0Ah, 66h, 00h, 09h, 07h, 00h, 00h, 00h, 00h
4
Specify margin amount
Specifies the amount of the margins. For 3 mm margins: 1Bh, 69h , 64h, 23h, 00h
5
Select compression mode
Selects the compression mode for raster graphics. To send the data compressed to TIFF format: 4Dh, 02h

2. Print Data

2.1 Print data overview

The print data is constructed of the following: (1) initialization commands, (2) control codes, (3) raster data, and (4) print commands. If the print job consists of multiple pages, (2) through (4) are repeated.
(1) Initialization commands
Specified only once at the beginning of the job.
(2) Control codes
Added at the beginning of each page and sent for each page.
- 5 -
2. Print Data
Sequence
Command Name
Description/Example
-
Raster graphics transfer
Sends a raster line that contains data with pixels set to ON.
-
Zero raster graphics
Sends a raster line with all pixels set to “0”. 5Ah (Fixed)
Sequence
Command Name
Description/Example
-
Print command
Specifies at the end of a page that is not the last page. 0Ch
-
Print command with feeding
Specifies at the end of the last page. 1Ah (Fixed)
(3) Raster data
Repeated for each page in the print job.
(4) Print commands
Specified at the end of the page.
Raster Command Reference
- 6 -
2. Print Data
Raster Command Reference
Test page
Printer Properties

2.2 Sample (analyzing the print data of the test page)

The print data created by the printer driver is described here. As an example, we will check the print data created when the [Print Test Page] button in the printer Properties dialog box is clicked to print the test page. Since the print data differs depending on the print settings of the printer, refer to this procedure and try creating print data with various print settings. Furthermore, this procedure is for the Windows® 7 operating environment. A similar procedure can be performed if you are using a different operating system.

2.2.1 Preparation

Install the two listed below.
Printer driver of the Brother RJ-XXXX Binary file editor
The data that we will analyze in this sample is a binary file. Therefore, use a binary file editor to display and check the contents of the binary file.

2.2.2 Checking the print data

The procedure for checking the print data is provided below.
Step 1: Change the port of the printer to “FILE:”. Step 2: Print the desired item (in this case, the test page), and then specify the file name. Step 3: Open the created file in the binary file editor to check it.
- 7 -
2. Print Data
Raster Command Reference
Step 1: Change the port of the printer to “FILE:”.
Open the Printers and Faxes folder, and then right-click the printer (in this case, RJ-4030) to display the Properties dialog box. In the Properties dialog box, click the [Ports] tab, select the “FILE:” check box, and then click the [Apply] button.
[Ports] tab of the printer Properties dialog box
Step 2: Print the item (in this case, the test page), and then specify the file name.
For this sample, print the test page with the default print settings, which were specified immediately after the printer driver was installed.
Default settings immediately after installation of the printer driver
- 8 -
2. Print Data
Raster Command Reference
(1) Initialization commands
(2) Control codes
(4) Print commands
(3) Raster data
When the test page is printed with the printer, a dialog box appears so that the file name can be specified. (Refer to the illustration below.) After a file name is typed in and the [OK] button is clicked, the printer driver creates the print data and saves it in a file with the specified name.
Dialog box for specifying the file name
Step 3: Open the print data in the binary file editor.
Open the saved file in the binary file editor. The rows of numbers that appear are the print data. (Refer to the illustration below.) The print data is constructed of the following: (1) initialization commands, (2) control codes, (3) raster data and (4) print commands, which were described in “2.1 Print data overview”. For details on the print data, refer to “2.2.3 Explanation of print data for the test page”.
Print data
- 9 -
2. Print Data
Raster Command Reference
1 2
3
4
5 6
7
8
9

2.2.3 Explanation of print data for the test page

The print data for the test page outputted in the previous section is described below. The following illustration shows the print data created in section 2.2.1 Preparation opened in the binary file editor.
Print data
- 10 -
2. Print Data
Raster Command Reference
No.
Command Name
Description
Invalidate
A 350-byte invalidate command is sent.
2
Initialize
The “initialize” command is sent.
3
Switch dynamic command mode
The printer is switched to raster mode. Send this command before sending raster data to the printer.
4
Additional media information command
Additional media information on the media size is sent. This is the command for “4" × 6" (102 mm × 152 mm)”.
5
Print information command
Media size information for the print data is sent. This is the command for “4" × 6" (102 mm × 152 mm)” die-cut labels.
6
Various mode settings
(1Bh+69h+4Dh+00H)
This is the command for specifying settings such as cut options. Since there are no cut options with this model, it is unnecessary to send this command.
7
Specify margin amount
Since a margin amount cannot be specified with die-cut labels, this command is sent with a margin amount of 0.
8
Select compression mode
TIFF compression mode is selected.
9
Raster data
Raster data continues.
10
Print command with feeding
Since one page will be printed, this is sent at the end of the first page.
Descriptions for the numbers in the print data on the previous page are provided in the following table. For details on each command, refer to “4. Printing Command Details”.
- 11 -
2. Print Data
Loading...
+ 33 hidden pages