Время поля пользовательских данных Garmin Connect IQ в зоне - PullRequest
0 голосов
/ 09 ноября 2018

Настоящий вопрос нуба, но я пытаюсь написать свое первое в истории поле пользовательских данных для моего Garmin Edge 520. Все, что я хотел бы сделать, это сложить время в Зоне 3 + Зона 4 + Зона 5 и отобразить его в простом поле данных.

Я уверен, что есть простое решение, но я осматриваюсь и не вижу его. Из документации API на Подключить IQ API Docs в разделе Toybox :: UserProfile я могу получитьHeartRateZones и, возможно, использовать эту информацию, чтобы попытаться вычислить ее?

Есть ли простой вызов API для получения времени в зоне x?

1 Ответ

0 голосов
/ 25 ноября 2018

Я также думаю, что эта функциональность не предоставляется прямо из коробки через API.

Однако вы можете написать собственный ActivityTracker на основе образца «ActivityTracker» в Документах API Connect IQ. К сожалению, это, по сути, означает, что вам придется дублировать логику дисплея, который вы видите в данный момент, просто чтобы добавить три поля.

Вы бы позвонили Toybox.Activity.getActivityInfo() для получения текущей частоты пульса, скажем, с интервалом в 1 секунду (пример ActivityTracker показывает вам, как реализовать 1-секундный обратный вызов), определите, в какой зоне находится пульс, и увеличьте счетчик для этой зоны. Затем вы складываете три зоны и отображаете их.

-cfs

...