コード例 #1
0
        public ISendableConfig Read(ConfigPacket Packet)
        {
            switch (Packet.Header.PacketTypeByte)
            {
            case PacketType.PacketType_ReceiverConfig:
                switch (Packet.Header.SubType)
                {
                case (byte)ReceiverType.ReceiverType_Vdpm: return(new VDPMReceiver(Packet.Payload));

                case (byte)ReceiverType.ReceiverType_File: return(new FileReceiver(Packet.Payload));

                case (byte)ReceiverType.ReceiverType_Network: return(new NetworkReceiver(Packet.Payload));

                case (byte)ReceiverType.ReceiverType_Simulate: return(new SimulateReceiver(Packet.Payload));
                }

                break;

            case PacketType.PacketType_RecoderConfig:
                switch (Packet.Header.SubType)
                {
                case (byte)RecoderType.RecoderType_File: return(new FileRecoder(Packet.Payload));

                case (byte)RecoderType.RecoderType_Network: return(new NetworkRecoder(Packet.Payload));
                }
                break;

            case PacketType.PacketType_MeasureConfig:
                switch (Packet.Header.SubType)
                {
                case (byte)MeasureType.MeasureType_RMS: return(new RMSMeasure(Packet.Payload));

                case (byte)MeasureType.MeasureType_PK: return(new PeakMeasure(Packet.Payload));

                case (byte)MeasureType.MeasureType_P2P: return(new PeakToPeakMeasure(Packet.Payload));

                case (byte)MeasureType.MeasureType_LiftShock: return(new Lift_ShockMeasure(Packet.Payload));

                case (byte)MeasureType.MeasureType_LiftMove: return(new Lift_MoveMeasure(Packet.Payload));
                }
                break;
            }
            return(null);
        }
コード例 #2
0
ファイル: Form1.cs プロジェクト: lsw8724/Project
        private void Form1_FormClosed(object sender, FormClosedEventArgs e)
        {
            List <ISendableConfig> configList = new List <ISendableConfig>();

            configList.AddRange(ReceiverList);
            if (!Settings.Default.EnableDBMode)
            {
                configList.AddRange(MeasureList);
            }
            configList.AddRange(RecoderList);
            try
            {
                using (FileStream fStream = new FileStream("Config.dat", FileMode.Create))
                {
                    foreach (var conf in configList)
                    {
                        ConfigPacket packet = Packing(conf);
                        packet.Write(fStream);
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

            if (SelectedReceiver != null)
            {
                SelectedReceiver.Stop();
                SelectedReceiver = null;
            }

            if (RecoderList.Count > 0)
            {
                foreach (var recoder in RecoderList)
                {
                    recoder.Stop();
                }
            }
            SQLRepository.Close();
        }
コード例 #3
0
ファイル: Form1.cs プロジェクト: lsw8724/Project
        private void UnPacking(ConfigPacket packet)
        {
            ConfigReader reader = new ConfigReader();

            if (packet.Payload != null)
            {
                switch (packet.Header.PacketTypeByte)
                {
                case PacketType.PacketType_ReceiverConfig: ReceiverList.Add(reader.Read(packet) as IHeritableWavesReceiver); break;

                case PacketType.PacketType_RecoderConfig: RecoderList.Add(reader.Read(packet) as IWavesRecoder); break;

                case PacketType.PacketType_MeasureConfig: if (!Settings.Default.EnableDBMode)
                    {
                        MeasureList.Add(reader.Read(packet) as IWavesMeasure);
                    }
                    break;
                }
                foreach (var receiver in ReceiverList)
                {
                    receiver.WavesReceived += waveReceiver_WavesReceived;
                }
            }
        }
コード例 #4
0
ファイル: Form1.cs プロジェクト: lsw8724/Project
        public WaveMonitor()
        {
            InitializeComponent();
            SQLRepository.Init();
            if (Settings.Default.EnableDBMode)
            {
                foreach (var row in SQLRepository.MeasurementCache.Values)
                {
                    switch ((MeasureType)row.MeasureType)
                    {
                    case MeasureType.MeasureType_RMS: MeasureList.Add(new RMSMeasure(row.Idx, row.ChannelId, row.LowFreq, row.HighFreq)); break;

                    case MeasureType.MeasureType_P2P: MeasureList.Add(new PeakToPeakMeasure(row.Idx, row.ChannelId)); break;

                    case MeasureType.MeasureType_PK: MeasureList.Add(new PeakMeasure(row.Idx, row.ChannelId)); break;

                    case MeasureType.MeasureType_LiftShock: MeasureList.Add(new Lift_ShockMeasure(row.Idx, row.ChannelId, row.Interval1, row.Interval2, row.Interval3)); break;

                    case MeasureType.MeasureType_LiftMove: MeasureList.Add(new Lift_MoveMeasure(row.Idx, row.ChannelId, row.Interval1, row.Interval2, row.Interval3)); break;
                    }
                }

                foreach (var row in SQLRepository.ReceiverCache.Values)
                {
                    switch ((ReceiverType)row.ReceiverType)
                    {
                    case ReceiverType.ReceiverType_Vdpm: ReceiverList.Add(new VDPMReceiver(row.Ip)); break;

                    case ReceiverType.ReceiverType_File: ReceiverList.Add(new FileReceiver(row.FilePath, SerializerUtil.ToSerializer(row.SerializerType))); break;

                    case ReceiverType.ReceiverType_Network: ReceiverList.Add(new NetworkReceiver(row.Ip, row.Port, SerializerUtil.ToSerializer(row.SerializerType))); break;

                    case ReceiverType.ReceiverType_Simulate: ReceiverList.Add(new SimulateReceiver()); break;
                    }
                }
            }
            if (File.Exists("Config.dat"))
            {
                using (FileStream fStream = new FileStream("Config.dat", FileMode.Open))
                {
                    while (fStream.Position != fStream.Length)
                    {
                        ConfigPacket packet = new ConfigPacket();
                        packet.Read(fStream);
                        UnPacking(packet);
                    }
                }
            }

            FFTChart.Axes.Bottom.Maximum = Settings.Default.AsyncFMax;
            TrendChart.Axes.Bottom.Labels.DateTimeFormat = "yyyy.M.d\nHH:mm:ss";

            lb_Receiver.DataSource = ReceiverList;
            lb_Measure.DataSource  = MeasureList;
            lb_Recoder.DataSource  = RecoderList;

            AddButtons         = new SimpleButton[] { btn_AddMeasure, btn_AddRceive, btn_AddRecode };
            btn_AddMeasure.Tag = new MeasureEditForm(MeasureList.LastOrDefault());
            btn_AddRceive.Tag  = new ReceiverEditForm();
            btn_AddRecode.Tag  = new RecoderEditForm();
            foreach (var btn in AddButtons)
            {
                btn.Click += AddBtn_Click;
            }

            DelButtons         = new SimpleButton[] { btn_DelMeasure, btn_DelReceive, btn_DelRecode };
            btn_DelReceive.Tag = lb_Receiver;
            btn_DelMeasure.Tag = lb_Measure;
            btn_DelRecode.Tag  = lb_Recoder;
            foreach (var btn in DelButtons)
            {
                btn.Click += DelBtn_Click;
            }
        }