1 package com.neuronrobotics.sdk.pid;
 
    3 import java.util.ArrayList;
 
    4 import java.util.HashMap;
 
    6 import com.neuronrobotics.sdk.addons.kinematics.IHardwareSyncPulseProvider;
 
    7 import com.neuronrobotics.sdk.addons.kinematics.IHardwareSyncPulseReciver;
 
    8 import com.neuronrobotics.sdk.common.BowlerAbstractCommand;
 
    9 import com.neuronrobotics.sdk.common.BowlerDatagram;
 
   10 import com.neuronrobotics.sdk.common.InvalidConnectionException;
 
   11 import com.neuronrobotics.sdk.common.InvalidResponseException;
 
   12 import com.neuronrobotics.sdk.common.Log;
 
   13 import com.neuronrobotics.sdk.common.NoConnectionAvailableException;
 
   14 import com.neuronrobotics.sdk.util.ThreadUtil;
 
   29     private HashMap<Integer, PIDConfiguration> 
configs = 
new HashMap<>();
 
   32     private ArrayList<PDVelocityConfiguration> 
PDconfigs = 
new ArrayList<PDVelocityConfiguration>();
 
   66             throw new RuntimeException(
"Name of virtual device can not be null");
 
  134         ArrayList<String> s = 
new ArrayList<String>();
 
  162         RuntimeException r = 
new RuntimeException(
"This method is never supposed to be called in the virtual PID");
 
  192         long currentTimeMillis = System.currentTimeMillis();
 
  210             throw new RuntimeException(
"Saturated PID on channel: " + group + 
" Attempted Ticks Per Second: " 
  212                     + 
" sec: " + seconds);
 
  214             throw new RuntimeException(
"Saturated PID on channel: " + group + 
" Attempted Ticks Per Second: " 
  216                     + 
" sec: " + seconds);
 
  217         if (seconds < 0.1 && seconds > -0.1) {
 
  235         for (
int i = 0; i < data.length; i++) {
 
  238         Log.
info(
"Flushing in " + time + 
"ms");
 
  250         long start = System.currentTimeMillis();
 
  253             for (
int i = 0; i < setpoints.length; i++) {
 
  263             if (c.getGroup() == i) {
 
  268             System.err.println(c);
 
  271         throw new RuntimeException(
"Device is missing, id " + i);
 
  308                 for (
int i = 0; i < 
backs.length; i++) {
 
  323             for (
int i = 0; i < 
backs.length; i++)
 
  365             setName(
"Bowler Platform Virtual PID sync thread");
 
  373                 } 
catch (InterruptedException ex) {
 
  377                     time = System.currentTimeMillis();
 
  381                                 if (key.isEnabled()) {
 
  383                                         toUpdate[updateIndex++]=key;
 
  390                         for(
int i=0;i<updateIndex;i++) {
 
  397                             } 
catch (NullPointerException ex) {
 
  399                             } 
catch (Exception ex) {
 
  400                                 ex.printStackTrace();
 
  409                         } 
catch (InterruptedException e1) {
 
  411                             e1.printStackTrace();
 
void setScriptingName(String scriptingName)
 
void fireDisconnectEvent()
 
static void info(String message)
 
void setChannelCount(Integer channelCount)
 
void firePIDEvent(PIDEvent pidEvent)
 
ArrayList< PIDChannel > getChannels()
 
void setChannels(ArrayList< PIDChannel > channels)
 
PIDChannel getPIDChannel(int group)
 
AbstractPidNamespaceImp getImplementation()
 
void firePIDResetEvent(int group, float val)
 
boolean SetPIDInterpolatedVelocity(int group, int unitsPerSecond, double seconds)
 
synchronized void ResetEncoder(double value)
 
void SetVelocity(double unitsPerSecond)
 
boolean update(long time)
 
void StartLinearMotion(double setpoint, double seconds, long startTimeMs)
 
void setCachedTargetValue(float targetValue)
 
float getCachedTargetValue()
 
void setEnabled(boolean enabled)
 
void set(int chan, float tick, long time, int velocity)
 
void setPause(boolean pause)
 
float[] GetAllPIDPosition()
 
VirtualGenericPIDDevice(String myVirtualDevName)
 
HashMap< Integer, PIDConfiguration > configs
 
float GetPIDPosition(int group)
 
InterpolationEngine getDriveThread(int i)
 
ArrayList< PDVelocityConfiguration > PDconfigs
 
void setMaxTicksPerSecond(double maxTicksPerSecond)
 
HashMap< PIDConfiguration, InterpolationEngine > interpolationEngines
 
PDVelocityConfiguration getPDVelocityConfiguration(int group)
 
BowlerDatagram send(BowlerAbstractCommand command)
 
VirtualGenericPIDDevice(double maxTicksPerSecond, String myVirtualDevName)
 
boolean SetAllPIDSetPoint(float[] setpoints, double seconds)
 
boolean killAllPidGroups()
 
PIDConfiguration getPIDConfiguration(int group)
 
boolean ResetPIDChannel(int group, float valueToSetCurrentTo)
 
boolean SetPIDSetPoint(int group, float setpoint, double seconds)
 
boolean SetPDVelocity(int group, int unitsPerSecond, double seconds)
 
static final long threadTime
 
boolean ConfigurePDVelovityController(PDVelocityConfiguration config)
 
void flushPIDChannels(double time)
 
boolean ConfigurePIDController(PIDConfiguration config)
 
double getMaxTicksPerSecond()
 
ArrayList< String > getNamespaces()