Exemple #1
0
        public (byte[] transmitBuffer, bool succes) Send(byte control)
        {
            byte[] transmitBuffer = new byte[21];
            bool   succes         = false;
            int    controlSum     = 0;

            for (int i = 1; i < 5; i++)
            {
                transmitBuffer[i] = 0xFF; // Признак начала кодограммы
            }

            transmitBuffer[5]  = 0b00010100; // Длина кодограммы младший байт
            transmitBuffer[6]  = 0;          // Длина кодограммы старший байт
            transmitBuffer[15] = 18;         //Смещение информации для 5 абонента от начала кодограммы
            transmitBuffer[16] = 1;          //Длина информации абонента в байтах

            transmitBuffer[19] = control;
            foreach (var cell in transmitBuffer)
            {
                controlSum += cell;
            }
            transmitBuffer[20] = (byte)controlSum;

            if (_usb.Connection) // ПЕРЕДАЧА ЧЕРЕЗ ЮСБ
            {
                if (_usb.Send(transmitBuffer))
                {
                    succes = true;
                }
            }
            _usb.RestoreCheckConnectionTimer();
            return(transmitBuffer, succes);
        }
Exemple #2
0
        public (byte[] transmitBuffer, bool succes) Send()
        {
            var  random = new Random(Guid.NewGuid().GetHashCode()); // Для случайных чисел в тесте связи;
            bool succes = false;

            byte[] testArray = new byte[33];
            for (int i = 1; i < 5; i++)
            {
                testArray[i] = 0xFF;
            }
            testArray[5] = 32;
            testArray[6] = 0;
            for (int i = 7; i < 33; i++)
            {
                testArray[i] = Convert.ToByte(random.Next(0, 0xFF));
            }
            if (_usb.Connection) // ПЕРЕДАЧА ЧЕРЕЗ ЮСБ
            {
                if (_usb.Send(testArray))
                {
                    succes = true;
                }
            }
            return(testArray, succes);
        }
Exemple #3
0
        public (byte[] transmitBuffer, bool succes) Send(byte senderAdress, byte receiverAdress, byte[] freqArray)
        {
            byte[] transmitBuffer = new byte[14];
            bool   succes         = false;
            int    controlSum     = 0;

            for (int i = 1; i < 5; i++)
            {
                transmitBuffer[i] = 0xFF; // Признак начала кодограммы
            }

            transmitBuffer[5]  = 13;             // Длина кодограммы младший байт
            transmitBuffer[6]  = 0;              // Длина кодограммы старший байт
            transmitBuffer[7]  = receiverAdress; // Адрес получателя
            transmitBuffer[8]  = senderAdress;   // Адрес отправителя
            transmitBuffer[9]  = freqArray[0];   //Младший байт кода частоты на передачу
            transmitBuffer[10] = freqArray[1];   //Старший байт кода частоты на передачу
            transmitBuffer[11] = freqArray[2];   //Младший байт кода частоты на прием
            transmitBuffer[12] = freqArray[3];   //Старший байт кода частоты на прием
            foreach (var cell in transmitBuffer)
            {
                controlSum += cell;
            }
            transmitBuffer[13] = (byte)controlSum; //Контрольная сумма
            if (_usb.Connection)                   // ПЕРЕДАЧА ЧЕРЕЗ ЮСБ
            {
                if (_usb.Send(transmitBuffer))
                {
                    succes = true;
                }
            }

            return(transmitBuffer, succes);
        }
Exemple #4
0
        public (byte[] transmitBuffer, bool succes) Send(byte control)
        {
            byte[] transmitBuffer = new byte[7];
            bool   succes         = false;

            for (int i = 1; i < 5; i++)
            {
                transmitBuffer[i] = 0xFF; // Признак начала кодограммы
            }

            transmitBuffer[5] = control;
            transmitBuffer[6] = 0;

            if (_usb.Connection) // ПЕРЕДАЧА ЧЕРЕЗ ЮСБ
            {
                if (_usb.Send(transmitBuffer))
                {
                    succes = true;
                }
            }
            _usb.RestoreCheckConnectionTimer();
            return(transmitBuffer, succes);
        }