2025-04-30 14:37:03 -04:00

29 lines
869 B
Rust

use btleplug::api::{Central, Manager as _, Peripheral as _, ScanFilter};
use btleplug::platform::Manager;
use infinitime_rs;
use std::error::Error;
use std::time::Duration;
use tokio::time;
#[tokio::main]
async fn main() -> Result<(), Box<dyn Error>> {
let manager = Manager::new().await.unwrap();
let adapters = manager.adapters().await?;
let central_adapter = adapters.into_iter().nth(0).unwrap();
central_adapter.start_scan(ScanFilter::default()).await?;
time::sleep(Duration::from_secs(2)).await;
let infinitime = infinitime_rs::find_infinitime(&central_adapter)
.await
.unwrap();
infinitime.connect().await?;
infinitime.discover_services().await?;
println!("{}", infinitime_rs::get_firmware_version(&infinitime).await);
println!("{}", infinitime_rs::get_battery_level(&infinitime).await);
Ok(())
}