Skip to content

Commit 0575235

Browse files
committed
rustfmt
1 parent f14dd61 commit 0575235

File tree

1 file changed

+51
-47
lines changed

1 file changed

+51
-47
lines changed

examples/sai_dma_passthru.rs

Lines changed: 51 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -4,22 +4,21 @@
44
#![allow(unused_macros)]
55
#![deny(warnings)]
66
//#![deny(unsafe_code)]
7-
87
#![no_main]
98
#![no_std]
109

1110
use cortex_m::asm;
1211

13-
use cortex_m_rt::{entry};
12+
use cortex_m_rt::entry;
1413

15-
use stm32h7xx_hal as hal;
16-
use hal::stm32;
17-
use hal::{ prelude::*, pac };
18-
use hal::hal::digital::v2::OutputPin;
19-
use hal::rcc::{ rec::Sai1ClkSel };
20-
use hal::sai::{ self, SaiI2sExt, SaiChannel };
2114
use hal::dma;
15+
use hal::hal::digital::v2::OutputPin;
16+
use hal::rcc::rec::Sai1ClkSel;
17+
use hal::sai::{self, SaiChannel, SaiI2sExt};
18+
use hal::stm32;
2219
use hal::time::Hertz;
20+
use hal::{pac, prelude::*};
21+
use stm32h7xx_hal as hal;
2322

2423
use pac::interrupt;
2524

@@ -28,11 +27,10 @@ use log::info;
2827
#[macro_use]
2928
mod utilities;
3029

31-
3230
// = global constants =========================================================
3331

3432
// 32 samples * 2 audio channels * 2 buffers
35-
const DMA_BUFFER_LENGTH:usize = 32 * 2 * 2;
33+
const DMA_BUFFER_LENGTH: usize = 32 * 2 * 2;
3634

3735
const AUDIO_SAMPLE_HZ: Hertz = Hertz(48_000);
3836

@@ -41,15 +39,13 @@ const AUDIO_SAMPLE_HZ: Hertz = Hertz(48_000);
4139
// But not less than so targetting 257
4240
const PLL3_P_HZ: Hertz = Hertz(AUDIO_SAMPLE_HZ.0 * 257);
4341

44-
4542
// = static data ==============================================================
4643

4744
#[link_section = ".sram3"]
4845
static mut TX_BUFFER: [u32; DMA_BUFFER_LENGTH] = [0; DMA_BUFFER_LENGTH];
4946
#[link_section = ".sram3"]
5047
static mut RX_BUFFER: [u32; DMA_BUFFER_LENGTH] = [0; DMA_BUFFER_LENGTH];
5148

52-
5349
// = entry ====================================================================
5450

5551
#[entry]
@@ -61,7 +57,9 @@ fn main() -> ! {
6157
let dp = hal::pac::Peripherals::take().unwrap();
6258
let pwr = dp.PWR.constrain();
6359
let vos = pwr.freeze();
64-
let ccdr = dp.RCC.constrain()
60+
let ccdr = dp
61+
.RCC
62+
.constrain()
6563
.use_hse(16.mhz())
6664
.sys_ck(400.mhz())
6765
.pll3_p_ck(PLL3_P_HZ)
@@ -70,7 +68,6 @@ fn main() -> ! {
7068
// enable sai1 peripheral and set clock to pll3
7169
let sai1_rec = ccdr.peripheral.SAI1.kernel_clk_mux(Sai1ClkSel::PLL3_P);
7270

73-
7471
// - configure pins ---------------------------------------------------
7572

7673
let gpiob = dp.GPIOB.split(ccdr.peripheral.GPIOB);
@@ -85,38 +82,43 @@ fn main() -> ! {
8582
Some(gpioe.pe3.into_alternate_af6()), // SD_B
8683
);
8784

88-
8985
// - configure dma1 -------------------------------------------------------
9086

91-
let dma1_streams = dma::dma::StreamsTuple::new(dp.DMA1, ccdr.peripheral.DMA1);
87+
let dma1_streams =
88+
dma::dma::StreamsTuple::new(dp.DMA1, ccdr.peripheral.DMA1);
9289

9390
// dma1 stream 0
94-
let tx_buffer: &'static mut [u32; DMA_BUFFER_LENGTH] = unsafe { &mut TX_BUFFER };
91+
let tx_buffer: &'static mut [u32; DMA_BUFFER_LENGTH] =
92+
unsafe { &mut TX_BUFFER };
9593
let dma_config = dma::dma::DmaConfig::default()
9694
.priority(dma::config::Priority::High)
9795
.memory_increment(true)
9896
.peripheral_increment(false)
9997
.circular_buffer(true)
10098
.fifo_enable(false);
101-
let mut dma1_str0: dma::Transfer<_, _, dma::MemoryToPeripheral, _> = dma::Transfer::init(
102-
dma1_streams.0,
103-
unsafe { pac::Peripherals::steal().SAI1 },
104-
tx_buffer,
105-
None,
106-
dma_config,
107-
);
99+
let mut dma1_str0: dma::Transfer<_, _, dma::MemoryToPeripheral, _> =
100+
dma::Transfer::init(
101+
dma1_streams.0,
102+
unsafe { pac::Peripherals::steal().SAI1 },
103+
tx_buffer,
104+
None,
105+
dma_config,
106+
);
108107

109108
// dma1 stream 1
110-
let rx_buffer: &'static mut [u32; DMA_BUFFER_LENGTH] = unsafe { &mut RX_BUFFER };
111-
let dma_config = dma_config.transfer_complete_interrupt(true)
112-
.half_transfer_interrupt(true);
113-
let mut dma1_str1: dma::Transfer<_, _, dma::PeripheralToMemory, _> = dma::Transfer::init(
114-
dma1_streams.1,
115-
unsafe { pac::Peripherals::steal().SAI1 },
116-
rx_buffer,
117-
None,
118-
dma_config,
119-
);
109+
let rx_buffer: &'static mut [u32; DMA_BUFFER_LENGTH] =
110+
unsafe { &mut RX_BUFFER };
111+
let dma_config = dma_config
112+
.transfer_complete_interrupt(true)
113+
.half_transfer_interrupt(true);
114+
let mut dma1_str1: dma::Transfer<_, _, dma::PeripheralToMemory, _> =
115+
dma::Transfer::init(
116+
dma1_streams.1,
117+
unsafe { pac::Peripherals::steal().SAI1 },
118+
rx_buffer,
119+
None,
120+
dma_config,
121+
);
120122

121123
// - configure sai ----------------------------------------------------
122124

@@ -140,18 +142,18 @@ fn main() -> ! {
140142
Some(sai1_rx_config),
141143
);
142144

143-
144145
// - reset ak4556 codec -----------------------------------------------
145146

146147
ak4556_reset.set_low().unwrap();
147-
asm::delay(480_000); // ~ 1ms (datasheet specifies minimum 150ns)
148+
asm::delay(480_000); // ~ 1ms (datasheet specifies minimum 150ns)
148149
ak4556_reset.set_high().unwrap();
149150

150-
151151
// - start audio ------------------------------------------------------
152152

153153
// unmask interrupt handler for dma 1, stream 1
154-
unsafe { pac::NVIC::unmask(pac::Interrupt::DMA1_STR1); }
154+
unsafe {
155+
pac::NVIC::unmask(pac::Interrupt::DMA1_STR1);
156+
}
155157

156158
dma1_str1.start(|_sai1_rb| {
157159
sai1.enable_dma(SaiChannel::ChannelB);
@@ -162,19 +164,20 @@ fn main() -> ! {
162164

163165
// wait until sai1's fifo starts to receive data
164166
info!("sai1 fifo waiting to receive data");
165-
while sai1_rb.cha.sr.read().flvl().is_empty() { }
167+
while sai1_rb.cha.sr.read().flvl().is_empty() {}
166168
info!("audio started");
167169

168170
sai1.enable();
169171
});
170172

171-
172173
// - dma1 stream 1 interrupt handler --------------------------------------
173174

174-
type TransferDma1Str1 = dma::Transfer<dma::dma::Stream1<stm32::DMA1>,
175-
stm32::SAI1,
176-
dma::PeripheralToMemory,
177-
&'static mut [u32; 128]>;
175+
type TransferDma1Str1 = dma::Transfer<
176+
dma::dma::Stream1<stm32::DMA1>,
177+
stm32::SAI1,
178+
dma::PeripheralToMemory,
179+
&'static mut [u32; 128],
180+
>;
178181

179182
static mut TRANSFER_DMA1_STR1: Option<TransferDma1Str1> = None;
180183
unsafe {
@@ -183,8 +186,10 @@ fn main() -> ! {
183186

184187
#[interrupt]
185188
fn DMA1_STR1() {
186-
let tx_buffer: &'static mut [u32; DMA_BUFFER_LENGTH] = unsafe { &mut TX_BUFFER };
187-
let rx_buffer: &'static mut [u32; DMA_BUFFER_LENGTH] = unsafe { &mut RX_BUFFER };
189+
let tx_buffer: &'static mut [u32; DMA_BUFFER_LENGTH] =
190+
unsafe { &mut TX_BUFFER };
191+
let rx_buffer: &'static mut [u32; DMA_BUFFER_LENGTH] =
192+
unsafe { &mut RX_BUFFER };
188193

189194
let stereo_block_length = tx_buffer.len() / 2;
190195

@@ -215,7 +220,6 @@ fn main() -> ! {
215220
}
216221
}
217222

218-
219223
// - main loop ------------------------------------------------------------
220224

221225
loop {

0 commit comments

Comments
 (0)