README.TXT Driver File Contents (Workabout.exe)

Usage Instructions for Pentax PocketJet 200 Workabout Driver
Feb 9, 2005
Version 1.10

-------------------------------------------------------------
Table of Contents:

1) About WAPENTAX.IMG Program
2) Installing WAPENTAX program, Fonts, and Configuration files
3) How to connect a PocketJet 200 printer to the Workabout
4) Specifying the TEXT file to print
5) How to use "Font Switching" within the TEXT file
6) How to force a "form feed" within the TEXT file
7) Changing Program Default Values (General Info)
8) Using PJ200.CFG to change program defaults
9) Using PTXSETUP.IMG to change program defaults
10) Using Command Line to change program defaults
11) Description of Printer Values that can be changed
12) Cancelling a print job
13) Contact Pentax
14) Revision History
-------------------------------------------------------------


1) About WAPENTAX.IMG Program

This program will open a TEXT file, convert the data to PJ200
raster graphic format using custom raster fonts, and print the
data to the RS232 Port (Port A or B) on the Workabout, or to the
serial port (Port C or F) on the cradle.

This "driver" is NOT a standard WDR printer driver. It is simply
an executable program which can print a text file, with several
different usage options, explained below.

It can be executed at the Command Processor command line by
simply typing "WAPENTAX". Or, it can be called directly
from within a program.

More than likely, it's usefulness will NOT be as a "standalone"
program. Instead, it will likely be used by 3rd party software
developers to quickly add a way to enable their Workabout
software program to print data to a PocketJet200 printer.

When used in this context, the goal of the software developer
will be to generate a TEXT file containing the data they wish
to print, and then call the WAPENTAX program from within
their program, passing the name of the file to be printed
as a command line argument. Additional command line arguments
are available as well to set different printer modes, and
a "configuration" file for the program is also an alternative
method to set the printer's usage mode. More on this below.

If the developer wishes to have more control, the complete
source code to WAPENTAX is available as an SDK. Developers
can then take the code modules and integrate them directly
into their own program as they see fit.
-------------------------------------------------------------

2) Installing WAPENTAX program, Fonts, and Configuration Program/Files
 a) Connect the Workabout to your PC, using "PsiWin" to establish
    the connection. You will need to turn "Remote Link" to ON
    on the Workabout. Our experience indicates that a NULL MODEM
    cable is required to connect the PC to the Workabout in addition
    to using a standard DB9-DB9 Serial cable, connected to the
    Workabout's RS232 Port.
 b) Copy "WAPENTAX.IMG" to the M:\\ directory
 c) Copy AT LEAST ONE of the COURxxx.FNT files to the M:\\
     directory. The "default" font used by WAPENTAX is
     "COUR10.FNT", so you MUST copy this FONT unless you
     change the default behavior (more on this below). If 
     disk space is not an issue, then copy all 9 FNT files.

     The WAPENTAX program comes with 9 different fonts:

     Courier 10 CPI in normal, bold, and italic
     Courier 12 CPI in normal, bold, and italic
     Courier 16.6 CPI in normal, bold, and italic

Beta8: Added some new fonts by customer request:
     Courier 14 CPI normal
     Courier 8-CPI, 4-LPI Bold (this is a 300 dpi font for 12 CPI)


     The font files are all named CourXXZ.FNT,
     where XX = # CPI and Z= ,B,I for Normal, Bold, Italic

     For example, "Courier 10 Bold" file is COUR10B.FNT

     Note: Fonts with different "character sets" are
           available by request.

 d) Create a file called TEST.TXT and copy it to M:\\
    This is needed if you use the most simple command line
	possible. You do NOT need to do this if you specify
    the file to print via the command line.

 e) If you wish to change the default behavior, then you
    should EDIT and COPY the file "PJ200.CFG" to the M:\\
    directory. For info about editing this file, see below.
			-- or --
	An even BETTER option than just described is so copy the
	PTXSETUP.IMG program to the M:\\ directory. This is a GUI
	program to create/modify the PJ200.CFG file visually.
-------------------------------------------------------------

3) How to connect a PocketJet 200 printer to the Workabout

You will need to use a SERIAL cable for printing, but there
are a few options.

 a) Pentax 4 ft serial cable, 57600 baud, P/N 203252
 b) *Both* the 6 inch serial cable, 19200 baud, P/N 204692-551,
 and a "Null Modem Extender/GenderChanger Cable", P/N 204693-551.

Either cable set (a) or (b) above will work fine when you connect
directly to the RS232 Port (Port A,B) on the Workabout.

Note that the 19200 baud cable will likely be a little more reliable,
since the Workabout does not guarantee 100% compatibility when running
the port at a higher baud rate than 19200....but so far, we have been
able to fix the problems we have seen one way or another when using
the 57600 baud cable.

If you are using the Cradle (Port C,F) for connecting to the
printer, then you MUST use the 19200 baud solution (option b).

NOTE: It is possible to print using IRDA cable. This requires 
IRDA cable version -555.

IMPORTANT NOTE: In order to print successfully, you MUST turn
"Remote Link" OFF.

-------------------------------------------------------------
4) Specifying the TEXT file to print

By default, the program will print a file called "M:\\TEST.TXT".

To print a *specific* text file other than this file, you can pass
a command line parameter in the following format:

>WAPENTAX file.txt

-------------------------------------------------------------
5) How to use "Font Switching" within the TEXT file

As noted above, the WAPENTAX program comes with 9 different fonts.
(as of Beta 8, this changed to 11 different fonts)

If you wish to use more than one font to print a TEXT file,
then you can modify the text file directly to contain "ESC" codes
to tell the driver engine when to change the font.

For example, you might want to use a larger font or a BOLD font
for certain sections of the document.

Note that the font can ONLY be changed at the BEGINNING of the
text line, and the same font will be used for the ENTIRE text line.

"Beginning of a Text Line" is hereby defined as "Immediately following
the CR-LF pair at the end of the previous text line".

The command sequence to use is as follows:

ESC F #, where # is 0-9 HEX **OR** '0'-'9' ASCII char).

IMPORTANT NOTE:
if for (ESC F #), # is >= 10, then you MUST specify # as HEX.
You cannot use the ASCII method to specify these.
The problem is that with 2 ASCII chars, it will not be known
for certain if the 2nd ASCII char is part of the (ESC F #)
or if it is a legitimate text character to be printed.
So, the executive decision has been made to require a HEX value
if two ASCII chars are required.


So, for example in HEX, setting the font to COURIER 12 BOLD would be:

1B 46 04 (for ESC F 4)
-or-
1B 46 34 (for ESC F '4')

These are how # maps to the fonts:
COURIER10		0
COURIER10B		1
COURIER10I		2
COURIER12		3
COURIER12B 	 	4
COURIER12I		5
COURIER16		6
COURIER16B		7
COURIER16I		8
COURIER8B		9
COURIER14		10
-------------------------------------------------------------

6) How to force a "form feed" within the TEXT file

Similar to "font switching", you can force a form feed by
including the ASCII char 0x0C (12 decimal) within the text file
data.

Otherwise, the driver will control form feeds automatically
by using the margin settings and counting # lines printed.
-------------------------------------------------------------

7) Changing Program Default Values (General Info)

There are two methods available to change the program default settings:
 a) Modifying M:\\PJ200.CFG
 b) Passing additional "command line arguments"

The easiest way to modify the values is to use method (a), modifying the
PJ200.CFG file. Now, this is even easier since we created
PTXSETUP program to create/modify this file directly on the Workabout.

In case that M:\\PJ200.CFG exists on the Workabout, you can use the
command line method to OVERRIDE the settings that exist in the PJ200.CFG
file.

Note: If a command line is specific, with options OTHER THAN the file to
be printed, then the PJ200.CFG file is COMPLETELY ignored.

More specific info about PJ200.CFG and "Command line" follows.
-------------------------------------------------------------

8) Using PJ200.CFG to change program defaults

Included with the WAPENTAX.IMG program is a file called PJ200.CFG.
This file is set to the program DEFAULT values.

To change the values to meet your needs, use any text editor.
Please modify ONLY the VALUES, not the text string that preceeds
the value.

If the default program values are acceptable, then you do NOT
need to copy this file to the Workabout.

If you have changed the values, then copy this file to the M:\\
directory on the Workabout. These values will now be used every
time, unless you (successfully) specify a command line parameter,
in which case all values in PJ200.CFG will then be IGNORED.

See also the next section about PTXSETUP.IMG. This new program
allows a GUI to change the PJ200.CFG file directly on the 
Workabout.

For specific information about the allowable values to use, see
sections 10 and 11 below.
-------------------------------------------------------------

9) Using PTXSETUP to change program defaults

This is a newly added GUI to allow changing the file PJ200.CFG
directly on the Workabout.

The parameters are organized into 3 sections:
  PrinterSetup (Font, Density, FF mode, ExtraFeed)
  PageSetup (PaperSize, Margins)
  PortSetup (Port, BaudRate, Spool, FixHandshake)

You can also print a TESTPAGE, which does not require any file
to exist on the Workabout. 

You can also select any TEXT file and print that.

All parameters currently set in PJ200.CFG are used
when printing the TestPage or Selected File.

The ABOUT screen will give you version #'s for both PTXSETUP
and WAPENTAX.

For specific information about these settings,
see sections 10 and 11 below.
-------------------------------------------------------------

10) Using Command Line to change program defaults

The complete command line specification is as follows:

WAPENTAX [file.txt] [/D# /E# /F# /O$ /P# /S# /U# /X# /T# /B# /L# /R#]

/D# = Density, # = 0..10, (default = 7)
/E# = Eject Mode, # = 0..2, (default = 1, fixed page mode)
/F# = Font, # = 0..10, (default = 0, Courier 10 normal)
/H# = Fix Handshake, # = 0..1 (default = 0, FALSE)
/O# = Output Port, $ = 'A','B','C','F', or 'I'(for IRDA), (default = 'A')
/P# = Paper Size, # = 0..2, (default = 0, Letter)
/S# = Spool?, # = 0..1 (default = 0, FALSE)
/U# = baUd rate, # = 19200 or 57600 (default = 57600)
/X# = No Feed Mode Extra Feed, # = 0..1000 (default = 200)
/T# = Top Margin, # = 0..(PaperLength - Bottom Margin), default = 0
/B# = Bottom Margin, # = 0..(PaperLength - Top Margin), default = 0
/L# = Left Margin, # = 0..(PaperWidth - Right Margin), default = 0
/R# = Right Margin, # = 0..(PaperWidth - Left Margin), default = 0

Note1: If you use any command line other than simply "WAPENTAX", then
you MUST specify [file.txt] first.

Note2: You can specify only [file.txt] and PJ200.CFG values will
still be used.

Note3: If any /XX command line parameter is found, then PJ200.CFG
will be COMPLETELY ignored, and "default" values will be used for
command line parameters that are not specified. However, if ANY
/XX parameter is specified INCORRECTLY, then ALL command line
parameters will be ignored, and PJ200.CFG will be used instead,
if it exists, otherwise all defaults will be used.
-------------------------------------------------------------

11) Description of Printer Values that can be changed

 a) Density, # = 0..10, (default = 7)
 This modifies the darkness of the output

 b) Eject Mode, # = 0..2, (default = 1, fixed page mode)
  0 = No Feed Mode (no eject at all, except as specified by "extra feed")
  1 = Fixed Page Mode (ejects to fixed length of paper type)
  2 = End of Page Mode (ejects until paper sensor sees no paper)

 c) Font, # = 0..10, (default = 0, Courier 10)
  COURIER10   0
  COURIER10B  1
  COURIER10I  2
  COURIER12   3
  COURIER12B  4
  COURIER12I  5
  COURIER16   6
  COURIER16B  7
  COURIER16I  8
  COURIER8B   9
  COURIER14   10

 d) Output Port, $ = 'A','B','C','F', or 'I'(for IRDA), (default = 'A')
  A = RS232 Port directly on Workabout
  B = RS232 Port directly on Workabout
  C = Serial port on Cradle
  F = Serial port on Cradle
  I = Irda

  Note about Irda: This works only with the -555 version of the IRDA cable.

 e) Paper Size, # = 0..2, (default = 0, Letter)
  0 = Letter
  1 = Legal
  2 = A4

 f) Spool?, # = 0..1 (default = 0, FALSE)
  0 = FALSE
  1 = TRUE

  If FALSE, then the job will start printing immediately
  If TRUE, then the job will first Spool the data before printing.

  In some cases, printing directly may cause serial handshake errors.
  These errors seem to be fixed by spooling first. However, in some
  cases, spooling has errors but printing direct does not.
  
  Note: At the time of writing this README file, all previous instances
  of handshake problems with "spool = FALSE" condition have been fixed
  in a different way (using FixHandshake setting to TRUE).
  So, the previous statement about using Spool=TRUE to fix handshake
  errors may no longer be necessary. In fact, handshake errors may 
  still occur when spool is set to TRUE.

  Also, the overall print speed comparison between spooled vs direct
  printing seems to depend on the data being printed. In some cases,
  spooling is actually faster, despite taking much longer to begin
  printing. So, you should choose the value that makes the most sense
  based on what you are printing.
  
  **You are encouraged to experiment with this value.**

 g) FixHandshake?,  # = 0..1 (default = 0, FALSE)

  0 = FALSE (Prints faster)
  1 = TRUE (Prints more reliably)

  If FALSE, then the port buffer is used when sending data
  If TRUE, then each data write is written to the port immediately

  This control has NO EFFECT when Spool = TRUE.

  This control is likely only necessary to fix problems at 57600 baud, since
  the 19200 baud setting does not seem to have the same "handshake errors".

  Handshake errors are characterized by incorrect data such as missed or bunched
  raster lines, or by unexpected page ejects.

  In general, we recommend that you set this control to FALSE unless you are
  seeing strange print data and/or unexpected page ejects (i.e. handshake errors),
  because printing goes faster. But, if reliability with many different data
  streams is required, and if you are using the 57600 baud cable, then it
  would be best to set this to TRUE.

  **You are encouraged to experiment with this value.**

 h) Serial BaUd Rate, # = 19200 or 57600 (default = 57600)

  Set this depending on the serial cable you are using.
  If Irda port is used, this command is ignored.

  Note that 19200 baud seems to be MUCH more "reliable" than 57600,
  and typically does not require Spool=TRUE or FixHandshake=TRUE to fix
  any problems.

 i) Extra Feed, # = 0..1000 (default = 200)
  This is used ONLY when the Eject Mode is set to No Feed Mode.
  It's purpose is to eject the paper from the printer enough to
  allow "tear off" of the roll paper without losing data.

  The value of # is set in # lines at 200 lines per inch.
  So, "# = 200" means 1 inch.

 j) Margins
  Top Margin, # = 0..(PaperLength - Bottom Margin), default = 0
  Bottom Margin, # = 0..(PaperLength - Top Margin), default = 0
  Left Margin, # = 0..(PaperWidth - Right Margin), default = 0
  Right Margin, # = 0..(PaperWidth - Left Margin), default = 0

  The value of # is set in # dots or lines at 200 dots or lines per inch.
  So, "# = 200" means 1 inch.

  Note that you can cannot specify a top/bottom margin combination that exceeds
  the total height of the page (as determined by Paper Size). Likewise, the
  left/right margins cannot exceed the paper width.
-------------------------------------------------------------

12) Cancelling a Print Job

You can cancel a print job that has started PRINTING by pressing
the On/Esc key. In some cases, you might need to press this key
more than once to assure that the "check for cancel" function
actually finds the "ESC key press event", since checking is not
always activated in between writes to the port.

Note that you can NOT cancel a print job while it is being "spooled".
You can only cancel it while the printer is actually printing.

-------------------------------------------------------------

13) Contact Pentax

If you have any questions about this software, please contact
Pentax Technical Support.

In USA or Canada:
(800)543-6144 x 1820
ptctech@pentaxtech.com

In Europe:
+32.2.306.1190
ptetech@pentaxtech.be

-------------------------------------------------------------

14) Revision History

------------------------------------------------------
***** What is new in Beta Ver1.1 Beta 1 (2/9/05) *****
------------------------------------------------------
* Added Port 'F'

-------------------------------------------
***** What is new in Beta 10 (12/10/02) *****
-------------------------------------------
*Added config file option to "KillCommandLine"
*This is needed for OVAL programs which do not allow a way
 to set the command line, yet still for some reason the DatCommandPtr
 has something invalid in it.
*modified WAPENTAX to check the config file BEFORE reading the command line,
 looking only for this new config value.
*If KillCommandLine is "true", then we zero out the command line and force
 the print file to be "TEST.TXT", i.e. the "default" file name.

NOTE: Of course, now the command line can NOT be used to override this setting.
So, to use a different program which requires setting a command line, then
the CONFIG file must be modified using PTXSETUP before another program is used.

-------------------------------------------
***** What is new in Beta 9 (12/9/02) *****
-------------------------------------------
*Added the real versions of the 8 CPI and 14 CPI fonts, for normal, bold, italic
*Renamed the 8 cpi/4 LPI font from Beta 8 to Cour8B4L.FNT (was Cour8B.fnt).
*Modified PTXSETUP to include the new fonts, renaming the 8CPI/4LPI font in the list.
*Modified PTXSETUP test page to use all the new fonts.

-------------------------------------------
***** What is new in Beta 8 (12/5/02) *****
-------------------------------------------
* Added ability to use 14 CPI Normal font and 8-CPI/4-LPI Bold font.
* The 8-CPI Bold font is really the PJII (300 dpi) 12 CPI font, which
of course is larger when printed on 200 dpi printer.
* As noted above, the "font switch" mechanism (ESC F #) must use the HEX
value for any font numbered at 10 or above. You cannot use the ASCII method
to specify # in this case because 2 # chars would be required, disturbing the
parsing.

*NOTE: The ZIP file currently uses the 16 CPI font for the 14 cpi font.
It can be used to test the layout, since it really does produce 14 cpi.
The character size is too small though. This will be fixed when the new
14 cpi font is completed.

-------------------------------------------
***** What is new in Beta 7 (11/6/02) *****
-------------------------------------------
*Added Port B, which apparently is similar to Port A. For Erik.

*Added some "hacks" for David Riley to disable the command line,
since for some reason OVAL programming does not allow a command line
to be set, and does not leave it clean. Currently, this requires
a "conditional compile", c.f. WAPENTAX.C. Currently, it is OFF.

* Irda is still enabled, so it is NOT a "stable" beta release for customers.

-------------------------------------------
***** What is new in Beta 6 (5/23/02) *****
-------------------------------------------
* Re-enabled Irda to send to Aegis for testing the Irda cable.
* Added new message to EmergencyExit to instruct Aegis to cycle
  power on the printer when it locks up, otherwise it seems to wait
  trying to CloseCom indefinitely.
** This version is NOT for general release until Irda problem is FIXED.

-------------------------------------------
***** What is new in Beta 5 (5/3/02) *****
-------------------------------------------
* Modified "p_notify" messages to fit in WA screen, ~28 chars max per string.

-------------------------------------------
***** What is new in Beta 4 *****
-------------------------------------------
* Added PTXSETUP program to allow changing PJ200.CFG directly
on the Workabout, to print a Test Page or a Selected Text File,
and to demonstrate programatically how to create a text file
and call the WAPENTAX driver to print it.

* Allow ASCII '0'-'8' for font switching in addition to HEX 0-8
in the ESC F # command.

* Set Version Info and display the versions in PTXSETUP's About box.

* Added FixHandshake to PJ200.CFG, Command Line, and PTXSETUP to
allow user choice of whether or not to use the "fix" for occasional
handshake problems with the 57600 baud cable. In many cases, the fix
is not needed, and it slows down printing considerably.

-------------------------------------------
***** What is new in Beta 3 *****
-------------------------------------------
* Added "ESC to Cancel" functionality. This works ONLY when sending
data to the port, NOT while spooling. Also, it required a more robust
method of "cleaning up" memory allocations, etc. So, the "EmergencyExit"
routine was created.

* Added ability to print WITHOUT spooling. Likewise, added
a "switch" to turn Spooling On/Off

* Discovered case where serial handshake error occurred while printing
"direct" but not while being spooled. Fixed this by doing "Flush" routine
more frequently, i.e. after each "write" to port buffer.
(Note: This "fix" was later made user-selectable....c.f. FixHandshake).

* Irda printing was attempted. All the "hooks" are still in place.
However, it does not seem to work very well, due to apparent
incompatibilities between the IRP Irda stack and our Irda cable.

-------------------------------------------
***** What is new in Beta 2 *****
-------------------------------------------

* Added "command line" ability
* Modified wSetBusyMsg to be smaller

-------------------------------------------
***** What is new in Beta 1 *****
-------------------------------------------
* Started with WAPENTAX program created by a 3rd party
* Totally rearranged code so it was usable
* Removed the front-end UI
* Allowed use of Port A (instead of only Port C)
* Allowed baud rate of 57600 in addition to 19200
* Added method to "font switch" (see more above)
* Fixed the "bit-shifting" algorithm to allow using every font.
* Added PJ200.CFG file to allow setting various options

Download Driver Pack

How To Update Drivers Manually

After your driver has been downloaded, follow these simple steps to install it.

  • Expand the archive file (if the download file is in zip or rar format).

  • If the expanded file has an .exe extension, double click it and follow the installation instructions.

  • Otherwise, open Device Manager by right-clicking the Start menu and selecting Device Manager.

  • Find the device and model you want to update in the device list.

  • Double-click on it to open the Properties dialog box.

  • From the Properties dialog box, select the Driver tab.

  • Click the Update Driver button, then follow the instructions.

Very important: You must reboot your system to ensure that any driver updates have taken effect.

For more help, visit our Driver Support section for step-by-step videos on how to install drivers for every file type.

server: web3, load: 1.19