CTRE Phoenix 6 C++ 26.0.0-beta-1
Loading...
Searching...
No Matches
ctre::phoenix6::controls::MusicTone Class Referencefinal

Plays a single tone at the user specified frequency. More...

#include <ctre/phoenix6/controls/MusicTone.hpp>

Inheritance diagram for ctre::phoenix6::controls::MusicTone:
ctre::phoenix6::controls::ControlRequest

Public Member Functions

constexpr MusicTone (units::frequency::hertz_t AudioFrequency)
 Plays a single tone at the user specified frequency.
 
constexpr ~MusicTone () override
 
constexpr std::string_view GetName () const override
 Gets the name of this control request.
 
constexpr MusicToneWithAudioFrequency (units::frequency::hertz_t newAudioFrequency)
 Modifies this Control Request's AudioFrequency parameter and returns itself for method-chaining and easier to use request API.
 
constexpr MusicToneWithUpdateFreqHz (units::frequency::hertz_t newUpdateFreqHz)
 Sets the frequency at which this control will update.
 
std::string ToString () const override
 Returns a string representation of the object.
 
std::map< std::string, std::string > GetControlInfo () const override
 Gets information about this control request.
 
- Public Member Functions inherited from ctre::phoenix6::controls::ControlRequest
constexpr ControlRequest ()=default
 Constructs a new Control Request.
 
virtual constexpr ~ControlRequest ()
 

Public Attributes

units::frequency::hertz_t AudioFrequency
 Sound frequency to play.
 
units::frequency::hertz_t UpdateFreqHz {100_Hz}
 The frequency at which this control will update.
 

Additional Inherited Members

- Protected Member Functions inherited from ctre::phoenix6::controls::ControlRequest
constexpr ControlRequest (ControlRequest const &)=default
 
constexpr ControlRequest (ControlRequest &&)=default
 
constexpr ControlRequestoperator= (ControlRequest const &)=default
 
constexpr ControlRequestoperator= (ControlRequest &&)=default
 

Detailed Description

Plays a single tone at the user specified frequency.

Constructor & Destructor Documentation

◆ MusicTone()

ctre::phoenix6::controls::MusicTone::MusicTone ( units::frequency::hertz_t AudioFrequency)
inlineconstexpr

Plays a single tone at the user specified frequency.

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

◆ ~MusicTone()

ctre::phoenix6::controls::MusicTone::~MusicTone ( )
inlineconstexproverride

Member Function Documentation

◆ GetControlInfo()

std::map< std::string, std::string > ctre::phoenix6::controls::MusicTone::GetControlInfo ( ) const
overridevirtual

Gets information about this control request.

Returns
Map of control parameter names and corresponding applied values

Implements ctre::phoenix6::controls::ControlRequest.

◆ GetName()

std::string_view ctre::phoenix6::controls::MusicTone::GetName ( ) const
inlineconstexproverridevirtual

Gets the name of this control request.

Returns
Name of the control request

Implements ctre::phoenix6::controls::ControlRequest.

◆ ToString()

std::string ctre::phoenix6::controls::MusicTone::ToString ( ) const
overridevirtual

Returns a string representation of the object.

Returns
a string representation of the object.

Implements ctre::phoenix6::controls::ControlRequest.

◆ WithAudioFrequency()

MusicTone & ctre::phoenix6::controls::MusicTone::WithAudioFrequency ( units::frequency::hertz_t newAudioFrequency)
inlineconstexpr

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-20000 Hz. Any nonzero frequency less than 10 Hz will be capped to 10 Hz. Any frequency above 20 kHz will be capped to 20 kHz.

  • Units: Hz
Parameters
newAudioFrequencyParameter to modify
Returns
Itself

◆ WithUpdateFreqHz()

MusicTone & ctre::phoenix6::controls::MusicTone::WithUpdateFreqHz ( units::frequency::hertz_t newUpdateFreqHz)
inlineconstexpr

Sets the frequency at which this control will update.

This is designated in Hertz, with a minimum of 20 Hz (every 50 ms) and a maximum of 1000 Hz (every 1 ms). Some update frequencies are not supported and will be promoted up to the next highest supported frequency.

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
newUpdateFreqHzParameter to modify
Returns
Itself

Member Data Documentation

◆ AudioFrequency

units::frequency::hertz_t ctre::phoenix6::controls::MusicTone::AudioFrequency

Sound frequency to play.

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

  • Units: Hz

◆ UpdateFreqHz

units::frequency::hertz_t ctre::phoenix6::controls::MusicTone::UpdateFreqHz {100_Hz}

The frequency at which this control will update.

This is designated in Hertz, with a minimum of 20 Hz (every 50 ms) and a maximum of 1000 Hz (every 1 ms). Some update frequencies are not supported and will be promoted up to the next highest supported frequency.

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.


The documentation for this class was generated from the following file: