public PeriodicRealtimeThreadSchedulerFactory(int priority) { this.priority = new PriorityParameters(priority); }
public static void startController(WandererController wandererController) { AcsellSetup.startStreamingData(); YoVariableRegistry registry = new YoVariableRegistry("wanderer"); WandererRobotModel robotModel = new WandererRobotModel(true, true); PeriodicThreadSchedulerFactory scheduler = new PeriodicRealtimeThreadSchedulerFactory(45); YoVariableServer variableServer = new YoVariableServer(WandererSingleThreadedController.class, scheduler, robotModel.getLogModelProvider(), robotModel.getLogSettings(), 0.01); AcsellSetup wandererSetup = new AcsellSetup(variableServer); PriorityParameters priority = new PriorityParameters(PriorityParameters.getMaximumPriority()); WandererSingleThreadedController communicator = new WandererSingleThreadedController(robotModel, priority, variableServer, wandererController, registry); variableServer.start(); wandererSetup.start(); communicator.start(); ThreadTools.sleepForever(); }
threadID = RealtimeNative.createThread(this, priorityParameters.getPriority(), periodic, startOnClock, startSeconds, startNanos, periodSeconds, periodNanos); this.runnable = runnable; if(name != null)
public static void startController(StepprController stepprController) { AcsellSetup.startStreamingData(); YoVariableRegistry registry = new YoVariableRegistry("steppr"); BonoRobotModel robotModel = new BonoRobotModel(true, true); PeriodicThreadSchedulerFactory scheduler = new PeriodicRealtimeThreadSchedulerFactory(45); YoVariableServer variableServer = new YoVariableServer(StepprSingleThreadedController.class, scheduler, robotModel.getLogModelProvider(), robotModel.getLogSettings(), 0.01); AcsellSetup stepprSetup = new AcsellSetup(variableServer); PriorityParameters priority = new PriorityParameters(PriorityParameters.getMaximumPriority()); StepprSingleThreadedController communicator = new StepprSingleThreadedController(robotModel, priority, variableServer, stepprController, registry); variableServer.start(); stepprSetup.start(); communicator.start(); ThreadTools.sleepForever(); }
threadID = RealtimeNative.createThread(this, priorityParameters.getPriority(), periodic, startOnClock, startSeconds, startNanos, periodSeconds, periodNanos); this.runnable = runnable; if(name != null)
public PeriodicRealtimeThreadScheduler(String name, int priority) { this(name, new PriorityParameters(priority)); }
public PeriodicRealtimeThreadSchedulerFactory(int priority) { this.priority = new PriorityParameters(priority); }
public PeriodicRealtimeThreadScheduler(String name, int priority) { this(name, new PriorityParameters(priority)); }
public PeriodicRealtimeThreadScheduler(int priority) { this(null, new PriorityParameters(priority)); }
public PeriodicRealtimeThreadScheduler(int priority) { this(null, new PriorityParameters(priority)); }
/** * * Get a relative priority. Useful for cross platform code. * * @param relativePriority priority between 0 and 100, where 100 is the maximum priority * @return PriorityParameters */ public static PriorityParameters getRelativePriority(int relativePriority) { if(relativePriority < 0 || relativePriority > 100) { throw new RuntimeException("The relative priority needs to be in the range from 0 to 100"); } int priorityRange = maximumPriority - minimumPriority; int absolutePriority = minimumPriority + ((priorityRange * relativePriority) / 100); return new PriorityParameters(absolutePriority); } }
/** * * Get a relative priority. Useful for cross platform code. * * @param relativePriority priority between 0 and 100, where 100 is the maximum priority * @return PriorityParameters */ public static PriorityParameters getRelativePriority(int relativePriority) { if(relativePriority < 0 || relativePriority > 100) { throw new RuntimeException("The relative priority needs to be in the range from 0 to 100"); } int priorityRange = maximumPriority - minimumPriority; int absolutePriority = minimumPriority + ((priorityRange * relativePriority) / 100); return new PriorityParameters(absolutePriority); } }
PriorityParameters priorityParameters = new PriorityParameters(99); PeriodicParameters periodicParameters = new PeriodicParameters(new MonotonicTime(0, periodInNS));
PriorityParameters priorityParameters = new PriorityParameters(99); PeriodicParameters periodicParameters = new PeriodicParameters(new MonotonicTime(0, periodInNS));