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::Accelerometer(data) => ...,
GlassesEvent::Gyroscope(data) => ...,
GlassesEvent::Magnetometer(data) => ...,
GlassesEvent::Misc(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.
Modules
- Mad Gaze Glow AR glasses support. See
MadGazeGlow
It only usesserialport
for communication. - Nreal Light AR glasses support. See
NrealLight
It only usesrusb
for communication.
Structs
- Structure to hold a typical 3D sensor value (accelerometer, gyroscope, magnetomer)
Enums
- Display mode used by [
Glasses::set_display_mode
] - Possible errors resulting from
ar-drivers
API calls - AR glasses sensor event, got from [
Glasses::read_event
]
Traits
- Common interface for AR implemented glasses
Functions
- Convenience function to detect and connect to any of the supported glasses