问题标签 [connectiq]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Android 和 Garmin FR230 (SDK 1.3.x) 之间通过 BLE 的直接消息通信失败
嗨,Garmin 开发人员,
我一直在尝试在我的 Android 应用程序和我的 connectIQ 应用程序(在 Garmin Forerunner 230,SDK 版本 1.3.x 上)之间通过 BLE 开发直接消息通信设置。这里的目标是 Android 应用程序正在收集一些数据,然后将其推送到手表应用程序。
按照开发者网站上的详细信息,我已经设法让它工作,但是有很多丢失的消息没有被发送,并且手表接收的值比发送的值少。
在 Android 上,我在调试语句中得到此状态 (ConnectIQ.IQMessageStatus) = FAILURE_DURING_TRANSFER。“240”是正在发送的数据。
D/GarminMessenger:onMessageStatus:消息:240,设备:Forerunner 230,FAILURE_DURING_TRANSFER
这是我在 garmin 上的应用程序代码:
示例应用程序.mc
关于可能导致此问题的任何想法?我正在 Android 端执行所有必要的检查,以验证 Garmin 手表是否已配对和连接(并且应用程序已打开)。
发生这种情况的一个原因是我试图每秒发送 1-2 个数据值(每个都有一个 ConnectIQ.sendMessage()),所以 Garmin 设备/BLE 模块可能不支持该速率的通信?
提前感谢您的解决方案和建议。
ios - 适用于 Garmin CIQ 设备的 iOS 配套应用程序
我正在尝试为我的 Connect IQ 手表应用程序制作 iOS 配套应用程序。已经存在一个功能齐全的 Android 配套应用程序,所以我知道手表应用程序本身是可以的。
我正在遵循 Garmin 网站的指南,但我的 iOS 配套应用程序无法连接到手表应用程序或手表本身。手表已通过 Garmin Connect 应用程序成功检索,但任何尝试与我的手表应用程序通信或打开它(通过ConnectIQ.openAppRequest
)的尝试均不成功。我收到“设备不可用”错误。
可能是什么问题呢?
garmin - 如何在 Monkey C 中将米转换为厘米?
严重的新手问题,但我似乎无法在任何地方找到答案!
我正在尝试在 Garmin 设备的应用程序中将我的身高从厘米转换为米。这是用 Monkey C 编写的(据我了解,与 Java 和 C++ 非常相似)。
这是我目前的做法:
我的身高是 175,正如你所料,这给了我 175.00 的结果
我似乎找不到任何资源来告诉我如何将小数点移到左边。任何帮助将非常感激。
这是有关在 Monkey C 中格式化的文档:https ://developer.garmin.com/downloads/connect-iq/monkey-c/doc/Toybox/Lang/Number.html#format-instance_method
任何关于格式化数字的解释都会很棒。我也试图截断一个数字,例如从 1234567 到 1234。因此,任何有关这方面的信息也会很棒。
提前致谢!
connectiq - 更改历史列表中自定义应用程序记录活动的图标
我为我的 Garmin Forerunner 手表制作了自己的 Connect IQ 应用程序。我已将 LauncherIcon 更改为我自己的图像,而不是默认的 IQ 图标。
我的应用程序使用 ActivityRecording,因此可以将活动保存到历史记录中的活动列表中。但是,在此列表中,活动的图标只是“IQ”。
是否可以将其更改为自定义图像?否则,我将无法区分自定义应用程序中的活动。
garmin - Garmin ConnectIQ 应用程序以列表/菜单作为第一个视图
如何将手表应用的第一个视图设置为菜单或类似的滚动列表?
我一直在 Fenix 5 上看到这种行为;例如,在导航应用程序中(按“选择”,选择“导航”),第一个屏幕是选项的滚动列表。我希望在我的应用程序中使用相同的内容,并以编程方式创建和控制列表。
但是,从 getInitialView() 返回菜单会给我“意外类型错误”。
澄清一下:我真的不在乎它是否真的是一个菜单。但我希望能够一次看到列表中的多个项目,如果列表大于屏幕,则让向上和向下按钮滚动它。让项目成为我可以以编程方式绘制的自定义视图将是一个很大的优势。
我想我可以手动绘制列表,并手动实现平滑滚动;但这太乏味了。我必须相信有一个内置的设施,因为我看到这个确切的事情在很多地方一直发生。
(请注意,我询问的是手表应用程序- 即您可以通过按“选择”(右上角)并从列表中选择它来获得。不是小部件、表盘或数据字段。)
(编辑以澄清手表应用程序,并以导航为例。)
garmin - 为什么字体没有像 API 中描述的那样覆盖整个设备屏幕?
我正在使用 Garmin 的 Connect IQ API 构建表盘。表盘专为跑步而设计,因此我希望它易于阅读。我正在寻找一种覆盖大约一半屏幕的数字字体。我试图避免创建自定义字体,因为我需要将存储空间保持在最低限度。
他们在下面的链接中列出了带有描述的字体大小。
https://developer.garmin.com/connect-iq/user-experience-guide/page-layout/
尺寸 17 似乎是最大的尺寸,它声称可以覆盖整个屏幕。在我的设备上,字体的高度/宽度约为屏幕高度/宽度的 1/5。我可以手动调整大小还是卡在创建自定义字体?
garmin - Connect IQ 开始运行
我是 Connect IQ 的新手,不确定那些 Connect IQ 是否具有打开跑步活动模型(开始测量跑步或步行活动)的内置功能,还是我需要构建它?
garmin - Garmin Connect IQ 自定义数据字段的区域时间
这里是一个真正的菜鸟问题,但我正在尝试为我的 Garmin Edge 520 编写我的第一个自定义数据字段。我想做的就是将 3 区 + 4 区 + 5 区的时间相加并以简单的形式显示数据字段。
我确信有一个简单的解决方案,但我正在寻找所有东西,但我看不到它。从Toybox::UserProfile 下Connect IQ API Docs的 API 文档中,我可以获取HeartRateZones 并且可能使用该信息来尝试计算它?
是否有一个简单的 API 调用来获取区域 x 的时间?
eclipse - 当我从 Eclipse 运行我的 MonkeyC 程序时,为什么我的代码更改没有编译或显示?
我正在使用 Eclipse、ConnectIQ 插件和 MonkeyC 为 Garmin 手表编写应用程序。我可以在模拟器上运行几个示例应用程序,但大多数情况下,当我点击“运行”时,我的编辑不会部署。
IDE 信息:适用于 Java 开发人员的 Eclipse IDE 版本:2018-12 (4.10.0) 内部版本号:20181214-0600
在 Garmin SDK 的 ActivityTrackerApp 中,默认 UI 布局在文件 ActivityTrackerApp.mc 中。我正在编辑的行是:
var stepsPercent = info.steps.toFloat() / info.stepGoal; drawBar(dc, "步数", dc.getHeight() / 4, stepsPercent, Graphics.COLOR_GREEN);
我正在编辑这两行中的字符串“Steps”,然后点击“Run”。
我希望看到模拟器中的标签“Steps”更改为我输入的任何新字符串,但标签看起来没有变化。我尝试重新启动模拟器以及杀死模拟器中的应用程序。我还尝试了几次清理和重建项目,没有任何变化。我没有看到任何编译器错误,我也不期待任何错误。获得有效的代码更改以编译和部署需要什么?