Skip to main content

Crate nesso

Crate nesso 

Source
Expand description

Public Rust facade crate for the Arduino Nesso N1.

nesso is the crate applications should normally depend on. It owns the Nesso N1 board bring-up path and exposes lower-level hardware modules for advanced use.

Short facade calls borrow the shared I2C bus only for the duration of one operation, which keeps async applications cooperative without making the base crate depend on Embassy.

§Example

#![no_std]
#![no_main]

use embedded_graphics::{pixelcolor::Rgb565, prelude::RgbColor};
use embedded_hal::delay::DelayNs;
use esp_hal::{clock::CpuClock, delay::Delay, main};
use nesso::Nesso;

#[main]
fn main() -> ! {
    let config = esp_hal::Config::default().with_cpu_clock(CpuClock::max());
    let peripherals = esp_hal::init(config);
    let mut delay = Delay::new();
    let mut nesso = match Nesso::new(peripherals) {
        Ok(nesso) => nesso,
        Err(_) => esp_hal::system::software_reset(),
    };

    if nesso.display.clear(Rgb565::BLACK).is_err()
        || nesso
            .display
            .print_centered("Hello from nesso", 120, Rgb565::WHITE)
            .is_err()
    {
        esp_hal::system::software_reset()
    }

    loop {
        delay.delay_ms(1000);
    }
}

Modules§

audio
Audio support for the Nesso N1 passive buzzer. Passive buzzer helpers for the Nesso N1.
bsp
Board constants and board-specific setup helpers. Board support package for the Arduino Nesso N1.
display
Display support for the Nesso N1 ST7789P3 LCD. ST7789P3 display support for the Arduino Nesso N1.
imu
IMU support for the Nesso N1 BMI270. BMI270 IMU support.
input
Button and input event helpers. Button and touch input state machines.
motion
Motion classification helpers built on BMI270 accelerometer samples. Motion and orientation context helpers built from accelerometer samples.
power
Battery, charger, and power-management support. Battery gauge and charger helpers.
sprite
Caller-owned RGB565 sprite/framebuffer support. Caller-owned RGB565 sprites and dirty-region helpers.
storage
Settings and key/value storage primitives. Heapless settings storage and flash-backed persistence.
touch
Touch support for the Nesso N1 FT6336U controller. FT6336U touch controller support.
ui
Small graphics and UI primitives for embedded-graphics draw targets. Lightweight graphics and UI helpers for Nesso display applications.

Structs§

Nesso
Board-owned Nesso N1 SDK.
NessoSensors
Borrow-scoped shared I2C sensor facade.

Enums§

NessoError
SDK-level error type for facade operations.