Example #1
0
        public void SetPort(Port Port)
        {
            this.Port = Port;

            if (Port is InPort)
            {
                DefaultValue.transform.parent.gameObject.SetActive(true);
                DefaultValueType.transform.parent.gameObject.SetActive(true);

                Name.text        = Port.Name;
                Types.text       = Port.TypesToString();
                Description.text = Port.Description;

                DefaultValue dv;
                if (Port.Component.Graph.DefaultValuesByInPort.TryGetValue(Port as InPort, out dv))
                {
                    DefaultValue.text     = DataTreatment.GetDataRepresentative(dv.Data);
                    DefaultValueType.text = DataTreatment.GetDataType(dv.Data);
                }
                else
                {
                    DefaultValue.text     = "";
                    DefaultValueType.text = "";
                }
            }
            else
            {
                DefaultValue.transform.parent.gameObject.SetActive(false);
                DefaultValueType.transform.parent.gameObject.SetActive(false);

                Name.text        = Port.Name;
                Types.text       = Port.TypesToString();
                Description.text = Port.Description;
            }
        }
Example #2
0
 public void RefreshDefaultValueShown()
 {
     if (UpdateDV())
     {
         DefaultValueInput.text = DataTreatment.GetDataRepresentative(dv.Data);
     }
     else
     {
         DefaultValueInput.text = "";
     }
 }
Example #3
0
        public Form1()
        {
            BlockingCollection <RawData> rawData = new BlockingCollection <RawData>();
            DAQ daq = new DAQ();

            converter = new ConvertAlgo();
            IDAQ transducerdaq = new TransducerDAQ(daq, rawData);

            dataTreatment = new DataTreatment(rawData, converter);
            Measure       = new UC2M2_UC3M3_Measure(transducerdaq, dataTreatment);
            InitializeComponent();
            dataTreatment.Attach(this); // Lars
            GUIgraphList = new List <ConvertedData>();
        }
Example #4
0
        static void Main(string[] args)
        {
            BlockingCollection <RawData> rawData = new BlockingCollection <RawData>();
            DAQ daq = new DAQ();

            IDAQ transducerdaq = new TransducerDAQ(daq, rawData);
            UC2M2_UC3M3_Measure newMeasurement = new UC2M2_UC3M3_Measure(transducerdaq);
            DataTreatment       dataTreatment  = new DataTreatment(rawData);


            newMeasurement.StartMeasurement();
            dataTreatment.ShowData();

            Console.ReadKey();
        }
Example #5
0
        public void Update(DataTreatment dataTreatmentRef)
        {
            if (FilterRB.Checked == true)
            {
                // graphList = FilterRef.GetFiltredGraphList();
                //Add this when we are testing the filter
            }

            if (FilterRB.Checked == false)
            {
                graphList = dataTreatmentRef.GetGraphList();
            }

            UpdateGraph(graphList);

            // BloodPressureAlgoRef.WindowOfConvertedData(graphList, PulseAlgoRef.PulseValue); // kalder metoden for at finde blodtryksværdier
            // IPulseRef.FindPulse();
            // Add these two when we are ready to test the pulse algorithm
        }
Example #6
0
        public MainGUI(DataTreatment data, IMeasure measure, LoginToCalibrateGUI login, ZeroAdjustmentGUI zeroAdjustmentGui, IAlarm _alarm, IPulse _pulse, BloodPressureAlgo bpAlgo, IFilter filter, SaveDataGUI saveGUI, ChangeLimitsGUI change, CalibrateGUI _calibrateGui)
        {
            InitializeComponent();
            ZeroAdjustmentGui = zeroAdjustmentGui;
            alarm             = _alarm;
            pulse             = _pulse;
            bp              = bpAlgo;
            FilterRef       = filter;
            SaveGUI         = saveGUI;
            ChangeLimitsGUI = change;
            calibrateGUI    = _calibrateGui;

            this.Visible = false; // Vinduet skjules til en start, og kommer kun frem hvis nulpunktsjusteringen foretages
            ZeroAdjustmentGui.ShowDialog();

            if (ZeroAdjustmentGui.IsZeroAdjustmentMeasured == true)
            {
                this.Visible   = true;
                StartB.Enabled = true; // knappen er til at starte med ikke enable, bliver først hvis nulpunktsjusteringen udføres
            }
            else
            {
                this.Close(); // denne skal være der for at man ikke bare kan lukke login vinduet og så vil hovedvinduet komme frem, den vil nu lukke
            }
            //muteAlarmWorker = new BackgroundWorker();
            //muteAlarmWorker.DoWork += new DoWorkEventHandler(muteAlarmWorker_muteAlarm); // Her ændres metoden doWork til det vi vil have den til.
            //muteAlarmWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(muteAlarmWorker_completeMute); // Her ændres completemetoden til det vi vil have den til.
            //alarmType = new HighAlarm();

            //ActiveAlarm = new BackgroundWorker();
            //ActiveAlarm.DoWork += new DoWorkEventHandler(ActiveAlarmUpdate_doWork);
            //ActiveAlarm.RunWorkerCompleted += new RunWorkerCompletedEventHandler(DeactiveAlarmUpdate);
            //ActiveAlarm.RunWorkerAsync();

            dataTreatment = data;
            Measure       = measure;
            Login         = login;
            dataTreatment.Attach(this); // metoden findes ikke (virker nu da IDataTreatment er udkommenteret, og det isetdet er DataTreatment vi kalder igennem)
            graphList = new List <double>();

            kaliTekst_L.Text = "Sidste kalibrering blev udført " + today; // opdatere kalibreringstekst i mainGUI
        }
Example #7
0
        static void Main()
        {
            BlockingCollection <double> rawCollection         = new BlockingCollection <double>();
            BlockingCollection <double> graphCollection       = new BlockingCollection <double>();
            BlockingCollection <double> calibrationCollection = new BlockingCollection <double>();
            BlockingCollection <double> alarmCollection       = new BlockingCollection <double>();
            BlockingCollection <double> filterCollection      = new BlockingCollection <double>();

            DAQ               daq         = new DAQ();
            ConvertAlgo       convertAlgo = new ConvertAlgo();
            BloodPressureAlgo bpAlgo      = new BloodPressureAlgo();
            PulseAlgo         pulseAlgo   = new PulseAlgo();

            IDAQ       transducerdaq = new TransducerDAQ(daq, rawCollection, calibrationCollection);
            IData      data          = new Database();
            IAlarmType alarmType     = new HighAlarm();
            ILimits    limits        = new UC9S5_Limits();


            IAlarm  alarm                      = new UC5S1_Alarm(alarmCollection, limits, alarmType, bpAlgo);
            IFilter filter                     = new UC7S3_Filter(filterCollection, data, convertAlgo);
            UC1M1_ZeroAdjustment uc1           = new UC1M1_ZeroAdjustment(calibrationCollection, transducerdaq);
            DataTreatment        dataTreatment = new DataTreatment(rawCollection, graphCollection, filterCollection, alarmCollection, convertAlgo, data, alarm, uc1);
            IMeasure             measurement   = new UC2M2_UC3M3_Measure(transducerdaq, dataTreatment, alarm, filter);
            ICalibrate           calibrate     = new UC6S2_Calibrate(calibrationCollection, transducerdaq, data);
            IZeroAdjustment      zero          = new UC1M1_ZeroAdjustment(calibrationCollection, transducerdaq);
            IPulse pulse = new UC8S4_Pulse(dataTreatment, pulseAlgo);
            ISave  save  = new UC4M4_SaveData(data, dataTreatment);

            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            ZeroAdjustmentGUI   zeroAdjustment = new ZeroAdjustmentGUI(zero);
            CalibrateGUI        calibrateGUI   = new CalibrateGUI(calibrate, measurement);
            LoginToCalibrateGUI login          = new LoginToCalibrateGUI(calibrateGUI);
            SaveDataGUI         saveGUI        = new SaveDataGUI(save);
            ChangeLimitsGUI     limitsGUI      = new ChangeLimitsGUI(limits);
            MainGUI             gui            = new MainGUI(dataTreatment, measurement, login, zeroAdjustment, alarm, pulse, bpAlgo, filter, saveGUI, limitsGUI, calibrateGUI);

            Application.Run(gui);
        }
Example #8
0
        public MainGUI(DataTreatment data, ZeroAdjustmentGUI zeroAdjustmentGui, IFilter filterRef, BloodPressureAlgo bloodPressureAlgoRef, PulseAlgo pulseAlgoRef, IPulse iPulseRef, LoginToCalibrateGUI login)
        {
            InitializeComponent();
            zeroAdjustmentGUIRef = zeroAdjustmentGui;
            BloodPressureAlgoRef = bloodPressureAlgoRef;
            PulseAlgoRef         = pulseAlgoRef;
            PulseRef             = iPulseRef;
            loginGUIRef          = login;

            this.Visible = false; // Vinduet skjules til en start, og kommer kun frem hvis nulpunktsjusteringen foretages


            zeroAdjustmentGUIRef.ShowDialog();

            if (zeroAdjustmentGUIRef.IsZeroAdjustmentMeasured == true)
            {
                this.Visible   = true;
                StartB.Enabled = true; // knappen er til at starte med ikke enable, bliver først hvis nulpunktsjusteringen udføres
            }
            else
            {
                this.Close(); // denne skal være der for at man ikke bare kan lukke login vinduet og så vil hovedvinduet komme frem, den vil nu lukke
            }
            muteAlarmWorker                     = new BackgroundWorker();
            muteAlarmWorker.DoWork             += new DoWorkEventHandler(muteAlarmWorker_muteAlarm);                // Her ændres metoden doWork til det vi vil have den til.
            muteAlarmWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(muteAlarmWorker_completeMute); // Her ændres completemetoden til det vi vil have den til.
            alarmType = new HighAlarm();

            ActiveAlarm                     = new BackgroundWorker();
            ActiveAlarm.DoWork             += new DoWorkEventHandler(ActiveAlarmUpdate_doWork);
            ActiveAlarm.RunWorkerCompleted += new RunWorkerCompletedEventHandler(DeactiveAlarmUpdate);

            dataTreatment = data;
            dataTreatment.Attach(this); // metoden findes ikke (virker nu da IDataTreatment er udkommenteret, og det isetdet er DataTreatment vi kalder igennem)
            graphList = new List <ConvertedData>();

            //filterRef = new UC7S3_Filter();
            FilterRef = filterRef;
        }
 public void UpdateData()
 {
     Text.text = DataTreatment.GetDataRepresentative(DefaultValue.Data);
 }
Example #10
0
        public void Setup(InPort Port, NodeInfoDialog NodeInfoDialog)
        {
            this.Port     = Port;
            PortName.text = Port.Name;
            PortType.text = Port.TypesToString();

            PortNameButton.onClick.AddListener(() => NodeInfoDialog.SelectDetailsModeFor(this));

            bool contentHasChanged = false;

            DefaultValueInput.gameObject.AddComponent <UIEventRedirector>().Setup(() => {
                if (UpdateDV())
                {
                    DefaultValueInput.text = DataTreatment.GetDataEditable(dv.Data);
                }
                contentHasChanged = false;
            }, null);

            DefaultValueInput.onEndEdit.AddListener((s) => {
                if (contentHasChanged)
                {
                    //if (s == "") {
                    // TODO Delete default value
                    //    Port.Component.Graph.RemoveDefaultValue(Port);
                    //    Debug.Log("removing dv from port: " + Port.Name);
                    //} else {
                    // TODO Check data types, if string, ok.
                    // If number, try to parse.

                    if (UpdateDV())
                    {
                        dv.SetData(s);
                        RefreshDefaultValueShown();
                    }
                    else
                    {
                        Port.Component.Graph.AddDefaultValue(s, Port);
                        RefreshDefaultValueShown();
                    }
                    //}
                }
                else
                {
                    RefreshDefaultValueShown();
                }
            });

            DefaultValueInput.onValueChanged.AddListener((s) => {
                contentHasChanged = true;
            });

            SelectVariable.onClick.AddListener(() => {
                NodeInfoDialog.SelectVariableModeFor(this);
            });

            ClearVariable.onClick.AddListener(() => {
                Port.Component.Graph.RemoveDefaultValue(Port);
                RefreshDefaultValueShown();
            });

            RefreshDefaultValueShown();
        }