Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using ExpoMRF4Utility.ExpomRF4;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Threading;
- using System.Windows.Forms;
- namespace ExpoMRF4Utility
- {
- public interface IDeviceSettingsWin
- {
- void UpdateWindowParameter();
- }
- public interface IDeviceSettings
- {
- void GetLoggerSettings(ILoggerSettings loggerSettings);
- }
- public enum LoggerMode
- {
- Normal,
- Calibration
- }
- public class LoggerSettings : ILoggerSettings
- {
- public bool DataIsValid { get; set; }
- public int SampleInterval_ms { get; set; }
- public int NumberOfbands { get; set; }
- public MeasurementType MeasurementType { get; set; }
- public LoggerMode LoggerMode { get; set; }
- public List<IBandSettings> BandSettings { get; set; }
- public LoggerSettings()
- {
- DataIsValid = false;
- SampleInterval_ms = 0;
- NumberOfbands = 0;
- BandSettings = new List<IBandSettings>();
- MeasurementType = MeasurementType.Logger;
- LoggerMode = LoggerMode.Normal;
- }
- public void ValidateLoggerSettings()
- {
- if (NumberOfbands == 0)
- throw new InvalidLoggerSettings_Exceptions("LoggerSettings: no band settings available!");
- if (NumberOfbands > DeviceSettingsWin.CMaxNumberOfLoggerBands)
- throw new InvalidLoggerSettings_Exceptions("Number of bands exceeds maximum allowed bands!");
- if (SampleInterval_ms == 0)
- throw new InvalidLoggerSettings_Exceptions("Invalid sample interval (\"0\")!");
- DataIsValid = true;
- }
- }
- public class LoggerSettingsManager
- {
- public LoggerSettings LoggerSettings { get; private set; }
- readonly IDeviceSettingsWin _deviceSettingsWin;
- readonly IDeviceSettings _deviceSettings;
- readonly bool _developerMode;
- public LoggerSettingsManager(
- IDeviceSettingsWin deviceSettingsWin,
- IDeviceSettings deviceSettings,
- bool developerMode)
- {
- _deviceSettingsWin = deviceSettingsWin;
- _deviceSettings = deviceSettings;
- _developerMode = developerMode;
- LoggerSettings = new LoggerSettings();
- }
- public void UpdateLoggerSettings(string measurementType)
- {
- if (_developerMode)
- LoggerSettings.MeasurementType = MeasurementType.Parse(measurementType);
- else
- LoggerSettings.MeasurementType = MeasurementType.Logger;
- try
- {
- _deviceSettings.GetLoggerSettings(LoggerSettings);
- if (LoggerSettings.DataIsValid)
- _deviceSettingsWin.UpdateWindowParameter();
- }
- catch (ArgumentException ex)
- {
- MessageBox.Show("Requesting Data Logger Settings: Packet contained invalid time stamps\n\n" +
- ex.Message + "\n\n" + ex.StackTrace);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement