EvenIosGlassesClient

class EvenIosGlassesClient(options: EvenIosOptions = EvenIosOptions()) : BaseGlassesClient

Even Realities G1 iOS adapter backed by CoreBluetooth.

The G1 exposes two Nordic UART peripherals. CoreBluetooth has no explicit MTU request API, so after each arm is connected this adapter checks maximumWriteValueLength(.withoutResponse) and warns if writes may be too small for display packets.

Mutable state is confined to the main GCD queue: CoreBluetooth delegates dispatch there because the central manager is created without an explicit queue, and every coroutine entry point runs on Dispatchers.Main. Do not move parsing/decoding off Main or pass a queue to CBCentralManager without adding real synchronization around every mutable BLE/session structure.

Constructors

Link copied to clipboard
constructor(options: EvenIosOptions = EvenIosOptions())

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard
open override val capabilities: DeviceCapabilities
Link copied to clipboard
Link copied to clipboard
open override val events: Flow<GlassesEvent>
Link copied to clipboard
open override val model: GlassesModel
Link copied to clipboard
open override val state: StateFlow<ConnectionState>

Functions

Link copied to clipboard
open suspend override fun capturePhoto(options: CaptureOptions): Result<CapturedImage>
Link copied to clipboard
suspend override fun connect(): Result<Unit>
Link copied to clipboard
open suspend override fun disconnect()
Link copied to clipboard
open suspend override fun display(text: String, options: DisplayOptions): Result<Unit>
Link copied to clipboard
open suspend fun displayImage(image: DisplayImage, options: DisplayImageOptions): Result<Unit>
Link copied to clipboard
open suspend override fun playAudio(source: AudioSource, options: PlayAudioOptions): Result<Unit>
Link copied to clipboard
open suspend override fun startMicrophone(options: MicrophoneOptions): Result<MicrophoneSession>
Link copied to clipboard