示例#1
0
        public MicrocontrollerViewModel(MicrocontrollerModel MicrocontrollerModel, GPIOPinListsViewModel GPIOPinListsViewModel)
        {
            _microcontrollerModel  = MicrocontrollerModel;
            _gPIOPinListsViewModel = GPIOPinListsViewModel;

            //Populates the GPIOPinViewModelList based on its model counterpart.
            foreach (GPIOPinModel gPIOPinModel in _microcontrollerModel.GPIOPinModelList)
            {
                GPIOPinViewModel pinViewModel = null;

                if (gPIOPinModel.GetType() == typeof(PWMPinModel))
                {
                    pinViewModel = new PWMPinViewModel((PWMPinModel)gPIOPinModel);
                }
                else if (gPIOPinModel.GetType() == typeof(CommunicationPinModel))
                {
                    pinViewModel = new CommunicationPinViewModel((CommunicationPinModel)gPIOPinModel);
                }
                else if (gPIOPinModel.GetType() == typeof(AnalogInPinModel))
                {
                    pinViewModel = new AnalogInPinViewModel((AnalogInPinModel)gPIOPinModel);
                }
                else if (gPIOPinModel.GetType() == typeof(DigitalPinModel))
                {
                    pinViewModel = new DigitalPinViewModel((DigitalPinModel)gPIOPinModel);
                }

                if (pinViewModel != null)
                {
                    _gPIOPinViewModelList.Add(pinViewModel);
                    //Populates the lists in GPIOPinListsViewModel.
                    _gPIOPinListsViewModel.AppendPinSettingList(pinViewModel);
                }
            }
        }
示例#2
0
        /// <summary>
        /// Builds a minimal printer with an X Axis, a Y Axis, a Z Axis, and one Printhead.
        /// </summary>
        public PrinterModel()
        {
            _microcontrollerModel = new MicrocontrollerModel();

            _axisModelList.Add(new AxisModel("X Actuator", 'X'));
            _axisModelList.Add(new AxisModel("Y Actuator", 'Y'));
            AddZAxis();

            AddPrinthead();
        }
示例#3
0
        public ValuesModel UpdateDatabase(MicrocontrollerModel item)
        {
            var result = new ValuesModel();

            string url = item.IPAddress;
            int    id  = item.Id;

            if (!String.IsNullOrEmpty(url))
            {
                result.MicrocontrollerID = id;
                result.Temperature       = GetTemperature(url);
                result.DoorOpen          = GetDoorOpen(url);
                result.Dust     = GetDust(url);
                result.DateTime = DateTime.Now;
                result.Humidity = GetHumidity(url);
                result.Power    = GetPower(url);
            }
            return(result);
        }