public SSP_Validator()
 {
     eSSP           = new SSPComms();
     cmd            = new SSP_COMMAND();
     storedCmd      = new SSP_COMMAND();
     keys           = new SSP_KEYS();
     sspKey         = new SSP_FULL_KEY();
     info           = new SSP_COMMAND_INFO();
     m_UnitDataList = new List <ChannelData>();
 }
Beispiel #2
0
        // constructor
        public CPayout()
        {
            cmd = new SSP_COMMAND();
            keys = new SSP_KEYS();
            sspKey = new SSP_FULL_KEY();
            info = new SSP_COMMAND_INFO();

            m_Comms = new CCommsWindow("SMARTPayout");
            m_Comms.Text = "SMART Payout Comms";
            m_NumberOfChannels = 0;
            m_ValueMultiplier = 1;
            m_UnitDataList = new List<ChannelData>();
        }
Beispiel #3
0
        // constructor
        public CPayout()
        {
            cmd    = new SSP_COMMAND();
            keys   = new SSP_KEYS();
            sspKey = new SSP_FULL_KEY();
            info   = new SSP_COMMAND_INFO();

            m_Comms            = new CCommsWindow("SMARTPayout");
            m_Comms.Text       = "SMART Payout Comms";
            m_NumberOfChannels = 0;
            m_ValueMultiplier  = 1;
            m_UnitDataList     = new List <ChannelData>();
        }
Beispiel #4
0
        // constructor
        public CValidator()
        {
            eSSP      = new SSPComms();
            cmd       = new SSP_COMMAND();
            storedCmd = new SSP_COMMAND();
            keys      = new SSP_KEYS();
            sspKey    = new SSP_FULL_KEY();
            info      = new SSP_COMMAND_INFO();

            m_Comms            = new CCommsWindow("NoteValidator");
            m_NumberOfChannels = 0;
            m_ValueMultiplier  = 1;
            m_UnitType         = (char)0xFF;
            m_UnitDataList     = new List <ChannelData>();
        }
Beispiel #5
0
        // constructor
        public CValidator()
        {
            eSSP = new SSPComms();
            cmd = new SSP_COMMAND();
            storedCmd = new SSP_COMMAND();
            keys = new SSP_KEYS();
            sspKey = new SSP_FULL_KEY();
            info = new SSP_COMMAND_INFO();

            m_Comms = new CCommsWindow("NoteValidator");
            m_NumberOfChannels = 0;
            m_ValueMultiplier = 1;
            m_UnitType = (char)0xFF;
            m_UnitDataList = new List<ChannelData>();
        }
Beispiel #6
0
        // constructor
        public CValidator()
        {
            cmd    = new SSP_COMMAND();
            keys   = new SSP_KEYS();
            sspKey = new SSP_FULL_KEY();
            info   = new SSP_COMMAND_INFO();

            m_Comms                     = new CCommsWindow("Note Validator");
            m_NumberOfChannels          = 0;
            m_ValueMultiplier           = 1;
            m_UnitType                  = (char)0xFF;
            m_CurrentPollResponse       = new byte[256];
            m_CurrentPollResponseLength = 0;
            m_UnitDataList              = new List <ChannelData>();
        }
 /// <summary>
 /// Sends a command to the device.
 /// </summary>
 /// <param name="cmd">The command to send.</param>
 /// <param name="inf">When this method returns, contains the information about the command being sent.</param>
 ///
 public static bool SendCommand(ref SSP_COMMAND cmd, ref SSP_COMMAND_INFO inf, string periferico)
 {
     try
     {
         // Lock critical section to prevent multiple commands being sent simultaneously
         lock (thisLock)
         {
             return(libHandle.SSPSendCommand(cmd, inf));
         }
     }
     catch (Exception ex)
     {
         m_LastEx = ex;
         return(false);
     }
 }
Beispiel #8
0
        // constructor
        public CNV11()
        {
            cmd    = new SSP_COMMAND();
            keys   = new SSP_KEYS();
            sspKey = new SSP_FULL_KEY();
            info   = new SSP_COMMAND_INFO();

            m_Comms = new CCommsWindow("NV11");
            m_TotalNotesAccepted        = 0;
            m_TotalNotesDispensed       = 0;
            m_NumberOfChannels          = 0;
            m_ValueMultiplier           = 1;
            m_CurrentPollResponse       = new byte[256];
            m_CurrentPollResponseLength = 0;
            m_UnitDataList       = new List <ChannelData>();
            m_NotePositionValues = new int[30];
        }
Beispiel #9
0
        // constructor
        public CNV11()
        {
            eSSP = new SSPComms();
            cmd = new SSP_COMMAND();
            keys = new SSP_KEYS();
            sspKey = new SSP_FULL_KEY();
            info = new SSP_COMMAND_INFO();

            m_Comms = new CCommsWindow();
            m_TotalNotesAccepted = 0;
            m_TotalNotesDispensed = 0;
            m_NumberOfChannels = 0;
            m_ValueMultiplier = 1;
            m_CurrentPollResponse = new byte[256];
            m_CurrentPollResponseLength = 0;
            m_UnitDataList = new List<ChannelData>();
            m_NotePositionValues = new int[30];
        }
Beispiel #10
0
        // Constructor
        public CHopper()
        {
            // init SSP handles
            m_cmd = new SSP_COMMAND();
            m_keys = new SSP_KEYS();
            m_sspKey = new SSP_FULL_KEY();
            m_info = new SSP_COMMAND_INFO();

            m_NumberOfChannels = 0;
            m_ProtocolVersion = 0;
            m_CoinMechEnabled = true;
            m_Comms = new CCommsWindow("SMARTHopper");
            m_Comms.Text = "SMART Hopper Comms";
            m_UnitDataList = new List<ChannelData>();

            if (Properties.Settings.Default.Comms)
                Comms.Show();
        }
Beispiel #11
0
 public static bool SendCommand(ref SSP_COMMAND cmd, ref SSP_COMMAND_INFO inf)
 {
     try
     {
         // Lock critical section to prevent multiple commands being sent simultaneously
         bool b;
         lock (m_Lock)
         {
             b = m_LibHandle.SSPSendCommand(cmd, inf);
         }
         Thread.Sleep(1); // Immediately yield to another process waiting to send a command
         return(b);
     }
     catch (Exception ex)
     {
         m_LastEx = ex;
         return(false);
     }
 }
        // constructor
        public CNV10()
        {
            m_eSSP = new SSPComms();
            m_cmd  = new SSP_COMMAND();
            keys   = new SSP_KEYS();
            sspKey = new SSP_FULL_KEY();
            info   = new SSP_COMMAND_INFO();

            m_TotalNotesAccepted        = 0;
            m_TotalNotesDispensed       = 0;
            m_NumberOfChannels          = 0;
            m_ValueMultiplier           = 1;
            m_CurrentPollResponse       = new byte[256];
            m_CurrentPollResponseLength = 0;
            m_UnitDataList       = new List <ChannelData>();
            m_NotePositionValues = new int[30];
            m_StoredCurrency     = "";
            m_HoldCount          = 0;
            m_HoldNumber         = 0;
        }
Beispiel #13
0
        // constructor
        public CHopper()
        {
            // init SSP handles
            m_cmd    = new SSP_COMMAND();
            m_keys   = new SSP_KEYS();
            m_sspKey = new SSP_FULL_KEY();
            m_info   = new SSP_COMMAND_INFO();

            m_NumberOfChannels    = 0;
            m_ProtocolVersion     = 0;
            m_CoinMechEnabled     = true;
            m_Comms               = new CCommsWindow("SMART Hopper");
            m_UnitDataList        = new List <ChannelData>();
            m_CurrentPollResponse = new byte[255];

            if (Properties.Settings.Default.Comms)
            {
                Comms.Show();
            }
        }
Beispiel #14
0
 public Control_NV_SSP()
 {
     eSSP                 = new SSPComms();
     cmd                  = new SSP_COMMAND();
     storedCmd            = new SSP_COMMAND();
     keys                 = new SSP_KEYS();
     sspKey               = new SSP_FULL_KEY();
     info                 = new SSP_COMMAND_INFO();
     m_NumberOfChannels   = 0;
     m_ValueMultiplier    = 1;
     m_UnitType           = 'ÿ';
     m_UnitDataList       = new List <ChannelData>();
     reconnectionInterval = 2;
     reconnectionTimer    = new System.Windows.Forms.Timer();
     respuesta            = false;
     port                 = "COM3";
     Creditos             = 0m;
     Canal                = new int[MaxCanales];
     eCanal               = new int[MaxCanales];
     for (int i = 0; i < Canal.Length; i++)
     {
         Canal[i]  = 0;
         eCanal[i] = 0;
     }
     eCanal[0] = 1;
     eCanal[1] = 1;
     eCanal[2] = 1;
     eCanal[3] = 1;
     eCanal[4] = 1;
     eCanal[5] = 1;
     Canal[0]  = 500;
     Canal[1]  = 1000;
     Canal[2]  = 2000;
     Canal[3]  = 5000;
     Canal[4]  = 10000;
     Canal[5]  = 20000;
     Canal[6]  = 50000;
     OnLine    = false;
 }
Beispiel #15
0
        // This function should be called in a loop, it monitors the SSP_COMMAND_INFO parameter
        // and writes the info to a text box in a readable format. If the failedCommand bool
        // is set true then it will not write a response.
        public void UpdateLog(SSP_COMMAND_INFO info, bool failedCommand = false)
        {
            if (m_bLogging)
            {
                string byteStr;
                byte   len;
                // NON-ENCRPYTED
                // transmission
                m_LogText  = "\r\nNo Encryption\r\nSent Packet #" + m_PacketCounter;
                len        = info.PreEncryptedTransmit.PacketData[2];
                m_LogText += "\r\nLength: " + len.ToString();
                m_LogText += "\r\nSync: " + (info.PreEncryptedTransmit.PacketData[1] >> 7);
                m_LogText += "\r\nData: ";
                byteStr    = BitConverter.ToString(info.PreEncryptedTransmit.PacketData, 3, len);
                m_LogText += FormatByteString(byteStr);
                m_LogText += "\r\n";

                // received
                if (!failedCommand)
                {
                    m_LogText += "\r\nReceived Packet #" + m_PacketCounter;
                    len        = info.PreEncryptedRecieve.PacketData[2];
                    m_LogText += "\r\nLength: " + len.ToString();
                    m_LogText += "\r\nSync: " + (info.PreEncryptedRecieve.PacketData[1] >> 7);
                    m_LogText += "\r\nData: ";
                    byteStr    = BitConverter.ToString(info.PreEncryptedRecieve.PacketData, 3, len);
                    m_LogText += FormatByteString(byteStr);
                    m_LogText += "\r\n";
                }
                else
                {
                    m_LogText += "\r\nNo response...";
                }

                if (checkBox1.Checked == true)
                {
                    // ENCRYPTED
                    // transmission
                    m_LogText += "\r\nEncryption\r\nSent Packet #" + m_PacketCounter;
                    len        = info.Transmit.PacketData[2];
                    m_LogText += "\r\nLength: " + len.ToString();
                    m_LogText += "\r\nSync: " + (info.Transmit.PacketData[1] >> 7);
                    m_LogText += "\r\nData: ";
                    byteStr    = BitConverter.ToString(info.Transmit.PacketData, 3, len);
                    m_LogText += FormatByteString(byteStr);
                    m_LogText += "\r\n";

                    // received
                    if (!failedCommand)
                    {
                        m_LogText += "\r\nReceived Packet #" + m_PacketCounter;
                        len        = info.Receive.PacketData[2];
                        m_LogText += "\r\nLength: " + len.ToString();
                        m_LogText += "\r\nSync: " + (info.Receive.PacketData[1] >> 7);
                        m_LogText += "\r\nData: ";
                        byteStr    = BitConverter.ToString(info.Receive.PacketData, 3, len);
                        m_LogText += FormatByteString(byteStr);
                        m_LogText += "\r\n";
                    }
                    else
                    {
                        m_LogText += "\r\nNo response...";
                    }
                }

                logWindowText.AppendText(m_LogText);
                AppendToLog(m_LogText);
                logWindowText.SelectionStart = logWindowText.TextLength;
                m_PacketCounter++;
            }
        }
Beispiel #16
0
        // This function should be called in a loop, it monitors the SSP_COMMAND_INFO parameter
        // and writes the info to a text box in a readable format. If the failedCommand bool
        // is set true then it will not write a response.
        public void UpdateLog(SSP_COMMAND_INFO info, bool failedCommand = false)
        {
            if (m_bLogging)
            {
                string byteStr;
                byte len;
                // NON-ENCRPYTED
                // transmission
                m_LogText = "\r\nNo Encryption\r\nSent Packet #" + m_PacketCounter;
                len = info.PreEncryptedTransmit.PacketData[2];
                m_LogText += "\r\nLength: " + len.ToString();
                m_LogText += "\r\nSync: " + (info.PreEncryptedTransmit.PacketData[1] >> 7);
                m_LogText += "\r\nData: ";
                byteStr = BitConverter.ToString(info.PreEncryptedTransmit.PacketData, 3, len);
                m_LogText += FormatByteString(byteStr);
                m_LogText += "\r\n";

                // received
                if (!failedCommand)
                {
                    m_LogText += "\r\nReceived Packet #" + m_PacketCounter;
                    len = info.PreEncryptedRecieve.PacketData[2];
                    m_LogText += "\r\nLength: " + len.ToString();
                    m_LogText += "\r\nSync: " + (info.PreEncryptedRecieve.PacketData[1] >> 7);
                    m_LogText += "\r\nData: ";
                    byteStr = BitConverter.ToString(info.PreEncryptedRecieve.PacketData, 3, len);
                    m_LogText += FormatByteString(byteStr);
                    m_LogText += "\r\n";
                }
                else
                {
                    m_LogText += "\r\nNo response...";
                }

                if (checkBox1.Checked == true)
                {
                    // ENCRYPTED
                    // transmission
                    m_LogText += "\r\nEncryption\r\nSent Packet #" + m_PacketCounter;
                    len = info.Transmit.PacketData[2];
                    m_LogText += "\r\nLength: " + len.ToString();
                    m_LogText += "\r\nSync: " + (info.Transmit.PacketData[1] >> 7);
                    m_LogText += "\r\nData: ";
                    byteStr = BitConverter.ToString(info.Transmit.PacketData, 3, len);
                    m_LogText += FormatByteString(byteStr);
                    m_LogText += "\r\n";

                    // received
                    if (!failedCommand)
                    {
                        m_LogText += "\r\nReceived Packet #" + m_PacketCounter;
                        len = info.Receive.PacketData[2];
                        m_LogText += "\r\nLength: " + len.ToString();
                        m_LogText += "\r\nSync: " + (info.Receive.PacketData[1] >> 7);
                        m_LogText += "\r\nData: ";
                        byteStr = BitConverter.ToString(info.Receive.PacketData, 3, len);
                        m_LogText += FormatByteString(byteStr);
                        m_LogText += "\r\n";
                    }
                    else
                    {
                        m_LogText += "\r\nNo response...";
                    }
                }

                if (logWindowText.InvokeRequired)
                {
                    WriteToLog l = new WriteToLog(AppendToWindow);
                    logWindowText.BeginInvoke(l, new object[] { m_LogText });
                }
                else
                {
                    logWindowText.AppendText(m_LogText);
                    logWindowText.SelectionStart = logWindowText.TextLength;
                }

                AppendToLog(m_LogText);
                m_PacketCounter++;
            }
        }
Beispiel #17
0
        // This function should be called in a loop, it monitors the SSP_COMMAND_INFO parameter
        // and writes the info to a text box in a readable format. If the failedCommand bool
        // is set true then it will not write a response.
        public void UpdateLog(SSP_COMMAND_INFO info, bool failedCommand = false)
        {
            if (m_bLogging)
            {
                string byteStr;
                byte   len;
                // NON-ENCRPYTED
                // transmission
                m_LogText  = "\r\nNo Encryption\r\nSent Packet #" + m_PacketCounter;
                len        = info.PreEncryptedTransmit.PacketData[2];
                m_LogText += "\r\nLength: " + len.ToString();
                m_LogText += "\r\nSync: " + (info.PreEncryptedTransmit.PacketData[1] >> 7);
                m_LogText += "\r\nData: ";
                byteStr    = BitConverter.ToString(info.PreEncryptedTransmit.PacketData, 3, len);
                m_LogText += FormatByteString(byteStr);
                m_LogText += "\r\n";

                // received
                if (!failedCommand)
                {
                    m_LogText += "\r\nReceived Packet #" + m_PacketCounter;
                    len        = info.PreEncryptedRecieve.PacketData[2];
                    m_LogText += "\r\nLength: " + len.ToString();
                    m_LogText += "\r\nSync: " + (info.PreEncryptedRecieve.PacketData[1] >> 7);
                    m_LogText += "\r\nData: ";
                    byteStr    = BitConverter.ToString(info.PreEncryptedRecieve.PacketData, 3, len);
                    m_LogText += FormatByteString(byteStr);
                    m_LogText += "\r\n";
                }
                else
                {
                    m_LogText += "\r\nNo response...";
                }

                if (checkBox1.Checked == true)
                {
                    // ENCRYPTED
                    // transmission
                    m_LogText += "\r\nEncryption\r\nSent Packet #" + m_PacketCounter;
                    len        = info.Transmit.PacketData[2];
                    m_LogText += "\r\nLength: " + len.ToString();
                    m_LogText += "\r\nSync: " + (info.Transmit.PacketData[1] >> 7);
                    m_LogText += "\r\nData: ";
                    byteStr    = BitConverter.ToString(info.Transmit.PacketData, 3, len);
                    m_LogText += FormatByteString(byteStr);
                    m_LogText += "\r\n";

                    // received
                    if (!failedCommand)
                    {
                        m_LogText += "\r\nReceived Packet #" + m_PacketCounter;
                        len        = info.Receive.PacketData[2];
                        m_LogText += "\r\nLength: " + len.ToString();
                        m_LogText += "\r\nSync: " + (info.Receive.PacketData[1] >> 7);
                        m_LogText += "\r\nData: ";
                        byteStr    = BitConverter.ToString(info.Receive.PacketData, 3, len);
                        m_LogText += FormatByteString(byteStr);
                        m_LogText += "\r\n";
                    }
                    else
                    {
                        m_LogText += "\r\nNo response...";
                    }
                }

                try
                {
                    if (!logWindowText.IsDisposed && logWindowText.InvokeRequired)
                    {
                        WriteToLog l = new WriteToLog(AppendToWindow);
                        logWindowText.Invoke(l, new object[] { m_LogText });
                    }
                    else if (!logWindowText.IsDisposed)
                    {
                        logWindowText.AppendText(m_LogText);
                        logWindowText.SelectionStart = logWindowText.TextLength;
                    }
                }
                catch (Exception ex)
                {
#if DEBUG
                    Debug.WriteLine(ex.ToString());
#endif
                }

                AppendToLog(m_LogText);
                m_PacketCounter++;
            }
        }
 public LibraryException(string message, SSP_COMMAND command, SSP_COMMAND_INFO commandInfo) : base(message)
 {
     Command     = command;
     CommandInfo = commandInfo;
 }
        // This function should be called in a loop, it monitors the SSP_COMMAND_INFO parameter
        // and writes the info to a text box in a readable format. If the failedCommand bool
        // is set true then it will not write a response.
        public void UpdateLog(SSP_COMMAND_INFO info, bool failedCommand = false)
        {
            if (m_bLogging)
            {
                string byteStr;
                byte   len;
                byte[] pollResponse;

                // NON-ENCRPYTED
                // transmission
                LogText = new StringBuilder(500);
                LogText.AppendLine();
                LogText.AppendLine("No Encryption");
                LogText.Append("Sent Packet #");
                LogText.AppendLine(m_PacketCounter.ToString());
                len = info.PreEncryptedTransmit.PacketData[2];
                LogText.Append("Length: ");
                LogText.AppendLine(len.ToString());
                LogText.Append("Sync: ");
                LogText.AppendLine((info.PreEncryptedTransmit.PacketData[1] >> 7).ToString());
                LogText.Append("Command: ");
                LogText.AppendLine(SspLookup.GetCommandName(info.PreEncryptedTransmit.PacketData[3]));
                LogText.Append("Data: ");
                byteStr = BitConverter.ToString(info.PreEncryptedTransmit.PacketData, 3, len);
                LogText.AppendLine(FormatByteString(byteStr));
                // received

                if (!failedCommand)
                {
                    LogText.AppendLine();
                    LogText.Append("Received Packet #");
                    LogText.AppendLine(m_PacketCounter.ToString());
                    len = info.PreEncryptedRecieve.PacketData[2];
                    LogText.Append("Length: ");
                    LogText.AppendLine(len.ToString());
                    LogText.Append("Sync: ");
                    LogText.AppendLine((info.PreEncryptedRecieve.PacketData[1] >> 7).ToString());
                    LogText.Append("Response: ");
                    LogText.AppendLine(SspLookup.GetGenericResponseName(info.PreEncryptedRecieve.PacketData[3]));
                    if (info.PreEncryptedTransmit.PacketData[3] == SSP_POLL_CODE && len > 1)
                    {
                        pollResponse = new byte[len];
                        Array.Copy(info.PreEncryptedRecieve.PacketData, 3, pollResponse, 0, len);
                        LogText.Append("Poll Response: ");
                        LogText.Append(SspLookup.GetPollResponse(pollResponse));
                    }
                    byteStr = BitConverter.ToString(info.PreEncryptedRecieve.PacketData, 3, len);
                    LogText.Append("Data: ");
                    LogText.AppendLine(FormatByteString(byteStr));
                }
                else
                {
                    LogText.AppendLine("No response...");
                }

                //if (checkBox1.Checked == true)
                //{
                //    // ENCRYPTED
                //    // transmission
                //    LogText.AppendLine();
                //    LogText.AppendLine("Encryption");
                //    LogText.Append("Sent Packet #");
                //    LogText.AppendLine(m_PacketCounter.ToString());
                //    len = info.Transmit.PacketData[2];
                //    LogText.Append("Length: ");
                //    LogText.AppendLine(len.ToString());
                //    LogText.Append("Sync: ");
                //    LogText.AppendLine((info.Transmit.PacketData[1] >> 7).ToString());
                //    byteStr = BitConverter.ToString(info.Transmit.PacketData, 3, len);
                //    LogText.Append("Data: ");
                //    LogText.AppendLine(FormatByteString(byteStr));

                // received
                //if (!failedCommand)
                //{
                //    LogText.AppendLine();
                //    LogText.Append("Received Packet #");
                //    LogText.AppendLine(m_PacketCounter.ToString());
                //    len = info.Receive.PacketData[2];
                //    LogText.Append("Length: ");
                //    LogText.AppendLine(len.ToString());
                //    LogText.Append("Sync: ");
                //    LogText.AppendLine((info.Receive.PacketData[1] >> 7).ToString());
                //    byteStr = BitConverter.ToString(info.Receive.PacketData, 3, len);
                //    LogText.Append("Data: ");
                //    LogText.AppendLine(FormatByteString(byteStr));
                //}
                //else
                //{
                //    LogText.AppendLine("No response...");
                //}
                //}

                m_LogText = LogText.ToString();

                //if (logWindowText.InvokeRequired)
                //{
                //    WriteToLog l = new WriteToLog(AppendToWindow);
                //    logWindowText.BeginInvoke(l, new object[] { m_LogText });
                //}
                //else
                //{
                //    logWindowText.AppendText(m_LogText);
                //    logWindowText.SelectionStart = logWindowText.TextLength;
                //}

                AppendToLog(m_LogText);
                m_PacketCounter++;
            }
        }
Beispiel #20
0
 public static bool SendCommand(ref SSP_COMMAND cmd, ref SSP_COMMAND_INFO inf)
 {
     try
     {
         // Lock critical section to prevent multiple commands being sent simultaneously
         lock (m_Lock)
         {
             return m_LibHandle.SSPSendCommand(cmd, inf);
         }
     }
     catch (Exception ex)
     {
         m_LastEx = ex;
         return false;
     }
 }