Class CoreCANdi

Direct Known Subclasses:
CANdi

public class CoreCANdi extends ParentDevice
Class for CTR Electronics' CANdi™ branded device, a device that integrates digital signals into the existing CAN bus network.
 // Constants used in CANdi construction
 final int kCANdiId = 0;
 final String kCANdiCANbus = "canivore";
 
 // Construct the CANdi
 CANdi CANdi = new CANdi(kCANdiId, kCANdiCANbus);
 
 // Configure the CANdi for basic use
 CANdiConfiguration configs = new CANdiConfiguration();
 
 // Write these configs to the CANdi
 CANdi.getConfigurator().apply(configs);
 
 // Get Pin 1
 var p1State = CANdi.getP1State();
 
 // Refresh and print these values
 System.out.println("Pin 1 is " + p1State.refresh().toString());
 
  • Constructor Details

    • CoreCANdi

      public CoreCANdi(int deviceId)
      Constructs a new CANdi object.

      Constructs the device using the default CAN bus for the system:

      • "rio" on roboRIO
      • "can0" on Linux
      • "*" on Windows
      Parameters:
      deviceId - ID of the device, as configured in Phoenix Tuner.
    • CoreCANdi

      public CoreCANdi(int deviceId, String canbus)
      Constructs a new CANdi object.
      Parameters:
      deviceId - ID of the device, as configured in Phoenix Tuner.
      canbus - Name of the CAN bus this device is on. Possible CAN bus strings are:
      • "rio" for the native roboRIO CAN bus
      • CANivore name or serial number
      • SocketCAN interface (non-FRC Linux only)
      • "*" for any CANivore seen by the program
      • empty string (default) to select the default for the system:
        • "rio" on roboRIO
        • "can0" on Linux
        • "*" on Windows
    • CoreCANdi

      public CoreCANdi(int deviceId, CANBus canbus)
      Constructs a new CANdi object.
      Parameters:
      deviceId - ID of the device, as configured in Phoenix Tuner.
      canbus - The CAN bus this device is on.
  • Method Details

    • getConfigurator

      Gets the configurator to use with this device's configs
      Returns:
      Configurator for this object
    • getSimState

      Get the simulation state for this device.

      This function reuses an allocated simulation state object, so it is safe to call this function multiple times in a robot loop.

      Returns:
      Simulation state
    • getVersionMajor

      App Major Version number.
      • Minimum Value: 0
      • Maximum Value: 255
      • Default Value: 0
      • Units:
      Default Rates:
      • CAN: 4.0 Hz

      This refreshes and returns a cached StatusSignal object.

      Returns:
      VersionMajor Status Signal Object
    • getVersionMajor

      public StatusSignal<Integer> getVersionMajor(boolean refresh)
      App Major Version number.
      • Minimum Value: 0
      • Maximum Value: 255
      • Default Value: 0
      • Units:
      Default Rates:
      • CAN: 4.0 Hz

      This refreshes and returns a cached StatusSignal object.

      Parameters:
      refresh - Whether to refresh the StatusSignal before returning it; defaults to true
      Returns:
      VersionMajor Status Signal Object
    • getVersionMinor

      App Minor Version number.
      • Minimum Value: 0
      • Maximum Value: 255
      • Default Value: 0
      • Units:
      Default Rates:
      • CAN: 4.0 Hz

      This refreshes and returns a cached StatusSignal object.

      Returns:
      VersionMinor Status Signal Object
    • getVersionMinor

      public StatusSignal<Integer> getVersionMinor(boolean refresh)
      App Minor Version number.
      • Minimum Value: 0
      • Maximum Value: 255
      • Default Value: 0
      • Units:
      Default Rates:
      • CAN: 4.0 Hz

      This refreshes and returns a cached StatusSignal object.

      Parameters:
      refresh - Whether to refresh the StatusSignal before returning it; defaults to true
      Returns:
      VersionMinor Status Signal Object
    • getVersionBugfix

      App Bugfix Version number.
      • Minimum Value: 0
      • Maximum Value: 255
      • Default Value: 0
      • Units:
      Default Rates:
      • CAN: 4.0 Hz

      This refreshes and returns a cached StatusSignal object.

      Returns:
      VersionBugfix Status Signal Object
    • getVersionBugfix

      public StatusSignal<Integer> getVersionBugfix(boolean refresh)
      App Bugfix Version number.
      • Minimum Value: 0
      • Maximum Value: 255
      • Default Value: 0
      • Units:
      Default Rates:
      • CAN: 4.0 Hz

      This refreshes and returns a cached StatusSignal object.

      Parameters:
      refresh - Whether to refresh the StatusSignal before returning it; defaults to true
      Returns:
      VersionBugfix Status Signal Object
    • getVersionBuild

      App Build Version number.
      • Minimum Value: 0
      • Maximum Value: 255
      • Default Value: 0
      • Units:
      Default Rates:
      • CAN: 4.0 Hz

      This refreshes and returns a cached StatusSignal object.

      Returns:
      VersionBuild Status Signal Object
    • getVersionBuild

      public StatusSignal<Integer> getVersionBuild(boolean refresh)
      App Build Version number.
      • Minimum Value: 0
      • Maximum Value: 255
      • Default Value: 0
      • Units:
      Default Rates:
      • CAN: 4.0 Hz

      This refreshes and returns a cached StatusSignal object.

      Parameters:
      refresh - Whether to refresh the StatusSignal before returning it; defaults to true
      Returns:
      VersionBuild Status Signal Object
    • getVersion

      Full Version of firmware in device. The format is a four byte value.
      • Minimum Value: 0
      • Maximum Value: 4294967295
      • Default Value: 0
      • Units:
      Default Rates:
      • CAN: 4.0 Hz

      This refreshes and returns a cached StatusSignal object.

      Returns:
      Version Status Signal Object
    • getVersion

      public StatusSignal<Integer> getVersion(boolean refresh)
      Full Version of firmware in device. The format is a four byte value.
      • Minimum Value: 0
      • Maximum Value: 4294967295
      • Default Value: 0
      • Units:
      Default Rates:
      • CAN: 4.0 Hz

      This refreshes and returns a cached StatusSignal object.

      Parameters:
      refresh - Whether to refresh the StatusSignal before returning it; defaults to true
      Returns:
      Version Status Signal Object
    • getFaultField

      Integer representing all fault flags reported by the device.

      These are device specific and are not used directly in typical applications. Use the signal specific GetFault_*() methods instead.

      • Minimum Value: 0
      • Maximum Value: 4294967295
      • Default Value: 0
      • Units:
      Default Rates:
      • CAN: 4.0 Hz

      This refreshes and returns a cached StatusSignal object.

      Returns:
      FaultField Status Signal Object
    • getFaultField

      public StatusSignal<Integer> getFaultField(boolean refresh)
      Integer representing all fault flags reported by the device.

      These are device specific and are not used directly in typical applications. Use the signal specific GetFault_*() methods instead.

      • Minimum Value: 0
      • Maximum Value: 4294967295
      • Default Value: 0
      • Units:
      Default Rates:
      • CAN: 4.0 Hz

      This refreshes and returns a cached StatusSignal object.

      Parameters:
      refresh - Whether to refresh the StatusSignal before returning it; defaults to true
      Returns:
      FaultField Status Signal Object
    • getStickyFaultField

      Integer representing all (persistent) sticky fault flags reported by the device.

      These are device specific and are not used directly in typical applications. Use the signal specific GetStickyFault_*() methods instead.

      • Minimum Value: 0
      • Maximum Value: 4294967295
      • Default Value: 0
      • Units:
      Default Rates:
      • CAN: 4.0 Hz

      This refreshes and returns a cached StatusSignal object.

      Returns:
      StickyFaultField Status Signal Object
    • getStickyFaultField

      public StatusSignal<Integer> getStickyFaultField(boolean refresh)
      Integer representing all (persistent) sticky fault flags reported by the device.

      These are device specific and are not used directly in typical applications. Use the signal specific GetStickyFault_*() methods instead.

      • Minimum Value: 0
      • Maximum Value: 4294967295
      • Default Value: 0
      • Units:
      Default Rates:
      • CAN: 4.0 Hz

      This refreshes and returns a cached StatusSignal object.

      Parameters:
      refresh - Whether to refresh the StatusSignal before returning it; defaults to true
      Returns:
      StickyFaultField Status Signal Object
    • getIsProLicensed

      Whether the device is Phoenix Pro licensed.
      • Default Value: False
      Default Rates:
      • CAN: 4.0 Hz

      This refreshes and returns a cached StatusSignal object.

      Returns:
      IsProLicensed Status Signal Object
    • getIsProLicensed

      public StatusSignal<Boolean> getIsProLicensed(boolean refresh)
      Whether the device is Phoenix Pro licensed.
      • Default Value: False
      Default Rates:
      • CAN: 4.0 Hz

      This refreshes and returns a cached StatusSignal object.

      Parameters:
      refresh - Whether to refresh the StatusSignal before returning it; defaults to true
      Returns:
      IsProLicensed Status Signal Object
    • getS1State

      State of the Signal 1 input (S1IN). Default Rates:
      • CAN 2.0: 100.0 Hz
      • CAN FD: 100.0 Hz (TimeSynced with Pro)

      This refreshes and returns a cached StatusSignal object.

      Returns:
      S1State Status Signal Object
    • getS1State

      public StatusSignal<S1StateValue> getS1State(boolean refresh)
      State of the Signal 1 input (S1IN). Default Rates:
      • CAN 2.0: 100.0 Hz
      • CAN FD: 100.0 Hz (TimeSynced with Pro)

      This refreshes and returns a cached StatusSignal object.

      Parameters:
      refresh - Whether to refresh the StatusSignal before returning it; defaults to true
      Returns:
      S1State Status Signal Object
    • getS2State

      State of the Signal 2 input (S2IN). Default Rates:
      • CAN 2.0: 100.0 Hz
      • CAN FD: 100.0 Hz (TimeSynced with Pro)

      This refreshes and returns a cached StatusSignal object.

      Returns:
      S2State Status Signal Object
    • getS2State

      public StatusSignal<S2StateValue> getS2State(boolean refresh)
      State of the Signal 2 input (S2IN). Default Rates:
      • CAN 2.0: 100.0 Hz
      • CAN FD: 100.0 Hz (TimeSynced with Pro)

      This refreshes and returns a cached StatusSignal object.

      Parameters:
      refresh - Whether to refresh the StatusSignal before returning it; defaults to true
      Returns:
      S2State Status Signal Object
    • getQuadraturePosition

      Position from a quadrature encoder sensor connected to both the S1IN and S2IN inputs.
      • Minimum Value: -16384.0
      • Maximum Value: 16383.999755859375
      • Default Value: 0
      • Units: rotations
      Default Rates:
      • CAN 2.0: 20.0 Hz
      • CAN FD: 100.0 Hz (TimeSynced with Pro)

      This refreshes and returns a cached StatusSignal object.

      Returns:
      QuadraturePosition Status Signal Object
    • getQuadraturePosition

      public StatusSignal<Angle> getQuadraturePosition(boolean refresh)
      Position from a quadrature encoder sensor connected to both the S1IN and S2IN inputs.
      • Minimum Value: -16384.0
      • Maximum Value: 16383.999755859375
      • Default Value: 0
      • Units: rotations
      Default Rates:
      • CAN 2.0: 20.0 Hz
      • CAN FD: 100.0 Hz (TimeSynced with Pro)

      This refreshes and returns a cached StatusSignal object.

      Parameters:
      refresh - Whether to refresh the StatusSignal before returning it; defaults to true
      Returns:
      QuadraturePosition Status Signal Object
    • getPWM1RiseToRise

      Measured rise to rise time of the PWM signal at the S1 input of the CTR Electronics' CANdi™.
      • Minimum Value: 0
      • Maximum Value: 131070
      • Default Value: 0
      • Units: us
      Default Rates:
      • CAN 2.0: 20.0 Hz
      • CAN FD: 100.0 Hz (TimeSynced with Pro)

      This refreshes and returns a cached StatusSignal object.

      Returns:
      PWM1RiseToRise Status Signal Object
    • getPWM1RiseToRise

      public StatusSignal<Time> getPWM1RiseToRise(boolean refresh)
      Measured rise to rise time of the PWM signal at the S1 input of the CTR Electronics' CANdi™.
      • Minimum Value: 0
      • Maximum Value: 131070
      • Default Value: 0
      • Units: us
      Default Rates:
      • CAN 2.0: 20.0 Hz
      • CAN FD: 100.0 Hz (TimeSynced with Pro)

      This refreshes and returns a cached StatusSignal object.

      Parameters:
      refresh - Whether to refresh the StatusSignal before returning it; defaults to true
      Returns:
      PWM1RiseToRise Status Signal Object
    • getPWM1Position

      Measured position of the PWM sensor at the S1 input of the CTR Electronics' CANdi™.
      • Minimum Value: -16384.0
      • Maximum Value: 16383.999755859375
      • Default Value: 0
      • Units: rotations
      Default Rates:
      • CAN 2.0: 20.0 Hz
      • CAN FD: 100.0 Hz (TimeSynced with Pro)

      This refreshes and returns a cached StatusSignal object.

      Returns:
      PWM1Position Status Signal Object
    • getPWM1Position

      public StatusSignal<Angle> getPWM1Position(boolean refresh)
      Measured position of the PWM sensor at the S1 input of the CTR Electronics' CANdi™.
      • Minimum Value: -16384.0
      • Maximum Value: 16383.999755859375
      • Default Value: 0
      • Units: rotations
      Default Rates:
      • CAN 2.0: 20.0 Hz
      • CAN FD: 100.0 Hz (TimeSynced with Pro)

      This refreshes and returns a cached StatusSignal object.

      Parameters:
      refresh - Whether to refresh the StatusSignal before returning it; defaults to true
      Returns:
      PWM1Position Status Signal Object
    • getPWM1Velocity

      Measured velocity of the PWM sensor at the S1 input of the CTR Electronics' CANdi™.
      • Minimum Value: -512.0
      • Maximum Value: 511.998046875
      • Default Value: 0
      • Units: rotations per second
      Default Rates:
      • CAN 2.0: 20.0 Hz
      • CAN FD: 100.0 Hz (TimeSynced with Pro)

      This refreshes and returns a cached StatusSignal object.

      Returns:
      PWM1Velocity Status Signal Object
    • getPWM1Velocity

      public StatusSignal<AngularVelocity> getPWM1Velocity(boolean refresh)
      Measured velocity of the PWM sensor at the S1 input of the CTR Electronics' CANdi™.
      • Minimum Value: -512.0
      • Maximum Value: 511.998046875
      • Default Value: 0
      • Units: rotations per second
      Default Rates:
      • CAN 2.0: 20.0 Hz
      • CAN FD: 100.0 Hz (TimeSynced with Pro)

      This refreshes and returns a cached StatusSignal object.

      Parameters:
      refresh - Whether to refresh the StatusSignal before returning it; defaults to true
      Returns:
      PWM1Velocity Status Signal Object
    • getPWM2RiseToRise

      Measured rise to rise time of the PWM signal at the S2 input of the CTR Electronics' CANdi™.
      • Minimum Value: 0
      • Maximum Value: 131070
      • Default Value: 0
      • Units: us
      Default Rates:
      • CAN 2.0: 20.0 Hz
      • CAN FD: 100.0 Hz (TimeSynced with Pro)

      This refreshes and returns a cached StatusSignal object.

      Returns:
      PWM2RiseToRise Status Signal Object
    • getPWM2RiseToRise

      public StatusSignal<Time> getPWM2RiseToRise(boolean refresh)
      Measured rise to rise time of the PWM signal at the S2 input of the CTR Electronics' CANdi™.
      • Minimum Value: 0
      • Maximum Value: 131070
      • Default Value: 0
      • Units: us
      Default Rates:
      • CAN 2.0: 20.0 Hz
      • CAN FD: 100.0 Hz (TimeSynced with Pro)

      This refreshes and returns a cached StatusSignal object.

      Parameters:
      refresh - Whether to refresh the StatusSignal before returning it; defaults to true
      Returns:
      PWM2RiseToRise Status Signal Object
    • getPWM2Position

      Measured position of the PWM sensor at the S2 input of the CTR Electronics' CANdi™.
      • Minimum Value: -16384.0
      • Maximum Value: 16383.999755859375
      • Default Value: 0
      • Units: rotations
      Default Rates:
      • CAN 2.0: 20.0 Hz
      • CAN FD: 100.0 Hz (TimeSynced with Pro)

      This refreshes and returns a cached StatusSignal object.

      Returns:
      PWM2Position Status Signal Object
    • getPWM2Position

      public StatusSignal<Angle> getPWM2Position(boolean refresh)
      Measured position of the PWM sensor at the S2 input of the CTR Electronics' CANdi™.
      • Minimum Value: -16384.0
      • Maximum Value: 16383.999755859375
      • Default Value: 0
      • Units: rotations
      Default Rates:
      • CAN 2.0: 20.0 Hz
      • CAN FD: 100.0 Hz (TimeSynced with Pro)

      This refreshes and returns a cached StatusSignal object.

      Parameters:
      refresh - Whether to refresh the StatusSignal before returning it; defaults to true
      Returns:
      PWM2Position Status Signal Object
    • getOvercurrent

      True when the CANdi™ is in overcurrent protection mode. This may be due to either overcurrent or a short-circuit.
      • Default Value: 0
      Default Rates:
      • CAN 2.0: 100.0 Hz
      • CAN FD: 100.0 Hz (TimeSynced with Pro)

      This refreshes and returns a cached StatusSignal object.

      Returns:
      Overcurrent Status Signal Object
    • getOvercurrent

      public StatusSignal<Boolean> getOvercurrent(boolean refresh)
      True when the CANdi™ is in overcurrent protection mode. This may be due to either overcurrent or a short-circuit.
      • Default Value: 0
      Default Rates:
      • CAN 2.0: 100.0 Hz
      • CAN FD: 100.0 Hz (TimeSynced with Pro)

      This refreshes and returns a cached StatusSignal object.

      Parameters:
      refresh - Whether to refresh the StatusSignal before returning it; defaults to true
      Returns:
      Overcurrent Status Signal Object
    • getSupplyVoltage

      Measured supply voltage to the CANdi™.
      • Minimum Value: 4.0
      • Maximum Value: 29.5
      • Default Value: 0
      • Units: V
      Default Rates:
      • CAN 2.0: 100.0 Hz
      • CAN FD: 100.0 Hz (TimeSynced with Pro)

      This refreshes and returns a cached StatusSignal object.

      Returns:
      SupplyVoltage Status Signal Object
    • getSupplyVoltage

      public StatusSignal<Voltage> getSupplyVoltage(boolean refresh)
      Measured supply voltage to the CANdi™.
      • Minimum Value: 4.0
      • Maximum Value: 29.5
      • Default Value: 0
      • Units: V
      Default Rates:
      • CAN 2.0: 100.0 Hz
      • CAN FD: 100.0 Hz (TimeSynced with Pro)

      This refreshes and returns a cached StatusSignal object.

      Parameters:
      refresh - Whether to refresh the StatusSignal before returning it; defaults to true
      Returns:
      SupplyVoltage Status Signal Object
    • getOutputCurrent

      Measured output current. This includes both Vbat and 5V output current.
      • Minimum Value: 0.0
      • Maximum Value: 0.51
      • Default Value: 0
      • Units: A
      Default Rates:
      • CAN 2.0: 100.0 Hz
      • CAN FD: 100.0 Hz (TimeSynced with Pro)

      This refreshes and returns a cached StatusSignal object.

      Returns:
      OutputCurrent Status Signal Object
    • getOutputCurrent

      public StatusSignal<Current> getOutputCurrent(boolean refresh)
      Measured output current. This includes both Vbat and 5V output current.
      • Minimum Value: 0.0
      • Maximum Value: 0.51
      • Default Value: 0
      • Units: A
      Default Rates:
      • CAN 2.0: 100.0 Hz
      • CAN FD: 100.0 Hz (TimeSynced with Pro)

      This refreshes and returns a cached StatusSignal object.

      Parameters:
      refresh - Whether to refresh the StatusSignal before returning it; defaults to true
      Returns:
      OutputCurrent Status Signal Object
    • getPWM2Velocity

      Measured velocity of the PWM sensor at the S2 input of the CTR Electronics' CANdi™.
      • Minimum Value: -512.0
      • Maximum Value: 511.998046875
      • Default Value: 0
      • Units: rotations per second
      Default Rates:
      • CAN 2.0: 20.0 Hz
      • CAN FD: 100.0 Hz (TimeSynced with Pro)

      This refreshes and returns a cached StatusSignal object.

      Returns:
      PWM2Velocity Status Signal Object
    • getPWM2Velocity

      public StatusSignal<AngularVelocity> getPWM2Velocity(boolean refresh)
      Measured velocity of the PWM sensor at the S2 input of the CTR Electronics' CANdi™.
      • Minimum Value: -512.0
      • Maximum Value: 511.998046875
      • Default Value: 0
      • Units: rotations per second
      Default Rates:
      • CAN 2.0: 20.0 Hz
      • CAN FD: 100.0 Hz (TimeSynced with Pro)

      This refreshes and returns a cached StatusSignal object.

      Parameters:
      refresh - Whether to refresh the StatusSignal before returning it; defaults to true
      Returns:
      PWM2Velocity Status Signal Object
    • getQuadratureVelocity

      Velocity from a quadrature encoder sensor connected to both the S1IN and S2IN inputs.
      • Minimum Value: -512.0
      • Maximum Value: 511.998046875
      • Default Value: 0
      • Units: rotations per second
      Default Rates:
      • CAN 2.0: 20.0 Hz
      • CAN FD: 100.0 Hz (TimeSynced with Pro)

      This refreshes and returns a cached StatusSignal object.

      Returns:
      QuadratureVelocity Status Signal Object
    • getQuadratureVelocity

      Velocity from a quadrature encoder sensor connected to both the S1IN and S2IN inputs.
      • Minimum Value: -512.0
      • Maximum Value: 511.998046875
      • Default Value: 0
      • Units: rotations per second
      Default Rates:
      • CAN 2.0: 20.0 Hz
      • CAN FD: 100.0 Hz (TimeSynced with Pro)

      This refreshes and returns a cached StatusSignal object.

      Parameters:
      refresh - Whether to refresh the StatusSignal before returning it; defaults to true
      Returns:
      QuadratureVelocity Status Signal Object
    • getS1Closed

      True if the Signal 1 input (S1IN) matches the configured S1 Closed State.

      Configure the S1 closed state in the Digitals configuration object to change when this is asserted.

      • Default Value: False
      Default Rates:
      • CAN 2.0: 100.0 Hz
      • CAN FD: 100.0 Hz (TimeSynced with Pro)

      This refreshes and returns a cached StatusSignal object.

      Returns:
      S1Closed Status Signal Object
    • getS1Closed

      public StatusSignal<Boolean> getS1Closed(boolean refresh)
      True if the Signal 1 input (S1IN) matches the configured S1 Closed State.

      Configure the S1 closed state in the Digitals configuration object to change when this is asserted.

      • Default Value: False
      Default Rates:
      • CAN 2.0: 100.0 Hz
      • CAN FD: 100.0 Hz (TimeSynced with Pro)

      This refreshes and returns a cached StatusSignal object.

      Parameters:
      refresh - Whether to refresh the StatusSignal before returning it; defaults to true
      Returns:
      S1Closed Status Signal Object
    • getS2Closed

      True if the Signal 2 input (S2IN) matches the configured S2 Closed State.

      Configure the S2 closed state in the Digitals configuration object to change when this is asserted.

      • Default Value: False
      Default Rates:
      • CAN 2.0: 100.0 Hz
      • CAN FD: 100.0 Hz (TimeSynced with Pro)

      This refreshes and returns a cached StatusSignal object.

      Returns:
      S2Closed Status Signal Object
    • getS2Closed

      public StatusSignal<Boolean> getS2Closed(boolean refresh)
      True if the Signal 2 input (S2IN) matches the configured S2 Closed State.

      Configure the S2 closed state in the Digitals configuration object to change when this is asserted.

      • Default Value: False
      Default Rates:
      • CAN 2.0: 100.0 Hz
      • CAN FD: 100.0 Hz (TimeSynced with Pro)

      This refreshes and returns a cached StatusSignal object.

      Parameters:
      refresh - Whether to refresh the StatusSignal before returning it; defaults to true
      Returns:
      S2Closed Status Signal Object
    • getFault_Hardware

      Hardware fault occurred
      • Default Value: False
      Default Rates:
      • CAN: 4.0 Hz

      This refreshes and returns a cached StatusSignal object.

      Returns:
      Fault_Hardware Status Signal Object
    • getFault_Hardware

      public StatusSignal<Boolean> getFault_Hardware(boolean refresh)
      Hardware fault occurred
      • Default Value: False
      Default Rates:
      • CAN: 4.0 Hz

      This refreshes and returns a cached StatusSignal object.

      Parameters:
      refresh - Whether to refresh the StatusSignal before returning it; defaults to true
      Returns:
      Fault_Hardware Status Signal Object
    • getStickyFault_Hardware

      Hardware fault occurred
      • Default Value: False
      Default Rates:
      • CAN: 4.0 Hz

      This refreshes and returns a cached StatusSignal object.

      Returns:
      StickyFault_Hardware Status Signal Object
    • getStickyFault_Hardware

      public StatusSignal<Boolean> getStickyFault_Hardware(boolean refresh)
      Hardware fault occurred
      • Default Value: False
      Default Rates:
      • CAN: 4.0 Hz

      This refreshes and returns a cached StatusSignal object.

      Parameters:
      refresh - Whether to refresh the StatusSignal before returning it; defaults to true
      Returns:
      StickyFault_Hardware Status Signal Object
    • getFault_Undervoltage

      Device supply voltage dropped to near brownout levels
      • Default Value: False
      Default Rates:
      • CAN: 4.0 Hz

      This refreshes and returns a cached StatusSignal object.

      Returns:
      Fault_Undervoltage Status Signal Object
    • getFault_Undervoltage

      public StatusSignal<Boolean> getFault_Undervoltage(boolean refresh)
      Device supply voltage dropped to near brownout levels
      • Default Value: False
      Default Rates:
      • CAN: 4.0 Hz

      This refreshes and returns a cached StatusSignal object.

      Parameters:
      refresh - Whether to refresh the StatusSignal before returning it; defaults to true
      Returns:
      Fault_Undervoltage Status Signal Object
    • getStickyFault_Undervoltage

      Device supply voltage dropped to near brownout levels
      • Default Value: False
      Default Rates:
      • CAN: 4.0 Hz

      This refreshes and returns a cached StatusSignal object.

      Returns:
      StickyFault_Undervoltage Status Signal Object
    • getStickyFault_Undervoltage

      Device supply voltage dropped to near brownout levels
      • Default Value: False
      Default Rates:
      • CAN: 4.0 Hz

      This refreshes and returns a cached StatusSignal object.

      Parameters:
      refresh - Whether to refresh the StatusSignal before returning it; defaults to true
      Returns:
      StickyFault_Undervoltage Status Signal Object
    • getFault_BootDuringEnable

      Device boot while detecting the enable signal
      • Default Value: False
      Default Rates:
      • CAN: 4.0 Hz

      This refreshes and returns a cached StatusSignal object.

      Returns:
      Fault_BootDuringEnable Status Signal Object
    • getFault_BootDuringEnable

      public StatusSignal<Boolean> getFault_BootDuringEnable(boolean refresh)
      Device boot while detecting the enable signal
      • Default Value: False
      Default Rates:
      • CAN: 4.0 Hz

      This refreshes and returns a cached StatusSignal object.

      Parameters:
      refresh - Whether to refresh the StatusSignal before returning it; defaults to true
      Returns:
      Fault_BootDuringEnable Status Signal Object
    • getStickyFault_BootDuringEnable

      Device boot while detecting the enable signal
      • Default Value: False
      Default Rates:
      • CAN: 4.0 Hz

      This refreshes and returns a cached StatusSignal object.

      Returns:
      StickyFault_BootDuringEnable Status Signal Object
    • getStickyFault_BootDuringEnable

      Device boot while detecting the enable signal
      • Default Value: False
      Default Rates:
      • CAN: 4.0 Hz

      This refreshes and returns a cached StatusSignal object.

      Parameters:
      refresh - Whether to refresh the StatusSignal before returning it; defaults to true
      Returns:
      StickyFault_BootDuringEnable Status Signal Object
    • getFault_UnlicensedFeatureInUse

      An unlicensed feature is in use, device may not behave as expected.
      • Default Value: False
      Default Rates:
      • CAN: 4.0 Hz

      This refreshes and returns a cached StatusSignal object.

      Returns:
      Fault_UnlicensedFeatureInUse Status Signal Object
    • getFault_UnlicensedFeatureInUse

      An unlicensed feature is in use, device may not behave as expected.
      • Default Value: False
      Default Rates:
      • CAN: 4.0 Hz

      This refreshes and returns a cached StatusSignal object.

      Parameters:
      refresh - Whether to refresh the StatusSignal before returning it; defaults to true
      Returns:
      Fault_UnlicensedFeatureInUse Status Signal Object
    • getStickyFault_UnlicensedFeatureInUse

      An unlicensed feature is in use, device may not behave as expected.
      • Default Value: False
      Default Rates:
      • CAN: 4.0 Hz

      This refreshes and returns a cached StatusSignal object.

      Returns:
      StickyFault_UnlicensedFeatureInUse Status Signal Object
    • getStickyFault_UnlicensedFeatureInUse

      An unlicensed feature is in use, device may not behave as expected.
      • Default Value: False
      Default Rates:
      • CAN: 4.0 Hz

      This refreshes and returns a cached StatusSignal object.

      Parameters:
      refresh - Whether to refresh the StatusSignal before returning it; defaults to true
      Returns:
      StickyFault_UnlicensedFeatureInUse Status Signal Object
    • getFault_5V

      The CTR Electronics' CANdi™ branded device has detected a 5V fault. This may be due to overcurrent or a short-circuit.
      • Default Value: False
      Default Rates:
      • CAN: 4.0 Hz

      This refreshes and returns a cached StatusSignal object.

      Returns:
      Fault_5V Status Signal Object
    • getFault_5V

      public StatusSignal<Boolean> getFault_5V(boolean refresh)
      The CTR Electronics' CANdi™ branded device has detected a 5V fault. This may be due to overcurrent or a short-circuit.
      • Default Value: False
      Default Rates:
      • CAN: 4.0 Hz

      This refreshes and returns a cached StatusSignal object.

      Parameters:
      refresh - Whether to refresh the StatusSignal before returning it; defaults to true
      Returns:
      Fault_5V Status Signal Object
    • getStickyFault_5V

      The CTR Electronics' CANdi™ branded device has detected a 5V fault. This may be due to overcurrent or a short-circuit.
      • Default Value: False
      Default Rates:
      • CAN: 4.0 Hz

      This refreshes and returns a cached StatusSignal object.

      Returns:
      StickyFault_5V Status Signal Object
    • getStickyFault_5V

      public StatusSignal<Boolean> getStickyFault_5V(boolean refresh)
      The CTR Electronics' CANdi™ branded device has detected a 5V fault. This may be due to overcurrent or a short-circuit.
      • Default Value: False
      Default Rates:
      • CAN: 4.0 Hz

      This refreshes and returns a cached StatusSignal object.

      Parameters:
      refresh - Whether to refresh the StatusSignal before returning it; defaults to true
      Returns:
      StickyFault_5V Status Signal Object
    • setControl

      Control device with generic control request object.

      User must make sure the specified object is castable to a valid control request, otherwise this function will fail at run-time and return the NotSupported StatusCode

      Parameters:
      request - Control object to request of the device
      Returns:
      Status Code of the request, 0 is OK
    • setQuadraturePosition

      public StatusCode setQuadraturePosition(double newValue)
      Sets the position of the quadrature input.

      This will wait up to 0.100 seconds (100ms) by default.

      Parameters:
      newValue - Value to set to. Units are in rotations.
      Returns:
      StatusCode of the set command
    • setQuadraturePosition

      public StatusCode setQuadraturePosition(double newValue, double timeoutSeconds)
      Sets the position of the quadrature input.
      Parameters:
      newValue - Value to set to. Units are in rotations.
      timeoutSeconds - Maximum time to wait up to in seconds.
      Returns:
      StatusCode of the set command
    • setQuadraturePosition

      Sets the position of the quadrature input.

      This will wait up to 0.100 seconds (100ms) by default.

      Parameters:
      newValue - Value to set to. Units are in rotations.
      Returns:
      StatusCode of the set command
    • setQuadraturePosition

      public StatusCode setQuadraturePosition(Angle newValue, double timeoutSeconds)
      Sets the position of the quadrature input.
      Parameters:
      newValue - Value to set to. Units are in rotations.
      timeoutSeconds - Maximum time to wait up to in seconds.
      Returns:
      StatusCode of the set command
    • clearStickyFaults

      Clear the sticky faults in the device.

      This typically has no impact on the device functionality. Instead, it just clears telemetry faults that are accessible via API and Tuner Self-Test.

      This will wait up to 0.100 seconds (100ms) by default.

      Returns:
      StatusCode of the set command
    • clearStickyFaults

      public StatusCode clearStickyFaults(double timeoutSeconds)
      Clear the sticky faults in the device.

      This typically has no impact on the device functionality. Instead, it just clears telemetry faults that are accessible via API and Tuner Self-Test.

      Parameters:
      timeoutSeconds - Maximum time to wait up to in seconds.
      Returns:
      StatusCode of the set command
    • clearStickyFault_Hardware

      Clear sticky fault: Hardware fault occurred

      This will wait up to 0.100 seconds (100ms) by default.

      Returns:
      StatusCode of the set command
    • clearStickyFault_Hardware

      public StatusCode clearStickyFault_Hardware(double timeoutSeconds)
      Clear sticky fault: Hardware fault occurred
      Parameters:
      timeoutSeconds - Maximum time to wait up to in seconds.
      Returns:
      StatusCode of the set command
    • clearStickyFault_Undervoltage

      Clear sticky fault: Device supply voltage dropped to near brownout levels

      This will wait up to 0.100 seconds (100ms) by default.

      Returns:
      StatusCode of the set command
    • clearStickyFault_Undervoltage

      public StatusCode clearStickyFault_Undervoltage(double timeoutSeconds)
      Clear sticky fault: Device supply voltage dropped to near brownout levels
      Parameters:
      timeoutSeconds - Maximum time to wait up to in seconds.
      Returns:
      StatusCode of the set command
    • clearStickyFault_BootDuringEnable

      Clear sticky fault: Device boot while detecting the enable signal

      This will wait up to 0.100 seconds (100ms) by default.

      Returns:
      StatusCode of the set command
    • clearStickyFault_BootDuringEnable

      public StatusCode clearStickyFault_BootDuringEnable(double timeoutSeconds)
      Clear sticky fault: Device boot while detecting the enable signal
      Parameters:
      timeoutSeconds - Maximum time to wait up to in seconds.
      Returns:
      StatusCode of the set command
    • clearStickyFault_UnlicensedFeatureInUse

      Clear sticky fault: An unlicensed feature is in use, device may not behave as expected.

      This will wait up to 0.100 seconds (100ms) by default.

      Returns:
      StatusCode of the set command
    • clearStickyFault_UnlicensedFeatureInUse

      public StatusCode clearStickyFault_UnlicensedFeatureInUse(double timeoutSeconds)
      Clear sticky fault: An unlicensed feature is in use, device may not behave as expected.
      Parameters:
      timeoutSeconds - Maximum time to wait up to in seconds.
      Returns:
      StatusCode of the set command
    • clearStickyFault_5V

      Clear sticky fault: The CTR Electronics' CANdi™ branded device has detected a 5V fault. This may be due to overcurrent or a short-circuit.

      This will wait up to 0.100 seconds (100ms) by default.

      Returns:
      StatusCode of the set command
    • clearStickyFault_5V

      public StatusCode clearStickyFault_5V(double timeoutSeconds)
      Clear sticky fault: The CTR Electronics' CANdi™ branded device has detected a 5V fault. This may be due to overcurrent or a short-circuit.
      Parameters:
      timeoutSeconds - Maximum time to wait up to in seconds.
      Returns:
      StatusCode of the set command