diff options
| author | Christian Perez Llamas <[email protected]> | 2022-11-13 02:12:58 +0100 |
|---|---|---|
| committer | Christian Perez Llamas <[email protected]> | 2022-11-13 02:12:58 +0100 |
| commit | 17857bc18fee95be07ee0c51687d2eb109e5aea6 (patch) | |
| tree | 59286c1fce74ed2ca8911761de3dea938c7262c4 /embassy-nrf | |
| parent | d2e8794f29d3d0afef7a6bc610b2ee4a4d680643 (diff) | |
Minor changes
Diffstat (limited to 'embassy-nrf')
| -rw-r--r-- | embassy-nrf/src/i2s.rs | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/embassy-nrf/src/i2s.rs b/embassy-nrf/src/i2s.rs index 9a8f29e78..eed9e1956 100644 --- a/embassy-nrf/src/i2s.rs +++ b/embassy-nrf/src/i2s.rs | |||
| @@ -327,6 +327,7 @@ impl<'d, T: Instance> I2S<'d, T> { | |||
| 327 | pub fn start(&self) -> &Self { | 327 | pub fn start(&self) -> &Self { |
| 328 | let r = T::regs(); | 328 | let r = T::regs(); |
| 329 | self.enable(); | 329 | self.enable(); |
| 330 | trace!("START"); | ||
| 330 | r.tasks_start.write(|w| unsafe { w.bits(1) }); | 331 | r.tasks_start.write(|w| unsafe { w.bits(1) }); |
| 331 | self | 332 | self |
| 332 | } | 333 | } |
| @@ -487,8 +488,8 @@ impl<'d, T: Instance> I2sOutput<'d, T> { | |||
| 487 | let s = T::state(); | 488 | let s = T::state(); |
| 488 | 489 | ||
| 489 | let seq = s.seq.fetch_add(1, Ordering::Relaxed); | 490 | let seq = s.seq.fetch_add(1, Ordering::Relaxed); |
| 490 | if r.events_txptrupd.read().bits() != 0 && seq > 0 { | 491 | if r.events_txptrupd.read().bits() != 0 && seq > 1 { |
| 491 | info!("XRUN!"); | 492 | warn!("XRUN!"); |
| 492 | loop {} | 493 | loop {} |
| 493 | } | 494 | } |
| 494 | 495 | ||
| @@ -505,8 +506,8 @@ impl<'d, T: Instance> I2sOutput<'d, T> { | |||
| 505 | }); | 506 | }); |
| 506 | 507 | ||
| 507 | trace!("[{}] PTR", s.seq.load(Ordering::Relaxed)); | 508 | trace!("[{}] PTR", s.seq.load(Ordering::Relaxed)); |
| 508 | r.txd.ptr.write(|w| unsafe { w.ptr().bits(ptr as u32) }); | ||
| 509 | r.rxtxd.maxcnt.write(|w| unsafe { w.bits(maxcnt) }); | 509 | r.rxtxd.maxcnt.write(|w| unsafe { w.bits(maxcnt) }); |
| 510 | r.txd.ptr.write(|w| unsafe { w.ptr().bits(ptr as u32) }); | ||
| 510 | 511 | ||
| 511 | compiler_fence(Ordering::SeqCst); | 512 | compiler_fence(Ordering::SeqCst); |
| 512 | 513 | ||
| @@ -517,7 +518,7 @@ impl<'d, T: Instance> I2sOutput<'d, T> { | |||
| 517 | r.events_txptrupd.reset(); | 518 | r.events_txptrupd.reset(); |
| 518 | r.intenset.write(|w| w.txptrupd().set()); | 519 | r.intenset.write(|w| w.txptrupd().set()); |
| 519 | let overruns = s.overruns.fetch_sub(1, Ordering::Relaxed); | 520 | let overruns = s.overruns.fetch_sub(1, Ordering::Relaxed); |
| 520 | if overruns - 1 != 0 { | 521 | if overruns != 0 { |
| 521 | warn!("XRUN: {}", overruns); | 522 | warn!("XRUN: {}", overruns); |
| 522 | s.overruns.store(0, Ordering::Relaxed) | 523 | s.overruns.store(0, Ordering::Relaxed) |
| 523 | } | 524 | } |
