mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-23 01:21:42 +00:00
[wpilib, hal] High Level REV PH changes (#3792)
More functionality was implemented at the HAL level, so expose that to the wpilib level. This also does units changes for all the PH related functionality.
This commit is contained in:
104
hal/src/main/java/edu/wpi/first/hal/REVPHFaults.java
Normal file
104
hal/src/main/java/edu/wpi/first/hal/REVPHFaults.java
Normal file
@@ -0,0 +1,104 @@
|
||||
// Copyright (c) FIRST and other WPILib contributors.
|
||||
// Open Source Software; you can modify and/or share it under the terms of
|
||||
// the WPILib BSD license file in the root directory of this project.
|
||||
|
||||
package edu.wpi.first.hal;
|
||||
|
||||
@SuppressWarnings("AbbreviationAsWordInName")
|
||||
public class REVPHFaults {
|
||||
@SuppressWarnings("MemberName")
|
||||
public final boolean Channel0Fault;
|
||||
|
||||
@SuppressWarnings("MemberName")
|
||||
public final boolean Channel1Fault;
|
||||
|
||||
@SuppressWarnings("MemberName")
|
||||
public final boolean Channel2Fault;
|
||||
|
||||
@SuppressWarnings("MemberName")
|
||||
public final boolean Channel3Fault;
|
||||
|
||||
@SuppressWarnings("MemberName")
|
||||
public final boolean Channel4Fault;
|
||||
|
||||
@SuppressWarnings("MemberName")
|
||||
public final boolean Channel5Fault;
|
||||
|
||||
@SuppressWarnings("MemberName")
|
||||
public final boolean Channel6Fault;
|
||||
|
||||
@SuppressWarnings("MemberName")
|
||||
public final boolean Channel7Fault;
|
||||
|
||||
@SuppressWarnings("MemberName")
|
||||
public final boolean Channel8Fault;
|
||||
|
||||
@SuppressWarnings("MemberName")
|
||||
public final boolean Channel9Fault;
|
||||
|
||||
@SuppressWarnings("MemberName")
|
||||
public final boolean Channel10Fault;
|
||||
|
||||
@SuppressWarnings("MemberName")
|
||||
public final boolean Channel11Fault;
|
||||
|
||||
@SuppressWarnings("MemberName")
|
||||
public final boolean Channel12Fault;
|
||||
|
||||
@SuppressWarnings("MemberName")
|
||||
public final boolean Channel13Fault;
|
||||
|
||||
@SuppressWarnings("MemberName")
|
||||
public final boolean Channel14Fault;
|
||||
|
||||
@SuppressWarnings("MemberName")
|
||||
public final boolean Channel15Fault;
|
||||
|
||||
@SuppressWarnings("MemberName")
|
||||
public final boolean CompressorOverCurrent;
|
||||
|
||||
@SuppressWarnings("MemberName")
|
||||
public final boolean CompressorOpen;
|
||||
|
||||
@SuppressWarnings("MemberName")
|
||||
public final boolean SolenoidOverCurrent;
|
||||
|
||||
@SuppressWarnings("MemberName")
|
||||
public final boolean Brownout;
|
||||
|
||||
@SuppressWarnings("MemberName")
|
||||
public final boolean CanWarning;
|
||||
|
||||
@SuppressWarnings("MemberName")
|
||||
public final boolean HardwareFault;
|
||||
|
||||
/**
|
||||
* Called from HAL to construct.
|
||||
*
|
||||
* @param faults the fault bitfields
|
||||
*/
|
||||
public REVPHFaults(int faults) {
|
||||
Channel0Fault = (faults & 0x1) != 0;
|
||||
Channel1Fault = (faults & 0x2) != 0;
|
||||
Channel2Fault = (faults & 0x4) != 0;
|
||||
Channel3Fault = (faults & 0x8) != 0;
|
||||
Channel4Fault = (faults & 0x10) != 0;
|
||||
Channel5Fault = (faults & 0x20) != 0;
|
||||
Channel6Fault = (faults & 0x40) != 0;
|
||||
Channel7Fault = (faults & 0x80) != 0;
|
||||
Channel8Fault = (faults & 0x100) != 0;
|
||||
Channel9Fault = (faults & 0x200) != 0;
|
||||
Channel10Fault = (faults & 0x400) != 0;
|
||||
Channel11Fault = (faults & 0x800) != 0;
|
||||
Channel12Fault = (faults & 0x1000) != 0;
|
||||
Channel13Fault = (faults & 0x2000) != 0;
|
||||
Channel14Fault = (faults & 0x4000) != 0;
|
||||
Channel15Fault = (faults & 0x8000) != 0;
|
||||
CompressorOverCurrent = (faults & 0x8000) != 0;
|
||||
CompressorOpen = (faults & 0x10000) != 0;
|
||||
SolenoidOverCurrent = (faults & 0x20000) != 0;
|
||||
Brownout = (faults & 0x40000) != 0;
|
||||
CanWarning = (faults & 0x80000) != 0;
|
||||
HardwareFault = (faults & 0x100000) != 0;
|
||||
}
|
||||
}
|
||||
@@ -40,7 +40,7 @@ public class REVPHJNI extends JNIWrapper {
|
||||
|
||||
public static native boolean getPressureSwitch(int handle);
|
||||
|
||||
public static native double getAnalogPressure(int handle, int channel);
|
||||
public static native double getAnalogVoltage(int handle, int channel);
|
||||
|
||||
public static native double getCompressorCurrent(int handle);
|
||||
|
||||
@@ -49,4 +49,28 @@ public class REVPHJNI extends JNIWrapper {
|
||||
public static native void setSolenoids(int handle, int mask, int values);
|
||||
|
||||
public static native void fireOneShot(int handle, int index, int durMs);
|
||||
|
||||
public static native void clearStickyFaults(int handle);
|
||||
|
||||
public static native double getInputVoltage(int handle);
|
||||
|
||||
public static native double get5VVoltage(int handle);
|
||||
|
||||
public static native double getSolenoidCurrent(int handle);
|
||||
|
||||
public static native double getSolenoidVoltage(int handle);
|
||||
|
||||
public static native int getStickyFaultsNative(int handle);
|
||||
|
||||
public static REVPHStickyFaults getStickyFaults(int handle) {
|
||||
return new REVPHStickyFaults(getStickyFaultsNative(handle));
|
||||
}
|
||||
|
||||
public static native int getFaultsNative(int handle);
|
||||
|
||||
public static REVPHFaults getFaults(int handle) {
|
||||
return new REVPHFaults(getFaultsNative(handle));
|
||||
}
|
||||
|
||||
public static native REVPHVersion getVersion(int handle);
|
||||
}
|
||||
|
||||
44
hal/src/main/java/edu/wpi/first/hal/REVPHStickyFaults.java
Normal file
44
hal/src/main/java/edu/wpi/first/hal/REVPHStickyFaults.java
Normal file
@@ -0,0 +1,44 @@
|
||||
// Copyright (c) FIRST and other WPILib contributors.
|
||||
// Open Source Software; you can modify and/or share it under the terms of
|
||||
// the WPILib BSD license file in the root directory of this project.
|
||||
|
||||
package edu.wpi.first.hal;
|
||||
|
||||
@SuppressWarnings("AbbreviationAsWordInName")
|
||||
public class REVPHStickyFaults {
|
||||
@SuppressWarnings("MemberName")
|
||||
public final boolean CompressorOverCurrent;
|
||||
|
||||
@SuppressWarnings("MemberName")
|
||||
public final boolean CompressorOpen;
|
||||
|
||||
@SuppressWarnings("MemberName")
|
||||
public final boolean SolenoidOverCurrent;
|
||||
|
||||
@SuppressWarnings("MemberName")
|
||||
public final boolean Brownout;
|
||||
|
||||
@SuppressWarnings("MemberName")
|
||||
public final boolean CanWarning;
|
||||
|
||||
@SuppressWarnings("MemberName")
|
||||
public final boolean CanBusOff;
|
||||
|
||||
@SuppressWarnings("MemberName")
|
||||
public final boolean HasReset;
|
||||
|
||||
/**
|
||||
* Called from HAL.
|
||||
*
|
||||
* @param faults sticky fault bit mask
|
||||
*/
|
||||
public REVPHStickyFaults(int faults) {
|
||||
CompressorOverCurrent = (faults & 0x1) != 0;
|
||||
CompressorOpen = (faults & 0x2) != 0;
|
||||
SolenoidOverCurrent = (faults & 0x4) != 0;
|
||||
Brownout = (faults & 0x8) != 0;
|
||||
CanWarning = (faults & 0x10) != 0;
|
||||
CanBusOff = (faults & 0x20) != 0;
|
||||
HasReset = (faults & 0x40) != 0;
|
||||
}
|
||||
}
|
||||
51
hal/src/main/java/edu/wpi/first/hal/REVPHVersion.java
Normal file
51
hal/src/main/java/edu/wpi/first/hal/REVPHVersion.java
Normal file
@@ -0,0 +1,51 @@
|
||||
// Copyright (c) FIRST and other WPILib contributors.
|
||||
// Open Source Software; you can modify and/or share it under the terms of
|
||||
// the WPILib BSD license file in the root directory of this project.
|
||||
|
||||
package edu.wpi.first.hal;
|
||||
|
||||
@SuppressWarnings("AbbreviationAsWordInName")
|
||||
public class REVPHVersion {
|
||||
@SuppressWarnings("MemberName")
|
||||
public final int firmwareMajor;
|
||||
|
||||
@SuppressWarnings("MemberName")
|
||||
public final int firmwareMinor;
|
||||
|
||||
@SuppressWarnings("MemberName")
|
||||
public final int firmwareFix;
|
||||
|
||||
@SuppressWarnings("MemberName")
|
||||
public final int hardwareMinor;
|
||||
|
||||
@SuppressWarnings("MemberName")
|
||||
public final int hardwareMajor;
|
||||
|
||||
@SuppressWarnings("MemberName")
|
||||
public final int uniqueId;
|
||||
|
||||
/**
|
||||
* Constructs a revph version (Called from the HAL).
|
||||
*
|
||||
* @param firmwareMajor firmware major
|
||||
* @param firmwareMinor firmware minor
|
||||
* @param firmwareFix firmware fix
|
||||
* @param hardwareMinor hardware minor
|
||||
* @param hardwareMajor hardware major
|
||||
* @param uniqueId unique id
|
||||
*/
|
||||
public REVPHVersion(
|
||||
int firmwareMajor,
|
||||
int firmwareMinor,
|
||||
int firmwareFix,
|
||||
int hardwareMinor,
|
||||
int hardwareMajor,
|
||||
int uniqueId) {
|
||||
this.firmwareMajor = firmwareMajor;
|
||||
this.firmwareMinor = firmwareMinor;
|
||||
this.firmwareFix = firmwareFix;
|
||||
this.hardwareMinor = hardwareMinor;
|
||||
this.hardwareMajor = hardwareMajor;
|
||||
this.uniqueId = uniqueId;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user