Class CoreCANdle

Direct Known Subclasses:
CANdle

public class CoreCANdle extends ParentDevice
Class for CTR Electronics' CANdle® branded device, a device that controls LEDs over the CAN bus.
  • Constructor Details

    • CoreCANdle

      public CoreCANdle(int deviceId)
      Constructs a new CANdle 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.
    • CoreCANdle

      public CoreCANdle(int deviceId, String canbus)
      Constructs a new CANdle 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
    • CoreCANdle

      public CoreCANdle(int deviceId, CANBus canbus)
      Constructs a new CANdle 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
    • getSupplyVoltage

      Measured supply voltage to the CANdle.
      • Minimum Value: 0.0
      • Maximum Value: 32.767
      • Default Value: 0
      • Units: V
      Default Rates:
      • CAN 2.0: 10.0 Hz
      • CAN FD: 10.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 CANdle.
      • Minimum Value: 0.0
      • Maximum Value: 32.767
      • Default Value: 0
      • Units: V
      Default Rates:
      • CAN 2.0: 10.0 Hz
      • CAN FD: 10.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
    • getFiveVRailVoltage

      The measured voltage of the 5V rail line.
      • Minimum Value: 0.0
      • Maximum Value: 10.23
      • Default Value: 0
      • Units: V
      Default Rates:
      • CAN 2.0: 10.0 Hz
      • CAN FD: 10.0 Hz (TimeSynced with Pro)

      This refreshes and returns a cached StatusSignal object.

      Returns:
      FiveVRailVoltage Status Signal Object
    • getFiveVRailVoltage

      public StatusSignal<Voltage> getFiveVRailVoltage(boolean refresh)
      The measured voltage of the 5V rail line.
      • Minimum Value: 0.0
      • Maximum Value: 10.23
      • Default Value: 0
      • Units: V
      Default Rates:
      • CAN 2.0: 10.0 Hz
      • CAN FD: 10.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:
      FiveVRailVoltage Status Signal Object
    • getOutputCurrent

      The measured output current. This includes both VBat and 5V output current.
      • Minimum Value: 0.0
      • Maximum Value: 10.23
      • Default Value: 0
      • Units: A
      Default Rates:
      • CAN 2.0: 10.0 Hz
      • CAN FD: 10.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)
      The measured output current. This includes both VBat and 5V output current.
      • Minimum Value: 0.0
      • Maximum Value: 10.23
      • Default Value: 0
      • Units: A
      Default Rates:
      • CAN 2.0: 10.0 Hz
      • CAN FD: 10.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
    • getDeviceTemp

      The temperature that the CANdle measures itself to be at.
      • Minimum Value: -128
      • Maximum Value: 127
      • Default Value: 0
      • Units:
      Default Rates:
      • CAN 2.0: 10.0 Hz
      • CAN FD: 10.0 Hz (TimeSynced with Pro)

      This refreshes and returns a cached StatusSignal object.

      Returns:
      DeviceTemp Status Signal Object
    • getDeviceTemp

      public StatusSignal<Temperature> getDeviceTemp(boolean refresh)
      The temperature that the CANdle measures itself to be at.
      • Minimum Value: -128
      • Maximum Value: 127
      • Default Value: 0
      • Units:
      Default Rates:
      • CAN 2.0: 10.0 Hz
      • CAN FD: 10.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:
      DeviceTemp Status Signal Object
    • getVBatModulation

      The applied VBat modulation duty cycle.

      This signal will report 1.0 if the VBatOutputMode is configured to be always on, and 0.0 if configured to be always off. Otherwise, this will report the applied modulation from the last ModulateVBatOut request.

      • Minimum Value: 0.0
      • Maximum Value: 1.0
      • Default Value: 0
      • Units: frac
      Default Rates:
      • CAN 2.0: 10.0 Hz
      • CAN FD: 10.0 Hz (TimeSynced with Pro)

      This refreshes and returns a cached StatusSignal object.

      Returns:
      VBatModulation Status Signal Object
    • getVBatModulation

      public StatusSignal<Double> getVBatModulation(boolean refresh)
      The applied VBat modulation duty cycle.

      This signal will report 1.0 if the VBatOutputMode is configured to be always on, and 0.0 if configured to be always off. Otherwise, this will report the applied modulation from the last ModulateVBatOut request.

      • Minimum Value: 0.0
      • Maximum Value: 1.0
      • Default Value: 0
      • Units: frac
      Default Rates:
      • CAN 2.0: 10.0 Hz
      • CAN FD: 10.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:
      VBatModulation Status Signal Object
    • getMaxSimultaneousAnimationCount

      The maximum number of simultaneous animations supported by the current version of CANdle firmware.

      Any control request using an animation slot greater than or equal to this signal will be ignored.

      • Minimum Value: 0
      • Maximum Value: 31
      • Default Value: 0
      • Units:
      Default Rates:
      • CAN 2.0: 10.0 Hz
      • CAN FD: 10.0 Hz (TimeSynced with Pro)

      This refreshes and returns a cached StatusSignal object.

      Returns:
      MaxSimultaneousAnimationCount Status Signal Object
    • getMaxSimultaneousAnimationCount

      The maximum number of simultaneous animations supported by the current version of CANdle firmware.

      Any control request using an animation slot greater than or equal to this signal will be ignored.

      • Minimum Value: 0
      • Maximum Value: 31
      • Default Value: 0
      • Units:
      Default Rates:
      • CAN 2.0: 10.0 Hz
      • CAN FD: 10.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:
      MaxSimultaneousAnimationCount 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_Overvoltage

      Device supply voltage is too high (above 30 V).
      • Default Value: False
      Default Rates:
      • CAN: 4.0 Hz

      This refreshes and returns a cached StatusSignal object.

      Returns:
      Fault_Overvoltage Status Signal Object
    • getFault_Overvoltage

      public StatusSignal<Boolean> getFault_Overvoltage(boolean refresh)
      Device supply voltage is too high (above 30 V).
      • 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_Overvoltage Status Signal Object
    • getStickyFault_Overvoltage

      Device supply voltage is too high (above 30 V).
      • Default Value: False
      Default Rates:
      • CAN: 4.0 Hz

      This refreshes and returns a cached StatusSignal object.

      Returns:
      StickyFault_Overvoltage Status Signal Object
    • getStickyFault_Overvoltage

      public StatusSignal<Boolean> getStickyFault_Overvoltage(boolean refresh)
      Device supply voltage is too high (above 30 V).
      • 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_Overvoltage Status Signal Object
    • getFault_5VTooHigh

      Device 5V line is too high (above 6 V).
      • Default Value: False
      Default Rates:
      • CAN: 4.0 Hz

      This refreshes and returns a cached StatusSignal object.

      Returns:
      Fault_5VTooHigh Status Signal Object
    • getFault_5VTooHigh

      public StatusSignal<Boolean> getFault_5VTooHigh(boolean refresh)
      Device 5V line is too high (above 6 V).
      • 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_5VTooHigh Status Signal Object
    • getStickyFault_5VTooHigh

      Device 5V line is too high (above 6 V).
      • Default Value: False
      Default Rates:
      • CAN: 4.0 Hz

      This refreshes and returns a cached StatusSignal object.

      Returns:
      StickyFault_5VTooHigh Status Signal Object
    • getStickyFault_5VTooHigh

      public StatusSignal<Boolean> getStickyFault_5VTooHigh(boolean refresh)
      Device 5V line is too high (above 6 V).
      • 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_5VTooHigh Status Signal Object
    • getFault_5VTooLow

      Device 5V line is too low (below 4 V).
      • Default Value: False
      Default Rates:
      • CAN: 4.0 Hz

      This refreshes and returns a cached StatusSignal object.

      Returns:
      Fault_5VTooLow Status Signal Object
    • getFault_5VTooLow

      public StatusSignal<Boolean> getFault_5VTooLow(boolean refresh)
      Device 5V line is too low (below 4 V).
      • 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_5VTooLow Status Signal Object
    • getStickyFault_5VTooLow

      Device 5V line is too low (below 4 V).
      • Default Value: False
      Default Rates:
      • CAN: 4.0 Hz

      This refreshes and returns a cached StatusSignal object.

      Returns:
      StickyFault_5VTooLow Status Signal Object
    • getStickyFault_5VTooLow

      public StatusSignal<Boolean> getStickyFault_5VTooLow(boolean refresh)
      Device 5V line is too low (below 4 V).
      • 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_5VTooLow Status Signal Object
    • getFault_Thermal

      Device temperature exceeded limit.
      • Default Value: False
      Default Rates:
      • CAN: 4.0 Hz

      This refreshes and returns a cached StatusSignal object.

      Returns:
      Fault_Thermal Status Signal Object
    • getFault_Thermal

      public StatusSignal<Boolean> getFault_Thermal(boolean refresh)
      Device temperature exceeded limit.
      • 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_Thermal Status Signal Object
    • getStickyFault_Thermal

      Device temperature exceeded limit.
      • Default Value: False
      Default Rates:
      • CAN: 4.0 Hz

      This refreshes and returns a cached StatusSignal object.

      Returns:
      StickyFault_Thermal Status Signal Object
    • getStickyFault_Thermal

      public StatusSignal<Boolean> getStickyFault_Thermal(boolean refresh)
      Device temperature exceeded limit.
      • 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_Thermal Status Signal Object
    • getFault_SoftwareFuse

      CANdle output current exceeded the 6 A limit.
      • Default Value: False
      Default Rates:
      • CAN: 4.0 Hz

      This refreshes and returns a cached StatusSignal object.

      Returns:
      Fault_SoftwareFuse Status Signal Object
    • getFault_SoftwareFuse

      public StatusSignal<Boolean> getFault_SoftwareFuse(boolean refresh)
      CANdle output current exceeded the 6 A limit.
      • 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_SoftwareFuse Status Signal Object
    • getStickyFault_SoftwareFuse

      CANdle output current exceeded the 6 A limit.
      • Default Value: False
      Default Rates:
      • CAN: 4.0 Hz

      This refreshes and returns a cached StatusSignal object.

      Returns:
      StickyFault_SoftwareFuse Status Signal Object
    • getStickyFault_SoftwareFuse

      CANdle output current exceeded the 6 A limit.
      • 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_SoftwareFuse Status Signal Object
    • getFault_ShortCircuit

      CANdle has detected the output pin is shorted.
      • Default Value: False
      Default Rates:
      • CAN: 4.0 Hz

      This refreshes and returns a cached StatusSignal object.

      Returns:
      Fault_ShortCircuit Status Signal Object
    • getFault_ShortCircuit

      public StatusSignal<Boolean> getFault_ShortCircuit(boolean refresh)
      CANdle has detected the output pin is shorted.
      • 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_ShortCircuit Status Signal Object
    • getStickyFault_ShortCircuit

      CANdle has detected the output pin is shorted.
      • Default Value: False
      Default Rates:
      • CAN: 4.0 Hz

      This refreshes and returns a cached StatusSignal object.

      Returns:
      StickyFault_ShortCircuit Status Signal Object
    • getStickyFault_ShortCircuit

      CANdle has detected the output pin is shorted.
      • 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_ShortCircuit Status Signal Object
    • setControl

      Modulates the CANdle VBat output to the specified duty cycle. This can be used to control a single-color LED strip.

      Note that CANdleFeaturesConfigs.VBatOutputMode must be set to VBatOutputModeValue.Modulated.

      • ModulateVBatOut Parameters:
        • Output: Proportion of VBat to output in fractional units between 0.0 and 1.0.
      Parameters:
      request - Control object to request of the device
      Returns:
      Code response of the request
    • setControl

      public StatusCode setControl(SolidColor request)
      Sets LEDs to a solid color.

      • SolidColor Parameters:
        • LEDStartIndex: The index of the first LED this animation controls (inclusive). Indices 0-7 control the onboard LEDs, and 8-399 control an attached LED strip.
        • LEDEndIndex: The index of the last LED this animation controls (inclusive). Indices 0-7 control the onboard LEDs, and 8-399 control an attached LED strip.
        • Color: The color to apply to the LEDs.
      Parameters:
      request - Control object to request of the device
      Returns:
      Code response of the request
    • setControl

      An empty animation, clearing any animation in the specified slot.

      • EmptyAnimation Parameters:
        • Slot: The slot of this animation, within [0, 7]. Each slot on the CANdle can store and run one animation.
      Parameters:
      request - Control object to request of the device
      Returns:
      Code response of the request
    • setControl

      Animation that gradually lights the entire LED strip one LED at a time.

      • ColorFlowAnimation Parameters:
        • LEDStartIndex: The index of the first LED this animation controls (inclusive). Indices 0-7 control the onboard LEDs, and 8-399 control an attached LED strip

          If the start index is greater than the end index, the direction will be reversed. The direction can also be changed using the Direction parameter.

        • LEDEndIndex: The index of the last LED this animation controls (inclusive). Indices 0-7 control the onboard LEDs, and 8-399 control an attached LED strip.

          If the end index is less than the start index, the direction will be reversed. The direction can also be changed using the Direction parameter.

        • Slot: The slot of this animation, within [0, 7]. Each slot on the CANdle can store and run one animation.
        • Color: The color to use in the animation.
        • Direction: The direction of the animation.
        • FrameRate: The frame rate of the animation, from [2, 1000] Hz. This determines the speed of the animation.

          A frame is defined as a transition in the state of the LEDs, turning one on or off.

      Parameters:
      request - Control object to request of the device
      Returns:
      Code response of the request
    • setControl

      Animation that looks similar to a flame flickering.

      • FireAnimation Parameters:
        • LEDStartIndex: The index of the first LED this animation controls (inclusive). Indices 0-7 control the onboard LEDs, and 8-399 control an attached LED strip

          If the start index is greater than the end index, the direction will be reversed. The direction can also be changed using the Direction parameter.

        • LEDEndIndex: The index of the last LED this animation controls (inclusive). Indices 0-7 control the onboard LEDs, and 8-399 control an attached LED strip.

          If the end index is less than the start index, the direction will be reversed. The direction can also be changed using the Direction parameter.

        • Slot: The slot of this animation, within [0, 7]. Each slot on the CANdle can store and run one animation.
        • Brightness: The brightness of the animation, as a scalar from 0.0 to 1.0.
        • Direction: The direction of the animation.
        • Sparking: The proportion of time in which sparks reignite the fire, as a scalar from 0.0 to 1.0.
        • Cooling: The rate at which the fire cools along the travel, as a scalar from 0.0 to 1.0.
        • FrameRate: The frame rate of the animation, from [2, 1000] Hz. This determines the speed of the animation.

          A frame is defined as a transition in the state of the LEDs, advancing the animation of the fire.

      Parameters:
      request - Control object to request of the device
      Returns:
      Code response of the request
    • setControl

      Animation that bounces a pocket of light across the LED strip.

      • LarsonAnimation Parameters:
        • LEDStartIndex: The index of the first LED this animation controls (inclusive). Indices 0-7 control the onboard LEDs, and 8-399 control an attached LED strip.
        • LEDEndIndex: The index of the last LED this animation controls (inclusive). Indices 0-7 control the onboard LEDs, and 8-399 control an attached LED strip.
        • Slot: The slot of this animation, within [0, 7]. Each slot on the CANdle can store and run one animation.
        • Color: The color to use in the animation.
        • Size: The number of LEDs in the pocket of light, up to 15.
        • BounceMode: The behavior of the pocket of light when it reaches the end of the strip.
        • FrameRate: The frame rate of the animation, from [2, 1000] Hz. This determines the speed of the animation.

          A frame is defined as a transition in the state of the LEDs, advancing the pocket of light by one LED.

      Parameters:
      request - Control object to request of the device
      Returns:
      Code response of the request
    • setControl

      Animation that creates a rainbow throughout all the LEDs.

      • RainbowAnimation Parameters:
        • LEDStartIndex: The index of the first LED this animation controls (inclusive). Indices 0-7 control the onboard LEDs, and 8-399 control an attached LED strip

          If the start index is greater than the end index, the direction will be reversed. The direction can also be changed using the Direction parameter.

        • LEDEndIndex: The index of the last LED this animation controls (inclusive). Indices 0-7 control the onboard LEDs, and 8-399 control an attached LED strip.

          If the end index is less than the start index, the direction will be reversed. The direction can also be changed using the Direction parameter.

        • Slot: The slot of this animation, within [0, 7]. Each slot on the CANdle can store and run one animation.
        • Brightness: The brightness of the animation, as a scalar from 0.0 to 1.0.
        • Direction: The direction of the animation.
        • FrameRate: The frame rate of the animation, from [2, 1000] Hz. This determines the speed of the animation.

          A frame is defined as a transition in the state of the LEDs, advancing the rainbow by about 3 degrees of hue (out of 360 degrees).

      Parameters:
      request - Control object to request of the device
      Returns:
      Code response of the request
    • setControl

      Animation that fades all the LEDs of a strip simultaneously between Red, Green, and Blue.

      • RgbFadeAnimation Parameters:
        • LEDStartIndex: The index of the first LED this animation controls (inclusive). Indices 0-7 control the onboard LEDs, and 8-399 control an attached LED strip.
        • LEDEndIndex: The index of the last LED this animation controls (inclusive). Indices 0-7 control the onboard LEDs, and 8-399 control an attached LED strip.
        • Slot: The slot of this animation, within [0, 7]. Each slot on the CANdle can store and run one animation.
        • Brightness: The brightness of the animation, as a scalar from 0.0 to 1.0.
        • FrameRate: The frame rate of the animation, from [2, 1000] Hz. This determines the speed of the animation.

          A frame is defined as a transition in the state of the LEDs, adjusting the brightness of the LEDs by 1%.

      Parameters:
      request - Control object to request of the device
      Returns:
      Code response of the request
    • setControl

      Animation that fades into and out of a specified color.

      • SingleFadeAnimation Parameters:
        • LEDStartIndex: The index of the first LED this animation controls (inclusive). Indices 0-7 control the onboard LEDs, and 8-399 control an attached LED strip.
        • LEDEndIndex: The index of the last LED this animation controls (inclusive). Indices 0-7 control the onboard LEDs, and 8-399 control an attached LED strip.
        • Slot: The slot of this animation, within [0, 7]. Each slot on the CANdle can store and run one animation.
        • Color: The color to use in the animation.
        • FrameRate: The frame rate of the animation, from [2, 1000] Hz. This determines the speed of the animation.

          A frame is defined as a transition in the state of the LEDs, adjusting the brightness of the LEDs by 1%.

      Parameters:
      request - Control object to request of the device
      Returns:
      Code response of the request
    • setControl

      Animation that strobes the LEDs a specified color.

      • StrobeAnimation Parameters:
        • LEDStartIndex: The index of the first LED this animation controls (inclusive). Indices 0-7 control the onboard LEDs, and 8-399 control an attached LED strip.
        • LEDEndIndex: The index of the last LED this animation controls (inclusive). Indices 0-7 control the onboard LEDs, and 8-399 control an attached LED strip.
        • Slot: The slot of this animation, within [0, 7]. Each slot on the CANdle can store and run one animation.
        • Color: The color to use in the animation.
        • FrameRate: The frame rate of the animation, from [1, 500] Hz. This determines the speed of the animation.

          A frame is defined as a transition in the state of the LEDs, turning all LEDs on or off.

      Parameters:
      request - Control object to request of the device
      Returns:
      Code response of the request
    • setControl

      Animation that randomly turns LEDs on and off to a certain color.

      • TwinkleAnimation Parameters:
        • LEDStartIndex: The index of the first LED this animation controls (inclusive). Indices 0-7 control the onboard LEDs, and 8-399 control an attached LED strip.
        • LEDEndIndex: The index of the last LED this animation controls (inclusive). Indices 0-7 control the onboard LEDs, and 8-399 control an attached LED strip.
        • Slot: The slot of this animation, within [0, 7]. Each slot on the CANdle can store and run one animation.
        • Color: The color to use in the animation.
        • MaxLEDsOnProportion: The max proportion of LEDs that can be on, in the range [0.1, 1.0].
        • FrameRate: The frame rate of the animation, from [2, 1000] Hz. This determines the speed of the animation.

          A frame is defined as a transition in the state of the LEDs, turning one on or off.

      Parameters:
      request - Control object to request of the device
      Returns:
      Code response of the request
    • setControl

      Animation that randomly turns on LEDs until it reaches the maximum count, and then turns them all off.

      • TwinkleOffAnimation Parameters:
        • LEDStartIndex: The index of the first LED this animation controls (inclusive). Indices 0-7 control the onboard LEDs, and 8-399 control an attached LED strip.
        • LEDEndIndex: The index of the last LED this animation controls (inclusive). Indices 0-7 control the onboard LEDs, and 8-399 control an attached LED strip.
        • Slot: The slot of this animation, within [0, 7]. Each slot on the CANdle can store and run one animation.
        • Color: The color to use in the animation.
        • MaxLEDsOnProportion: The max proportion of LEDs that can be on, in the range [0.1, 1.0].
        • FrameRate: The frame rate of the animation, from [2, 1000] Hz. This determines the speed of the animation.

          A frame is defined as a transition in the state of the LEDs, turning one LED on or all LEDs off.

      Parameters:
      request - Control object to request of the device
      Returns:
      Code response of the request
    • 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
    • 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_Overvoltage

      Clear sticky fault: Device supply voltage is too high (above 30 V).

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

      Returns:
      StatusCode of the set command
    • clearStickyFault_Overvoltage

      public StatusCode clearStickyFault_Overvoltage(double timeoutSeconds)
      Clear sticky fault: Device supply voltage is too high (above 30 V).
      Parameters:
      timeoutSeconds - Maximum time to wait up to in seconds.
      Returns:
      StatusCode of the set command
    • clearStickyFault_5VTooHigh

      Clear sticky fault: Device 5V line is too high (above 6 V).

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

      Returns:
      StatusCode of the set command
    • clearStickyFault_5VTooHigh

      public StatusCode clearStickyFault_5VTooHigh(double timeoutSeconds)
      Clear sticky fault: Device 5V line is too high (above 6 V).
      Parameters:
      timeoutSeconds - Maximum time to wait up to in seconds.
      Returns:
      StatusCode of the set command
    • clearStickyFault_5VTooLow

      Clear sticky fault: Device 5V line is too low (below 4 V).

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

      Returns:
      StatusCode of the set command
    • clearStickyFault_5VTooLow

      public StatusCode clearStickyFault_5VTooLow(double timeoutSeconds)
      Clear sticky fault: Device 5V line is too low (below 4 V).
      Parameters:
      timeoutSeconds - Maximum time to wait up to in seconds.
      Returns:
      StatusCode of the set command
    • clearStickyFault_Thermal

      Clear sticky fault: Device temperature exceeded limit.

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

      Returns:
      StatusCode of the set command
    • clearStickyFault_Thermal

      public StatusCode clearStickyFault_Thermal(double timeoutSeconds)
      Clear sticky fault: Device temperature exceeded limit.
      Parameters:
      timeoutSeconds - Maximum time to wait up to in seconds.
      Returns:
      StatusCode of the set command
    • clearStickyFault_SoftwareFuse

      Clear sticky fault: CANdle output current exceeded the 6 A limit.

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

      Returns:
      StatusCode of the set command
    • clearStickyFault_SoftwareFuse

      public StatusCode clearStickyFault_SoftwareFuse(double timeoutSeconds)
      Clear sticky fault: CANdle output current exceeded the 6 A limit.
      Parameters:
      timeoutSeconds - Maximum time to wait up to in seconds.
      Returns:
      StatusCode of the set command
    • clearStickyFault_ShortCircuit

      Clear sticky fault: CANdle has detected the output pin is shorted.

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

      Returns:
      StatusCode of the set command
    • clearStickyFault_ShortCircuit

      public StatusCode clearStickyFault_ShortCircuit(double timeoutSeconds)
      Clear sticky fault: CANdle has detected the output pin is shorted.
      Parameters:
      timeoutSeconds - Maximum time to wait up to in seconds.
      Returns:
      StatusCode of the set command