29 lines
869 B
Rust
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(¢ral_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(())
|
|
}
|