Accelerometer reference frame?

Hello,

I'm trying to get accelerometer data from Garmin watches - the accelerometer data seems to be relative to the watch itself (vector Z is normal to the watch face), e.g. if the watch is flat on a table, Az will read -1000 or so, and if the watch is on its side on a flat table, Az will read 0 or so.

The recent watches however seem to have a gyro - they therefore should be able to give acceleration along the Z axis of not the watch, but the place I'm at (e.g. the vertical axis, normal to flat ground), regardless of the orientation of the watch itself. This is what I'm trying to get - but I've seen there is no way to get gyro data, so my assumption is that it's impossible.

Is that correct?

Thank you!

  • Gyro data will be/is available with an api level of 3.3.0 or 4.1.0 (system 5).  The 4.1.0 beta SDK is available, and devices are starting to get a 3.3.0 VM

  • Oh wow! Thank you very much!

    I will try to test it! For now, I'm noticing that Toybox.Sensor.getInfo() doesn't seem to include gyro data (at least for the preview device in the SDK).Hopefully that will change (or I'm making a mistake!)

  • Be sure you are looking in the documentation that is part of the 4.1.0-beta1 SDK, as the web based doc is for the latest production SDK - so 4.0.10

  • Thank you! Yep, I'm looking at that! So I see GyroscopeData is there in the doc and it makes sense. But when running a simple sample like AccelMag with the 4.1.0-beta1 SDK and the only available compatible simulated device (Venu 2 System 5 Preview) and looking at the SensorInfo returned by Sensor.getInfo() method, I don't see anything resembling :gyro or :gyroscope (all the other sensors are there, as usual).

    Likely the sample device doesn't have a gyro sensor (or it's not implemented in the simulated device yet). I guess that I could test directly on my Fenix 7X (assuming its latest firmware can run that!)