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(); } } }
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(); }
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"); } }