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); }
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(); }
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; } } }
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; } }