Fixed loop bounds and buffer length
This commit is contained in:
parent
b26dda4a2a
commit
e767e1cbe0
14
src/main.rs
14
src/main.rs
|
@ -83,7 +83,7 @@ mod app {
|
|||
2,
|
||||
CCR<stm32f4xx_hal::pac::TIM4, 2>,
|
||||
stm32f4xx_hal::dma::MemoryToPeripheral,
|
||||
&'static mut [u16; 256],
|
||||
&'static mut [u16; 128],
|
||||
>,
|
||||
audio_max_duty: u16,
|
||||
|
||||
|
@ -96,7 +96,7 @@ mod app {
|
|||
|
||||
#[shared]
|
||||
struct Shared {
|
||||
audio_buffer: Option<&'static mut [u16; 256]>,
|
||||
audio_buffer: Option<&'static mut [u16; 128]>,
|
||||
}
|
||||
|
||||
#[init]
|
||||
|
@ -239,8 +239,8 @@ mod app {
|
|||
});
|
||||
};
|
||||
|
||||
let audio_buff1 = singleton!(: [u16; 256] = [100; 256]).unwrap();
|
||||
let audio_buff2 = singleton!(: [u16; 256] = [100; 256]).unwrap();
|
||||
let audio_buff1 = singleton!(: [u16; 128] = [100; 128]).unwrap();
|
||||
let audio_buff2 = singleton!(: [u16; 128] = [100; 128]).unwrap();
|
||||
|
||||
let dma1 = StreamsTuple::new(cx.device.DMA1);
|
||||
|
||||
|
@ -356,11 +356,11 @@ mod app {
|
|||
|
||||
cx.shared.audio_buffer.lock(|buffer| {
|
||||
let audio_buffer = buffer.take().unwrap();
|
||||
for idx in 0..samples.len() / 2 {
|
||||
for idx in 0..samples.len() {
|
||||
let filtered = usb_filter.compute(samples[idx]);
|
||||
fft_input[idx] = filtered;
|
||||
fft_input[idx] = samples[idx];
|
||||
|
||||
audio_buffer[idx] = (filtered.re * (audio_max_duty as f32)) as u16;
|
||||
audio_buffer[idx] = ((filtered.re * (audio_max_duty as f32)) * 3.0f32) as u16;
|
||||
}
|
||||
|
||||
*buffer = Some(audio_buffer);
|
||||
|
|
Loading…
Reference in New Issue