Main Page | Data Structures | File List | Data Fields | Globals

barcode - a simple barcode reader agent application

Version 1.1

Author:
R. Pogge, OSU Astronomy Dept. (pogge@astronomy.ohio-state.edu)
Date:
2004 May 24

Usage

Usage: barcode [rcfile]

Where: rcfile is an optional runtime config file to load.

By default, barcode uses the runtime config file defined by DEFAULT_RCFILE in the client.h header.

Introduction

Testbed for the Microscan MS-3 CCD barcode reader, implemented as an ISIS client application. Will eventually form the basis of the barcode reader API for instruments that incorporate on-board barcode scanners.

The application connects to a barcode scanner via a serial port (either a direct connection on the host computer or via a network serial port, in our case a Comtrol DeviceMaster RTS). Provides simple low-level commands for reading barcodes and controlling the reader.

barcode can be run as either a standalone interactive program with a command-line interface and backdoor socket interface, or as a client in an ISIS system.

Commands

These are the interactive commands for barcode:
  High-Level User Commands:
     status      - barcode reader client status
     read        - read barcode label in scanner beam
  Engineering Commands:
     send cmd    - send raw barcode reader command
     query cmd   - send raw barcode reader query
     timeout s   - set/query comm timeout in seconds
     ports       - show barcode reader comm port info
  Client Commands:
     info        - report client information
     version     - report fwheel version & compile info
     reset       - reset runtime & controller parameters
     verbose     - toggle verbose output mode
     debug       - toggle debugging output
     quit        - quit fwheel
     history     - show command history
     !!          - repeat last command
     !cmd        - repeat last command matching 'cmd'
     help or ?   - view the help list
  
Note that commands are case-insensitive, while command arguments retain the typed case. Note also that Microscan barcode reader raw commands are case-sensitive.

Runtime Configuration File

This is a typical runtime config file for the barcode agent:

# # barcode runtime config file # # This is for the MODS Microscan MS-3 CCD barcode reader # # R. Pogge, OSU Astronomy Dept. # pogge@astronomy.ohio-state.edu # 2004 May 24 # ################################################################ # barcode's ISIS client info (Host=localhost is implicit) ID BC Port 10601 # Application Mode: either STANDALONE or ISISclient #Mode Standalone Mode ISISclient # ISIS Server Info - only releveant if Mode=ISISclient ISISID None ISISHost darkstar ISISPort 6600 # Barcode Reader parameters (reader port, comm timeout, parameter name) READER 172.16.1.56:8004 TIMEOUT 5 NAME MaskID # barcode client application runtime flags VERBOSE #nolog #debug

Relevant parameters are:

  Client Paramaters:
     ID       - ISIS node name of this application
     Port     - Port number to use on localhost for socket I/O
     Mode     - Client mode, Standalone or ISISclient
     ISISID   - name of an ISIS server (None if running Standalone)
     ISISHost - hostname where the ISIS server is running
     ISISPort - port number of the ISIS server on ISISHost
     VERBOSE  - enable verbose runtime info
     DEBUG    - enable super-verbose engineering debug info

  Barcode Reader Parameters:
     READER   - comm port with the barcode reader 
                (/dev/ttyxx for direct serial, or
                 IP:port for network serial ports)
     TIMEOUT  - comm timeout interval in seconds
     NAME     - parameter name for the barcode label
  
Note that all parameter names are case-insensitive.

Barcode Scanner Configuration

The firmware configuration of the barcode scanner should be as follows, roughly in this sequence
<Zrd> Recover factory defaults <K470,1> Enable Code 39 symbology decoding [default] <K474,1> Enable Code 128/EAN symbology decoding <K140,0> Enable serial point-to-point operation <K200,4> Enable serial trigger mode <K201,X> Serial trigger character is X (ASCII 88) <K220,0,2> No-Decode Timeout interval is 2 seconds [default] <K141,0> Disable read text preamble <K142,1,^M> Read text postamble is Ctrl+M=\r=ASCII 13 <K714,1,NOREAD> Send "NOREAD" on decode timeout [default] <Z> Save these settings for powerup.
Defaults refer to factory default values. We assert these anyway just to be explicit. Scanner firmware configuration is most easily accomplished using the ESP software for provided by Microscan with a Windows PC.

Notes

This application uses the ISISclient library (link).

Code to operate the MS-3 CCD barcode reader referenced the Microscan MS-3 CCD Scanner User's Manual, Copyright 2003, Microscan Systems, Inc.

Modification History

  2004 May 25 - completed adding all new Doxygen tags to comments [rwp/osu]
  

Generated on Thu Jul 22 20:10:48 2004 for Barcode Reader Agent by doxygen 1.3.7