Crate ar_drivers

source ·
Expand description

This crate contains a simplified driver for Rokid Air and Mad Gaze Glow AR glasses. It supports getting basic sensor data and setting up the display.

Example usage (in a thread, probably):

let mut glasses = any_glasses().unwrap();
loop {
    match glasses.read_event().unwrap() {
        GlassesEvent::AccGyro {accelerometer, gyroscope} => ...,
        GlassesEvent::Magnetometer(data) => ...,
        GlassesEvent::KeyPress(data) => ...,
        _ => {}
    }
}

As opposed to e.g. Rokid’s own API, this is all that you get, since this is what comes out of the hardware. To get quaternions, you should probably use a lib that implements Madgwicks algorithm or a proper EKF. One good choice is the eskf crate.

Feature flags

Support for individual AR glasses types ca be enabled with the following features:

  • mad_gaze: Mad Gaze Glow
  • nreal: Nreal Light
  • rokid: Rokid Air

All of them are enabled by default, which may bring in some unwanted dependencies if you only want to support a specific type.

Modules

Structs

Enums

Traits

  • Common interface for AR implemented glasses

Functions

  • Convenience function to detect and connect to any of the supported glasses