Exemplo n.º 1
0
        public void DoWork()
        {
            MasterProcess masterProcess = new MasterProcess();

            masterProcess.ProcessID = Master.CurrentProcess.Id;
            masterProcess.ID        = masterProcess.HostName + "=" + masterProcess.ProcessID;
            while (true)
            {
                try
                {
                    masterProcess.StartDateTime = DateTime.Now;
                    IdQuery <MasterProcess>       idQuery      = new IdQuery <MasterProcess>(Master.CurrentProcess.Id);
                    IChangeResult <MasterProcess> changeResult = Master.SpaceProxy.Change <MasterProcess>(idQuery, new ChangeSet().Set("LastUpdateDateTime", DateTime.Now).Lease(5000));
                    if (changeResult.NumberOfChangedEntries == 0)
                    {
                        WriteHeartBeat(masterProcess);
                    }
                    Thread.Sleep(timeout);
                }
                catch (Exception)
                {
                    // do nothing
                }
                Thread.Sleep(timeout);
            }
        }
        /// <summary>
        /// Check how close we are to objects and stop if necessary.
        /// </summary>
        private void _distanceSensor_Updated(object sender, IChangeResult <Meadow.Units.Length> result)
        {
            if (result.New == null)
            {
                return;
            }

            if (result.New < new Length(0, LU.Millimeters))
            {
                Console.WriteLine("Out of range.");
                EnableDriveSystem();
            }
            else
            {
                Console.WriteLine($"Range to object: {result.New.Millimeters} mm");
                if (result.New < new Length(40, LU.Millimeters))
                {
                    EmergencyStop();
                }
                else
                {
                    EnableDriveSystem();
                }
            }
        }
Exemplo n.º 3
0
        void JoystickUpdated(object sender, IChangeResult <JoystickPosition> e)
        {
            if (e.New.Horizontal < 0.2f)
            {
                Left.SetBrightness(0f);
                Right.SetBrightness(0f);
            }
            if (e.New.Vertical < 0.2f)
            {
                Up.SetBrightness(0f);
                Down.SetBrightness(0f);
            }

            if (e.New.Horizontal > 0)
            {
                Left.SetBrightness(e.New.Horizontal.Value);
            }
            else
            {
                Right.SetBrightness(Math.Abs(e.New.Horizontal.Value));
            }

            if (e.New.Vertical > 0)
            {
                Down.SetBrightness(Math.Abs(e.New.Vertical.Value));
            }
            else
            {
                Up.SetBrightness(Math.Abs(e.New.Vertical.Value));
            }

            Console.WriteLine($"({e.New.Horizontal.Value}, {e.New.Vertical.Value})");
        }
        public void DoWork()
        {
            WorkerProcess workerProcess = new WorkerProcess();

            workerProcess.ProcessID = Worker.CurrentProcess.Id;
            workerProcess.ID        = workerProcess.HostName + "=" + workerProcess.ProcessID;
            while (true)
            {
                try
                {
                    workerProcess.StartDateTime = DateTime.Now;
                    IdQuery <WorkerProcess> idQuery = new IdQuery <WorkerProcess>(workerProcess.ID);
                    //IChangeResult<WorkerProcess> changeResult = Worker.SpaceProxy.Change<WorkerProcess>(idQuery, new ChangeSet().Set("LastUpdateDateTime", DateTime.Now).Lease(10000));
                    IChangeResult <WorkerProcess> changeResult = Worker.ComputeSpaceProxy.Change <WorkerProcess>(idQuery, new ChangeSet().Lease(10000).Set("Priority", Worker.Priority));
                    if (changeResult.NumberOfChangedEntries == 0)
                    {
                        WriteHeartBeat(workerProcess);
                    }
                    Thread.Sleep(timeout);
                }
                catch (Exception)
                {
                    // do nothing
                }
            }
        }
        void AnalogTemperatureTemperatureUpdated(object sender, IChangeResult <Meadow.Units.Temperature> e)
        {
            graphics.DrawRectangle(
                x: 48,
                y: 160,
                width: 144,
                height: 40,
                color: colors[colors.Length - 1],
                filled: true);

            graphics.DrawText(
                x: 48, y: 160,
                text: $"{e.New.Celsius:00.0}°C",
                color: Color.White,
                scaleFactor: ScaleFactor.X2);

            graphics.Show();
        }
Exemplo n.º 6
0
    public void ChangeSet()
    {
        User user = new User();

        user.Id     = 1L;
        user.Name   = "John Dow";
        user.Status = EAccountStatus.ACTIVE;
        proxy.Write(user);

        IdQuery <User>       idQuery      = new IdQuery <User>(1L);
        IChangeResult <User> changeResult =
            proxy.Change <User>(idQuery,
                                new ChangeSet().Set("Name", "Testing"));

        if (changeResult.NumberOfChangedEntries == 0)
        {
            Console.WriteLine("Entry does not exist");
        }
    }