samcrow / rust-xplm

Rust interfaces to the X-Plane plugin SDK
Apache License 2.0
39 stars 15 forks source link

Accessing array datarefs #18

Open realskudd opened 6 months ago

realskudd commented 6 months ago

I'd like to be able to read and write sim/flightmodel/weight/m_fuel, but with it being an array of floats, I'm not entirely sure how to make it work with xplm.

I've tried this:

        let fuel_weights: DataRef<f64, ReadOnly> = DataRef::find("sim/flightmodel/weight/m_fuel")?;

        let tanks = fuel_weights.get();
        let tank1 = tanks[0];
        let tank2 = tanks[1];

But it's not valid, given the f64 that .get() returns.

What's the right way to accomplish this? Is it even implemented yet?

samcrow commented 6 months ago

This is not obvious and there probably should be more examples, but it should work: