Exemplo n.º 1
0
        public void ArccCheckBinaryInputDumpEvent()
        {
            const string testMotherboardId = "TestMotherboard";
            var          arccProcessor     = new ArccHardwareDataProcessor(testMotherboardId);

            // Длина пакета команды модулю кнопок - 5 байт
            var testDumpButtonsCommandForArccHardware = new byte[]
            {
                (byte)ArccModuleType.BinaryInput,          // 2 - признак группы плат кнопочный ввод
                2,                                         // ID платы
                (byte)ArccBinaryInputCommand.DumpAllLines, // команда. 2 - дамп всех клавиш
                0,                                         // произвольные данные
                0                                          // произвольные данные
            };
            var dumpEvent = new DumpEvent
            {
                Hardware = new ControlProcessorHardware
                {
                    MotherBoardId = testMotherboardId,
                    ModuleType    = HardwareModuleType.Button,
                    ModuleId      = 2 + ArccHardwareDataProcessor.IncreaseModuleIdForBinaryInput,
                    BlockId       = 0,
                    ControlId     = 100
                }
            };
            var byteArray = arccProcessor.ConvertEventToByteArrayForHardware(dumpEvent);

            Assert.IsTrue(byteArray.SequenceEqual(testDumpButtonsCommandForArccHardware));
        }
Exemplo n.º 2
0
        /// <summary>
        /// Дамп всех клавиш
        /// </summary>
        /// <param name="allHardwareInUse">массив содержит упоминание всех модулей, которые нужно сдампить</param>
        public void Dump(ControlProcessorHardware[] allHardwareInUse)
        {
            // Если не сделать эту задержку, то дамп может не произойти. Почему - не понятно.
            Thread.Sleep(1000);
            var dumpEvents = new ControlEventBase[1];
            var dumpEvent  = new DumpEvent {
                Hardware = allHardwareInUse[0]
            };

            dumpEvents[0] = dumpEvent;
            PostOutgoingEvents(dumpEvents);
            System.Diagnostics.Debug.Print("Dump: " + MotherboardId);
        }
Exemplo n.º 3
0
 private void EventListBoxOnSelectedIndexChanged(object sender, EventArgs e)
 {
     currentEvent = (DumpEvent)eventListBox.SelectedValue;
     if (currentEvent == null)
     {
         return;
     }
     propertyTextArea.Text  = "Time: " + currentEvent.Time.ToString("g") + "\nType: " + currentEvent.Type + "\nData count: " + currentEvent.Data.Length;
     dataDropDown.DataStore = Enumerable.Range(-1, currentEvent.Data.Length + 1).Cast <object>();
     if (currentEvent.Data.Any())
     {
         dataDropDown.SelectedIndex = 0;
     }
 }