pub struct PiezoSpeakerBricklet { /* private fields */ }
Expand description
Creates beep with configurable frequency
Implementations
sourceimpl PiezoSpeakerBricklet
impl PiezoSpeakerBricklet
pub const DEVICE_IDENTIFIER: u16 = 242u16
pub const DEVICE_DISPLAY_NAME: &'static str = "Piezo Speaker Bricklet"
sourcepub fn new(uid: &str, ip_connection: &IpConnection) -> PiezoSpeakerBricklet
pub fn new(uid: &str, ip_connection: &IpConnection) -> PiezoSpeakerBricklet
Creates an object with the unique device ID uid
. This object can then be used after the IP Connection ip_connection
is connected.
sourcepub fn get_response_expected(
&mut self,
fun: PiezoSpeakerBrickletFunction
) -> Result<bool, GetResponseExpectedError>
pub fn get_response_expected(
&mut self,
fun: PiezoSpeakerBrickletFunction
) -> Result<bool, GetResponseExpectedError>
Returns the response expected flag for the function specified by the function ID parameter. It is true if the function is expected to send a response, false otherwise.
For getter functions this is enabled by default and cannot be disabled, because those
functions will always send a response. For callback configuration functions it is enabled
by default too, but can be disabled by set_response_expected
.
For setter functions it is disabled by default and can be enabled.
Enabling the response expected flag for a setter function allows to detect timeouts and other error conditions calls of this setter as well. The device will then send a response for this purpose. If this flag is disabled for a setter function then no response is send and errors are silently ignored, because they cannot be detected.
See set_response_expected
for the list of function ID constants available for this function.
sourcepub fn set_response_expected(
&mut self,
fun: PiezoSpeakerBrickletFunction,
response_expected: bool
) -> Result<(), SetResponseExpectedError>
pub fn set_response_expected(
&mut self,
fun: PiezoSpeakerBrickletFunction,
response_expected: bool
) -> Result<(), SetResponseExpectedError>
Changes the response expected flag of the function specified by the function ID parameter. This flag can only be changed for setter (default value: false) and callback configuration functions (default value: true). For getter functions it is always enabled.
Enabling the response expected flag for a setter function allows to detect timeouts and other error conditions calls of this setter as well. The device will then send a response for this purpose. If this flag is disabled for a setter function then no response is send and errors are silently ignored, because they cannot be detected.
sourcepub fn set_response_expected_all(&mut self, response_expected: bool)
pub fn set_response_expected_all(&mut self, response_expected: bool)
Changes the response expected flag for all setter and callback configuration functions of this device at once.
sourcepub fn get_beep_finished_callback_receiver(
&self
) -> ConvertingCallbackReceiver<()>
pub fn get_beep_finished_callback_receiver(
&self
) -> ConvertingCallbackReceiver<()>
This receiver is triggered if a beep set by Beep
is finished
sourcepub fn get_morse_code_finished_callback_receiver(
&self
) -> ConvertingCallbackReceiver<()>
pub fn get_morse_code_finished_callback_receiver(
&self
) -> ConvertingCallbackReceiver<()>
This receiver is triggered if the playback of the morse code set by
Morse Code
is finished.
sourcepub fn beep(&self, duration: u32, frequency: u16) -> ConvertingReceiver<()>
pub fn beep(&self, duration: u32, frequency: u16) -> ConvertingReceiver<()>
Beeps with the given frequency for the duration in ms. For example: If you set a duration of 1000, with a frequency value of 2000 the piezo buzzer will beep for one second with a frequency of approximately 2 kHz.
.. versionchanged:: 2.0.2$nbsp;(Plugin) A duration of 0 stops the current beep if any, the frequency parameter is ignored. A duration of 4294967295 results in an infinite beep.
The frequency parameter can be set between 585 and 7100.
The Piezo Speaker Bricklet can only approximate the frequency, it will play
the best possible match by applying the calibration (see Calibrate
).
Associated constants:
- PIEZO_SPEAKERBRICKLET_BEEP_DURATION_OFF
- PIEZO_SPEAKERBRICKLET_BEEP_DURATION_INFINITE
sourcepub fn morse_code(&self, morse: String, frequency: u16) -> ConvertingReceiver<()>
pub fn morse_code(&self, morse: String, frequency: u16) -> ConvertingReceiver<()>
Sets morse code that will be played by the piezo buzzer. The morse code
is given as a string consisting of . (dot), - (minus) and (space)
for dits, dahs and pauses. Every other character is ignored.
The second parameter is the frequency (see Beep
).
For example: If you set the string …—…, the piezo buzzer will beep nine times with the durations short short short long long long short short short.
The maximum string size is 60.
sourcepub fn calibrate(&self) -> ConvertingReceiver<bool>
pub fn calibrate(&self) -> ConvertingReceiver<bool>
The Piezo Speaker Bricklet can play 512 different tones. This function plays each tone and measures the exact frequency back. The result is a mapping between setting value and frequency. This mapping is stored in the EEPROM and loaded on startup.
The Bricklet should come calibrated, you only need to call this function (once) every time you reflash the Bricklet plugin.
Returns true after the calibration finishes.
sourcepub fn get_identity(&self) -> ConvertingReceiver<Identity>
pub fn get_identity(&self) -> ConvertingReceiver<Identity>
Returns the UID, the UID where the Bricklet is connected to, the position, the hardware and firmware version as well as the device identifier.
The position can be ‘a’, ‘b’, ‘c’ or ‘d’.
The device identifier numbers can be found here. |device_identifier_constant|
Trait Implementations
sourceimpl Clone for PiezoSpeakerBricklet
impl Clone for PiezoSpeakerBricklet
sourcefn clone(&self) -> PiezoSpeakerBricklet
fn clone(&self) -> PiezoSpeakerBricklet
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more