PCMCIA interface card for coupling input devices such as barcode scanning engines to personal digital assistants and palmtop computers
First Claim
1. An interface on a PCMCIA defined PC Card between an input device that can scan a barcode and a host device with a PCMCIA slot such as a personal digital assistant, palmtop computer or other computing device, comprising:
- an input port on said PC Card for coupling to an input device that can scan barcodes having light and dark spaces;
memory means for storing data;
means for sampling logic signals from said input device, said logic signals appearing at said input port and for storing in said memory means an "image" of said barcode recording at least the relative spacing between the transitions between said dark and light spaces in a barcode scanned by said input device;
means for accessing said image data in said memory means and decoding therefrom alphanumeric characters encoded in said barcode;
means for temporarily storing in said memory means said decoded alphanumeric characters along with pointer data and length data indicating, respectively, the location in said memory means of said alphanumeric characters and the number of addresses in said memory means that must be read to retrieve all said alphanumeric characters;
means for cutting off power to said barcode scanning mechanism in said input device after a successful decoding operation;
means for notifying said host device of the existence in said memory means of said alphanumeric characters and passing to said host device said pointer and length information, and for providing access to said alphanumeric characters to said host device when requested by said host device.
12 Assignments
0 Petitions
Accused Products
Abstract
There is disclosed a variety of PC Card interfaces to interface from many different types of input devices to Personal Digital Assistants or palmtop computers through PCMCIA slots.
The disclosed interfaces can receive data in undecoded format from laser based, wand based or CCD based barcode scanning engines, decode the data to alphanumeric characters and pass the decoded data to the PDA via the PCMCIA 68 pin bus. Other PC Card based interfaces are also disclosed which can accept input data in the form of ASCII or EBCDIC characters from virtually any type of input device which a standard serial or parallel output or custom output bus and input that data to the PDA through the PCMCIA bus.
103 Citations
46 Claims
-
1. An interface on a PCMCIA defined PC Card between an input device that can scan a barcode and a host device with a PCMCIA slot such as a personal digital assistant, palmtop computer or other computing device, comprising:
-
an input port on said PC Card for coupling to an input device that can scan barcodes having light and dark spaces; memory means for storing data; means for sampling logic signals from said input device, said logic signals appearing at said input port and for storing in said memory means an "image" of said barcode recording at least the relative spacing between the transitions between said dark and light spaces in a barcode scanned by said input device; means for accessing said image data in said memory means and decoding therefrom alphanumeric characters encoded in said barcode; means for temporarily storing in said memory means said decoded alphanumeric characters along with pointer data and length data indicating, respectively, the location in said memory means of said alphanumeric characters and the number of addresses in said memory means that must be read to retrieve all said alphanumeric characters; means for cutting off power to said barcode scanning mechanism in said input device after a successful decoding operation; means for notifying said host device of the existence in said memory means of said alphanumeric characters and passing to said host device said pointer and length information, and for providing access to said alphanumeric characters to said host device when requested by said host device.
-
-
2. An interface circuit for interfacing an input device such as a barcode reading device to a host computer such as a palmtop computer, personal digital assistant, desktop computer or other host having a PCMCIA slot having a PCMCIA bus connector and programmed by PCMCIA driver software to perform input/output transactions with said interface circuit through said PCMCIA slot and said PCMCIA bus connector, comprising:
-
a PC card having integrated thereon a PCMCIA interface circuit having a PCMCIA bus and PCMCIA bus connector and having integrated thereon or attached thereto a housing for a barcode scanning device; a barcode scanning device for scanning a barcode comprising a laser, scanning optics, a photodetector, and a comparator coupled to receive the analog output of said photodetector and convert said analog output to an undecoded HHLC signal, said laser, scanning optics, photodetector and comparator coupled in conventional manner to each other and mechanically supported by said housing; and wherein said PCMCIA interface circuit comprises; a memory for storing digital data; decoding circuitry coupled to said comparator of said barcode scanning device and to said PCMCIA bus connector of said PC card, for receiving the undecoded HHLC signal from said comparator, said HHLC pattern defining a pattern of a barcode, and for decoding said HHLC signal to generate a plurality of alphanumeric characters from a code set used by said host computer, and for generating a data ready signal indicating decoded characters are ready for retrieval by said host computer and communicating said data ready signal to said host computer; a switch controlled by said decoding circuitry for cutting off power to said barcode scanning device after a successful decoding operation; input/output circuitry coupled to said decoding circuitry for transferring said alphanumeric characters to said host computer through said PCMCIA bus connector of said PC card and the mating PCMCIA bus connector of said host computer. - View Dependent Claims (3, 4, 5)
-
-
6. An interface circuit for interfacing an input device such as a barcode reading device to a host computer such as a palmtop computer, personal digital assistant, desktop computer or other host having a PCMCIA slot having a PCMCIA bus connector and programmed by PCMCIA driver software to perform input/output transactions with said interface circuit through said PCMCIA slot and said PCMCIA bus connector, comprising:
-
a PC card having integrated thereon a PCMCIA interface circuit having a PCMCIA bus and PCMCIA bus connector and having integrated thereon or attached thereto a housing for a barcode scanning device; a barcode scanning device for scanning a barcode comprising a laser, scanning optics, a photodetector, and a comparator coupled to receive the analog output of said photodetector and convert said analog output to an undecoded HHLC signal, said laser, scanning optics, photodetector and comparator coupled in conventional manner to each other and mechanically supported by said housing; and wherein said PCMCIA interface circuit comprises; a memory for storing digital data including PC Card Information Structure data that defines the formatting and organization of data stored on said PC card, and including Configuration Option data, and Card Configuration and Status data; decoding circuitry coupled to said comparator of said barcode scanning device and to said PCMCIA bus connector of said PC card, for receiving the undecoded HHLC signal from said comparator, said HHLC pattern defining a pattern of a barcode, and for decoding said HHLC signal to generate a plurality of alphanumeric characters from a code set used by said host computer, and for generating a data ready signal indicating decoded characters are ready for retrieval by said host computer and communicating said data ready signal to said host computer; input/output circuitry coupled to said decoding circuitry for transferring said alphanumeric characters to said host computer through said PCMCIA bus connector of said PC card and the mating PCMCIA bus connector of said host computer; and wherein said memory comprises; random access memory and one or more registers mounted on said PC card, said registers for storing configuration data such as said PC Card Information Structure data that defines the formatting and organization of data stored on said PC card, said Configuration Option data, and said Card Configuration and Status data, and said random access memory for storing said decoded alphanumeric characters generated by said decoder, the addresses of said random access memory being mapped into a Common Memory Address Space of said PCMCIA driver software of said host and said registers being mapped into an Attribute Memory Space of said PCMCIA driver software; and nonvolatile memory mounted on said PC card for storing program instructions; and wherein said PCMCIA interface circuit further comprises; a buffer amplifier coupled to said comparator of said barcode scanning device, to receive said HHLC signal and do any necessary voltage level conversions to make the HHLC signal compatible for sampling by said PCMCIA interface circuit; a microprocessor having an input port coupled to said buffer amplifier, and having shared address, control and data buses coupled to said random access memory and said nonvolatile memory, and coupled to said PCMCIA bus connector, said microprocessor programmed to sample said HHLC signal output by said buffer amplifier so as to generate a plurality of digital samples and store said samples, or a compressed version thereof, in said random access memory as data defining the light and dark pattern of said barcode scanned by said barcode scanning device, and said microprocessor also programmed to decode said data stored in said random access memory defining said pattern of said barcode into one or more of said printable and unprintable decoded characters, and said microprocessor also programmed to generate said data ready signal for communication to said host through said PCMCIA bus indicating that one or more decoded characters are ready to be input to said host through said PCMCIA bus; and wherein said PCMCIA driver software is stored in a memory of said host or in said random access memory or nonvolatile memory on said PC card, and is configured to control said host to determine the status said data ready signal from said microprocessor indicating when decoded data from the barcode scanning operation is ready for input through said PCMCIA bus and to control said host so as to perform an input/output operation to read into said host the decoded character via said PCMCIA bus and said shared address, control and data buses, and wherein said PCMCIA driver software is also configured to control said host to store said retrieved decoded character(s) data in a memory. - View Dependent Claims (7)
-
-
8. An interface circuit for interfacing an input device such as a barcode reading device to a host computer such as a palmtop computer, personal digital assistant, desktop computer or other host having a PCMCIA slot having a PCMCIA bus connector and programmed by PCMCIA driver software to perform input/output transactions with said interface circuit through said PCMCIA slot and said PCMCIA bus connector, comprising:
-
a PC card having integrated thereon a PCMCIA interface circuit having a PCMCIA bus and PCMCIA bus connector and having integrated thereon or attached thereto a housing for a barcode scanning device; a barcode scanning device for scanning a barcode comprising a laser, scanning optics, a photodetector, and a comparator coupled to receive the analog output of said photodetector and convert said analog output to an undecoded HHLC signal, said laser, scanning optics, photodetector and comparator coupled in conventional manner to each other and mechanically supported by said housing; and wherein said PCMCIA interface circuit comprises; a memory for storing digital data including PC Card Information Structure data that defines the formatting and organization of data stored on said PC card, and including Configuration Option data, and Card Configuration and Status data; decoding circuitry coupled to said comparator of said barcode scanning device and to said PCMCIA bus connector of said PC card, for receiving the undecoded HHLC signal from said comparator, said HHLC pattern defining a pattern of a barcode, and for decoding said HHLC signal to generate a plurality of alphanumeric characters from a code set used by said host computer, and for generating a data ready signal indicating decoded characters are ready for retrieval by said host computer and communicating said data ready signal to said host computer; input/output circuitry coupled to said decoding circuitry for transferring said alphanumeric characters to said host computer through said PCMCIA bus connector of said PC card and the mating PCMCIA bus connector of said host computer; and wherein said decoding circuitry includes a microprocessor coupled to receive said undecoded HHLC signal from said barcode scanning device, processing of said microprocessor being controlled by a control program, said control program comprising; first means for controlling said microprocessor to sample said undecoded HHLC signal and store digital sample data in a memory, said sample data encoding the spatial relationships between transitions between light and dark areas in said barcode; second means for controlling said microprocessor to retrieve said sample data stored by said first means and decode said sample data to derive said one or more alphanumeric characters encoded therein and generating a successful decode signal; and third means for controlling said microprocessor to determine when a successful decoding operation has been carried out by said second means as indicated by the presence of said successful decode signal and to generate said data ready signal and communicate said data ready signal to said host computer to indicate alphanumeric characters are available for retrieval and use by said host computer; and further comprising means coupled to said first means to determine when undecoded HHLC signals are being received from said barcode scanning device and to control said microprocessor to seize control of said PCMCIA bus on said PC Card so said host computer cannot have access to said PCMCIA bus, and further comprising data flush means coupled to said first means for controlling said microprocessor to determine the amount of digital sample data stored by said first means, and wherein said second means comprises; signalling means coupled to said third means for controlling said microprocessor to drive an indicator mechanism to create a first humanly perceptible signal when a successful decoding process has been carried out; autodiscrimination means coupled to said signalling means for controlling said microprocessor to examine start and stop characters encoded in said sample data stored by said first means to determine what type of barcode was scanned, and for vectoring processing by said microprocessor to a decode routine in said second means which is appropriate to the type of barcode scanned as indicated by said start and stop characters, and, if said start and stop characters indicate the type of barcode scanned is not recognized or there is no appropriate decode routine, for causing said data flush means to remove said sample data; direction determination means for controlling said microprocessor to determine the direction of scan by examining said start and stop characters and for controlling said microprocessor to reverse the order of any alphanumeric characters decoded from said sample data if said barcode was scanned in the reverse direction; run length calculation means for controlling said microprocessor to examine said sample data and determine the ratios of run lengths of logic 1'"'"'s to logic 0'"'"'s, and if the ratios cannot be calculated or are not within acceptable limits for the type of barcode scanned, for causing said data flush means to remove said sample data; decoding means for controlling said microprocessor to examine the run lengths determined by said run length calculation means and decode the ratios using an algorithm appropriate for the type of barcode scanned to derive one or more alphanumeric characters encoded therein and to cause said third means to generate said data ready signal if one or more alphanumeric characters was successfully decoded by said second means, and, if the decoding process is unsuccessful, for causing said data flush means to remove said sample data. - View Dependent Claims (9)
-
-
10. An interface circuit for interfacing an input device such as a barcode reading device etc. to a palmtop computer, personal digital assistant, desktop computer or other host computer having a PCMCIA slot having a PCMCIA bus connector and programmed by PCMCIA driver software to perform input/output transactions with said interface circuit through said PCMCIA slot and said PCMCIA bus connector, hereafter called the host, comprising:
-
a PC card having integrated thereon a PCMCIA interface circuit having a PCMCIA bus and PCMCIA bus connector and having integrated thereon or attached thereto a housing for a barcode scanning device; a barcode scanning means for scanning barcodes and outputting an undecoded HHLC or wand signal defining the pattern of light and dark areas of a barcode sensed by said barcode scanning means; and wherein said PCMCIA interface circuit comprises; a decoder circuit coupled to said barcode scanning means and to said PCMCIA bus connector, for receiving the undecoded HHLC or wand signal from said barcode scanning means defining a pattern of a barcode, and for decoding said pattern data into various printable and/or unprintable characters from a code set used by said host, and for automatically providing access to said characters decoded from said barcode to said host computer after notifying said host computer of a successful decoding operation and for automatically shutting off power to said barcode scanning means after a successful decoding operation. - View Dependent Claims (11)
-
-
12. An apparatus comprising:
-
a PC Card having a port for receiving undecoded barcode data from a barcode reading device and having a PCMCIA bus and PCMCIA connector coupled to said bus, said PC Card, PCMCIA bus and PCMCIA connector being electrically and mechanically in conformity with either a PCMCIA Type II or Type III standard as that standard existed at the time this patent application was filed, said PC Card including circuitry for sampling said undecoded signal from said barcode scanning device and storing digital pattern data representing at least the spatial relationships between the transitions in the light and dark patterns of said barcode in a memory on said PC Card and for generating a signal indicating when said digital data has been stored; a computer having an interface including a PCMCIA slot having a PCMCIA bus connector therein which can mate with said PCMCIA connector on said PC Card, said interface for making physical and electrical connection to said PCMCIA connector and PCMCIA bus of said PC Card, said physical and electrical connection to said PC Card in accordance with with the PCMCIA Type II or Type III standard as said Type II or Type III standard existed at the time this patent application was filed, said computer having a microprocessor processing of which is controlled by a control program, said control program for receiving said signal from said PC Card that said digital pattern data recording the transitions in the light and dark patterns of said barcode is ready for decoding and is stored on said PC Card and for retrieving said digital pattern data and decoding said digital pattern data to derive one or more alphanumeric characters encoded therein; and wherein said PC Card is structured to provide access by said computer to a second expansion memory on said PC Card while the processes of receiving and decoding of said digital pattern data is occurring, said memory serving as expansion memory for storing data and/or program instructions needed by said computer.
-
-
13. An apparatus comprising:
-
a PC Card having a port for receiving undecoded barcode data and having a PCMCIA bus and PCMCIA connector coupled to said bus, said PC Card, PCMCIA bus and PCMCIA connector being electrically and mechanically in conformity with either a PCMCIA Type II or Type III standard as that standard existed at the time this patent application was filed, said PC Card including circuitry for sampling said undecoded signal from said port and storing digital pattern data representing the spatial relationships between the transitions between light and dark areas in said barcode and for generating a signal indicating when said digital pattern data has been stored, and having a housing physically attached to said PC Card and big enough to enclose a barcode scanning device; a barcode scanning device supported by said housing and coupled to said port of said PC Card, for scanning barcodes and generating said undecoded signal and transmitting said signal to said port; a computer having an interface including a PCMCIA slot having a PCMCIA bus connector therein which can mate with said PCMCIA connector on said PC Card, said interface for making physical and electrical connection to said PCMCIA connector and PCMCIA bus of said PC Card, said physical and electrical connection to said PC Card in accordance with the PCMCIA Type II or Type III standard as said standard existed at the time this patent application was filed, said computer having a microprocessor processing of which is controlled by a control program, said control program for receiving said signal from said PC Card that said pattern data has been stored on said PC Card and for retrieving said data and decoding said data to derive one or more alphanumeric characters encoded therein; and wherein said PC Card has a switch controlled by said control program which is coupled so as to cut off power to said barcode scanning device when a shutdown signal is received from said computer, and wherein said control program includes instructions to cause said computer to generate said shutdown signal and transmit it to said switch when said control program has successfully decoded said digital pattern data.
-
-
14. An apparatus comprising:
-
a PC Card means having a port for receiving undecoded barcode data from a barcode reading device and having a PCMCIA bus and PCMCIA connector coupled to said bus, said PC Card, PCMCIA bus and PCMCIA connector being electrically and mechanically in conformity with either a PCMCIA Type II or Type III standard as that standard existed at the time this patent application was filed, said PC Card means for sampling said undecoded signal from said barcode scanning device and storing digital pattern data representing the spatial relationships between the transitions in said barcode and for generating a signal indicating when digital pattern data has been stored; computer means having an interface including a PCMCIA slot having a PCMCIA bus connector therein which can mate with said PCMCIA connector on said PC Card means, said interface for making physical and electrical connection to said PCMCIA connector and PCMCIA bus of said PC Card, said physical and electrical connection to said PC Card in accordance with either the PCMCIA Type II or Type III standard as it existed at the time this patent application was filed, said computer means having a microprocessor processing of which is controlled by a control program means, said control program means for receiving said signal from said PC Card indicating that said digital pattern data is ready for decoding and is stored on said PC Card and for retrieving said digital pattern data and decoding said digital pattern data to derive one or more alphanumeric characters encoded therein.
-
-
15. A PC card interface to couple an input device to a host computer such as a palmtop or personal digital assistant, comprising:
-
an input device port for coupling to an input device; a first random access memory having address and data ports and a chip select input; a nonvolatile memory having address and data ports and a chip select input; a second random access memory having address and data ports and a chip select input; a bus multiplexer having first and second address input ports, and having first and second data input ports, and having first and second chip select input ports, and having a shared address output port, and having a shared data output port, and having shared chip select outputs, and having a selection control input for receiving a signal controlling whether said first or second data input ports are coupled to said shared data output port and controlling whether said first or second address input port is coupled to said shared address port, and controlling whether said first or second chip select input port is coupled to said shared chip select output port; a shared address bus coupling said address port of said second random access memory to said shared address output port of said bus multiplexer; a shared data bus coupling said data port of said second random access memory to said shared data port of said bus multiplexer; a chip select signal bus coupling said shared chip select output port of said bus multiplexer to said chip select input port of said second random access memory; a PCMCIA connector coupled to a handshaking bus including a ready/busy signal line coupled to supply said ready/busy signal as said selection control signal to said selection control input of said bus multiplexer, and coupled by a first data bus to said first data input ports of said bus multiplexer, and coupled by a first address bus to said first address input ports of said bus multiplexer; a programmed microprocessor having an address port coupled via a second address bus to said address ports of said first random access memory and said nonvolatile memory and to said second address input ports of said bus multiplexer, and having a data port coupled via a second data bus to said data ports of said first random access memory and said nonvolatile memory and to said second data input ports of said bus multiplexer, and having a control port coupled to a control bus, and having a parallel data port at least one line of which is coupled to receive data from said input device port and one or more lines of said parallel port being coupled to said handshake bus coupled to said PCMCIA connector, and having a port coupled to said ready/busy signal line of said handshaking bus, said microprocessor programmed to receive undecoded data from any input device coupled to said input device port, decode the data into one or more alphanumeric characters and store said one or more alphanumeric characters in said first random access memory via said second address and data buses, and when storage of said alphanumeric characters in said first random access memory is complete, and programmed to read said one or more alphanumeric characters from said first random access memory, and programmed to assert said ready/busy signal so as to cause said bus multiplexer to couple said second address bus to said shared address bus and to couple said second data bus to said shared data bus, and programmed to write said one or more alphanumeric characters into said second random access memory, and programmed to generate a signal which notifies said host computer that one or more decoded alphanumeric characters have been stored in said second random access memory for use by said host computer; a first address decode circuit having a control input coupled to said control port of said microprocessor via said control bus, and having an address input coupled to said second address bus and having individual chip select output ports coupled by individual first chip select lines to said chip select inputs of said first random access memory and said nonvolatile memory, and to said first chip select input port of said bus multiplexer; and a second address decode circuit having a control input coupled to said handshaking bus coupled to said PCMCIA connector and having an address input coupled to said first address bus coupled to said PCMCIA connector, and having a one or more chip select output ports coupled by one or more second chip select output lines to said second chip select input port of said bus multiplexer; and wherein when said programmed microprocess asserts said ready/busy signal, said bus multiplexer connects its first chip select port and a chip select signal from said first address decode circuit to said chip select input of said second random access memory.
-
-
16. An interface circuit on a PC Card for interfacing an input device such as a barcode scanning device, magnetic stripe reader etc. to a host computer such as a palmtop computer or personal digital assistant via a PCMCIA connector in a PCMCIA slot in said host computer, comprising:
a PC Card having a PCMCIA connector for coupling to said PCMCIA connector in said PCMCIA slot in said host computer and having a PCMCIA bus couple to said PCMCIA connector on said PC Card, said PC Card conforming electrically and mechanically to either the PCMCIA Type II or Type III standard as it existed at the time this patent application was filed, said PC Card further comprising; first means for receiving undecoded or decoded data from an input device capable of reading a barcode, magnetic stripe or other machine readable indicia, said undecoded or decoded data being formatted in either serial or parallel data format; memory means for storing data; means coupled to said first means for receiving undecoded data from said input device and decoding said undecoded data into alphanumeric characters according to a decoding process suitable for the type of undecoded data received and for storing the decoded alphanumeric data in said memory means, and, in the case where said data received from said input device has already been decoded, for receiving the decoded alphanumeric data from said input device and storing said decoded alphanumeric data in said memory means, and, after storing said alphanumeric data in said memory means generating a signal or data that will be detected by said host computer indicating that alphanumeric data is waiting in said memory means for use by said host computer; input/output means including said PCMCIA bus and said PCMCIA connector on said PC Card for connecting said microprocessor means and said memory means to said host computer via said PCMCIA slot, and for cooperating with said microprocessor means and said host computer to allow said host computer to learn from data generated by said microprocessor means that alphanumeric data is waiting in said memory means and allow said host computer to access said memory means and read said alphanumeric data stored therein.
-
17. A process for decoding undecoded output data from a barcode scanning device into characters in a code set used by a host computer, and inputting said characters into host computer through a PCMCIA slot, comprising the steps of:
-
receiving on a PC card that fits into the PCMCIA slot of said host computer undecoded data from a barcode scanning input device which processes a barcode; decoding on said PC card characters in a code set used by said host computer from said undecoded data received from said barcode scanning device and storing said decoded characters in a memory on said PC Card; computing a checksum from said decoded characters and comparing said checksum to a checksum encoded into said barcode; and transferring said decoded characters to said host computer through an electrical connection to said PC card made through said PCMCIA slot. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
-
-
29. A process for decoding undecoded output data from a barcode scanning device into alphanumeric characters and inputting said alphanumeric characters into a host computer through a PCMCIA slot, comprising the steps of:
-
receiving undecoded data from a barcode scanning input device which processes a barcode; decoding alphanumeric characters from said undecoded data and storing the alphanumeric characters in a memory on a PC Card; transferring said alphanumeric characters to said host computer through an electrical connection to said PC card made through said PCMCIA slot; and wherein said step of receiving undecoded data comprises the steps of; energizing said barcode scanning input device upon receipt of a signal; checking an input port coupled to said barcode scanning input device to determine if electrical transitions are occurring on said input port, and, if so, for sampling said input port and storing in memory a sequence of logic 1'"'"'s and 0'"'"'s that define the spacing between transitions between light and dark areas of a scanned barcode; and computing the ratios of run lengths of at least some of the runs of logic 1'"'"'s and logic 0'"'"'s and wherein said step of decoding alphanumeric character from said undecoded input data comprises the steps of; examining said ratios of run lengths to locate start and stop characters; determining from said start and stop characters which type of barcode was scanned; determining the direction in which said barcode was scanned by determining whether said start or said stop character was received first; and using a code set appropriate to the barcode scanned to decode said run lengths into alphanumeric data, said code set comprised of predetermined unique combinations of run lengths that map to particular alphanumeric characters; and further comprising the steps of;
computing a checksum on the alphanumeric characters decoded from said undecoded data and comparing said checksum to a checksum encoded in said barcode to determine if said barcode was properly decoded.
-
-
30. A process for decoding undecoded output data from a barcode scanning device into alphanumeric characters and inputting said alphanumeric characters into a host computer through a PCMCIA slot, comprising the steps of:
-
receiving undecoded data from a barcode scanning input device which processes a barcode; decoding alphanumeric characters from said undecoded data and storing the alphanumeric characters in a memory on a PC Card; transferring said alphanumeric characters to said host computer through an electrical connection to said PC card made through said PCMCIA slot; and wherein said step of receiving undecoded data comprises the steps of; energizing said barcode scanning input device upon receipt of a signal; checking an input port coupled to said barcode scanning input device to determine if electrical transitions are occurring on said input port, and, if so, for sampling said input port and storing in memory a sequence of logic 1'"'"'s and 0'"'"'s that define the spacing between transitions between light and dark areas of a scanned barcode; and computing the ratios of run lengths of at least some of the runs of logic 1'"'"'s and logic 0'"'"'s; and wherein said step of decoding alphanumeric characters from said undecoded input data comprises the steps of; examining said ratios of run lengths to locate start and stop characters; determining from said start and stop characters which type of barcode was scanned; determining the direction in which said barcode was scanned by determining whether said start or said stop character was received first; and using a code set appropriate to the barcode scanned to decode said ratios of run lengths into alphanumeric data, said code set comprised of predetermined unique combinations of run lengths that map to particular alphanumeric characters; and further comprising the steps of; filtering out any unwanted alphanumeric characters from the string of alphanumeric characters decoded from said barcode.
-
-
31. A process for decoding undecoded output data from a barcode scanning device into alphanumeric characters and inputting said alphanumeric characters into a host computer through a PCMCIA slot, comprising the steps of:
-
receiving undecoded data from a barcode scanning input device which processes a barcode; decoding alphanumeric characters from said undecoded data and storing the alphanumeric characters in a memory on a PC Card; transferring said alphanumeric characters to said host computer through an electrical connection to said PC card made through said PCMCIA slot; and wherein said step of receiving undecoded data comprises the steps of; energizing said barcode scanning input device upon receipt of a signal; checking an input port coupled to said barcode scanning input device to determine if electrical transitions are occurring on said input port, and, if so, for sampling said input port and storing in memory a sequence of logic 1'"'"'s and 0'"'"'s that define the spacing between transitions between light and dark areas of a scanned barcode; and computing the ratios of run lengths of at least some of the runs of logic 1'"'"'s and logic 0'"'"'s; and wherein said step of decoding alphanumeric characters from said undecoded input data comprises the steps of; examining said ratios of run lengths to locate start and stop characters; determining from said start and stop characters which type of barcode was scanned; determining the direction in which said barcode was scanned by determining whether said start or said stop character was received first; and using a code set appropriate to the barcode scanned to decode said ratios of run lengths into a string of alphanumeric character data, said code set comprised of predetermined unique combinations of run lengths that map to particular alphanumeric characters; and further comprising the steps of; appending any desired suffix or prefix characters to said string of alphanumeric characters decoded from said run lengths of logic 1'"'"'s and 0'"'"'s.
-
-
32. A process for receiving data from an input device using a PC Card and transmitting said data to a host computer through a PCMCIA slot having a PCMCIA connector therein, comprising the steps of:
-
receiving one or more alphanumeric characters from an input device through a port on said PC Card; storing said alphanumeric characters in a memory on said PC Card; recording a pointer to the starting address in said memory of said PC Card of said one or more alphanumeric characters; generating data that will be detected by said host computer through transactions carried out through said PCMCIA connector indicating that alphanumeric characters have been stored on said PC Card for use by said host computer and indicating where in memory said alphanumeric characters can be found; providing access to said host computer to said alphanumeric characters stored in said memory on said PC Card when said host computer requests access; and providing access for said host computer to an expansion memory on said PC Card, said access to said expansion memory being simultaneously provided to said host computer with the process of receiving and storing data on said PC Card from said input device.
-
-
33. An interface between a host computer and an input device through a PC Card and a PCMCIA slot on said host computer having a PCMCIA connector therein, comprising:
-
an expansion memory on said PC Card; means for receiving one or more alphanumeric characters from said input device through a port on said PC Card; and means for transferring said one or more alphanumeric characters to said host computer through said PCMCIA slot and PCMCIA connector; and means for providing access for said host computer to said expansion memory on said PC Card, said access to said expansion memory being provided on a time division multiplexed basis to said host computer with the process of receiving said alphanumeric characters from said input device and transferring said alphanumeric characters to said host computer.
-
-
34. An apparatus for transferring data from an input device through a PC Card and a PCMCIA slot on a host computer having a PCMCIA connector therein into said host computer through said PCMCIA connector, comprising:
-
a memory on said PC Card; a communication circuit on said PC Card for receiving one or more characters in serial, parallel or ADB format or other data in any format from said input device through a port on said PC Card and storing said one or more characters in said memory and recording a pointer in the form of an address in memory where the first said character is stored and length information in the form of the number of sequential memory locations used to store all the received characters, and, if necessary, decoding said data received from said input device into alphanumeric characters and storing said alphanumeric characters in said memory, and notifying said host that one or more characters have been stored for retrieval by said host computer; and a microprocessor on said PC Card which is programmed to retrieve said characters from said memory using said pointer and length information and transfer said characters through said PCMCIA connector to a memory within said host computer. - View Dependent Claims (35, 36, 37, 38, 39, 40, 41, 42, 43)
-
-
44. A process for decoding undecoded output data from a barcode scanning device into alphanumeric characters and inputting said alphanumeric characters into a host computer through a PCMCIA slot, comprising the steps of:
-
receiving undecoded data from a barcode scanning input device which processes a barcode; decoding alphanumeric characters from said undecoded data and storing the alphanumeric characters in a memory on a PC Card; transferring said alphanumeric characters to said host computer through an electrical connection to said PC card made through said PCMCIA slot; and further comprising the steps of supplying power to said barcode scanning device from said host computer when barcode scanning is desired and cutting off power to said barcode scanning device after a successful decoding operation.
-
-
45. A process for decoding undecoded output data from a barcode scanning device into characters in the code set of characters recognized by a host computer and inputting said decoded characters into said host computer through a PCMCIA bus connector in a PCMCIA slot on said host computer, comprising:
-
receiving on a PC card sized to fit into the PCMCIA slot of said host computer undecoded data from an input device, said undecoded data generated by said input device from the light and dark patterns of a barcode; decoding said undecoded data into one or more decoded characters from a code set of characters used by said host computer, and storing said decoded characters in a first memory on said PC Card, said first memory being dedicated to storing said one or more decoded characters and other data and/or instructions needed to carry out the decoding process on said PC Card; while said decoding process is occurring, simultaneously providing additional data and/or program storage capacity to said host computer using said PCMCIA slot in said host computer and a second memory located on said PC Card and coupled to said PCMCIA bus connector in said PCMCIA slot of said host computer while isolating said first random access memory from said PCMCIA bus connector of said host computer using a bus multiplexer; when said one or more decoded characters stored in said first random access memory are ready to be transferred to said host computer, transferring said decoded characters to said host computer.
-
-
46. An apparatus for transferring data from an input device through a PC Card and a PCMCIA slot on a handheld host computer having a PCMCIA connector therein into said host computer through said PCMCIA connector, comprising:
-
a memory on said PC Card; a communication circuit on said PC Card for receiving undecoded data in any format from said input device through a port on said PC Card, sampling said undecoded data sufficiently to generate a plurality of strings of logic 1'"'"'s or logic 0'"'"'s which define the information carrying attributes of said received data, and storing the sample data in said memory along with a pointer to the start of the sample data and information about the length of said sample data, and notifying said host computer that sample data from an input device has been stored on said PC Card; and a microprocessor in said host computer programmed to retrieve said sample data from said memory on said PC Card and transfer said sample data through said PCMCIA connector to a memory within said host computer, and programmed to determine automatically what type of barcode said sample data was derived from by executing an autodiscrimination routine and then decode said sample data into one or more alphanumeric characters using an algorithm appropriate to the type of data which was received from said input device.
-
Specification