brainvision 0.0.1

Rust library and TUI for Brain Products BrainVision RDA EEG streams over TCP/IP
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//! Example: stream BrainVision scans for ~10 seconds.
use brainvision::prelude::*;
fn main() -> Result<(), Box<dyn std::error::Error>> {
    env_logger::init();
    let host = std::env::var("BRAINVISION_HOST").unwrap_or_else(|_| "127.0.0.1".into());
    let mut dev = BrainVisionDevice::connect_default(&host)?;
    let h = dev.wait_for_start()?;
    let target = (h.sampling_rate_hz() as u32).max(1) * 10;
    let scans = dev.capture(target)?;
    println!("Captured {} scans", scans.len());
    for (i, s) in scans.iter().take(5).enumerate() {
        println!("[{i}] {:?}", &s.eeg()[..s.eeg().len().min(8)]);
    }
    Ok(())
}