3个版本

0.1.2 2024年4月3日
0.1.1 2024年3月16日
0.1.0 2024年3月16日

5#read-memory

Download history 2/week @ 2024-05-19 4/week @ 2024-06-02

每月162次 下载

MIT 许可证

32KB
576

BMS共享内存

Crates.io

读取BMS共享内存数据

快速示例

use bms_sm::*;
use std::time::Duration;
use tokio::time::sleep;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error + Send + Sync>> {
    // Wait until the memory-file exists
    let mut mem = IntellivibeData::new();
    loop {
        if mem.is_ok() {
            break;
        }
        sleep(Duration::from_millis(300)).await;
        mem = IntellivibeData::new();
    }
    let mem = mem?;

    // Threadable
    tokio::spawn(async move {
        loop {
            // Read the memory as it is right now
            dbg!(mem.read());
            sleep(Duration::from_secs(5)).await;
        }
    });

    tokio::signal::ctrl_c().await?;

    Ok(())
}

当前实现接口

  • IntellivibeData (FalconSharedMemoryArea)
  • FlightData (FalconIntellivibeSharedMemoryArea)
  • StringsData (FalconSharedMemoryAreaString)

依赖项

~127MB
~2M SLoC