Skip to content
Snippets Groups Projects
Commit cae9cab6 authored by Raphael Nestler's avatar Raphael Nestler
Browse files

Rolling buffer

parent 7654125f
Branches
Tags
No related merge requests found
...@@ -7,7 +7,7 @@ use core::fmt::Write; ...@@ -7,7 +7,7 @@ use core::fmt::Write;
struct PlotBuffer { struct PlotBuffer {
buffer: [i32; Display::W as usize], buffer: [i32; Display::W as usize],
index: usize, index: u16,
} }
impl PlotBuffer { impl PlotBuffer {
...@@ -27,9 +27,9 @@ impl PlotBuffer { ...@@ -27,9 +27,9 @@ impl PlotBuffer {
} }
pub fn add_sample(&mut self, sample: i32) { pub fn add_sample(&mut self, sample: i32) {
self.buffer[self.index] = sample; self.buffer[self.index as usize] = sample;
self.index += 1; self.index += 1;
if self.index >= Display::W as usize { if self.index >= Display::W {
self.index = 0; self.index = 0;
} }
} }
...@@ -45,9 +45,11 @@ impl PlotBuffer { ...@@ -45,9 +45,11 @@ impl PlotBuffer {
}; };
for i in 0..Display::W { for i in 0..Display::W {
let index = (self.index + i) % Display::W;
display.pixel( display.pixel(
i, i,
((Display::H - 1) as f32 - ((self.buffer[i as usize] as f32 - min) * multiplier)) ((Display::H - 1) as f32
- ((self.buffer[index as usize] as f32 - min) * multiplier))
as u16, as u16,
Color::white(), Color::white(),
); );
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment