FAQ
What operating systems will the Milan / Paylink Interface run under?
The full package will install and run on all Windows or Linux Systems. If you are using Windows and wish to use C# (Dot Net), then class libraries and examples for Dot Net 4.0 and above are provided, ready to use, as a part of the standard installation.
We also provide full Linux support for the standard Milan Interface unit (connected to Linux kernels 2.6 and later) which, as it is in source, can be installed on any system.
If you wish to use Paylink Lite V2 or USB connected peripherals: we support all Intel / PC Linux Distros, both 32 and 64 versions and the Raspberry Pi running a 32 bit armhf (not arm64) system. The Raspberry Pi code has been tested on Raspbian, 32 bit Ubuntu, and 32 bit Suse.
What platform is required to run the Paylink System?
The Paylink System requires very few resources and will run on any Platform provided it has at least one free USB port.
What peripheral equipment does the Milan Interface part of the Paylink System support?
A. Please see the Technical Description page.
When I run the driver program it does nothing but display the message: Config: No "Peripheral Name"
This is caused by your configuration file specifying “peripheral name” and this is not supported by the loaded firmware. See page 16 in the System Manual for details on which peripheral is supported by which firmware load
Your money fields report in values in lowest denomination. What happens when I change to an acceptor that accepts smaller coins?
The lowest denomination we refer to, is that of the given currency (i.e. one penny, one cent) and is fixed for a given currency.
I’ve connected up 12V and a cctalk coin acceptor and hopper, why doesn’t the interface report any peripherals? or What does the diagnostic message "cctalk: Data line frozen" mean?
Although the Milan Interface unit cctalk connector includes 12v and 24v, only the 12v is fed through from the 2 pin JST connecter, the 24v is a “pass through” from an external. power supply. If you haven’t provided a 24v supply, then the hopper will “freeze” the cctalk bus (short it to ground) a fault which Paylink firmware can recognise. If you remove the hopper, the acceptor should be found and the diagnostic stop.
I want to use the coin routing facilities of my coin acceptor to feed the hopper until it is full, and divert coins to the cash box afterwards.
There are comprehensive facilities to enable you to easily achieve this. Although easy to implement, they are slightly difficult to understand; so please refer to the section entitled “Coin Routing” in the System Description Manual, which gives full details. If you are still confused, then the support forum has topics on this subject.
My system stopped working and the driver / diagnostics reported error 4, and then error 2.
The electrical environment that the Milan Interface operates in is noisy and can cause noise on the USB line. We recommend using USB leads with ferrite noise reduction cores. Later model Paylink units are much less susceptible to this problem.
I don’t want the equipment to accept money from my customer until I am ready. How do I arrange for this to happen?
When the Milan Interface powers up, it inhibits all the peripherals, in which state they will automatically reject any money. At this point you can call OpenInterface, Current Value, ReadAcceptorDetails and ReadDispenserDetails to find out where you’re starting from. You can pre-set individual inhibits (see next question) and then you call EnableInterface. EnableInterface is how you announce to the Milan / Paylink Interface that you’re ready to go, until you call EnableInterface everything is disabled / inhibited, regardless of the AcceptorBlock setting. After you call it, they will correspond to the settings you have made. (They are all enabled by default.).
How do I control which acceptors, coins and hoppers will be working at any given time?
You use ReadAcceptorDetails / WriteAcceptorDetails and ReadDispensorDetails / WriteDispenserDetails. These use interface blocks that are described in the Application Interface Manual. Specifically:
- To inhibit / enable an acceptor set / clear the ACCEPTOR_INHIBIT bit in the AcceptorBlock.Status field and then write the details back
- To inhibit / enable a specific coin, set / clear the Acceptor.Coin[CoinNumber].Inhibit field (to 1 / 0), and then write the details back.
- To inhibit / enable a dispenser set / clear the DispenserBlock.Inhibit field (to 1 / 0) and then write the details back.
(xxxxBlock.Unit & DP_GENERIC_MASK) ==
DP_COIN_ACCEPT_DEVICE
or DP_NOTE_ACCEPT_DEVICE or DP_COIN_PAYOUT_DEVICE
