Crate ar_drivers

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§

grawoow
Grawoow G530 (a.k.a. MetaVision M53) glasses support. See GrawoowG530 It only uses rusb for communication.
mad_gaze
Mad Gaze Glow AR glasses support. See MadGazeGlow It only uses serialport for communication.
nreal_air
Nreal Air AR glasses support. See NrealAir It only uses hidapi for communication.
nreal_light
Nreal Light AR glasses support. See NrealLight It only uses hidapi for communication.
rokid
Rokid Air AR glasses support. See RokidAir It only uses rusb for communication.

Structs§

CameraDescriptor
Represents one built-in camera

Enums§

DisplayMode
Display mode used by ARGlasses::set_display_mode
Error
Possible errors resulting from ar-drivers API calls
GlassesEvent
AR glasses sensor event, got from ARGlasses::read_event
Side
Display side used by [ARGlasses::view_matrix]

Traits§

ARGlasses
Common interface for AR implemented glasses

Functions§

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