From 33b1cc0a9d73b939c1cf1b340dc5830d10d59f29 Mon Sep 17 00:00:00 2001 From: thatscringebro Date: Wed, 30 Apr 2025 14:37:03 -0400 Subject: [PATCH] added some gets --- Cargo.toml | 2 ++ src/main.rs | 27 +++++++++++++++++++++++++-- 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index b501811..959f219 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -5,3 +5,5 @@ edition = "2024" [dependencies] infinitime-rs = { git = "https://gitea.homelabdeouf.xyz/thatscringebro/infinitime-rs", version = "0.1.0" } +btleplug = "0.11.8" +tokio = { version = "1.44.2", features = ["full"] } diff --git a/src/main.rs b/src/main.rs index 516acd1..2ce6879 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,5 +1,28 @@ +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; -fn main() { - println!("Hello, world!"); +#[tokio::main] +async fn main() -> Result<(), Box> { + 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(()) }