The following ADS peripherals are supported:
The packages are installed within the subdirectorys CashControl, TopCash, TopKey and TopLook (SO's), ToneIndicator (CO) and AdsCard. Before you install the packages, you should configure all devices.
Per default, you can use all devices at COM1. You can change the interface by changing the
Port string in the .conf file of a particular device. For TOPlook, you can also change the baud rate and no. of bits per character. For TOPkey, no port can be specified because it will be connected always to the keyboard connector.
Some additional parameters can be changed for the following devices:
Blink interval in milliseconds (used whenever display blinking will be enabled)
No. of bits to be used from the waiter key value, must be 1 - 30. The whole key can't be used (48 bits) because OPOS only supports 31 bits. You are restricted to 30 bits because the status "no key" reserves one additional bit.
Keyboard6x10 must be set to "1" if the keyboard layout is 6 rows x 10 columns, to "0" otherwise.
The following devices need a special map file in the installation directory, which resides within the subdirectory system32\AdsControls\Product_name (e.g. system32\AdsControls\TopKey) in the windows directory (which is normally c:\windows or c:\winnt). Within each map file, comment lines start with a ";", and comments may be appended to the last parameter, separated with spaces or tabs and a ";":
The map file consists of one line with two decimal parameters for each key. The first value specifies the key [ Line + 10 * Column, each counted from 0, started at the upper left corner ], the second value is the corresponding value of the POSKeyData property.
The map file consists of one line for each scan label type. Each line consists of four or six parameters:
The map file consists of one line per supported card type. Each line consists of 34 decimal values with the followinmeaning:
For an example, please look into the default map files. You don't need to change the mapfiles for keyboard, if you use a keyboard for MICROS Retail OSCAR POS, and for the scanner, if you use scanners with ADS settings.
After setting the correct values in the .conf files and after modifying the map files, the installation process can be started as follows:
If you have more than one peripheral of the same type, the configuration steps are a bit longer:
- Copy all .conf files NameX.conf to NameY.conf (or MameZ.conf ...). Then edit all new files and change all "X" to "Y" (or "Z", ...). You must change the DeviceName to any non existing device name (you can use regedit, look into HKEY_LOCAL_MACHINE\SOFTWARE\OLEforRetail\ ServiceOPOS\* for all existing device names), and the Port to an unused port. The ports on ADScard have the names "\\.\adscomx", where x = a,b,e,f for the first card, and c,d,g,h for the second card can be used.
- Add the names of the new .conf files to both "include = " lines in the .inf file. Separate all file names with ",".
Now you can start the installation process as described.
Appendix
Installation of ADS CO:
Simply install it via the .inf file as described above for the SO modules. There are no parameters to be configured.
Installation of AdsCard drivers:
For OPOS, you must set the values "Irq" and "BaseAddr" to the correct interrupt request number and base address, as selected via dip switch settings. Use AdsCard.inf for the first and AdsCard1.inf for the second card. You should not set one of the Protocolx values to a non-zero value for an OPOS device. You can set the BufferSize value to any positive value if you believe you need bigger or smaller input and output buffers for the card driver.
When you are ready with your changes, you can install the drivers via the corresponding .inf file. You can use AdsCard.inf for the first card, AdsCard1.inf for the second card, or AdsCards.inf for both cards.
Additional Property for ADS CO:
The following property has been added to the ADS CO. This is an addition to OPOS 1.3:
BSTR COAdsDeviceClass
This property is read-only. If the state of the control is OPOS_S_CLOSED, it returns "[error]". Otherwise, it returns a string containing the device class of the currently opened device.
Because the ADS CO is a general purpose CO, you can try to get and set every property and
to call every method for each device. Methods which are not supported by the device class of the currently opened device return OPOS_E_NOSERVICE (104).