1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
//! EEG Hardware Abstraction Layer
//!
//! This crate provides a unified interface for EEG devices, allowing models
//! to work with any supported device without knowing the underlying hardware.
//!
//! # Main concepts
//!
//! - [`EegDevice`] defines the device lifecycle and sample acquisition API
//! - [`DeviceInfo`] and [`ChannelConfig`] describe a device's static capabilities
//! - [`SampleBuffer`] stores multi-channel EEG samples for downstream processing
//! - [`bands`] exposes standard EEG band ranges reused across the SDK
//!
//! # Example
//!
//! ```rust
//! use elata_eeg_hal::{EegSample, SampleBuffer};
//!
//! let mut buffer = SampleBuffer::new(256, 4);
//! let sample = EegSample::new(0, vec![1.0, 2.0, 3.0, 4.0]);
//! buffer.push(&sample);
//!
//! assert_eq!(buffer.sample_count(), 1);
//! assert_eq!(buffer.channel_data(0), &[1.0]);
//! ```
pub use ;
pub use ;
pub use ;
pub use ;
/// Standard EEG frequency bands (in Hz)