コード例 #1
0
        public RealTimeStatusDataViewModel(RealTimeStatusDataModel RealTimeStatusDataModel, PrinterViewModel PrinterViewModel, SerialCommunicationCommandSetsModel SerialCommunicationCommandSetsModel, ErrorListViewModel ErrorListViewModel)
        {
            _realTimeStatusDataModel             = RealTimeStatusDataModel;
            _printerViewModel                    = PrinterViewModel;
            _serialCommunicationCommandSetsModel = SerialCommunicationCommandSetsModel;
            _errorListViewModel                  = ErrorListViewModel;

            Initialize();

            //Subscribe to events.
            _realTimeStatusDataModel.RecordSetAxisExecuted += new RecordSetAxisExecutedEventHandler(UpdateRecordSetAxis);
            _realTimeStatusDataModel.RecordSetMotorizedPrintheadExecuted += new RecordSetMotorizedPrintheadExecutedEventHandler(UpdateSetPrinthead);
            _realTimeStatusDataModel.RecordSetValvePrintheadExecuted     += new RecordSetValvePrintheadExecutedEventHandler(UpdateSetPrinthead);
            _realTimeStatusDataModel.RecordMoveAxesExecuted += new RecordMoveAxesExecutedEventHandler(UpdateRecordMoveAxes);
            _realTimeStatusDataModel.RecordMotorizedPrintWithMovementExecuted    += new RecordMotorizedPrintWithMovementExecutedEventHandler(UpdateRecordMotorizedPrintWithMovement);
            _realTimeStatusDataModel.RecordValvePrintWithMovementExecuted        += new RecordValvePrintWithMovementExecutedEventHandler(UpdateRecordValvePrintWithMovement);
            _realTimeStatusDataModel.RecordMotorizedPrintWithoutMovementExecuted += new RecordMotorizedPrintWithoutMovementExecutedEventHandler(UpdateRecordMotorizedPrintWithoutMovement);
            _realTimeStatusDataModel.RecordValvePrintWithoutMovementExecuted     += new RecordValvePrintWithoutMovementExecutedEventHandler(UpdateRecordValvePrintWithoutMovement);
            _realTimeStatusDataModel.RecordValveCloseExecuted  += new RecordValveCloseExecutedEventHandler(UpdateRecordValveClose);
            _realTimeStatusDataModel.TaskQueuedMessagesUpdated += new TaskQueuedMessagesUpdatedEventHandler(UpdateTaskQueuedMessages);
            _realTimeStatusDataModel.ErrorMessagesUpdated      += new ErrorMessagesUpdatedEventHandler(UpdateErrorMessages);

            _realTimeStatusDataModel.RecordLimitExecuted += new RecordLimitExecutedEventHandler(UpdatePositions);

            _realTimeStatusDataModel.RealTimeStatusDataAborted += new RealTimeStatusDataAbortedEventHandler(Abort);

            _serialCommunicationCommandSetsModel.CommandSetPositionChanged += new CommandSetPositionChangedEventHandler(UpdatePositions);
        }
コード例 #2
0
        public PrintExecuteViewModel(GCodeManagerViewModel GCodeManagerViewModel,
                                     RealTimeStatusDataModel RealTimeStatusDataModel, CalibrationViewModel CalibrationViewModel,
                                     SerialCommunicationViewModel SerialCommunicationViewModel, SerialCommunicationOutgoingMessagesModel SerialCommunicationOutgoingMessagesModel,
                                     SerialMessageDisplayViewModel SerialMessageDisplayViewModel, PrintViewModel PrintViewModel)
        {
            _gCodeManagerViewModel                    = GCodeManagerViewModel;
            _realTimeStatusDataModel                  = RealTimeStatusDataModel;
            _calibrationViewModel                     = CalibrationViewModel;
            _serialCommunicationViewModel             = SerialCommunicationViewModel;
            _serialCommunicationOutgoingMessagesModel = SerialCommunicationOutgoingMessagesModel;
            _serialMessageDisplayViewModel            = SerialMessageDisplayViewModel;
            _printViewModel = PrintViewModel;

            _gCodeManagerViewModel.GCodeFileUploaded      += new GCodeFileUploadedEventHandler(UpdateUploadedGCode);
            _printViewModel.PrintViewModelRepRapIDChanged += new PrintViewModelRepRapIDChanged(UpdateRepRapIDSet);

            _serialCommunicationViewModel.SerialCommunicationMainModel.SerialConnectionChanged                   += new SerialConnectionChangedEventHandler(UpdateSerialConnection);
            _serialCommunicationViewModel.SerialCommunicationMainModel.SerialCommunicationCompleted              += new SerialCommunicationCompletedEventHandler(UpdatePrintFinished);
            _serialCommunicationViewModel.SerialCommunicationMainModel.SerialCommunicationPrintSequencePaused    += new SerialCommunicationPrintSequencePausedEventHandler(UpdatePrintSequencePaused);
            _serialCommunicationViewModel.SerialCommunicationMainModel.SerialCommunicationMicrocontrollerResumed += new SerialCommunicationMicrocontrollerResumedEventHandler(UpdateMicrocontrollerResumed);

            _realTimeStatusDataModel.RecordSetMotorizedPrintheadExecuted += new RecordSetMotorizedPrintheadExecutedEventHandler(UpdateActivePrintheadType);
            _realTimeStatusDataModel.RecordSetValvePrintheadExecuted     += new RecordSetValvePrintheadExecutedEventHandler(UpdateActivePrintheadType);
            _realTimeStatusDataModel.RecordLimitExecuted += new RecordLimitExecutedEventHandler(UpdateLimitHit);

            _calibrationViewModel.CalibrationModel.CalibrationBegun += new CalibrationBegunEventHandler(UpdateCalibrationBegun);
        }
コード例 #3
0
        public GCodeConverterModel(PrinterModel PrinterModel, PrintModel PrintModel, RealTimeStatusDataModel RealTimeStatusDataModel, ErrorListViewModel ErrorListViewModel)
        {
            _printerModel            = PrinterModel;
            _printModel              = PrintModel;
            _realTimeStatusDataModel = RealTimeStatusDataModel;
            _errorListViewModel      = ErrorListViewModel;

            InstantiateGCodeConverterClasses();
        }
コード例 #4
0
        public ProcessTCommandModel(PrintModel PrintModel, PrinterModel PrinterModel, RealTimeStatusDataModel RealTimeStatusDataModel, ParametersModel ParametersModel)
        {
            _printModel              = PrintModel;
            _printerModel            = PrinterModel;
            _realTimeStatusDataModel = RealTimeStatusDataModel;

            _parametersModel = ParametersModel;

            _setWritePrintheadModel = new SetWritePrintheadModel(_parametersModel);
            _writeSetAxisModel      = new WriteSetAxisModel(_parametersModel);
        }
コード例 #5
0
        public CalibrationModel(RealTimeStatusDataModel RealTimeStatusDataModel, PrinterModel PrinterModel, SerialCommunicationOutgoingMessagesModel SerialCommunicationOutgoingMessagesModel, ErrorListViewModel ErrorListViewModel)
        {
            _realTimeStatusDataModel = RealTimeStatusDataModel;
            _printerModel            = PrinterModel;
            _serialCommunicationOutgoingMessagesModel = SerialCommunicationOutgoingMessagesModel;

            ParametersModel parametersModel = new ParametersModel(_printerModel, null);

            _writeSetAxisModel = new WriteSetAxisModel(parametersModel);

            _errorListViewModel = ErrorListViewModel;
        }
コード例 #6
0
        public ManualControlModel(PrinterModel PrinterModel, SerialCommunicationOutgoingMessagesModel SerialCommunicationOutgoingMessagesModel,
                                  RealTimeStatusDataModel RealTimeStatusDataModel, ErrorListViewModel ErrorListViewModel)
        {
            _printerModel = PrinterModel;
            _serialCommunicationOutgoingMessagesModel = SerialCommunicationOutgoingMessagesModel;
            _realTimeStatusDataModel = RealTimeStatusDataModel;
            _errorListViewModel      = ErrorListViewModel;

            ParametersModel parametersModel = new ParametersModel(_printerModel, null);

            _writeSetPrintheadModel = new WriteSetPrintheadModel(parametersModel);
            _writeSetAxisModel      = new WriteSetAxisModel(parametersModel);
        }
コード例 #7
0
        public MainViewModel()
        {
            //Error Handling.
            _errorListViewModel = new ErrorListViewModel();

            //Printer Model.
            _printerModel = new PrinterModel();

            //Print Model.
            _printModel = new PrintModel(_printerModel);

            //Serial Communication Incoming and Outgoing Message Interpreter.
            _realTimeStatusDataModel = new RealTimeStatusDataModel(_printerModel);

            //Serial Communication.
            _serialCommunicationOutgoingMessagesModel = new SerialCommunicationOutgoingMessagesModel();
            _serialCommunicationMainModel             = new SerialCommunicationMainModel(_serialCommunicationOutgoingMessagesModel, _printerModel, _printModel, _realTimeStatusDataModel, _errorListViewModel);
            _serialMessageDisplayViewModel            = new SerialMessageDisplayViewModel();
            _serialCommunicationViewModel             = new SerialCommunicationViewModel(_serialCommunicationMainModel, _serialCommunicationOutgoingMessagesModel, _serialMessageDisplayViewModel);

            //Printer View Model.
            _printerViewModel = new PrinterViewModel(_printerModel, _serialCommunicationMainModel.SerialCommunicationCommandSetsModel);

            //Print View Model.
            _printViewModel = new PrintViewModel(_printModel, _serialMessageDisplayViewModel);

            //Real Time Status.
            _realTimeStatusSerialInterpreterModel = new RealTimeStatusSerialInterpreterModel(_serialCommunicationMainModel, _printerModel, _printerViewModel, _realTimeStatusDataModel, _errorListViewModel);
            _realTimeStatusDataViewModel          = new RealTimeStatusDataViewModel(_realTimeStatusDataModel, _printerViewModel, _serialCommunicationMainModel.SerialCommunicationCommandSetsModel, _errorListViewModel);

            //Manual Commmands and Calibration.
            _manualControlModel     = new ManualControlModel(_printerModel, _serialCommunicationOutgoingMessagesModel, _realTimeStatusDataModel, _errorListViewModel);
            _calibrationModel       = new CalibrationModel(_realTimeStatusDataModel, _printerModel, _serialCommunicationOutgoingMessagesModel, _errorListViewModel);
            _manualControlViewModel = new ManualControlViewModel(_manualControlModel, _realTimeStatusDataViewModel, _printerViewModel);
            _calibrationViewModel   = new CalibrationViewModel(_calibrationModel, _manualControlViewModel, _realTimeStatusDataViewModel, _printerViewModel);

            //GCode.
            _uploadedGCodeModel    = new GCodeModel();
            _gCodeFileManagerModel = new GCodeFileManagerModel(_uploadedGCodeModel, _errorListViewModel);
            _gCodeConverterModel   = new GCodeConverterModel(_printerModel, _printModel, _realTimeStatusDataModel, _errorListViewModel);
            _gcodeManagerViewModel = new GCodeManagerViewModel(_gCodeFileManagerModel, _gCodeConverterModel, _printViewModel);

            //Printing.
            _printExecuteViewModel = new PrintExecuteViewModel(_gcodeManagerViewModel, _realTimeStatusDataModel, _calibrationViewModel, _serialCommunicationViewModel, _serialCommunicationOutgoingMessagesModel, _serialMessageDisplayViewModel, _printViewModel);

            //Settings.
            _saveLoadViewModel = new SaveLoadViewModel(_gcodeManagerViewModel, _printerViewModel, _printViewModel, _errorListViewModel);

            //Unset Main Window.
            _unsetMainViewModel = new UnsetMainViewModel();
        }
        public SerialCommunicationCommandSetsModel(
            RealTimeStatusDataModel RealTimeStatusDataModel, SerialCommunicationMainModel SerialCommunicationMainModel, PrinterModel PrinterModel, PrintModel PrintModel, ErrorListViewModel ErrorListViewModel)
        {
            _realTimeStatusDataModel      = RealTimeStatusDataModel;
            _serialCommunicationMainModel = SerialCommunicationMainModel;
            _printerModel       = PrinterModel;
            _printModel         = PrintModel;
            _errorListViewModel = ErrorListViewModel;

            ParametersModel parametersModel = new ParametersModel(_printerModel, null);

            _writeSetAxisModel      = new WriteSetAxisModel(parametersModel);
            _setWritePrintheadModel = new SetWritePrintheadModel(parametersModel);
        }
コード例 #9
0
        public SerialCommunicationMainModel(SerialCommunicationOutgoingMessagesModel SerialCommunicationOutgoingMessagesModel,
                                            PrinterModel PrinterModel, PrintModel PrintModel,
                                            RealTimeStatusDataModel RealTimeStatusDataModel, ErrorListViewModel ErrorListViewModel)
        {
            _serialCommunicationOutgoingMessagesModel = SerialCommunicationOutgoingMessagesModel;
            _realTimeStatusDataModel = RealTimeStatusDataModel;
            _errorReporterViewModel  = new ErrorReporterViewModel(ErrorListViewModel);

            _serialCommunicationCommandSetsModel = new SerialCommunicationCommandSetsModel(_realTimeStatusDataModel, this, PrinterModel, PrintModel, ErrorListViewModel);

            InitializeSerialPort();

            _serialCommunicationOutgoingMessagesModel.OutgoingMessageAdded += new OutgoingMessageAddedEventHandler(SendNextMessage);
        }