BowlerKernel
|
Protected Attributes | |
ArrayList< PIDChannel > | channels = null |
long[] | lastPacketTime = null |
Private Attributes | |
ArrayList< IPIDEventListener > | PIDEventListeners = new ArrayList<IPIDEventListener>() |
BowlerAbstractDevice | device |
Integer | channelCount =null |
The Class AbstractPidNamespaceImp.
Definition at line 18 of file AbstractPidNamespaceImp.java.
com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.AbstractPidNamespaceImp | ( | BowlerAbstractDevice | device | ) |
Instantiates a new abstract pid namespace imp.
device | the device |
Definition at line 40 of file AbstractPidNamespaceImp.java.
References com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.addPIDEventListener(), com.neuronrobotics.sdk.pid.PIDEvent.getGroup(), com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.getPIDChannel(), com.neuronrobotics.sdk.pid.PIDEvent.getValue(), com.neuronrobotics.sdk.pid.PIDChannel.setCurrentCachedPosition(), and com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.setDevice().
void com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.addPIDEventListener | ( | IPIDEventListener | l | ) |
Allows a user to attach a listener to the device to listen for PID events Events include: PID reset, where the user is notified if the controllers input is reset from software PID limit, if the device generates a Home, Upper limit, or Lower limit event from a hardware event PID position, if the current position of the PID controllers sensor input changes.
l | the l |
Implements com.neuronrobotics.sdk.namespace.bcs.pid.IPidControlNamespace.
Definition at line 113 of file AbstractPidNamespaceImp.java.
References com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.PIDEventListeners.
Referenced by com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.AbstractPidNamespaceImp(), and com.neuronrobotics.sdk.pid.GenericPIDDevice.addPIDEventListener().
void com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.firePIDEvent | ( | PIDEvent | e | ) |
Fire pid event.
e | the e |
Definition at line 147 of file AbstractPidNamespaceImp.java.
References com.neuronrobotics.sdk.common.Log.error(), com.neuronrobotics.sdk.pid.PIDEvent.getGroup(), com.neuronrobotics.sdk.pid.PIDEvent.getTimeStamp(), com.neuronrobotics.sdk.pid.PIDEvent.getValue(), com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.lastPacketTime, com.neuronrobotics.sdk.pid.IPIDEventListener.onPIDEvent(), com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.PIDEventListeners, and com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.SetCachedPosition().
Referenced by com.neuronrobotics.sdk.pid.GenericPIDDevice.firePIDEvent(), com.neuronrobotics.sdk.namespace.bcs.pid.LegacyPidNamespaceImp.onAsyncResponse(), and com.neuronrobotics.sdk.namespace.bcs.pid.PidNamespaceImp.onAsyncResponse().
void com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.firePIDLimitEvent | ( | PIDLimitEvent | e | ) |
Fire pid limit event.
e | the e |
Definition at line 134 of file AbstractPidNamespaceImp.java.
References com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.PIDEventListeners.
Referenced by com.neuronrobotics.sdk.namespace.bcs.pid.LegacyPidNamespaceImp.onAsyncResponse(), and com.neuronrobotics.sdk.namespace.bcs.pid.PidNamespaceImp.onAsyncResponse().
void com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.firePIDResetEvent | ( | int | group, |
float | value | ||
) |
Fire pid reset event.
group | the group |
value | the value |
Definition at line 172 of file AbstractPidNamespaceImp.java.
References com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.PIDEventListeners, and com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.SetCachedPosition().
Referenced by com.neuronrobotics.sdk.pid.GenericPIDDevice.firePIDResetEvent(), and com.neuronrobotics.sdk.namespace.bcs.pid.LegacyPidNamespaceImp.ResetPIDChannel().
void com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.flushPIDChannels | ( | double | time | ) |
This method will read all of the cached or current setpoints for all PID controllers and calls SetAllPIDSetPoint with its internal data.
time | the time |
Implements com.neuronrobotics.sdk.namespace.bcs.pid.IPidControlNamespace.
Definition at line 78 of file AbstractPidNamespaceImp.java.
References com.neuronrobotics.sdk.pid.PIDChannel.getCachedTargetValue(), com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.getNumberOfChannels(), com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.getPIDChannel(), com.neuronrobotics.sdk.common.Log.info(), and com.neuronrobotics.sdk.namespace.bcs.pid.IPidControlNamespace.SetAllPIDSetPoint().
Referenced by com.neuronrobotics.sdk.pid.GenericPIDDevice.flushPIDChannels().
float com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.GetCachedPosition | ( | int | group | ) |
Gets the cached position.
group | the group |
Definition at line 58 of file AbstractPidNamespaceImp.java.
References com.neuronrobotics.sdk.pid.PIDChannel.getCurrentCachedPosition(), and com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.getPIDChannel().
Referenced by com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.SetPIDInterpolatedVelocity().
Integer com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.getChannelCount | ( | ) |
Gets the channel count.
Definition at line 258 of file AbstractPidNamespaceImp.java.
References com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.channelCount.
Referenced by com.neuronrobotics.sdk.namespace.bcs.pid.LegacyPidNamespaceImp.getPIDChannelCount().
ArrayList<PIDChannel> com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.getChannels | ( | ) |
Gets the channels.
Definition at line 232 of file AbstractPidNamespaceImp.java.
References com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.channels, com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.getPIDChannel(), and com.neuronrobotics.sdk.namespace.bcs.pid.IPidControlNamespace.getPIDChannelCount().
Referenced by com.neuronrobotics.sdk.namespace.bcs.pid.LegacyPidNamespaceImp.GetAllPIDPosition(), com.neuronrobotics.sdk.pid.GenericPIDDevice.getChannels(), com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.getNumberOfChannels(), and com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.getPIDChannel().
BowlerAbstractDevice com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.getDevice | ( | ) |
Gets the device.
Definition at line 184 of file AbstractPidNamespaceImp.java.
References com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.device.
Referenced by com.neuronrobotics.sdk.namespace.bcs.pid.LegacyPidNamespaceImp.ConfigurePDVelovityController(), com.neuronrobotics.sdk.namespace.bcs.pid.LegacyPidNamespaceImp.ConfigurePIDController(), com.neuronrobotics.sdk.namespace.bcs.pid.LegacyPidNamespaceImp.GetAllPIDPosition(), com.neuronrobotics.sdk.namespace.bcs.pid.LegacyPidNamespaceImp.getPDVelocityConfiguration(), com.neuronrobotics.sdk.namespace.bcs.pid.LegacyPidNamespaceImp.getPIDChannelCount(), com.neuronrobotics.sdk.namespace.bcs.pid.LegacyPidNamespaceImp.getPIDConfiguration(), com.neuronrobotics.sdk.namespace.bcs.pid.LegacyPidNamespaceImp.GetPIDPosition(), com.neuronrobotics.sdk.namespace.bcs.pid.LegacyPidNamespaceImp.killAllPidGroups(), com.neuronrobotics.sdk.namespace.bcs.pid.LegacyPidNamespaceImp.ResetPIDChannel(), com.neuronrobotics.sdk.namespace.bcs.pid.PidNamespaceImp.send(), com.neuronrobotics.sdk.namespace.bcs.pid.LegacyPidNamespaceImp.SetAllPIDSetPoint(), com.neuronrobotics.sdk.namespace.bcs.pid.LegacyPidNamespaceImp.SetPDVelocity(), and com.neuronrobotics.sdk.namespace.bcs.pid.LegacyPidNamespaceImp.SetPIDSetPoint().
int com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.getNumberOfChannels | ( | ) |
Gets the number of PID channels availible to the system. It is determined by how many PID channels the device reports back after a calling GetAllPIDPosition();
Definition at line 105 of file AbstractPidNamespaceImp.java.
References com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.getChannels().
Referenced by com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.flushPIDChannels(), com.neuronrobotics.sdk.namespace.bcs.pid.LegacyPidNamespaceImp.GetAllPIDPosition(), com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.getPIDChannel(), com.neuronrobotics.sdk.pid.GenericPIDDevice.getPIDChannelCount(), com.neuronrobotics.sdk.namespace.bcs.pid.LegacyPidNamespaceImp.onAsyncResponse(), com.neuronrobotics.sdk.namespace.bcs.pid.PidNamespaceImp.onAsyncResponse(), and com.neuronrobotics.sdk.namespace.bcs.pid.LegacyPidNamespaceImp.SetAllPIDSetPoint().
PIDChannel com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.getPIDChannel | ( | int | group | ) |
Gets the PID channel wrapper for a specific channel. The channel wrappers can be used to cache values for use with the cache/flush system. This wrapper will encapsulate a specific PID channel.
group | the index of the PID group |
Implements com.neuronrobotics.sdk.namespace.bcs.pid.IPidControlNamespace.
Definition at line 200 of file AbstractPidNamespaceImp.java.
References com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.getChannels(), and com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.getNumberOfChannels().
Referenced by com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.AbstractPidNamespaceImp(), com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.flushPIDChannels(), com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.GetCachedPosition(), com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.getChannels(), com.neuronrobotics.sdk.pid.GenericPIDDevice.getPIDChannel(), com.neuronrobotics.sdk.namespace.bcs.pid.LegacyPidNamespaceImp.SetAllPIDSetPoint(), com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.SetCachedPosition(), and com.neuronrobotics.sdk.namespace.bcs.pid.LegacyPidNamespaceImp.SetPIDSetPoint().
boolean com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.isAvailable | ( | ) |
Checks to see if the PID controller object is connected with its device.
Implements com.neuronrobotics.sdk.namespace.bcs.pid.IPidControlNamespace.
Definition at line 215 of file AbstractPidNamespaceImp.java.
References com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.device, and com.neuronrobotics.sdk.common.BowlerAbstractDevice.isAvailable().
|
abstract |
On async response.
data | the data |
Reimplemented in com.neuronrobotics.sdk.namespace.bcs.pid.PidNamespaceImp, and com.neuronrobotics.sdk.namespace.bcs.pid.LegacyPidNamespaceImp.
Referenced by com.neuronrobotics.sdk.pid.GenericPIDDevice.onAsyncResponse().
void com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.removePIDEventListener | ( | IPIDEventListener | l | ) |
Removes a specific IPIDEventListener.
l | the l |
Implements com.neuronrobotics.sdk.namespace.bcs.pid.IPidControlNamespace.
Definition at line 122 of file AbstractPidNamespaceImp.java.
References com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.PIDEventListeners.
Referenced by com.neuronrobotics.sdk.pid.GenericPIDDevice.removePIDEventListener().
void com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.SetCachedPosition | ( | int | group, |
float | value | ||
) |
Sets the cached position.
group | the group |
value | the value |
Definition at line 68 of file AbstractPidNamespaceImp.java.
References com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.getPIDChannel(), and com.neuronrobotics.sdk.pid.PIDChannel.setCurrentCachedPosition().
Referenced by com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.firePIDEvent(), and com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.firePIDResetEvent().
void com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.setChannelCount | ( | Integer | channelCount | ) |
Sets the channel count.
channelCount | the new channel count |
Definition at line 268 of file AbstractPidNamespaceImp.java.
References com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.channelCount.
Referenced by com.neuronrobotics.sdk.namespace.bcs.pid.LegacyPidNamespaceImp.getPIDChannelCount(), and com.neuronrobotics.sdk.pid.VirtualGenericPIDDevice.VirtualGenericPIDDevice().
void com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.setChannels | ( | ArrayList< PIDChannel > | channels | ) |
Sets the channels.
channels | the new channels |
Definition at line 248 of file AbstractPidNamespaceImp.java.
References com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.channels.
Referenced by com.neuronrobotics.sdk.pid.GenericPIDDevice.setChannels().
void com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.setDevice | ( | BowlerAbstractDevice | device | ) |
Sets the device.
device | the new device |
Definition at line 193 of file AbstractPidNamespaceImp.java.
References com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.device.
Referenced by com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.AbstractPidNamespaceImp().
boolean com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.SetPIDInterpolatedVelocity | ( | int | group, |
int | unitsPerSecond, | ||
double | seconds | ||
) | throws PIDCommandException |
This method will use the linear interpolation system to set an output velocity of the PID controller. This method can be bounded by the maximum value representable by the sensor and can fail if that value is out of range.
group | the index of the PID group |
unitsPerSecond | a velocity in raw units per second |
seconds | the amount of time to run at this velocity |
PIDCommandException | If the values are out of range with the given data |
Implements com.neuronrobotics.sdk.namespace.bcs.pid.IPidControlNamespace.
Definition at line 90 of file AbstractPidNamespaceImp.java.
References com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.GetCachedPosition(), and com.neuronrobotics.sdk.namespace.bcs.pid.IPidControlNamespace.SetPIDSetPoint().
Referenced by com.neuronrobotics.sdk.namespace.bcs.pid.LegacyPidNamespaceImp.SetPDVelocity(), and com.neuronrobotics.sdk.pid.GenericPIDDevice.SetPIDInterpolatedVelocity().
|
private |
The channel count.
Definition at line 33 of file AbstractPidNamespaceImp.java.
Referenced by com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.getChannelCount(), and com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.setChannelCount().
|
protected |
The channels.
Definition at line 24 of file AbstractPidNamespaceImp.java.
Referenced by com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.getChannels(), and com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.setChannels().
|
private |
The device.
Definition at line 30 of file AbstractPidNamespaceImp.java.
Referenced by com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.getDevice(), com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.isAvailable(), com.neuronrobotics.sdk.namespace.bcs.pid.LegacyPidNamespaceImp.LegacyPidNamespaceImp(), com.neuronrobotics.sdk.namespace.bcs.pid.PidNamespaceImp.PidNamespaceImp(), and com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.setDevice().
|
protected |
The last packet time.
Definition at line 27 of file AbstractPidNamespaceImp.java.
Referenced by com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.firePIDEvent(), and com.neuronrobotics.sdk.namespace.bcs.pid.LegacyPidNamespaceImp.GetAllPIDPosition().
|
private |
The PID event listeners.
Definition at line 21 of file AbstractPidNamespaceImp.java.
Referenced by com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.addPIDEventListener(), com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.firePIDEvent(), com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.firePIDLimitEvent(), com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.firePIDResetEvent(), and com.neuronrobotics.sdk.namespace.bcs.pid.AbstractPidNamespaceImp.removePIDEventListener().