Table of Contents I. General informations......................5 1. Terms..........................5 2. Working modes......................5 A. Low level mode......................5 B. High level mode......................6 2. Communication parameters...................7 II. Hardware overview......................8 1. Power supply requirements...................8 2. Connector description....................8 III. Low level mode.......................10 1. Multiplexer GPIO truth table..................10 2.
MDB checksum since this is automatically calculated by the RASPIVEND and correctly sent to the MDB peripheral. When the RASPIVEND will receive a low level command, it automatically turn low level mode ON and begin to continuously poll the MDB PERIPHERALS.
VTLCOMBUS Wurlitzer keyboard Only with xinetd Only with xinetd RTC set/get Only with xinetd Only with xinetd Raspberry PI GPIO future development POWER GOOD signal for autoshutdown future development future development Direct peripheral selection and communication Table 1: Level modes comparison...
Table 2: Low level message format - <HEADER> – Is always a byte with a value of 0xFE. - <CMD> - Defines the command group sent to the RASPIVend. - <SUBCMD> - Defines the specific subcommand of the command group.
CCTALK PERIPHERALS are protected, but will not work. The board also supplies the 5V/2A for Raspberry PI (or compatible). The system eliminates the separate 5V microUSB power supply for Raspberry PI. You will only need one power supply for the entire system.
Page 9
POWER, GPIO and serial port. This connector, also supplies the power for Raspberry PI. Used pins and functions can be find in the table below. Pins marked by green background are available for user applications and alos, the power and GND pins.
III. Low level mode To use this mode, your application must handle the following: a. GPIO pins of the Raspberry PI, needed to switch the multiplexers to the correct communication channel (to select the peripheral). b. Serial port of the Raspberry PI (/dev/ttyAMA0).
Page 15
Value Description 0x00 Idle 0x01 Defective Motor - One of the motors has failed to perform its expected assignment. 0x02 Sensor Problem - One of the sensors has failed to provide its response. 0x03 Validator Busy - The validator is busy and can not answer a detailed command right now.
Page 16
Value Description 0x00 Idle 0x01 Escrow request - An escrow lever activation has been detected. 0x02 Changer Payout Busy - The changer is busy activating payout devices. 0x03 No Credit - A coin was validated but did not get to the place in the system when credit is given.
0xFD – command CRC error This command will set to 0x00 all devices' status. It is used to clear status and let the RASPIVEND to update it in accordance with the new devices' status. It will not reset credits 16. Cashless INIT <HEADER>...
This command must be sent after a successful vend using cashless. Following this command, the RASPIVEND will substract the product value from the cashless credit, and the cashless device will be instructed to substract th same amount from the customer's credit.
It is a good idea for your application to retry sending the command few times if you get an “failed” answer. This answer can be returned in the event of Raspberry PI to RASPIVEND board communication failure. Also it can be returned if you try to address a not connected device.
Most of those are low level informations and you do not need to "EscrowAvailable":"true", use them in you application, since all MDB protocol will be "BillValues":[ handled by the RASPIVEND board. {"BillValue":"1"}, {"BillValue":"5"}, You can use, for example, the serial number and model to keep {"BillValue":"10"},...
{"CoinValue":"5"}, {"CoinValue":"0"}, Most of those are low level informations and you do not need to {"CoinValue":"0"}, use them in you application, since all MDB protocol will be {"CoinValue":"0"}, handled by the RASPIVEND board. {"CoinValue":"0"}, {"CoinValue":"0"}, {"CoinValue":"0"}, {"CoinValue":"0"}, {"CoinValue":"0"}, {"CoinValue":"0"}, {"CoinValue":"0"},...
This value must be set after each succesful vend and before issuing the “MDBCashlessRevalue” command. This is the value that the RASPIVEND board will try to use for revalue. The value is multiplied by the 100 scaling factor (for example, for 1EUR you have to set this value to 100).
- 32 bit positive value This value must be set before any change return action The value is multiplied by the 100 scaling factor (for example, for 1EUR you have to set this value to 100). RASPIVEND daemon answer Answer Parameters/Comments {"MDBSetChange":"NNNN"} This command will return the value you have sent.
17. MDBPoll GUI command Command Parameters/Comments MDBPoll [none] RASPIVEND daemon answer Answer Parameters/Comments This command will return the current MDB module's information. "Type":"Poll", It is recommended to issue this command at least twice a "CurrentCreditCash":"0", second while the transaction is opened (when the payment "CurrentCreditCashless":"0",...
Parameters/Comments MDBCashlessInit(N) “N” is the address of the cashless to be initialized (1 for the first cashless device and 2 for the second cashless device) RASPIVEND daemon answer Answer Parameters/Comments {"MDBCashlessInit":"success"} This command will perform all initialization tasks for the attached MDB cashless system.
Parameters/Comments MDBCashlessSettings(N) “N” is the address of the cashless to be readed (1 for the first cashless device and 2 for the second cashless device) RASPIVEND daemon answer Answer Parameters/Comments This command will return the specified cashless device low level "Type":"Cashless",...
Command Parameters/Comments MDBCashlessVendRequestOK(N) “N” is the address of the cashless to request vend permission(1 for the first cashless device and 2 for the second cashless device) RASPIVEND daemon answer Answer Parameters/Comments {"MDBCashlessVendRequestOK":"success"} This command will commit the MDBCashlessVendRequest command. {"MDBCashlessVendRequestOK":"failed"}...
Parameters/Comments MDBCashlessRevalue(N) “N” is the address of the cashless to revalue (1 for the first cashless device and 2 for the second cashless device) RASPIVEND daemon answer Answer Parameters/Comments {"MDBCashlessRevalue":"success"} This command will send load the CurentCreditCash value to the cashless.
This command will send the appropriate keystroke to deliver the product. When you receive the correct combination as a response, then you have to commit the command with the command KBSetOK RASPIVEND daemon answer Answer Parameters/Comments {"KeyboardSet":"ABCD"} This command will simulate a keyboard press to deliver one product to the customer.
This command will read the date and time informations from the non-volatile RTC on the RASPIVEND board. This command is useful to help you set the date and time on Raspberry PI if it is not connected to the Internet.
It is a good idea for your application to retry sending the command few times if you get an “failed” answer. This answer can be returned in the event of Raspberry PI to RASPIVEND board communication failure. Also it can be returned if you try to address a not connected device.
Most of those are low level informations and you do not need to "EscrowAvailable":"true", use them in you application, since all MDB protocol will be "BillValues":[ handled by the RASPIVEND board. {"BillValue":"1"}, {"BillValue":"5"}, You can use, for example, the serial number and model to keep {"BillValue":"10"},...
{"CoinValue":"5"}, {"CoinValue":"0"}, Most of those are low level informations and you do not need to {"CoinValue":"0"}, use them in you application, since all MDB protocol will be {"CoinValue":"0"}, handled by the RASPIVEND board. {"CoinValue":"0"}, {"CoinValue":"0"}, {"CoinValue":"0"}, {"CoinValue":"0"}, {"CoinValue":"0"}, {"CoinValue":"0"}, {"CoinValue":"0"},...
This value must be set after each succesful vend and before issuing the “MDBCashlessRevalue” command. This is the value that the RASPIVEND board will try to use for revalue. The value is multiplied by the 100 scaling factor (for example, for 1EUR you have to set this value to 100).
- 32 bit positive value This value must be set before any change return action The value is multiplied by the 100 scaling factor (for example, for 1EUR you have to set this value to 100). RASPIVEND daemon answer Answer Parameters/Comments {"MDBSetChange":"NNNN"} This command will return the value you have sent.
17. MDBPoll GUI command Command Parameters/Comments MDBPoll [none] RASPIVEND daemon answer Answer Parameters/Comments This command will return the current MDB module's information. "Type":"Poll", It is recommended to issue this command at least twice a "CurrentCreditCash":"0", second while the transaction is opened (when the payment "CurrentCreditCashless":"0",...
Parameters/Comments MDBCashlessInit(N) “N” is the address of the cashless to be initialized (1 for the first cashless device and 2 for the second cashless device) RASPIVEND daemon answer Answer Parameters/Comments {"MDBCashlessInit":"success"} This command will perform all initialization tasks for the attached MDB cashless system.
Parameters/Comments MDBCashlessSettings(N) “N” is the address of the cashless to be readed (1 for the first cashless device and 2 for the second cashless device) RASPIVEND daemon answer Answer Parameters/Comments This command will return the specified cashless device low level "Type":"Cashless",...
Command Parameters/Comments MDBCashlessVendRequestOK(N) “N” is the address of the cashless to request vend permission(1 for the first cashless device and 2 for the second cashless device) RASPIVEND daemon answer Answer Parameters/Comments {"MDBCashlessVendRequestOK":"success"} This command will commit the MDBCashlessVendRequest command. {"MDBCashlessVendRequestOK":"failed"}...
Parameters/Comments MDBCashlessRevalue(N) “N” is the address of the cashless to revalue (1 for the first cashless device and 2 for the second cashless device) RASPIVEND daemon answer Answer Parameters/Comments {"MDBCashlessRevalue":"success"} This command will send load the CurentCreditCash value to the cashless.
Parameters/Comments CCTHopperInit(N) “N” is the address of the hopper you need to perform initialization. The address depends on the hoper settings. RASPIVEND daemon answer Answer Parameters/Comments { "HopperInitAddress" : "3" , This command will perform a full init of the hopper with provided "Reset"...
32. CCTHopperCheckDispense GUI command Command Parameters/Comments CCTHopperCheckDispense(N) “N” is the hopper address. RASPIVEND daemon answer Answer Parameters/Comments Ex. 1 – success This command will return a message regarding the last known { "EventCounter" : "1" , hopper status. "ToDispense" : "0" , After issuing CCTHopperDispense or "Dispensed"...
Need help?
Do you have a question about the RASPIVEND and is the answer not in the manual?
Questions and answers