Skip to content

Commit 87bd6f0

Browse files
authored
DMA - rename stream to channel (#147)
* DMA - Rename stream to channel * DMA - Make ChannelsTuple a struct
1 parent c9f612f commit 87bd6f0

File tree

10 files changed

+256
-300
lines changed

10 files changed

+256
-300
lines changed

examples/adc-continious-dma.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ use crate::hal::{
1010
AdcClaim, ClockSource, Temperature, Vref,
1111
},
1212
delay::SYSTDelayExt,
13-
dma::{config::DmaConfig, stream::DMAExt, TransferExt},
13+
dma::{channel::DMAExt, config::DmaConfig, TransferExt},
1414
gpio::GpioExt,
1515
pwr::PwrExt,
1616
rcc::{Config, RccExt},
@@ -36,7 +36,7 @@ fn main() -> ! {
3636
let pwr = dp.PWR.constrain().freeze();
3737
let mut rcc = rcc.freeze(Config::hsi(), pwr);
3838

39-
let streams = dp.DMA1.split(&rcc);
39+
let channels = dp.DMA1.split(&rcc);
4040
let config = DmaConfig::default()
4141
.transfer_complete_interrupt(false)
4242
.circular_buffer(true)
@@ -62,7 +62,7 @@ fn main() -> ! {
6262

6363
info!("Setup DMA");
6464
let first_buffer = cortex_m::singleton!(: [u16; 15] = [0; 15]).unwrap();
65-
let mut transfer = streams.0.into_circ_peripheral_to_memory_transfer(
65+
let mut transfer = channels.ch1.into_circ_peripheral_to_memory_transfer(
6666
adc.enable_dma(AdcDma::Continuous),
6767
&mut first_buffer[..],
6868
config,

examples/adc-one-shot-dma.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ use crate::hal::{
99
AdcClaim, ClockSource, Temperature,
1010
},
1111
delay::SYSTDelayExt,
12-
dma::{config::DmaConfig, stream::DMAExt, TransferExt},
12+
dma::{channel::DMAExt, config::DmaConfig, TransferExt},
1313
gpio::GpioExt,
1414
pwr::PwrExt,
1515
rcc::{Config, RccExt},
@@ -37,7 +37,7 @@ fn main() -> ! {
3737
let pwr = dp.PWR.constrain().freeze();
3838
let mut rcc = rcc.freeze(Config::hsi(), pwr);
3939

40-
let mut streams = dp.DMA1.split(&rcc);
40+
let mut channels = dp.DMA1.split(&rcc);
4141
let config = DmaConfig::default()
4242
.transfer_complete_interrupt(false)
4343
.circular_buffer(false)
@@ -61,7 +61,7 @@ fn main() -> ! {
6161

6262
info!("Setup DMA");
6363
let first_buffer = cortex_m::singleton!(: [u16; 2] = [0; 2]).unwrap();
64-
let mut transfer = streams.0.into_peripheral_to_memory_transfer(
64+
let mut transfer = channels.ch1.into_peripheral_to_memory_transfer(
6565
adc.enable_dma(AdcDma::Single),
6666
&mut first_buffer[..],
6767
config,
@@ -74,10 +74,10 @@ fn main() -> ! {
7474
info!("Conversion Done");
7575

7676
transfer.pause(|adc| adc.cancel_conversion());
77-
let (s0, adc, first_buffer) = transfer.free();
77+
let (ch1, adc, first_buffer) = transfer.free();
7878
let adc = adc.disable();
7979

80-
streams.0 = s0;
80+
channels.ch1 = ch1;
8181

8282
let millivolts = adc.sample_to_millivolts(first_buffer[0]);
8383
info!("pa3: {}mV", millivolts);

examples/spi-dma.rs

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ use crate::hal::{
2222

2323
use cortex_m_rt::entry;
2424
use stm32g4xx_hal as hal;
25+
use stm32g4xx_hal::dma::channel::DMAExt;
2526
use stm32g4xx_hal::dma::config::DmaConfig;
26-
use stm32g4xx_hal::dma::stream::DMAExt;
2727
use stm32g4xx_hal::dma::TransferExt;
2828

2929
#[macro_use]
@@ -50,7 +50,7 @@ fn main() -> ! {
5050
let spi = dp
5151
.SPI1
5252
.spi((sclk, miso, mosi), spi::MODE_0, 400.kHz(), &mut rcc);
53-
let streams = dp.DMA1.split(&rcc);
53+
let channels = dp.DMA1.split(&rcc);
5454
let config = DmaConfig::default()
5555
.transfer_complete_interrupt(false)
5656
.circular_buffer(true)
@@ -62,10 +62,11 @@ fn main() -> ! {
6262
*item = index as u8;
6363
}
6464
let dma_buf = cortex_m::singleton!(: [u8; BUFFER_SIZE] = buf).unwrap();
65-
let mut transfer_dma =
66-
streams
67-
.0
68-
.into_memory_to_peripheral_transfer(spi.enable_tx_dma(), &mut dma_buf[..], config);
65+
let mut transfer_dma = channels.ch1.into_memory_to_peripheral_transfer(
66+
spi.enable_tx_dma(),
67+
&mut dma_buf[..],
68+
config,
69+
);
6970
transfer_dma.start(|_spi| {});
7071
loop {
7172
delay_tim2.delay_ms(1000_u16);

examples/uart-dma-rx.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
extern crate cortex_m_rt as rt;
77

8-
use hal::dma::{config::DmaConfig, stream::DMAExt, TransferExt};
8+
use hal::dma::{channel::DMAExt, config::DmaConfig, TransferExt};
99
use hal::prelude::*;
1010
use hal::pwr::PwrExt;
1111
use hal::serial::*;
@@ -30,7 +30,7 @@ fn main() -> ! {
3030
let pwr = dp.PWR.constrain().freeze();
3131
let mut rcc = rcc.freeze(rcc::Config::hsi(), pwr);
3232

33-
let streams = dp.DMA1.split(&rcc);
33+
let channels = dp.DMA1.split(&rcc);
3434
let config = DmaConfig::default()
3535
.transfer_complete_interrupt(false)
3636
.circular_buffer(true)
@@ -65,7 +65,7 @@ fn main() -> ! {
6565

6666
let (_tx, rx) = usart.split();
6767

68-
let mut transfer = streams.0.into_circ_peripheral_to_memory_transfer(
68+
let mut transfer = channels.ch1.into_circ_peripheral_to_memory_transfer(
6969
rx.enable_dma(),
7070
&mut rx_buffer[..],
7171
config,

examples/uart-dma-tx.rs

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ extern crate cortex_m_rt as rt;
77

88
use core::fmt::Write;
99

10-
use hal::dma::{config::DmaConfig, stream::DMAExt, TransferExt};
10+
use hal::dma::{channel::DMAExt, config::DmaConfig, TransferExt};
1111
use hal::prelude::*;
1212
use hal::pwr::PwrExt;
1313
use hal::serial::*;
@@ -32,7 +32,7 @@ fn main() -> ! {
3232
let pwr = dp.PWR.constrain().freeze();
3333
let mut rcc = rcc.freeze(rcc::Config::hsi(), pwr);
3434

35-
let streams = dp.DMA1.split(&rcc);
35+
let channels = dp.DMA1.split(&rcc);
3636
let config = DmaConfig::default()
3737
.transfer_complete_interrupt(false)
3838
.circular_buffer(false)
@@ -64,10 +64,11 @@ fn main() -> ! {
6464
let (tx, _rx) = usart.split();
6565

6666
// Setup DMA for USART2 TX with dma channel 1.
67-
let mut transfer =
68-
streams
69-
.0
70-
.into_memory_to_peripheral_transfer(tx.enable_dma(), &mut tx_buffer[..], config);
67+
let mut transfer = channels.ch1.into_memory_to_peripheral_transfer(
68+
tx.enable_dma(),
69+
&mut tx_buffer[..],
70+
config,
71+
);
7172

7273
transfer.start(|_tx| {});
7374
loop {

src/dma.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
//! Direct Memory Access.
22
//!
33
//! [Transfer::init](struct.Transfer.html#method.init) is only implemented for
4-
//! valid combinations of peripheral-stream-channel-direction, providing compile
4+
//! valid combinations of peripheral-channel-direction, providing compile
55
//! time checking.
66
//!
77
//! This module implements Memory To Memory, Peripheral To Memory and Memory to
@@ -17,13 +17,13 @@
1717
1818
use core::fmt::Debug;
1919

20+
pub mod channel; // DMA MUX // DMA1 and DMA2
2021
pub mod config;
2122
pub(crate) mod mux;
22-
pub mod stream; // DMA MUX // DMA1 and DMA2
2323
pub mod traits;
2424
pub mod transfer;
2525

26-
use traits::{sealed::Bits, Direction, Stream, TargetAddress};
26+
use traits::{sealed::Bits, Channel, Direction, TargetAddress};
2727
pub use transfer::{Transfer, TransferExt};
2828

2929
/// Errors.

0 commit comments

Comments
 (0)