Merge pull request #3282 from elagil/add_sai_is_muted

feat: add function to check if SAI is muted
This commit is contained in:
Ulf Lilleengen 2024-08-25 13:59:27 +00:00 committed by GitHub
commit 1ff1f00d5a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -987,6 +987,21 @@ impl<'d, T: Instance, W: word::Word> Sai<'d, T, W> {
ch.cr2().modify(|w| w.set_mute(value));
}
/// Determine the mute state of the receiver.
///
/// Clears the mute state flag in the status register.
pub fn is_muted(&self) -> Result<bool, Error> {
match &self.ring_buffer {
RingBuffer::Readable(_) => {
let ch = T::REGS.ch(self.sub_block as usize);
let mute_state = ch.sr().read().mutedet();
ch.clrfr().write(|w| w.set_cmutedet(true));
Ok(mute_state)
}
_ => Err(Error::NotAReceiver),
}
}
/// Write data to the SAI ringbuffer.
///
/// This appends the data to the buffer and returns immediately. The