1 package com.neuronrobotics.sdk.namespace.bcs.pid;
3 import com.neuronrobotics.sdk.common.BowlerAbstractDevice;
4 import com.neuronrobotics.sdk.common.BowlerDatagram;
5 import com.neuronrobotics.sdk.common.BowlerMethod;
6 import com.neuronrobotics.sdk.common.ByteList;
7 import com.neuronrobotics.sdk.common.DeviceConnectionException;
8 import com.neuronrobotics.sdk.pid.PDVelocityConfiguration;
9 import com.neuronrobotics.sdk.pid.PIDCommandException;
10 import com.neuronrobotics.sdk.pid.PIDConfiguration;
11 import com.neuronrobotics.sdk.pid.PIDEvent;
12 import com.neuronrobotics.sdk.pid.PIDLimitEvent;
21 private final String
ns =
"bcs.pid.*";
51 Object[] args =
new Object[]{group,valueToSetCurrentTo};
77 new Object[]{group}));
128 (int)(seconds*1000)});
139 new Object[]{ new Integer((int) (seconds*1000)),
151 new Object[]{group});
152 if((Integer)args[0] != group){
153 throw new RuntimeException(
"Channel ID did not match");
155 return (Integer)args[1];
166 float[] data=
new float[((Integer[])args[0]).length];
167 for(
int i=0;i<data.length;i++){
168 data[i] = ((Integer[])args[0])[i];
183 (int)(seconds*1000)});
204 if(data.
getRPC().contains(
"_pid")){
210 if(data.
getRPC().contains(
"apid")){
218 if(data.
getRPC().contains(
"pidl")){
230 new Object[]{group});
BowlerDatagram send(BowlerAbstractCommand command)
static final int convertToInt(byte[] b)
void firePIDEvent(PIDEvent e)
int getNumberOfChannels()
BowlerAbstractDevice device
void firePIDLimitEvent(PIDLimitEvent e)
BowlerAbstractDevice getDevice()
boolean runOutputHysteresisCalibration(int group)
boolean killAllPidGroups()
void onAsyncResponse(BowlerDatagram data)
boolean ResetPIDChannel(int group, float valueToSetCurrentTo)
boolean ConfigurePDVelovityController(PDVelocityConfiguration config)
float GetPIDPosition(int group)
float[] GetAllPIDPosition()
PDVelocityConfiguration getPDVelocityConfiguration(int group)
PIDConfiguration getPIDConfiguration(int group)
boolean SetPIDSetPoint(int group, float setpoint, double seconds)
Object[] send(BowlerMethod method, String rpcString, Object[] arguments)
boolean SetPDVelocity(int group, int unitsPerSecond, double seconds)
boolean SetAllPIDSetPoint(float[] setpoints, double seconds)
boolean ConfigurePIDController(PIDConfiguration config)
PidNamespaceImp(BowlerAbstractDevice device)