A Consultant's View
Prairie Trail Software, Inc. ..................................................... July 2004
As the Omni 3750 continues to be the terminal of choice, more and more people are starting to use it for things other than just credit card transactions. Or they are using other things besides the card swipe to capture the credit card information. In many cases, that means connecting something else to the terminal.
What kinds of things? A number of places are attaching check imagers (such as the RDM, MagTek, or Verifone units). Other people are attaching RFID readers such as the VivoTech units. Other people are trying to use the terminal in kiosks and driving vending equipment.
The Omni 3750 is different from the tranz and Omni 3200 terminals. On the other terminals, connecting a device is straight forward - grab the port and do the sending and listening to the other device that is needed to make the action happen. The Omni 3750 is different in that it is both event driven and can have multiple applications on it. To handle the multiple applications, the Omni 3750 has a device manager which allocates I/O ports to the various application and can request them back.
That event driven aspect means that the code that talks to the device has to be totally redesigned from what is used in the other terminals. On other terminals, each time something has to be sent to the device, the application can simply send something out and then sit there and wait for the response. On the Omni 3750, it is not that simple. The terminal application has to go back to the top level and wait for the operating system to send the next event. That means that the whole application has to be structured differently to deal with the basic event driven nature of the system.
When the application has to go back to the top level and wait for the next event, then it has a real difficulty doing a sequential set of interactions with a device. For example, when initializing a device, that may take a dozen or more interactions with the device which have to occur in a specific order. The application has to have a system by which all these events are handled in order and errors properly dealt with. Doing that properly is not commonly done. We have the techniques to do that.
The other part of the problem is the control of the devices. Under VMAC (the Omni 3750 applications manager), there is a program called "Device Manager". All the ports are assigned by the Device Manager to the applications that request them. Any application written on the Omni 3750 has to allow for other applications asking for ports that the application has been using and the application has to be able to give them up.
The problem comes when you have two applications requesting the same port. Under VMAC all applications must cooperate according to a set of rules regarding use of the ports, such as, COM ports, the printer and modem. For example, there are several versions of Verifone SoftPay that ask for all the ports when they start up and anytime they are activated. In this situation co-residing or interoperating applications must carefully manage access to ports.
No matter what you need to connect to your Omni 3750, we have the experience in connecting devices. Give us a call and we can talk it over with you.
Dave Randolph,
President, Prairie Trail Software
1-800-618-4199