Alternate Data Available for Watch Faces?

Former Member
Former Member
Hi Connectors,

Alright everybody, we all know that the Watch Face is limited in its capacity to access watch data. Right now we are stuck with User Profile and Activity Monitor (steps) and for good cause due to power saving efforts.

What I know:
Garmin watches have a vast array of sensors that present on-screen data to the user. At least a few of those sensors (ABC comes to mind) display data to the user in the form of a trend graph over time. This wouldn't be possible if that data were not written to a file or at least a circular buffer (file is more likely since it would be persistent across power cycles/resets).

What I'd like to know:
What is preventing the watch face from accessing this data? Since it would not involve invoking the sensor directly - rather, only its data - I don't see any reason why this would not be possible. If there is some API that I am not aware of I would love to know about it.

Thanks for all you do out there,
Jeff
  • For a trend over time, that data can be stored by a watchface in the Object Store. (which is actually the app's .str file) Lets say you want the value of "X" every day for the past week. In the OS, you save what the last day you have data for and it's data, and in the watchface, when the day changes, you update the object store. Granted, the watchface can only get data while it's running. What data are you trying to save? Is it something in activity.info, for example?

    This is basically what I do in a watch-app (it's an app so it can access the Tempe Sensor), and it saves the high and low temp for that day, but it's the same principle.

    An object store is owned by the app, and only that app has access to it and must provide the data, but the data is save across times something runs, or a reboot of the watch, etc.

    For things like weekly steps or calories and a trend, that can be obtained from activitymonitor.history with no need to save it off yourself. This is how some watchfaces can display a graph of steps for the week, for example.
  • Former Member
    Former Member over 9 years ago
    Hi Jim,

    Thank you for your reply.

    I am not trying to have the watch face save any data of its own. Rather, I am asking if the watch face has access to data that is saved by any of the other subsystems in the watch. Lets say that I want to display the temperature and altitude:

    By default, Garmin watches keep this data stored somewhere in order to display the trend graphs we see as we scroll through widget pages. That data is in a file somewhere in the file system of the watch and I cannot imagine not being able to access it from a watch face.

    Furthermore, I have seen watches that are displaying data I did not think was possible to display, given the current state of the SDK.

    Take a look at this submission from @Stanislav.Bures:

    SC8

    He has displayed both altitude and sunrise/sunset times. How did he do it? That is data not defined in any of the APIs available to a watch face. Unless he is just faking it (which I doubt) there has to be a way to access this type of data. I am starting to think that A) the SDK definitions are not complete or B) I'm just not that savvy :D
  • Hi Jim,

    He has displayed both altitude and sunrise/sunset times. How did he do it? That is data not defined in any of the APIs available to a watch face. Unless he is just faking it (which I doubt) there has to be a way to access this type of data. I am starting to think that A) the SDK definitions are not complete or B) I'm just not that savvy :D



    altitude and currentLocation is in Activty.Info (you can access this in a watchface) It the info from your last activity (until it goes stale!). With currentLocation (lat/lon) you can calculate sunrise and sunset.
  • Former Member
    Former Member over 9 years ago
    516

    This...this all makes sense. I knew it was "B)"