Class MusicTone

java.lang.Object
com.ctre.phoenix6.controls.ControlRequest
com.ctre.phoenix6.controls.MusicTone
All Implemented Interfaces:
Cloneable

public class MusicTone
extends ControlRequest
implements Cloneable
Plays a single tone at the user specified frequency.
  • Field Details

    • AudioFrequency

      public double AudioFrequency
      Sound frequency to play. A value of zero will silence the device. The effective frequency range is 10-20000Hz. Any nonzero frequency less than 10 Hz will be capped to 10Hz. Any frequency above 20Khz will be capped to 20KHz.
    • UpdateFreqHz

      public double UpdateFreqHz
      The period at which this control will update at. This is designated in Hertz, with a minimum of 20 Hz (every 50 ms) and a maximum of 1000 Hz (every 1 ms).

      If this field is set to 0 Hz, the control request will be sent immediately as a one-shot frame. This may be useful for advanced applications that require outputs to be synchronized with data acquisition. In this case, we recommend not exceeding 50 ms between control calls.

  • Constructor Details

    • MusicTone

      public MusicTone​(double AudioFrequency)
      Plays a single tone at the user specified frequency.
      Parameters:
      AudioFrequency - Sound frequency to play. A value of zero will silence the device. The effective frequency range is 10-20000Hz. Any nonzero frequency less than 10 Hz will be capped to 10Hz. Any frequency above 20Khz will be capped to 20KHz.
  • Method Details

    • toString

      public String toString()
      Overrides:
      toString in class Object
    • sendRequest

      public StatusCode sendRequest​(String network, int deviceHash, boolean cancelOtherRequests)
      Specified by:
      sendRequest in class ControlRequest
    • getControlInfo

      Gets information about this control request.
      Specified by:
      getControlInfo in class ControlRequest
      Returns:
      Map of control parameter names and corresponding applied values
    • withAudioFrequency

      public MusicTone withAudioFrequency​(double newAudioFrequency)
      Modifies this Control Request's AudioFrequency parameter and returns itself for method-chaining and easier to use request API.

      Sound frequency to play. A value of zero will silence the device. The effective frequency range is 10-20000Hz. Any nonzero frequency less than 10 Hz will be capped to 10Hz. Any frequency above 20Khz will be capped to 20KHz.

      Parameters:
      newAudioFrequency - Parameter to modify
      Returns:
      Itself
    • withUpdateFreqHz

      public MusicTone withUpdateFreqHz​(double newUpdateFreqHz)
      Sets the period at which this control will update at. This is designated in Hertz, with a minimum of 20 Hz (every 50 ms) and a maximum of 1000 Hz (every 1 ms).

      If this field is set to 0 Hz, the control request will be sent immediately as a one-shot frame. This may be useful for advanced applications that require outputs to be synchronized with data acquisition. In this case, we recommend not exceeding 50 ms between control calls.

      Parameters:
      newUpdateFreqHz - Parameter to modify
      Returns:
      Itself
    • clone

      public MusicTone clone()
      Overrides:
      clone in class Object