awear 0.1.0

Rust client for AWEAR EEG devices over BLE using btleplug
Documentation
//! # awear
//!
//! Rust client library for [AWEAR](https://www.awear.us) EEG devices over Bluetooth Low Energy.
//!
//! Handles BLE scanning, connection, HMAC-SHA256 challenge-response authentication,
//! LUCA protocol parsing, and real-time EEG data streaming via an async event channel.
//!
//! ## Quick Start
//!
//! ```no_run
//! use awear::prelude::*;
//!
//! #[tokio::main]
//! async fn main() -> anyhow::Result<()> {
//!     let client = AwearClient::new(AwearClientConfig::default());
//!     let (mut rx, handle) = client.connect().await?;
//!     handle.start().await?;
//!     while let Some(event) = rx.recv().await {
//!         match event {
//!             AwearEvent::Eeg(r) => println!("EEG: {} samples", r.samples.len()),
//!             AwearEvent::Battery(b) => println!("Battery: {}%", b),
//!             _ => {}
//!         }
//!     }
//!     Ok(())
//! }
//! ```

pub mod awear_client;
pub mod parse;
pub mod protocol;
pub mod types;

pub mod prelude {
    pub use crate::awear_client::{AwearClient, AwearDevice, AwearHandle};
    pub use crate::protocol::{
        compute_challenge_reply, EEG_FREQUENCY, AWEAR_SERVICE_UUID,
    };
    pub use crate::types::{
        AwearClientConfig, AwearEvent, DataPacketType, DeviceInfo, DeviceStatus,
        DiscoveredDevice, EegReading, PacketStats,
    };
}