vibe-code wokwi display ch1115 integration
This commit was merged in pull request #55.
This commit is contained in:
+13
-1
@@ -11,6 +11,7 @@ use alloc::boxed::Box;
|
||||
use creaturedex::background_tasks;
|
||||
use creaturedex::drivers::i2c_bus::I2cBusPinConfiguration;
|
||||
use creaturedex::drivers::nfc_pn532::NfcPn532Driver;
|
||||
use creaturedex::drivers::primary_lcd::PrimaryDisplay;
|
||||
use creaturedex::drivers::secondary_oled::SecondaryDisplay;
|
||||
use creaturedex::drivers::spi_bus;
|
||||
use creaturedex::drivers::tertiary_lcd::{
|
||||
@@ -71,7 +72,7 @@ async fn main(spawner: Spawner) {
|
||||
let timg0 = TimerGroup::new(esp_peripherals.TIMG0);
|
||||
esp_rtos::start(timg0.timer0, sw_interrupt.software_interrupt0);
|
||||
|
||||
let (primary, mut secondaries) = retry(
|
||||
let (mut primary, mut secondaries) = retry(
|
||||
5,
|
||||
spi_bus::DisplayPinConfiguration {
|
||||
spi_peripheral: esp_peripherals.SPI2,
|
||||
@@ -160,6 +161,7 @@ async fn main(spawner: Spawner) {
|
||||
display_shit(&mut secondaries[0], "foo 1");
|
||||
display_shit(&mut secondaries[1], "bar 1");
|
||||
display_shit(&mut secondaries[2], "baz 1");
|
||||
display_shit_prim(&mut primary, "Hello World");
|
||||
|
||||
let outputs = {
|
||||
let [sec_1, sec_2, sec_3] = secondaries;
|
||||
@@ -191,6 +193,16 @@ fn display_shit(oled: &mut SecondaryDisplay<'static>, text: &str) {
|
||||
oled.flush().unwrap();
|
||||
}
|
||||
|
||||
fn display_shit_prim(main: &mut PrimaryDisplay<'static>, text: &str) {
|
||||
use embedded_graphics::pixelcolor::Rgb565;
|
||||
main.clear(Rgb565::BLACK).unwrap();
|
||||
|
||||
let text_style = MonoTextStyle::new(&FONT_6X10, Rgb565::WHITE);
|
||||
Text::new(text, Point::new(10, 20), text_style)
|
||||
.draw(main)
|
||||
.unwrap();
|
||||
}
|
||||
|
||||
fn retry<T, U, F: FnMut(T) -> Result<U, T>>(repetitions: u32, input: T, mut action: F) -> U {
|
||||
let mut initial_state = input;
|
||||
for iteration in 0..repetitions {
|
||||
|
||||
Reference in New Issue
Block a user