Esempio n. 1
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);
        }
Esempio n. 2
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;
        }
Esempio n. 3
0
 public UC8S4_Pulse(DataTreatment _dataTreatment, PulseAlgo pulse)
 {
     dataTreatment  = _dataTreatment;
     pulseAlgorithm = pulse;
 }