2020-12-20 11:11:06 +00:00
|
|
|
use embedded_graphics::{
|
|
|
|
pixelcolor::Rgb565,
|
|
|
|
prelude::*,
|
|
|
|
};
|
|
|
|
|
|
|
|
use embedded_graphics_simulator::{
|
|
|
|
SimulatorDisplay,
|
|
|
|
Window,
|
|
|
|
OutputSettingsBuilder,
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
use embedded_plots::{
|
|
|
|
single_plot::{SinglePlot},
|
|
|
|
curve::{PlotPoint, Curve},
|
2021-01-04 21:20:07 +00:00
|
|
|
axis::Scale,
|
2020-12-20 11:11:06 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
fn main() -> Result<(), core::convert::Infallible> {
|
|
|
|
let mut display: SimulatorDisplay<Rgb565> = SimulatorDisplay::new(Size::new(480, 272));
|
|
|
|
|
|
|
|
let data = vec![
|
|
|
|
PlotPoint { x: 0, y: 0 },
|
2021-01-04 21:20:07 +00:00
|
|
|
PlotPoint { x: 1, y: 2 },
|
|
|
|
PlotPoint { x: 2, y: 2 },
|
2020-12-20 11:11:06 +00:00
|
|
|
PlotPoint { x: 3, y: 0 },
|
|
|
|
];
|
|
|
|
let curve = Curve::from_data(data.as_slice());
|
|
|
|
|
2021-01-04 21:20:07 +00:00
|
|
|
let plot = SinglePlot::new(
|
|
|
|
&curve,
|
|
|
|
RgbColor::YELLOW,
|
|
|
|
Point { x: 50, y: 10 },
|
|
|
|
Point { x: 430, y: 250 },
|
|
|
|
Scale::RangeFraction(3),
|
|
|
|
Scale::RangeFraction(2)
|
|
|
|
);
|
2020-12-20 11:11:06 +00:00
|
|
|
|
|
|
|
plot.draw(&mut display)?;
|
|
|
|
let output_settings = OutputSettingsBuilder::new()
|
|
|
|
.build();
|
|
|
|
Window::new("Basic plot", &output_settings).show_static(&display);
|
|
|
|
|
|
|
|
Ok(())
|
|
|
|
}
|