pub struct PiezoSpeakerBricklet { /* private fields */ }
Expand description
Creates beep with configurable frequency
Implementations§
Source§impl PiezoSpeakerBricklet
impl PiezoSpeakerBricklet
pub const DEVICE_IDENTIFIER: u16 = 242u16
pub const DEVICE_DISPLAY_NAME: &'static str = "Piezo Speaker Bricklet"
Sourcepub fn new(uid: Uid, connection: AsyncIpConnection) -> PiezoSpeakerBricklet
pub fn new(uid: Uid, connection: AsyncIpConnection) -> 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 sent 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 sent 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_api_version(&self) -> [u8; 3]
pub fn get_api_version(&self) -> [u8; 3]
Returns the version of the API definition (major, minor, revision) implemented by this API bindings. This is neither the release version of this API bindings nor does it tell you anything about the represented Brick or Bricklet.
Sourcepub async fn get_beep_finished_callback_receiver(
&mut self,
) -> impl Stream<Item = ()>
pub async fn get_beep_finished_callback_receiver( &mut self, ) -> impl Stream<Item = ()>
This receiver is triggered if a beep set by beep
is finished
Sourcepub async fn get_morse_code_finished_callback_receiver(
&mut self,
) -> impl Stream<Item = ()>
pub async fn get_morse_code_finished_callback_receiver( &mut self, ) -> impl Stream<Item = ()>
This receiver is triggered if the playback of the morse code set by
[morse_code
] is finished.
Sourcepub async fn beep(
&mut self,
duration: u32,
frequency: u16,
) -> Result<(), TinkerforgeError>
pub async fn beep( &mut self, duration: u32, frequency: u16, ) -> Result<(), TinkerforgeError>
Beeps with the given frequency for the given duration.
.. 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 Piezo Speaker Bricklet can only approximate the frequency, it will play
the best possible match by applying the calibration (see [calibrate
]).
Associated constants:
- PIEZO_SPEAKER_BRICKLET_BEEP_DURATION_OFF
- PIEZO_SPEAKER_BRICKLET_BEEP_DURATION_INFINITE
Sourcepub async fn morse_code(
&mut self,
morse: String,
frequency: u16,
) -> Result<(), TinkerforgeError>
pub async fn morse_code( &mut self, morse: String, frequency: u16, ) -> Result<(), TinkerforgeError>
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.
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.
Sourcepub async fn calibrate(&mut self) -> Result<bool, TinkerforgeError>
pub async fn calibrate(&mut self) -> Result<bool, TinkerforgeError>
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 async fn get_identity(&mut self) -> Result<Identity, TinkerforgeError>
pub async fn get_identity(&mut self) -> Result<Identity, TinkerforgeError>
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’, ‘d’, ‘e’, ‘f’, ‘g’ or ‘h’ (Bricklet Port). A Bricklet connected to an Isolator Bricklet is always at position ‘z’.
The device identifier numbers can be found here. |device_identifier_constant|
Trait Implementations§
Source§impl Clone for PiezoSpeakerBricklet
impl Clone for PiezoSpeakerBricklet
Source§fn clone(&self) -> PiezoSpeakerBricklet
fn clone(&self) -> PiezoSpeakerBricklet
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more