Beispiel #1
0
        private void InputTextBox_KeyUp(object sender, KeyEventArgs e)
        {
            try
            {
                if (e.Key == Key.Enter)
                {
                    if (InputTextBox.Text.Length > 0)
                    {
                        var packetHelper = new PacketHelper(InputTextBox.Text.ToCharArray(), 3);
                        List<Packet> packets = packetHelper.GetPackets((bool)MakeErrorCheckBox.IsChecked);

                        PacketInfoTextBox.Clear();
                        var infoStringBuilder = new StringBuilder();
                        var outputStringBuilder = new StringBuilder();
                        for (int i = 0; i < packets.Count(); i++)
                        {
                            infoStringBuilder.AppendLine(string.Format("Packet #{0}", i));
                            string errorText = packets[i].GetErrorInfo();
                            if(!string.IsNullOrEmpty(errorText))
                            {
                                infoStringBuilder.AppendLine(errorText);
                            }
                            infoStringBuilder.AppendLine(packets[i].GetEncodedData());
                            infoStringBuilder.AppendLine();

                            outputStringBuilder.Append(packets[i].GetDecodedData());
                        }
                        PacketInfoTextBox.Text = infoStringBuilder.ToString();
                        OutputTextBox.Text = outputStringBuilder.ToString();
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Beispiel #2
0
        private void InputTextBox_KeyUp(object sender, KeyEventArgs e)
        {
            try
            {
                if (e.Key == Key.Enter)
                {
                    if (InputTextBox.Text.Length > 0)
                    {
                        PacketHelper packetHelper = new PacketHelper((byte)Convert.ToInt16("01111110", 2), InputTextBox.Text.ToCharArray(), 19, 1, 1, 1);
                        List<Packet> packets = packetHelper.GetPackets();
                        List<bool> data = new List<bool>();
                        StringBuilder stringBuilder = new StringBuilder();
                        int n = 1;
                        foreach (Packet packet in packets)
                        {
                            data.AddRange(packet.EncodedData);
                            // stringBuilder.AppendLine(string.Format("Packet #{0}", n++));
                            // stringBuilder.AppendLine(PacketHelper.BinDataToString(packet.EncodedData));
                        }

                        // PacketInfoTextBox.Text = stringBuilder.ToString();

                        int numOfBits = data.Count;
                        int numOfCycles = numOfBits % 8 == 0 ? numOfBits : numOfBits + 1;

                        List<byte> dataToSend = new List<byte>();
                        for (int i = 0; i < numOfCycles / 8; i++)
                        {
                            if (i != numOfCycles / 8 - 1)
                            {
                                dataToSend.Add((byte)Convert.ToInt16(PacketHelper.BinDataToString(data.GetRange(i * 8, 8)), 2));
                            }
                            else
                            {
                                dataToSend.Add((byte)Convert.ToInt16(PacketHelper.BinDataToString(data.GetRange(i * 8, numOfBits - i * 8)), 2));
                            }
                        }

                        _serialPortCOM1.RtsEnable = true;
                        _serialPortCOM1.Write(dataToSend.ToArray(), 0, dataToSend.Count);
                        Thread.Sleep(100);
                        _serialPortCOM1.RtsEnable = false;

                        //InputTextBox.Clear();
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }