Package com.ctre.phoenix6.controls
Class MusicTone
java.lang.Object
com.ctre.phoenix6.controls.ControlRequest
com.ctre.phoenix6.controls.MusicTone
public class MusicTone extends ControlRequest
Plays a single tone at the user specified frequency.
-
Field Summary
Fields Modifier and Type Field Description double
AudioFrequency
Sound frequency to play.double
configTimeout
The timeout when sending configs associated with this controldouble
UpdateFreqHz
The period at which this control will update at. -
Constructor Summary
Constructors Constructor Description MusicTone(double AudioFrequency)
Plays a single tone at the user specified frequency. -
Method Summary
Modifier and Type Method Description void
forceApplyConfigs()
Forces configs to be applied the next time this is used in a setControl.Map<String,String>
getControlInfo()
Gets information about this control request.StatusCode
sendRequest(String network, int deviceHash, boolean cancelOtherRequests)
String
toString()
MusicTone
withAudioFrequency(double newAudioFrequency)
Modifies this Control Request's AudioFrequency parameter and returns itself for method-chaining and easier to use request API.MusicTone
withUpdateFreqHz(double newUpdateFreqHz)
Sets the period at which this control will update at.
-
Field Details
-
AudioFrequency
Sound frequency to play. A value of zero will silence the device. The effective frequency range is 10-10000Hz. Any nonzero frequency less than 10 Hz will be capped to 10Hz. Any frequency above 10Khz will be capped to 10KHz. -
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.
-
configTimeout
The timeout when sending configs associated with this control
-
-
Constructor Details
-
MusicTone
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-10000Hz. Any nonzero frequency less than 10 Hz will be capped to 10Hz. Any frequency above 10Khz will be capped to 10KHz.
-
-
Method Details
-
toString
-
sendRequest
- Specified by:
sendRequest
in classControlRequest
-
getControlInfo
Gets information about this control request.- Specified by:
getControlInfo
in classControlRequest
- Returns:
- Map of control parameter names and corresponding applied values
-
withAudioFrequency
Modifies this Control Request's AudioFrequency parameter and returns itself for method-chaining and easier to use request API.- Parameters:
newAudioFrequency
- Parameter to modify- Returns:
- Itself
-
withUpdateFreqHz
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
-
forceApplyConfigs
Forces configs to be applied the next time this is used in a setControl.This is not necessary in the majority of cases, because Phoenix will make sure configs are properly set when they are not already set
-