
	  --------------   README File: BF50T/BF60       --------------
	  --------------   Revision Date: Oct. 31, 2000  --------------
				Technologic Systems
				phone:    480-837-5200
				Web site: http://www.embeddedx86.com/


Table of Contents
-----------------------------------------------------------------------
	1.0 Description 
		 1.1  BF-SETUP
	2.0 Operating Modes
		 2.1 Standard Spooling Mode, BF50T or BF60 Only
		 2.2 Standard Spooling Mode, BF60 Only
		 2.3 Data Logging Mode, BF60 Only
	3.0 Data Throttling Options
		 3.1 Hardware and Xon/Xoff throttling
		 3.2 Softcode Xon/Xoff
		 3.3 Data Logging ACK/NAK protocol
	4.0 Trouble Shooting
		 4.1 BF-SETUP troubleshooting
		 4.2 Serial Printer troubleshooting
	5.0 Softcode Description
		 5.1 Common Softcodes
	6.0 Future Software Updates

-----------------------------------------------------------------------
It is not necessay to install any software on your computer system,
although you may copy the diskette to a PC if you wish.  Both models
allow different baud rates on the input and output ports.  This is very
useful when interfacing different devices.

Please refer to the Installation & Operation Manual for instructions on
setting up your new buffer. 

*NOTE: Windows Millenium (Windows ME) users
We have found problems with using Windows ME with the BF-60. If you are
unable to connect the BF-60 to a com port, and after checking the connections
and cabling, we must boot into dos. The Bf-diskette is now a bootable floppy
that will boot you into a True DOS Operating System. Follow the Menu to choose
which com port to use or hit Q to quit the menu and drop into dos


-----------------------------------------------------------------------
1.0   Description

The model BF50 Turbo is a Serial-to-Serial buffer with up to
4 Megabytes of memory.  The memory is volatile, meaning that when
power is turned off or fails, all data remaining in the buffer is lost.
When power is reapplied to the buffer, the unit will be in an empty
state.  This product makes an excellent printer or plotter spooling
buffer.

The model BF60 is a serial-to-serial buffer with up to 32 megabytes of
non-volatile memory.  Data is not lost when power is turned off.
This can be very useful for the collection applications.  This model
can operate in one of two modes.  The first is standard spooling mode.
The second is a data logging mode.  The data logging mode is optimized
for record based data streams.  Data is stored as groups of characters
with a common termination character such as a carriage return.  It is
then possible to read out of the buffer a single record at a time or
records can also be resent again.  Each record can have a time stamp
attached or a record number or checksums can be added.  All of these
options can be configured via the BF-SETUP utility.

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

1.1 BF-SETUP
 
BF-SETUP is a DOS based utility that allows a simple user interface to 
set the many features available.  This may be as simple as just changing 
a baud rate.   It does require an IBM compatible PC to run the utility. 

It also requires a serial cable be connected between the PC COM port and 
the buffer port.  (See Section 4.1)

The set-up program is run by typing "A:BF-SETUP COMX" at a DOS prompt,  
where X is the serial port number connected to the buffer. For example,
	A:BF-SETUP COM1

Optional command line parameter "speed:n", where n is an integer, is used
to adjust the speed of the program. This option was added in later versions
for those who experienced a "divide by zero" failure when running BF-SETUP
on faster machines (such as a Pentium III 800 Mhz). 

See section 4.1 for further information. 

For other command line options, type "BF-SETUP /?"

Basic configuration settings such as serial parameters are available 
from the 'Basic Setup' menu.

Datalogging options and the buffer operating mode can be edited from the
'Advanced Setup' menu.

The 'Expert Setup' menu provides several useful options. The 'Get Model
Info' choice provides in-depth information about the buffer, including
current state of the output hardware and software flow control flags. The
'Record Dump' option provides a simple way to send sample data to the
buffer for use in configuring and testing the buffer.



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

2.0   Operating Modes

Each of these modes is accessible by running BF60 SETUP and configuring
the unit to your specific needs.  The unit will be configured for
Standard Spooling mode when you first receive it.  The unit can be
reconfigured at any time using BF60 SETUP and configuring the unit to
your specific needs.
-----------------------------------------------------------------------

2.1   Standard Spooling Mode - BF50T or BF60 Only

This is the most common usage mode.  Received data will be stored in
the buffer until the output device is capable of taking it.  This is
commonly used as a way to reduce the amount of time a PC takes to
send print/plot data.  

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

2.2   Standard Spooling Mode - BF60 Only

This is a variant of the Standard Spooling mode.  The only difference
being that when power is turned off, data still present in the buffer
will not be lost.  You can turn the unit back on and it will resume
the print process where it left off.  This mode is commonly used as
insurance against power failure.

Since turning off power no longer clears the buffer, you may RESET the
buffer by holding the pushbutton until the LEDs begin flickering red
very rapidly.  When you release the pushbutton, the unit will flush
all remaining data and reset itself.

There is also a Softcode that allows flushing the contents of the
buffer.  (See Softcode Section)

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

2.3   Data Logging Mode - BF60 Only

The Data Logging Mode may be set by using the BF-SETUP utility.
From the main menu select ADVANCED SETUP.   Then select 
CHANGE OPERATION MODE.  In addition to putting the buffer  
in Data Logging mode, the exact record format and other options
can be selected via the EDIT DATA LOGGING OPTIONS menu.

The Data Logging mode can be used for applications where "normal"
hardware or software flow control is being used.  In this case,
simply don't enable the ACK protocol.  For example this could be 
used if you want your data time stamped, but do not wish to use 
the ACK/NAK method of throttling the data.

This is a very specialized operating mode which has been developed to
make data collection easier.  It groups data into "records" which are
delineated by a common termination character (such as a LINE FEED or
a Carriage Return).  The data received will be stored in the non-volatile
memory in a record format.  This record format allows the data to be very
easily read one record at a time.   In addition,  error checking is
available and the record can be resent if an error is detected.

This mode is commonly used as a way to collect data from telephone
call systems (PBX) or from a remote piece of equipment.  Since the
buffer is very large and non-volatile, it is an ideal way to collect
and store several days or weeks worth of data generated at a remote site.
Records can be of any length up to 240 characters in length and any
ASCII character can be used as the termination character.  If the
number of characters received exceeds the maximum record length
(selectable) before the termination character is recieved,  a
termination character is inserted automatically.

A record can have a Time Stamp added to give an exact time and date
as to when the record was received.  Other optional fields can also
be added.   All fields are optional except for the actual data field.
A record is composed of one to seven fields as follows:

[STX][Record Length][Record #][Time Stamp][Data Block][ETX][Error Check]

STX -           If enabled, all records will start with a Start-of-Text
		character (Hex 02).

Record Length - This is a single byte containing the total record
		length in bytes including all seven fields.
		(Hex values 02 thru F6 are allowed)

Record #  -     This is a single ASCII character with a value of
		zero thru nine (Hex 30 thru Hex 39).  This field will
		start with a zero for the first record and increment
		thereafter with each additional record.  A zero follows
		a nine.   This record number is used in conjunction
		with the ACK character to provide a more secure 
		protocol of acknowledging the good receipt of records.

Time Stamp  -   The Time and Date stamp is composed of 12 ASCII
		numeric characters in the following format:
		YYMMDDhhmmss where:
		YY = year   (97 = 1997,     00 = 2000)
		MM = month  (01 = January,  12 = December)
		DD = day of month     (01 thru 31)
		hh = hour   (00 thru 23)   (23 = 11 PM)
		mm = minute (00 thru 59)
		ss = second (00 thru 59)

Data Block  -   This field is the actual data collected at the input
		of the buffer.   It must be a minimum of one character
		and a maximum of 240 characters.   The last character
		of the field will always be the termination character.
		
ETX -           This is a End-of-Text character (Hex 03).

Error Check  -  This field can be one of four selections as follows:
		Checksum - All bytes of the previous 6 fields are
				simply summed together and the least
				significant byte of the sum is appended.
		BCC      - A Binary Check Block is created by exclusive
				ORing together the previous 5 fields.
				Note the STX field is not included !
		CRC      - A 16 bit CRC is created by using a CRC-16
				algorithm on the bytes in the previous
				6 fields.  This appends a 2 byte CRC, with
				MS Byte first.
		OFF      - No error check field is appended.


Six of these fields (all except the data block) can be enabled or
disabled via the BF-SETUP program.   

Four other options must be selected on the DATA LOGGING OPTION screen
as follows:

	Termination Character - Any ASCII character may be chosen
				as the terminating character.
	ACK Required   -        If enabled, an ACK character (Hex 06) must
				be received on the OUTPUT port to
				acknowledge that the record just sent was
				indeed received correctly.   No more
				records will be sent until an ACK is
				received.   If the Record # field is
				enabled, both an ACK character and the
				record number must be received to allow
				a successful acknowledge of the record.
	ACK Time Out   -        If set to a nonzero value,  an ACK timeout
				is enabled.   If a successful acknowledge
				is not received before the timeout occurs,
				the record is sent again.
	Record Close Timeout -  If set to a nonzero value, a record close
				timeout is enabled.   This is used to append
				a termination character to the input data
				stream if there is a pause in the data
				greater than the timeout value.

See Section 3.3 for more on the ACK protocol.
	  (Data Flow Control using ACK/NAK protocol)

See Section 5.1 for related Softcodes that are useful in Data Logging
Mode.   In particular the following Softcodes are useful:
		
		- GETTIME^
		- SETTIME^
		- GETDLSTAT^
-----------------------------------------------------------------------

3.0 Data Throttling Options

Data Throttling OUTPUT port

There are several methods to throttle the data from the output port 
of the buffer.  These are as follows:
	DSR input          (Hardware)
	CTS input          (Hardware)
	Delayed DSR        (Variation of DSR)
	Xon/Xoff           (Software)
	Softcode Xon/Xoff  (Non-standard)
	ACK/NAK            (Data Logging mode only)

Data Throttling INPUT port

The serial INPUT port will drop the DTR line when the buffer is 
within 1 Kbyte of being full.  At the same time an XOFF character
is sent out the INPUT port.   After enough data is sent out the 
OUTPUT port to free up some buffer space, the DTR line is asserted
high and an XON character is sent out the INPUT port.

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

3.1 Hardware and Xon/Xoff throttling

The BF50T and BF60 are shipped Xon/Xoff enabled and DSR and CTS
disabled.  Xon /Xoff is sometimes called "software flow control".
If your printer/plotter does not support Xon/Xoff and is configured
for "hardware flow control", then either DSR or CTS must be enabled
via the BF-SETUP utility.

When using "hardware flow control", a wire in the serial cable must
connect either DSR or CTS to the hardware flow control line on the
printer/plotter.  For example, many printers use DTR (20 pin) for
hardware flow control.  Using a standard null-modem cable, this
would be connected to the DSR input on the buffer.  When the
printer deasserts DTR (to a negative voltage), it is telling the
buffer to stop sending data.  The DSR input would have to be enabled
(via BF-SETUP) for this to work properly.

The DSR and CTS inputs are biased false.  This is important to know
if your cable does not drive these inputs and they are enabled,
because then the buffer will never send any data since the DSR or CTS
input will appear deasserted.  This feature can be used to your
advantage in some cases.  If you want to collect data in the buffer
with no cable attached to the output port, simply enable the DSR input.

Data will not flow out of the buffer until a cable ia attached that
drives the DSR input true.  It is also possible to put a delay
(for example 2.3 seconds) after DSR is driven true before data is
sent out.  The delays are set via the BF-SETUP utililty.

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

3.2  Softcode Xon/Xoff

For some data collecting applications it is desireable to throttle the
data using softcodes instead of a simple Xon/Xoff character.   A softcode
is a string of characters instead of a single Xon/Xoff character.  This 
provides a higher level of security since a single character can no longer 
start the buffer sending data.  (See Section 5.0 for Softcode description)

This softcode will work by sending it to the Input or Output port !
So it is possible to throttle the Output from the Input port.

For example,  the string to set the output of the buffer to a "Xoff state" 
would consist of a total of 16 characters as follows:
		@$$$$$ BF--> XOFF^     (there are no embedded spaces)

This method of throttling the data is enabled via the BF-SETUP utility.
	Go to the "Advanced Setup" menu
	and then to the "Edit XON/XOFF Features"
					
Warning:  When this method is enabled, it powers up in the "Xoff state".
	  The Buffer will not pass data until a XON softcode is received.
	  A simple Xon character is insufficient.

There is a related softcode "OSTAT" that returns the status of the Output 
port. This can be very useful as it provides feedback and acknowledgement
that the Xoff or Xon softcode was received.   (See Section 5.0)

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

3.3 Data Logging ACK/NAK Protocol

In the Data Logging Mode,  all of the previous methods of data
throttling can still be used.  In addition,  an ACK/NAK protocol
may also be implemented.  The Data Logging Mode keeps all data grouped
together as records.  When using the ACK/NAK protocol,  after a record
of data is sent,  the buffer waits for either an ACK (Hex 06) or an
NAK (Hex 15).   If a NAK is received (Negative Acknowledgement), the
buffer resends the last record.   If an ACK is received,  the next
record is sent.  Data is not actually removed from the nonvolatile
buffer memory until an ACK is received.   So if the record is sent and
power fails before the ACK is received,  the record is still in the buffer.
Upon power returning,  the buffer will resend the last record.

If the Record Number option is enabled,  the buffer must not only
receive the ACK but also the record number.  If the ACK is followed
by the incorrect record number,  this is treated the same as a NAK and
the record is sent again.

Since the Data Logging Mode allows records to have Error Check Bytes
appended to the record,  the ACK/NAK protocol allows a very secure
method of retreiving data.

See Section 2.3   (Data Logging Mode)

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

4.1  Trouble shooting BF-SETUP

If you install the buffer and cannot get the BFSETUP utility to run
properly, it is almost always a cabling problem.  The cable from the 
COM port on the PC and the Buffer must be a "configured" or "null modem"
type of cable.   This simply means that The TXdata and RXdata lines must 
be crossed as shown in the following diagram.

		PC COM port (25 pin)                Buffer port (25 pin)

	 TX data  pin 2  ------------------  RX data  pin 3             
	 RX data  pin 3  ------------------  TX data  pin 2
	 Ground   pin 7  ------------------  Ground   pin 7


If you are using properly wired cables, have determined that they are
free of defects, and BF-Setup scans and fails to find the board, you may
need to boot into DOS and then execute the program. If this also fails, then
you may want to increase the speed factor. The command line parameter is 
"speed:n", where n is an integer roughly equilivant to your machine's Mhz. 
-----------------------------------------------------------------------

4.2 Troubleshooting serial printers

Garbled Data - After installing the buffer between a computer and printer, 
if you get garbled data on your printer, it is possible that the baud rate 
or data format is set incorrectly.  Another possibility is that the data 
throttling is not working.  This will typically cause missing or dropped
characters.  (See the Data Throttling Section 3.0)

Note: The computer and buffer input must have the same baud rate settings 
		and the buffer output and the printer must have the same settings.

No Data to Printer - If you get no data at all to the printer, check 
the color of the buffer LED indicator.  If it is blinking RED slowly, 
it means the output port thinks the printer is busy and will not send 
data.  This can happen when the CTS or DSR is enabled and the incorrect 
cable is being used.    (See Section 3.0 and See cable drawing below)
It could also happen if using Xon/Xoff and you have set the buffer to power 
up in the "Xoff State".  (Via the Advanced Set-up menu)
			 (This is not a normal serial printer protocol) 

If the LED is blinking green and no data gets to printer, the buffer is  
sending the data.  It could be an incorrect cable.  A "null modem" cable 
is usually required.    (See below)

The following is a typical cable for a serial printer.  Sometimes all 
of the lines shown are not required, but this configuration will almost 
always work.  

  Serial Printer port (25 pin)           Buffer Output port (25 pin)

	 TX data  pin 2  ------------------  RX data  pin 3             
	 RX data  pin 3  ------------------  TX data  pin 2
	 Ground   pin 7  ------------------  Ground   pin 7
	 DTR*     pin 20 ------------------  DSR      pin 6
	 DSR      pin 6  ------------------  DTR      pin 20
	 CTS      pin 5  ------------------  RTS      pin 4 

	*This cable assumes that DTR is the hardware handshake line for data 
	 throttling.  A few older TI printers (maybe others) use pin 11 or 19
	 instead.   See your printer manual if using hardware flow control.

----------------------------------------------------------------------- 
5.0   Softcode Description
			 
Softcodes are a special string of characters that command the buffer to
do a unique function.  Softcodes are recognized by the buffer and are 
never passed through, they are in effect swallowed.   Softcodes can be 
sent to the Input or Output ports.  There is a five second default timeout.
If the entire softcode is not received within the 5 seconds, it is assumed 
to be normal data and is passed into buffer memory.   The 5 second default 
timeout can be changed by editing location (Hex D6) in nonvolatile memory.
A value of decimal 100 provides a 5 second timeout.  (units = 1/20 second)

All softcodes consist of a common preamble, a command, and a terminator.
The preamble is always 11 characters as follows:  
		@$$$$$ BF-->           (there is no space in the middle)
The command portion is always upper case and is up to 10 characters long.
The terminator is always  ^.

For example,  the string to Reset the buffer to a power up state 
would consist of a total of 17 characters as follows:
		@$$$$$ BF--> RESET^     (there are no embedded spaces)

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

5.1   Common Softcodes

RESET^     Return buffer to power up state except elapsed time 
		variable is not zeroed.

FLUSH^     Empty forward buffer

WIREON^    Forces new data from Input port to bypass buffer memory
		and is sent directly to the Output port.  Any data in 
		forward buffer is not affected.  This allows the bypassing 
		of data in memory.   This mode remains in effect until a
		"WIREOFF" softcode is received or until a 10 second pause  
		occurs in the input data stream.
		There is a temporary 128 byte forward buffer used for this 
		mode.   So if different Input/Ouput baud rates are used,
		this 128 buffer may overflow for large data packets.

WIREOFF^   Removes buffer from "WIREON" mode.   Returns buffer to normal.

OSTAT^     After receiving this softcode the buffer will send a 7 character
		response to the same port (Input or Output) it received the
		softcode from.  
		The response is as follows:
		  READY<LF><CR>  Output port is not busy.  (ready to send)
		  BUSYE<LF><CR>  Output port is marked busy and buffer is empty.
		  BUSYD<LF><CR>  Output port is marked busy and buffer has data
				 pending.

XON^       Softcode Xon.    (See Section 3.2)

XOFF^      Softcode Xoff.   (See Section 3.2)

GETTIME^   Returns 13 ASCII characters as follows: YYMMDDhhmmss^
		See Section 2.3 for format of Time and Date.   (BF60 only)

SETTIME:YYMMDDhhmmss^     Updates Real-Time Clock  (BF60 only)

GETDLSTAT^ Returns number of records and amount of free memory in
		the buffer.   (Data Logging Mode only)  Format of the
		response is as follows: xxxxxxxx:yyyyyyyy^
			 xxxxxxxx - 8 decimal digits = number of pending records
			 yyyyyyyy - 8 decimal digits = free memory in KB

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

6.0   Future Software Updates

You may request updates of our software utilities by phoning us at
480-837-5200.  
We also have a web page at http://www.t-systems.com/

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

7.1   Revisions

* 10.30.00 Added line in Section 1 about obtaining paramter option help
* 10.30.00 Area code for phone number updated
* 10.31.00 Added info about speed: parameter option in ver 6.41
* 10.31.00 Section 4.1 updated; booting into dos and speed option paragraph
* 02.13.01 Updated introduction section mentioning Windows ME conflicting
		with the BF-60 product
* 02.13.01 Mentioned that the BF-60 is now a DOS boot disk 

END OF FILE
