3 unstable releases

1.0.0-alpha.3 Apr 23, 2022
1.0.0-alpha.2 Feb 22, 2021
1.0.0-alpha.1 Dec 30, 2020
0.2.0 Apr 23, 2022
0.1.1 Dec 29, 2020

#542 in Hardware support

40 downloads per month
Used in push2_pong

MIT/Apache

77KB
128 lines

push2_display

Crate API

This Rust library implements the Embedded-graphics-core DrawTarget trait, making it easy to draw 2D graphics primitives on the Push2 display.

Ableton Push2 is a MIDI instrument with a 960x160 RGB LCD display. Push2 is a USB composite device with a MIDI interface and a generic bulk data interface used to drive the display.

Examples

use embedded_graphics::{
    mono_font::{ascii::FONT_10X20, MonoTextStyle},
    pixelcolor::{PixelColor, Bgr565},
    prelude::*,
    text::Text,
};
use push2_display::Push2Display;

let mut display = Push2Display::new()?;
let text_style = MonoTextStyle::new(&FONT_10X20, Bgr565::WHITE);

Text::new("Hello!", Point::new(400, 70), &text_style)
    .draw(&mut display)?;

display.flush()?;
git clone https://github.com/mbracher/push2_display
cd push2_display

cargo run --example hello

Photo of hello example on Push2 device

References

Ableton Push Interface

Embedded graphics

Projects using push2_display

  • push2_pong: two player ping pong game on the Ableton Push2 midi controller

  • push2_soundboard: play sounds and loops via pressing buttons on the Ableton Push2 midi controller

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~2–2.7MB
~57K SLoC