rtic/2/api/rp2040_pac/struct.DMA.html
github-merge-queue[bot] 5b32b958a3 deploy: f17915842f
2024-11-27 19:34:22 +00:00

73 lines
No EOL
54 KiB
HTML

<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="DMA with separate read and write masters"><title>DMA in rp2040_pac - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-492a78a4a87dcc01.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="rp2040_pac" data-themes="" data-resource-suffix="" data-rustdoc-version="1.82.0 (f6e511eec 2024-10-15)" data-channel="1.82.0" data-search-js="search-a99f1315e7cc5121.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../static.files/storage-118b08c4c78b968e.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-921df33f47b8780c.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-3b12f09e550e0385.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../rp2040_pac/index.html">rp2040_<wbr>pac</a><span class="version">0.6.0</span></h2></div><h2 class="location"><a href="#">DMA</a></h2><div class="sidebar-elems"><section><h3><a href="#implementations">Associated Constants</a></h3><ul class="block associatedconstant"><li><a href="#associatedconstant.PTR">PTR</a></li></ul><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.ptr">ptr</a></li><li><a href="#method.steal">steal</a></li></ul><h3><a href="#deref-methods-RegisterBlock">Methods from Deref&lt;<wbr>Target=<wbr>Register<wbr>Block&gt;</a></h3><ul class="block deref-methods"><li><a href="#method.ch">ch</a></li><li><a href="#method.ch0_dbg_ctdreq">ch0_dbg_ctdreq</a></li><li><a href="#method.ch0_dbg_tcr">ch0_dbg_tcr</a></li><li><a href="#method.ch10_dbg_ctdreq">ch10_dbg_ctdreq</a></li><li><a href="#method.ch10_dbg_tcr">ch10_dbg_tcr</a></li><li><a href="#method.ch11_dbg_ctdreq">ch11_dbg_ctdreq</a></li><li><a href="#method.ch11_dbg_tcr">ch11_dbg_tcr</a></li><li><a href="#method.ch1_dbg_ctdreq">ch1_dbg_ctdreq</a></li><li><a href="#method.ch1_dbg_tcr">ch1_dbg_tcr</a></li><li><a href="#method.ch2_dbg_ctdreq">ch2_dbg_ctdreq</a></li><li><a href="#method.ch2_dbg_tcr">ch2_dbg_tcr</a></li><li><a href="#method.ch3_dbg_ctdreq">ch3_dbg_ctdreq</a></li><li><a href="#method.ch3_dbg_tcr">ch3_dbg_tcr</a></li><li><a href="#method.ch4_dbg_ctdreq">ch4_dbg_ctdreq</a></li><li><a href="#method.ch4_dbg_tcr">ch4_dbg_tcr</a></li><li><a href="#method.ch5_dbg_ctdreq">ch5_dbg_ctdreq</a></li><li><a href="#method.ch5_dbg_tcr">ch5_dbg_tcr</a></li><li><a href="#method.ch6_dbg_ctdreq">ch6_dbg_ctdreq</a></li><li><a href="#method.ch6_dbg_tcr">ch6_dbg_tcr</a></li><li><a href="#method.ch7_dbg_ctdreq">ch7_dbg_ctdreq</a></li><li><a href="#method.ch7_dbg_tcr">ch7_dbg_tcr</a></li><li><a href="#method.ch8_dbg_ctdreq">ch8_dbg_ctdreq</a></li><li><a href="#method.ch8_dbg_tcr">ch8_dbg_tcr</a></li><li><a href="#method.ch9_dbg_ctdreq">ch9_dbg_ctdreq</a></li><li><a href="#method.ch9_dbg_tcr">ch9_dbg_tcr</a></li><li><a href="#method.ch_iter">ch_iter</a></li><li><a href="#method.chan_abort">chan_abort</a></li><li><a href="#method.fifo_levels">fifo_levels</a></li><li><a href="#method.inte0">inte0</a></li><li><a href="#method.inte1">inte1</a></li><li><a href="#method.intf0">intf0</a></li><li><a href="#method.intf1">intf1</a></li><li><a href="#method.intr">intr</a></li><li><a href="#method.ints0">ints0</a></li><li><a href="#method.ints1">ints1</a></li><li><a href="#method.multi_chan_trigger">multi_chan_trigger</a></li><li><a href="#method.n_channels">n_channels</a></li><li><a href="#method.sniff_ctrl">sniff_ctrl</a></li><li><a href="#method.sniff_data">sniff_data</a></li><li><a href="#method.timer0">timer0</a></li><li><a href="#method.timer1">timer1</a></li><li><a href="#method.timer2">timer2</a></li><li><a href="#method.timer3">timer3</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Debug-for-DMA">Debug</a></li><li><a href="#impl-Deref-for-DMA">Deref</a></li><li><a href="#impl-Send-for-DMA">Send</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Sync-for-DMA">!Sync</a></li><li><a href="#impl-Freeze-for-DMA">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-DMA">RefUnwindSafe</a></li><li><a href="#impl-Unpin-for-DMA">Unpin</a></li><li><a href="#impl-UnwindSafe-for-DMA">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-Any-for-T">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-T">Borrow&#60;T&#62;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut&#60;T&#62;</a></li><li><a href="#impl-From%3CT%3E-for-T">From&#60;T&#62;</a></li><li><a href="#impl-Into%3CU%3E-for-T">Into&#60;U&#62;</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom&#60;U&#62;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto&#60;U&#62;</a></li></ul></section><h2><a href="index.html">In crate rp2040_<wbr>pac</a></h2></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1>Struct <a href="index.html">rp2040_pac</a>::<wbr><a class="struct" href="#">DMA</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/rp2040_pac/lib.rs.html#1909-1911">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub struct DMA { <span class="comment">/* private fields */</span> }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>DMA with separate read and write masters</p>
</div></details><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-DMA" class="impl"><a class="src rightside" href="../src/rp2040_pac/lib.rs.html#1913-1939">source</a><a href="#impl-DMA" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.DMA.html" title="struct rp2040_pac::DMA">DMA</a></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedconstant.PTR" class="associatedconstant"><a class="src rightside" href="../src/rp2040_pac/lib.rs.html#1915">source</a><h4 class="code-header">pub const <a href="#associatedconstant.PTR" class="constant">PTR</a>: <a class="primitive" href="https://doc.rust-lang.org/1.82.0/core/primitive.pointer.html">*const </a><a class="struct" href="dma/struct.RegisterBlock.html" title="struct rp2040_pac::dma::RegisterBlock">RegisterBlock</a> = {0x50000000 as *const dma::RegisterBlock}</h4></section></summary><div class="docblock"><p>Pointer to the register block</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.ptr" class="method"><a class="src rightside" href="../src/rp2040_pac/lib.rs.html#1918-1920">source</a><h4 class="code-header">pub const fn <a href="#method.ptr" class="fn">ptr</a>() -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.82.0/core/primitive.pointer.html">*const </a><a class="struct" href="dma/struct.RegisterBlock.html" title="struct rp2040_pac::dma::RegisterBlock">RegisterBlock</a></h4></section></summary><div class="docblock"><p>Return the pointer to the register block</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.steal" class="method"><a class="src rightside" href="../src/rp2040_pac/lib.rs.html#1934-1938">source</a><h4 class="code-header">pub unsafe fn <a href="#method.steal" class="fn">steal</a>() -&gt; Self</h4></section></summary><div class="docblock"><p>Steal an instance of this peripheral</p>
<h5 id="safety"><a class="doc-anchor" href="#safety">§</a>Safety</h5>
<p>Ensure that the new instance of the peripheral cannot be used in a way
that may race with any existing instances, for example by only
accessing read-only or write-only registers, or by consuming the
original peripheral and using critical sections to coordinate
access between multiple new instances.</p>
<p>Additionally, other software such as HALs may rely on only one
peripheral instance existing to ensure memory safety; ensure
no stolen instances are passed to such software.</p>
</div></details></div></details></div><h2 id="deref-methods-RegisterBlock" class="section-header"><span>Methods from <a class="trait" href="https://doc.rust-lang.org/1.82.0/core/ops/deref/trait.Deref.html" title="trait core::ops::deref::Deref">Deref</a>&lt;Target = <a class="struct" href="dma/struct.RegisterBlock.html" title="struct rp2040_pac::dma::RegisterBlock">RegisterBlock</a>&gt;</span><a href="#deref-methods-RegisterBlock" class="anchor">§</a></h2><div id="deref-methods-RegisterBlock-1" class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.ch" class="method"><a class="src rightside" href="../src/rp2040_pac/dma.rs.html#65-67">source</a><h4 class="code-header">pub fn <a href="#method.ch" class="fn">ch</a>(&amp;self, n: <a class="primitive" href="https://doc.rust-lang.org/1.82.0/core/primitive.usize.html">usize</a>) -&gt; &amp;<a class="struct" href="dma/ch/struct.CH.html" title="struct rp2040_pac::dma::ch::CH">CH</a></h4></section></summary><div class="docblock"><p>0x00..0x300 - Cluster CH%s, containing CH?_READ_ADDR,CH??_READ_ADDR, CH?_WRITE_ADDR,CH??_WRITE_ADDR, CH?_TRANS_COUNT,CH??_TRANS_COUNT, CH?_CTRL_TRIG,CH??_CTRL_TRIG, CH?_AL1_CTRL,CH??_AL1_CTRL, CH?_AL1_READ_ADDR,CH??_AL1_READ_ADDR, CH?_AL1_WRITE_ADDR,CH??_AL1_WRITE_ADDR, CH?_AL1_TRANS_COUNT_TRIG,CH??_AL1_TRANS_COUNT_TRIG, CH?_AL2_CTRL,CH??_AL2_CTRL, CH?_AL2_TRANS_COUNT,CH??_AL2_TRANS_COUNT, CH?_AL2_READ_ADDR,CH??_AL2_READ_ADDR, CH?_AL2_WRITE_ADDR_TRIG,CH??_AL2_WRITE_ADDR_TRIG, CH?_AL3_CTRL,CH??_AL3_CTRL, CH?_AL3_WRITE_ADDR,CH??_AL3_WRITE_ADDR, CH?_AL3_TRANS_COUNT,CH??_AL3_TRANS_COUNT, CH?_AL3_READ_ADDR_TRIG,CH??_AL3_READ_ADDR_TRIG</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.ch_iter" class="method"><a class="src rightside" href="../src/rp2040_pac/dma.rs.html#71-73">source</a><h4 class="code-header">pub fn <a href="#method.ch_iter" class="fn">ch_iter</a>(&amp;self) -&gt; impl <a class="trait" href="https://doc.rust-lang.org/1.82.0/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a>&lt;Item = &amp;<a class="struct" href="dma/ch/struct.CH.html" title="struct rp2040_pac::dma::ch::CH">CH</a>&gt;</h4></section></summary><div class="docblock"><p>Iterator for array of:
0x00..0x300 - Cluster CH%s, containing CH?_READ_ADDR,CH??_READ_ADDR, CH?_WRITE_ADDR,CH??_WRITE_ADDR, CH?_TRANS_COUNT,CH??_TRANS_COUNT, CH?_CTRL_TRIG,CH??_CTRL_TRIG, CH?_AL1_CTRL,CH??_AL1_CTRL, CH?_AL1_READ_ADDR,CH??_AL1_READ_ADDR, CH?_AL1_WRITE_ADDR,CH??_AL1_WRITE_ADDR, CH?_AL1_TRANS_COUNT_TRIG,CH??_AL1_TRANS_COUNT_TRIG, CH?_AL2_CTRL,CH??_AL2_CTRL, CH?_AL2_TRANS_COUNT,CH??_AL2_TRANS_COUNT, CH?_AL2_READ_ADDR,CH??_AL2_READ_ADDR, CH?_AL2_WRITE_ADDR_TRIG,CH??_AL2_WRITE_ADDR_TRIG, CH?_AL3_CTRL,CH??_AL3_CTRL, CH?_AL3_WRITE_ADDR,CH??_AL3_WRITE_ADDR, CH?_AL3_TRANS_COUNT,CH??_AL3_TRANS_COUNT, CH?_AL3_READ_ADDR_TRIG,CH??_AL3_READ_ADDR_TRIG</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.intr" class="method"><a class="src rightside" href="../src/rp2040_pac/dma.rs.html#76-78">source</a><h4 class="code-header">pub fn <a href="#method.intr" class="fn">intr</a>(&amp;self) -&gt; &amp;<a class="type" href="dma/type.INTR.html" title="type rp2040_pac::dma::INTR">INTR</a></h4></section></summary><div class="docblock"><p>0x400 - Interrupt Status (raw)</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.inte0" class="method"><a class="src rightside" href="../src/rp2040_pac/dma.rs.html#81-83">source</a><h4 class="code-header">pub fn <a href="#method.inte0" class="fn">inte0</a>(&amp;self) -&gt; &amp;<a class="type" href="dma/type.INTE0.html" title="type rp2040_pac::dma::INTE0">INTE0</a></h4></section></summary><div class="docblock"><p>0x404 - Interrupt Enables for IRQ 0</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.intf0" class="method"><a class="src rightside" href="../src/rp2040_pac/dma.rs.html#86-88">source</a><h4 class="code-header">pub fn <a href="#method.intf0" class="fn">intf0</a>(&amp;self) -&gt; &amp;<a class="type" href="dma/type.INTF0.html" title="type rp2040_pac::dma::INTF0">INTF0</a></h4></section></summary><div class="docblock"><p>0x408 - Force Interrupts</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.ints0" class="method"><a class="src rightside" href="../src/rp2040_pac/dma.rs.html#91-93">source</a><h4 class="code-header">pub fn <a href="#method.ints0" class="fn">ints0</a>(&amp;self) -&gt; &amp;<a class="type" href="dma/type.INTS0.html" title="type rp2040_pac::dma::INTS0">INTS0</a></h4></section></summary><div class="docblock"><p>0x40c - Interrupt Status for IRQ 0</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.inte1" class="method"><a class="src rightside" href="../src/rp2040_pac/dma.rs.html#96-98">source</a><h4 class="code-header">pub fn <a href="#method.inte1" class="fn">inte1</a>(&amp;self) -&gt; &amp;<a class="type" href="dma/type.INTE1.html" title="type rp2040_pac::dma::INTE1">INTE1</a></h4></section></summary><div class="docblock"><p>0x414 - Interrupt Enables for IRQ 1</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.intf1" class="method"><a class="src rightside" href="../src/rp2040_pac/dma.rs.html#101-103">source</a><h4 class="code-header">pub fn <a href="#method.intf1" class="fn">intf1</a>(&amp;self) -&gt; &amp;<a class="type" href="dma/type.INTF1.html" title="type rp2040_pac::dma::INTF1">INTF1</a></h4></section></summary><div class="docblock"><p>0x418 - Force Interrupts for IRQ 1</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.ints1" class="method"><a class="src rightside" href="../src/rp2040_pac/dma.rs.html#106-108">source</a><h4 class="code-header">pub fn <a href="#method.ints1" class="fn">ints1</a>(&amp;self) -&gt; &amp;<a class="type" href="dma/type.INTS1.html" title="type rp2040_pac::dma::INTS1">INTS1</a></h4></section></summary><div class="docblock"><p>0x41c - Interrupt Status (masked) for IRQ 1</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.timer0" class="method"><a class="src rightside" href="../src/rp2040_pac/dma.rs.html#112-114">source</a><h4 class="code-header">pub fn <a href="#method.timer0" class="fn">timer0</a>(&amp;self) -&gt; &amp;<a class="type" href="dma/type.TIMER0.html" title="type rp2040_pac::dma::TIMER0">TIMER0</a></h4></section></summary><div class="docblock"><p>0x420 - Pacing (X/Y) Fractional Timer<br />
The pacing timer produces TREQ assertions at a rate set by ((X/Y) * sys_clk). This equation is evaluated every sys_clk cycles and therefore can only generate TREQs at a rate of 1 per sys_clk (i.e. permanent TREQ) or less.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.timer1" class="method"><a class="src rightside" href="../src/rp2040_pac/dma.rs.html#118-120">source</a><h4 class="code-header">pub fn <a href="#method.timer1" class="fn">timer1</a>(&amp;self) -&gt; &amp;<a class="type" href="dma/type.TIMER1.html" title="type rp2040_pac::dma::TIMER1">TIMER1</a></h4></section></summary><div class="docblock"><p>0x424 - Pacing (X/Y) Fractional Timer<br />
The pacing timer produces TREQ assertions at a rate set by ((X/Y) * sys_clk). This equation is evaluated every sys_clk cycles and therefore can only generate TREQs at a rate of 1 per sys_clk (i.e. permanent TREQ) or less.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.timer2" class="method"><a class="src rightside" href="../src/rp2040_pac/dma.rs.html#124-126">source</a><h4 class="code-header">pub fn <a href="#method.timer2" class="fn">timer2</a>(&amp;self) -&gt; &amp;<a class="type" href="dma/type.TIMER2.html" title="type rp2040_pac::dma::TIMER2">TIMER2</a></h4></section></summary><div class="docblock"><p>0x428 - Pacing (X/Y) Fractional Timer<br />
The pacing timer produces TREQ assertions at a rate set by ((X/Y) * sys_clk). This equation is evaluated every sys_clk cycles and therefore can only generate TREQs at a rate of 1 per sys_clk (i.e. permanent TREQ) or less.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.timer3" class="method"><a class="src rightside" href="../src/rp2040_pac/dma.rs.html#130-132">source</a><h4 class="code-header">pub fn <a href="#method.timer3" class="fn">timer3</a>(&amp;self) -&gt; &amp;<a class="type" href="dma/type.TIMER3.html" title="type rp2040_pac::dma::TIMER3">TIMER3</a></h4></section></summary><div class="docblock"><p>0x42c - Pacing (X/Y) Fractional Timer<br />
The pacing timer produces TREQ assertions at a rate set by ((X/Y) * sys_clk). This equation is evaluated every sys_clk cycles and therefore can only generate TREQs at a rate of 1 per sys_clk (i.e. permanent TREQ) or less.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.multi_chan_trigger" class="method"><a class="src rightside" href="../src/rp2040_pac/dma.rs.html#135-137">source</a><h4 class="code-header">pub fn <a href="#method.multi_chan_trigger" class="fn">multi_chan_trigger</a>(&amp;self) -&gt; &amp;<a class="type" href="dma/type.MULTI_CHAN_TRIGGER.html" title="type rp2040_pac::dma::MULTI_CHAN_TRIGGER">MULTI_CHAN_TRIGGER</a></h4></section></summary><div class="docblock"><p>0x430 - Trigger one or more channels simultaneously</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.sniff_ctrl" class="method"><a class="src rightside" href="../src/rp2040_pac/dma.rs.html#140-142">source</a><h4 class="code-header">pub fn <a href="#method.sniff_ctrl" class="fn">sniff_ctrl</a>(&amp;self) -&gt; &amp;<a class="type" href="dma/type.SNIFF_CTRL.html" title="type rp2040_pac::dma::SNIFF_CTRL">SNIFF_CTRL</a></h4></section></summary><div class="docblock"><p>0x434 - Sniffer Control</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.sniff_data" class="method"><a class="src rightside" href="../src/rp2040_pac/dma.rs.html#146-148">source</a><h4 class="code-header">pub fn <a href="#method.sniff_data" class="fn">sniff_data</a>(&amp;self) -&gt; &amp;<a class="type" href="dma/type.SNIFF_DATA.html" title="type rp2040_pac::dma::SNIFF_DATA">SNIFF_DATA</a></h4></section></summary><div class="docblock"><p>0x438 - Data accumulator for sniff hardware<br />
Write an initial seed value here before starting a DMA transfer on the channel indicated by SNIFF_CTRL_DMACH. The hardware will update this register each time it observes a read from the indicated channel. Once the channel completes, the final result can be read from this register.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.fifo_levels" class="method"><a class="src rightside" href="../src/rp2040_pac/dma.rs.html#151-153">source</a><h4 class="code-header">pub fn <a href="#method.fifo_levels" class="fn">fifo_levels</a>(&amp;self) -&gt; &amp;<a class="type" href="dma/type.FIFO_LEVELS.html" title="type rp2040_pac::dma::FIFO_LEVELS">FIFO_LEVELS</a></h4></section></summary><div class="docblock"><p>0x440 - Debug RAF, WAF, TDF levels</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.chan_abort" class="method"><a class="src rightside" href="../src/rp2040_pac/dma.rs.html#156-158">source</a><h4 class="code-header">pub fn <a href="#method.chan_abort" class="fn">chan_abort</a>(&amp;self) -&gt; &amp;<a class="type" href="dma/type.CHAN_ABORT.html" title="type rp2040_pac::dma::CHAN_ABORT">CHAN_ABORT</a></h4></section></summary><div class="docblock"><p>0x444 - Abort an in-progress transfer sequence on one or more channels</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.n_channels" class="method"><a class="src rightside" href="../src/rp2040_pac/dma.rs.html#161-163">source</a><h4 class="code-header">pub fn <a href="#method.n_channels" class="fn">n_channels</a>(&amp;self) -&gt; &amp;<a class="type" href="dma/type.N_CHANNELS.html" title="type rp2040_pac::dma::N_CHANNELS">N_CHANNELS</a></h4></section></summary><div class="docblock"><p>0x448 - The number of channels this DMA instance is equipped with. This DMA supports up to 16 hardware channels, but can be configured with as few as one, to minimise silicon area.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.ch0_dbg_ctdreq" class="method"><a class="src rightside" href="../src/rp2040_pac/dma.rs.html#166-168">source</a><h4 class="code-header">pub fn <a href="#method.ch0_dbg_ctdreq" class="fn">ch0_dbg_ctdreq</a>(&amp;self) -&gt; &amp;<a class="type" href="dma/type.CH0_DBG_CTDREQ.html" title="type rp2040_pac::dma::CH0_DBG_CTDREQ">CH0_DBG_CTDREQ</a></h4></section></summary><div class="docblock"><p>0x800 - Read: get channel DREQ counter (i.e. how many accesses the DMA expects it can perform on the peripheral without overflow/underflow. Write any value: clears the counter, and cause channel to re-initiate DREQ handshake.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.ch0_dbg_tcr" class="method"><a class="src rightside" href="../src/rp2040_pac/dma.rs.html#171-173">source</a><h4 class="code-header">pub fn <a href="#method.ch0_dbg_tcr" class="fn">ch0_dbg_tcr</a>(&amp;self) -&gt; &amp;<a class="type" href="dma/type.CH0_DBG_TCR.html" title="type rp2040_pac::dma::CH0_DBG_TCR">CH0_DBG_TCR</a></h4></section></summary><div class="docblock"><p>0x804 - Read to get channel TRANS_COUNT reload value, i.e. the length of the next transfer</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.ch1_dbg_ctdreq" class="method"><a class="src rightside" href="../src/rp2040_pac/dma.rs.html#176-178">source</a><h4 class="code-header">pub fn <a href="#method.ch1_dbg_ctdreq" class="fn">ch1_dbg_ctdreq</a>(&amp;self) -&gt; &amp;<a class="type" href="dma/type.CH1_DBG_CTDREQ.html" title="type rp2040_pac::dma::CH1_DBG_CTDREQ">CH1_DBG_CTDREQ</a></h4></section></summary><div class="docblock"><p>0x840 - Read: get channel DREQ counter (i.e. how many accesses the DMA expects it can perform on the peripheral without overflow/underflow. Write any value: clears the counter, and cause channel to re-initiate DREQ handshake.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.ch1_dbg_tcr" class="method"><a class="src rightside" href="../src/rp2040_pac/dma.rs.html#181-183">source</a><h4 class="code-header">pub fn <a href="#method.ch1_dbg_tcr" class="fn">ch1_dbg_tcr</a>(&amp;self) -&gt; &amp;<a class="type" href="dma/type.CH1_DBG_TCR.html" title="type rp2040_pac::dma::CH1_DBG_TCR">CH1_DBG_TCR</a></h4></section></summary><div class="docblock"><p>0x844 - Read to get channel TRANS_COUNT reload value, i.e. the length of the next transfer</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.ch2_dbg_ctdreq" class="method"><a class="src rightside" href="../src/rp2040_pac/dma.rs.html#186-188">source</a><h4 class="code-header">pub fn <a href="#method.ch2_dbg_ctdreq" class="fn">ch2_dbg_ctdreq</a>(&amp;self) -&gt; &amp;<a class="type" href="dma/type.CH2_DBG_CTDREQ.html" title="type rp2040_pac::dma::CH2_DBG_CTDREQ">CH2_DBG_CTDREQ</a></h4></section></summary><div class="docblock"><p>0x880 - Read: get channel DREQ counter (i.e. how many accesses the DMA expects it can perform on the peripheral without overflow/underflow. Write any value: clears the counter, and cause channel to re-initiate DREQ handshake.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.ch2_dbg_tcr" class="method"><a class="src rightside" href="../src/rp2040_pac/dma.rs.html#191-193">source</a><h4 class="code-header">pub fn <a href="#method.ch2_dbg_tcr" class="fn">ch2_dbg_tcr</a>(&amp;self) -&gt; &amp;<a class="type" href="dma/type.CH2_DBG_TCR.html" title="type rp2040_pac::dma::CH2_DBG_TCR">CH2_DBG_TCR</a></h4></section></summary><div class="docblock"><p>0x884 - Read to get channel TRANS_COUNT reload value, i.e. the length of the next transfer</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.ch3_dbg_ctdreq" class="method"><a class="src rightside" href="../src/rp2040_pac/dma.rs.html#196-198">source</a><h4 class="code-header">pub fn <a href="#method.ch3_dbg_ctdreq" class="fn">ch3_dbg_ctdreq</a>(&amp;self) -&gt; &amp;<a class="type" href="dma/type.CH3_DBG_CTDREQ.html" title="type rp2040_pac::dma::CH3_DBG_CTDREQ">CH3_DBG_CTDREQ</a></h4></section></summary><div class="docblock"><p>0x8c0 - Read: get channel DREQ counter (i.e. how many accesses the DMA expects it can perform on the peripheral without overflow/underflow. Write any value: clears the counter, and cause channel to re-initiate DREQ handshake.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.ch3_dbg_tcr" class="method"><a class="src rightside" href="../src/rp2040_pac/dma.rs.html#201-203">source</a><h4 class="code-header">pub fn <a href="#method.ch3_dbg_tcr" class="fn">ch3_dbg_tcr</a>(&amp;self) -&gt; &amp;<a class="type" href="dma/type.CH3_DBG_TCR.html" title="type rp2040_pac::dma::CH3_DBG_TCR">CH3_DBG_TCR</a></h4></section></summary><div class="docblock"><p>0x8c4 - Read to get channel TRANS_COUNT reload value, i.e. the length of the next transfer</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.ch4_dbg_ctdreq" class="method"><a class="src rightside" href="../src/rp2040_pac/dma.rs.html#206-208">source</a><h4 class="code-header">pub fn <a href="#method.ch4_dbg_ctdreq" class="fn">ch4_dbg_ctdreq</a>(&amp;self) -&gt; &amp;<a class="type" href="dma/type.CH4_DBG_CTDREQ.html" title="type rp2040_pac::dma::CH4_DBG_CTDREQ">CH4_DBG_CTDREQ</a></h4></section></summary><div class="docblock"><p>0x900 - Read: get channel DREQ counter (i.e. how many accesses the DMA expects it can perform on the peripheral without overflow/underflow. Write any value: clears the counter, and cause channel to re-initiate DREQ handshake.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.ch4_dbg_tcr" class="method"><a class="src rightside" href="../src/rp2040_pac/dma.rs.html#211-213">source</a><h4 class="code-header">pub fn <a href="#method.ch4_dbg_tcr" class="fn">ch4_dbg_tcr</a>(&amp;self) -&gt; &amp;<a class="type" href="dma/type.CH4_DBG_TCR.html" title="type rp2040_pac::dma::CH4_DBG_TCR">CH4_DBG_TCR</a></h4></section></summary><div class="docblock"><p>0x904 - Read to get channel TRANS_COUNT reload value, i.e. the length of the next transfer</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.ch5_dbg_ctdreq" class="method"><a class="src rightside" href="../src/rp2040_pac/dma.rs.html#216-218">source</a><h4 class="code-header">pub fn <a href="#method.ch5_dbg_ctdreq" class="fn">ch5_dbg_ctdreq</a>(&amp;self) -&gt; &amp;<a class="type" href="dma/type.CH5_DBG_CTDREQ.html" title="type rp2040_pac::dma::CH5_DBG_CTDREQ">CH5_DBG_CTDREQ</a></h4></section></summary><div class="docblock"><p>0x940 - Read: get channel DREQ counter (i.e. how many accesses the DMA expects it can perform on the peripheral without overflow/underflow. Write any value: clears the counter, and cause channel to re-initiate DREQ handshake.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.ch5_dbg_tcr" class="method"><a class="src rightside" href="../src/rp2040_pac/dma.rs.html#221-223">source</a><h4 class="code-header">pub fn <a href="#method.ch5_dbg_tcr" class="fn">ch5_dbg_tcr</a>(&amp;self) -&gt; &amp;<a class="type" href="dma/type.CH5_DBG_TCR.html" title="type rp2040_pac::dma::CH5_DBG_TCR">CH5_DBG_TCR</a></h4></section></summary><div class="docblock"><p>0x944 - Read to get channel TRANS_COUNT reload value, i.e. the length of the next transfer</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.ch6_dbg_ctdreq" class="method"><a class="src rightside" href="../src/rp2040_pac/dma.rs.html#226-228">source</a><h4 class="code-header">pub fn <a href="#method.ch6_dbg_ctdreq" class="fn">ch6_dbg_ctdreq</a>(&amp;self) -&gt; &amp;<a class="type" href="dma/type.CH6_DBG_CTDREQ.html" title="type rp2040_pac::dma::CH6_DBG_CTDREQ">CH6_DBG_CTDREQ</a></h4></section></summary><div class="docblock"><p>0x980 - Read: get channel DREQ counter (i.e. how many accesses the DMA expects it can perform on the peripheral without overflow/underflow. Write any value: clears the counter, and cause channel to re-initiate DREQ handshake.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.ch6_dbg_tcr" class="method"><a class="src rightside" href="../src/rp2040_pac/dma.rs.html#231-233">source</a><h4 class="code-header">pub fn <a href="#method.ch6_dbg_tcr" class="fn">ch6_dbg_tcr</a>(&amp;self) -&gt; &amp;<a class="type" href="dma/type.CH6_DBG_TCR.html" title="type rp2040_pac::dma::CH6_DBG_TCR">CH6_DBG_TCR</a></h4></section></summary><div class="docblock"><p>0x984 - Read to get channel TRANS_COUNT reload value, i.e. the length of the next transfer</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.ch7_dbg_ctdreq" class="method"><a class="src rightside" href="../src/rp2040_pac/dma.rs.html#236-238">source</a><h4 class="code-header">pub fn <a href="#method.ch7_dbg_ctdreq" class="fn">ch7_dbg_ctdreq</a>(&amp;self) -&gt; &amp;<a class="type" href="dma/type.CH7_DBG_CTDREQ.html" title="type rp2040_pac::dma::CH7_DBG_CTDREQ">CH7_DBG_CTDREQ</a></h4></section></summary><div class="docblock"><p>0x9c0 - Read: get channel DREQ counter (i.e. how many accesses the DMA expects it can perform on the peripheral without overflow/underflow. Write any value: clears the counter, and cause channel to re-initiate DREQ handshake.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.ch7_dbg_tcr" class="method"><a class="src rightside" href="../src/rp2040_pac/dma.rs.html#241-243">source</a><h4 class="code-header">pub fn <a href="#method.ch7_dbg_tcr" class="fn">ch7_dbg_tcr</a>(&amp;self) -&gt; &amp;<a class="type" href="dma/type.CH7_DBG_TCR.html" title="type rp2040_pac::dma::CH7_DBG_TCR">CH7_DBG_TCR</a></h4></section></summary><div class="docblock"><p>0x9c4 - Read to get channel TRANS_COUNT reload value, i.e. the length of the next transfer</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.ch8_dbg_ctdreq" class="method"><a class="src rightside" href="../src/rp2040_pac/dma.rs.html#246-248">source</a><h4 class="code-header">pub fn <a href="#method.ch8_dbg_ctdreq" class="fn">ch8_dbg_ctdreq</a>(&amp;self) -&gt; &amp;<a class="type" href="dma/type.CH8_DBG_CTDREQ.html" title="type rp2040_pac::dma::CH8_DBG_CTDREQ">CH8_DBG_CTDREQ</a></h4></section></summary><div class="docblock"><p>0xa00 - Read: get channel DREQ counter (i.e. how many accesses the DMA expects it can perform on the peripheral without overflow/underflow. Write any value: clears the counter, and cause channel to re-initiate DREQ handshake.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.ch8_dbg_tcr" class="method"><a class="src rightside" href="../src/rp2040_pac/dma.rs.html#251-253">source</a><h4 class="code-header">pub fn <a href="#method.ch8_dbg_tcr" class="fn">ch8_dbg_tcr</a>(&amp;self) -&gt; &amp;<a class="type" href="dma/type.CH8_DBG_TCR.html" title="type rp2040_pac::dma::CH8_DBG_TCR">CH8_DBG_TCR</a></h4></section></summary><div class="docblock"><p>0xa04 - Read to get channel TRANS_COUNT reload value, i.e. the length of the next transfer</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.ch9_dbg_ctdreq" class="method"><a class="src rightside" href="../src/rp2040_pac/dma.rs.html#256-258">source</a><h4 class="code-header">pub fn <a href="#method.ch9_dbg_ctdreq" class="fn">ch9_dbg_ctdreq</a>(&amp;self) -&gt; &amp;<a class="type" href="dma/type.CH9_DBG_CTDREQ.html" title="type rp2040_pac::dma::CH9_DBG_CTDREQ">CH9_DBG_CTDREQ</a></h4></section></summary><div class="docblock"><p>0xa40 - Read: get channel DREQ counter (i.e. how many accesses the DMA expects it can perform on the peripheral without overflow/underflow. Write any value: clears the counter, and cause channel to re-initiate DREQ handshake.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.ch9_dbg_tcr" class="method"><a class="src rightside" href="../src/rp2040_pac/dma.rs.html#261-263">source</a><h4 class="code-header">pub fn <a href="#method.ch9_dbg_tcr" class="fn">ch9_dbg_tcr</a>(&amp;self) -&gt; &amp;<a class="type" href="dma/type.CH9_DBG_TCR.html" title="type rp2040_pac::dma::CH9_DBG_TCR">CH9_DBG_TCR</a></h4></section></summary><div class="docblock"><p>0xa44 - Read to get channel TRANS_COUNT reload value, i.e. the length of the next transfer</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.ch10_dbg_ctdreq" class="method"><a class="src rightside" href="../src/rp2040_pac/dma.rs.html#266-268">source</a><h4 class="code-header">pub fn <a href="#method.ch10_dbg_ctdreq" class="fn">ch10_dbg_ctdreq</a>(&amp;self) -&gt; &amp;<a class="type" href="dma/type.CH10_DBG_CTDREQ.html" title="type rp2040_pac::dma::CH10_DBG_CTDREQ">CH10_DBG_CTDREQ</a></h4></section></summary><div class="docblock"><p>0xa80 - Read: get channel DREQ counter (i.e. how many accesses the DMA expects it can perform on the peripheral without overflow/underflow. Write any value: clears the counter, and cause channel to re-initiate DREQ handshake.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.ch10_dbg_tcr" class="method"><a class="src rightside" href="../src/rp2040_pac/dma.rs.html#271-273">source</a><h4 class="code-header">pub fn <a href="#method.ch10_dbg_tcr" class="fn">ch10_dbg_tcr</a>(&amp;self) -&gt; &amp;<a class="type" href="dma/type.CH10_DBG_TCR.html" title="type rp2040_pac::dma::CH10_DBG_TCR">CH10_DBG_TCR</a></h4></section></summary><div class="docblock"><p>0xa84 - Read to get channel TRANS_COUNT reload value, i.e. the length of the next transfer</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.ch11_dbg_ctdreq" class="method"><a class="src rightside" href="../src/rp2040_pac/dma.rs.html#276-278">source</a><h4 class="code-header">pub fn <a href="#method.ch11_dbg_ctdreq" class="fn">ch11_dbg_ctdreq</a>(&amp;self) -&gt; &amp;<a class="type" href="dma/type.CH11_DBG_CTDREQ.html" title="type rp2040_pac::dma::CH11_DBG_CTDREQ">CH11_DBG_CTDREQ</a></h4></section></summary><div class="docblock"><p>0xac0 - Read: get channel DREQ counter (i.e. how many accesses the DMA expects it can perform on the peripheral without overflow/underflow. Write any value: clears the counter, and cause channel to re-initiate DREQ handshake.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.ch11_dbg_tcr" class="method"><a class="src rightside" href="../src/rp2040_pac/dma.rs.html#281-283">source</a><h4 class="code-header">pub fn <a href="#method.ch11_dbg_tcr" class="fn">ch11_dbg_tcr</a>(&amp;self) -&gt; &amp;<a class="type" href="dma/type.CH11_DBG_TCR.html" title="type rp2040_pac::dma::CH11_DBG_TCR">CH11_DBG_TCR</a></h4></section></summary><div class="docblock"><p>0xac4 - Read to get channel TRANS_COUNT reload value, i.e. the length of the next transfer</p>
</div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-DMA" class="impl"><a class="src rightside" href="../src/rp2040_pac/lib.rs.html#1947-1951">source</a><a href="#impl-Debug-for-DMA" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.82.0/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="struct.DMA.html" title="struct rp2040_pac::DMA">DMA</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../src/rp2040_pac/lib.rs.html#1948-1950">source</a><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.82.0/core/fmt/trait.Debug.html#tymethod.fmt" class="fn">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.82.0/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="type" href="https://doc.rust-lang.org/1.82.0/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/1.82.0/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Deref-for-DMA" class="impl"><a class="src rightside" href="../src/rp2040_pac/lib.rs.html#1940-1946">source</a><a href="#impl-Deref-for-DMA" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.82.0/core/ops/deref/trait.Deref.html" title="trait core::ops::deref::Deref">Deref</a> for <a class="struct" href="struct.DMA.html" title="struct rp2040_pac::DMA">DMA</a></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Target" class="associatedtype trait-impl"><a class="src rightside" href="../src/rp2040_pac/lib.rs.html#1941">source</a><a href="#associatedtype.Target" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.82.0/core/ops/deref/trait.Deref.html#associatedtype.Target" class="associatedtype">Target</a> = <a class="struct" href="dma/struct.RegisterBlock.html" title="struct rp2040_pac::dma::RegisterBlock">RegisterBlock</a></h4></section></summary><div class='docblock'>The resulting type after dereferencing.</div></details><details class="toggle method-toggle" open><summary><section id="method.deref" class="method trait-impl"><a class="src rightside" href="../src/rp2040_pac/lib.rs.html#1943-1945">source</a><a href="#method.deref" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.82.0/core/ops/deref/trait.Deref.html#tymethod.deref" class="fn">deref</a>(&amp;self) -&gt; &amp;Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.82.0/core/ops/deref/trait.Deref.html#associatedtype.Target" title="type core::ops::deref::Deref::Target">Target</a></h4></section></summary><div class='docblock'>Dereferences the value.</div></details></div></details><section id="impl-Send-for-DMA" class="impl"><a class="src rightside" href="../src/rp2040_pac/lib.rs.html#1912">source</a><a href="#impl-Send-for-DMA" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.82.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.DMA.html" title="struct rp2040_pac::DMA">DMA</a></h3></section></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-DMA" class="impl"><a href="#impl-Freeze-for-DMA" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.82.0/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a> for <a class="struct" href="struct.DMA.html" title="struct rp2040_pac::DMA">DMA</a></h3></section><section id="impl-RefUnwindSafe-for-DMA" class="impl"><a href="#impl-RefUnwindSafe-for-DMA" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.82.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.DMA.html" title="struct rp2040_pac::DMA">DMA</a></h3></section><section id="impl-Sync-for-DMA" class="impl"><a href="#impl-Sync-for-DMA" class="anchor">§</a><h3 class="code-header">impl !<a class="trait" href="https://doc.rust-lang.org/1.82.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.DMA.html" title="struct rp2040_pac::DMA">DMA</a></h3></section><section id="impl-Unpin-for-DMA" class="impl"><a href="#impl-Unpin-for-DMA" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.82.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.DMA.html" title="struct rp2040_pac::DMA">DMA</a></h3></section><section id="impl-UnwindSafe-for-DMA" class="impl"><a href="#impl-UnwindSafe-for-DMA" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.82.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.DMA.html" title="struct rp2040_pac::DMA">DMA</a></h3></section></div><h2 id="blanket-implementations" class="section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-Any-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.82.0/src/core/any.rs.html#138">source</a><a href="#impl-Any-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.82.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<div class="where">where
T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.82.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.82.0/src/core/any.rs.html#139">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.82.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.82.0/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/1.82.0/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.82.0/src/core/borrow.rs.html#209">source</a><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.82.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<div class="where">where
T: ?<a class="trait" href="https://doc.rust-lang.org/1.82.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.82.0/src/core/borrow.rs.html#211">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.82.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.82.0/core/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.82.0/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.82.0/src/core/borrow.rs.html#217">source</a><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.82.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<div class="where">where
T: ?<a class="trait" href="https://doc.rust-lang.org/1.82.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.82.0/src/core/borrow.rs.html#218">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.82.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.82.0/core/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.82.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.82.0/src/core/convert/mod.rs.html#765">source</a><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.82.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.82.0/src/core/convert/mod.rs.html#768">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.82.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.82.0/src/core/convert/mod.rs.html#748-750">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.82.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="https://doc.rust-lang.org/1.82.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.82.0/src/core/convert/mod.rs.html#758">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.82.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
<p>That is, this conversion is whatever the implementation of
<code><a href="https://doc.rust-lang.org/1.82.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.82.0/src/core/convert/mod.rs.html#805-807">source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.82.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="https://doc.rust-lang.org/1.82.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.82.0/src/core/convert/mod.rs.html#809">source</a><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.82.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.82.0/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.82.0/src/core/convert/mod.rs.html#812">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.82.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.82.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.82.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.82.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.82.0/src/core/convert/mod.rs.html#790-792">source</a><a href="#impl-TryInto%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.82.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="https://doc.rust-lang.org/1.82.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.82.0/src/core/convert/mod.rs.html#794">source</a><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.82.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.82.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.82.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.82.0/src/core/convert/mod.rs.html#797">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.82.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.82.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.82.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.82.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main></body></html>