Code Monkey home page Code Monkey logo

saspy's Introduction

saspy

Slots accounting system protocol based on Python for arm architecture

The SAS library was made using python and can be used for linux-based single-board computers (Raspberry, Orange PI, Banana Pi). The Library is used for connecting to EGM by RS-232 protocol and for receiving and processing some data of SAS-protocol.

SAS (Slot Accounting System) protocol is the de facto casino communications standards designed to automate slot machine meter reporting and event logging, player tracking, bonusing, ticketing and cashless gaming.

The EGM and SMIB communicate each other in SAS protocol standards, whereas communication between the SMIB and host is not standardized, which interoperability and standards issue is resolved by new standards, G2S (Game to System) protocol. SMIB also provides touch screen and card readers for AFT and player tracking service.

The System architecture of SAS Protocol: SAS protocol is used for communication between EGM and SMIB. SAS protocol consists of 3 layers of physical layer, link layer, and application layer. The physical layer leverages RS-232 at 9.2kbps of 1 start bit, 8 data bits, and 1wakeup bit and 1 stop bit. The wakeup bit is used for signaling the frame start byte and needs special care in implementation (described later). Master-slave polling mechanism is used for the medium access control similar to USB and traditional remote terminal system. Each EGM is assigned a link address of 1 to 127. ‘0’ is used for broadcasting. The polling rate ranges from 200ms to 5s but can be reduced to 40ms when EGM support RTE (real time event) mode. SMIB uses two different types of polls, GP (general poll) and LP (long poll). GP is one byte EGM address with wakeup bit set, and polls events generated in the receiving EGM system. The receiving EGM should respond with 1 byte event code, which is called ‘exception’ in the specification. The exceptions include non-priority exceptions such as no event, game start, game end, system tilt, and priority exceptions such as handpay condition, ticket out, ticket in, and fund-transfer request. LP is used for SMIB to send command to EGMs and classified into R(read)-type, S(set)-type, M(multi-game)-type, and G (global)-type. LP starts with 1 byte command value with wakeup bit set, and the lengths of LP are fixed or variable depending on the command. All LP except R-type contains CRC-16 (cyclic redundancy check) for bit error detection. The response frame uses the similar format but with wakeup bit off. SMIB use implied ACK mechanism for confirming the receipt.

SAS Protocol Application Functions: ROM signature request, Metric, Progressive broadcast, Tournament operation, RTE (real time event), Bonus Controller, Jackpot hand-pay, TITO(Ticket in/out), Multi-denomination, AFT, Component Authentication

saspy's People

Contributors

thomas-pythonas avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.