This article explains which parameters an E protocol dispenser system requires for a connection to a bessa product. bessa implements the E protocol according to the P160 / WTS specification from version 1.103 (2021-05-16) onwards.
The E protocol is the classic, manufacturer-independent standard for dispenser systems, coffee machines and beverage dispensers. In bessa it is available for serial connections over USB only.
Prerequisites
-
The dispenser has a serial interface (RS-232) and is connected to the Sales Point through a USB-to-serial adapter.
-
The dispenser technician has enabled the POS interface on the dispenser and knows the configured transmission parameters.
-
A dispenser profile exists in the bessa Manager, populated with article PLUs, user numbers and — if needed — table numbers. See Dispensers.
Every parameter on this page must match the setting on the dispenser exactly. These are not values bessa can guess — they are specified by the dispenser technician. The typical values listed here are only a starting point for troubleshooting.
Where the parameters are entered
The E protocol runs on the Serial (USB) connection type. The values are entered in the respective bessa product — on the Sales Point under Dispenser Settings.
Connection parameters
These four values describe the serial transmission itself and must be identical to the setting on the dispenser.
|
Field |
Meaning |
Allowed values |
Typical value |
|---|---|---|---|
|
Baud rate |
Transmission speed in bit/s |
Integer, e.g. |
|
|
Data bits |
Number of data bits per character |
|
|
|
Stop bits |
Number of stop bits |
|
|
|
Parity |
Parity check |
|
|
The value 3 in the Stop bits field means 1.5 stop bits, not 3 stop bits. This encoding comes from the serial driver and is required by very few dispenser systems.
Protocol parameters
The E protocol transmits waiter, product, table and quantity values as fixed-width numbers without separators. The dispenser driver therefore has to know how wide each field is defined on this particular dispenser — otherwise incoming data is split at the wrong position.
|
Field |
Meaning |
Typical values |
|---|---|---|
|
Waiter digits |
Field width of the waiter / user number in bookings reported by the dispenser and in the table command |
|
|
Product digits |
Field width of the article PLU in debit and credit bookings |
|
|
Table digits |
Field width of the table number. |
|
|
Quantity digits |
Field width of the quantity in credit bookings. |
|
|
Checksum |
Append an XOR checksum to every command and verify it in every response |
Off, unless the dispenser technician specifies otherwise |
Quantity digits = 0: If the dispenser does not support a quantity value, the article is automatically sent once per booked unit. Three glasses of beer are then transmitted as three individual releases. Nothing changes for the guest, but the transmission takes slightly longer.
Waiter digits does not apply everywhere: The P160 / WTS specification fixes the waiter number to three digits for waiter clearance and for credit bookings. The Waiter digits field therefore only affects bookings reported by the dispenser and the table command. This is intended by the protocol and not a configuration error.
Checksum
When Checksum is enabled, an XOR check character over all preceding characters is appended to every command sent, and the same scheme is expected in the response. If the received checksum does not match, the response is discarded and an error is reported.
The checksum is a variant of the E protocol and is not active on every unit. It has to be configured identically on both sides — a checksum enabled on one side only makes the response appear "shifted" and causes the connection test to fail.
FAQ
Where do I get the correct values? From the dispenser technician or from the configuration of the dispenser itself. bessa cannot determine these values automatically, because the E protocol does not negotiate them.
Can the E protocol be used over the network? No. In bessa the E protocol is available for the Serial (USB) connection type only. For network connections, use VMPS or Z1U.
Which cables and adapters work? The USB-to-serial adapter is addressed through the Android USB host driver. Common adapters with an FTDI, Prolific, CP210x or CH34x chipset are supported. Adapters without their own chipset (plain connector converters) do not work.
Troubleshooting
-
No device can be selected — the USB adapter was not detected or the permission for it was not granted. Reconnect the adapter and search for devices again.
-
The connection test fails although the device is listed — baud rate, data bits, stop bits or parity do not match the dispenser.
-
Bookings arrive but with the wrong article or the wrong waiter — the digit settings do not match, so the response is split at the wrong position.
-
Sporadic errors, individual bookings get lost — the checksum is enabled on one side only, or the RS-232 cable run is too long.
-
Quantities are transmitted one by one instead of in bulk — expected behaviour when Quantity digits is
0, see above.
Related topics
-
Dispenser Systems — overview of the supported protocols
-
Dispenser Settings — connecting a dispenser on the Sales Point
-
Dispensers — articles, users, tables and operating mode in the bessa Manager
-
VMPS Dispenser — serial or network-based alternative
-
Network security & port requirements