mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-21 01:01:43 +00:00
Merge "Fixed the package for CANJaguar.java"
This commit is contained in:
@@ -5,7 +5,7 @@
|
||||
/* the project. */
|
||||
/*----------------------------------------------------------------------------*/
|
||||
|
||||
package com.first.team190.robot;
|
||||
package edu.wpi.first.wpilibj;
|
||||
|
||||
import java.nio.ByteBuffer;
|
||||
import java.nio.ByteOrder;
|
||||
@@ -29,7 +29,7 @@ import edu.wpi.first.wpilibj.tables.ITable;
|
||||
import edu.wpi.first.wpilibj.tables.ITableListener;
|
||||
|
||||
public class CANJaguar implements MotorSafety, PIDOutput, SpeedController, LiveWindowSendable {
|
||||
|
||||
|
||||
public static final int kMaxMessageDataSize = 8; // XXX: Where does this come from?
|
||||
|
||||
// The internal PID control loop in the Jaguar runs at 1kHz.
|
||||
@@ -423,7 +423,7 @@ public class CANJaguar implements MotorSafety, PIDOutput, SpeedController, LiveW
|
||||
return 0.0;
|
||||
|
||||
}
|
||||
|
||||
|
||||
public void setNoAck(float value, byte syncGroup) throws CANTimeoutException {
|
||||
int messageID;
|
||||
byte[] dataBuffer = new byte[8];
|
||||
@@ -464,16 +464,16 @@ public class CANJaguar implements MotorSafety, PIDOutput, SpeedController, LiveW
|
||||
default:
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if (syncGroup != 0) {
|
||||
dataBuffer[dataSize] = syncGroup;
|
||||
dataSize++;
|
||||
}
|
||||
|
||||
|
||||
synchronized(m_transactionMutex) {
|
||||
sendMessage(messageID | m_deviceNumber, dataBuffer, dataSize);
|
||||
}
|
||||
|
||||
|
||||
m_safetyHelper.feed();
|
||||
}
|
||||
|
||||
@@ -606,13 +606,13 @@ public class CANJaguar implements MotorSafety, PIDOutput, SpeedController, LiveW
|
||||
trustedBuffer.put(j+2, data[j]);
|
||||
}
|
||||
|
||||
|
||||
|
||||
ByteBuffer status = ByteBuffer.allocateDirect(4);
|
||||
// set the byte order
|
||||
status.order(ByteOrder.LITTLE_ENDIAN);
|
||||
status.asIntBuffer().put(0,dataSize+2);
|
||||
|
||||
|
||||
|
||||
|
||||
CANJNI.FRCNetworkCommunicationJaguarCANDriverSendMessage(messageID, trustedBuffer, status.asIntBuffer());
|
||||
return;
|
||||
}
|
||||
@@ -622,13 +622,13 @@ public class CANJaguar implements MotorSafety, PIDOutput, SpeedController, LiveW
|
||||
// set the byte order
|
||||
status.order(ByteOrder.LITTLE_ENDIAN);
|
||||
status.asIntBuffer().put(0,dataSize);
|
||||
|
||||
|
||||
ByteBuffer dataBuffer = null;
|
||||
if( dataSize > 0)
|
||||
{
|
||||
dataBuffer = ByteBuffer.allocateDirect(dataSize);
|
||||
dataBuffer.put(data);
|
||||
}
|
||||
}
|
||||
|
||||
CANJNI.FRCNetworkCommunicationJaguarCANDriverSendMessage(messageID, dataBuffer, status.asIntBuffer());
|
||||
|
||||
@@ -646,18 +646,18 @@ public class CANJaguar implements MotorSafety, PIDOutput, SpeedController, LiveW
|
||||
ByteBuffer status = ByteBuffer.allocateDirect(4);
|
||||
// set the byte order
|
||||
status.order(ByteOrder.LITTLE_ENDIAN);
|
||||
|
||||
|
||||
ByteBuffer messageIDBuffer = ByteBuffer.allocateDirect(4);
|
||||
messageIDBuffer.order(ByteOrder.LITTLE_ENDIAN);
|
||||
messageIDBuffer.asIntBuffer().put(0,messageID);
|
||||
|
||||
|
||||
ByteBuffer dataBuffer = CANJNI.FRCNetworkCommunicationJaguarCANDriverReceiveMessage(
|
||||
messageIDBuffer.asIntBuffer(), (int) (timeout*1000), status.asIntBuffer());
|
||||
|
||||
|
||||
CANExceptionFactory.checkStatus(status.asIntBuffer().get(0), messageID);
|
||||
|
||||
|
||||
byte returnValue = 0;
|
||||
|
||||
|
||||
if( dataBuffer != null )
|
||||
{
|
||||
returnValue = (byte)dataBuffer.capacity();
|
||||
@@ -666,7 +666,7 @@ public class CANJaguar implements MotorSafety, PIDOutput, SpeedController, LiveW
|
||||
data[index] = dataBuffer.get(index);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return returnValue;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user