问题标签 [redpark]

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.

0 投票
0 回答
314 浏览

ios - Redpark RS232 在写入/读取时未返回所需数据

我已经被这个问题困扰了好几天了(我在美国的一家公司远程工作,无法进行现场调试)。

我正在编写的应用程序使用 Redpark RS232 串行电缆,它使用 Q Codes与 HAAS CNC 机器通信。几个月前我写了一个 Node.js 应用程序,它使用了一个单独的 RS232 设备(MOXA RS232 Wi-fi 设备),它工作得几乎完美,但不幸的是,现场的 Wi-Fi 并不总是稳定的,所以 Node 服务器已经停止使用,取而代之的是当网络连接可用时,可以将机器状态保存到云的 iOS 应用程序。

首先,HAAS 机器的配置如下(这些设置用于旧的 RS232 设备 + 服务器应用程序):

RS232 端口的 HAAS 配置

然后我将这个配置映射到我的应用程序中:

每当cableConnected触发回调时都会调用此方法(现在我正在对值进行硬编码,但这些最终将是可配置的)。

当电缆连接并配置串行端口时,我向串行电缆发送了一条消息,其中包含Q100\r\n我使用\r\nHAAS 配置中所述的。我唯一担心的是writeString(redparks write 方法)附加了一个空终止字节,我认为空终止字节可能会导致消息在 HAAS 上被误解,所以我设置了两个写入一个之后其他:

通常我希望 HAAS 回复类似的内容(这是我编写的旧应用程序显示响应的方式):

旧应用响应

相反,我得到如下回应:

来自 HAAS 的返回消息

在查阅HAAS Q 代码文档时,这让我相信我可能会从机器得到响应,但它只是不理解该消息。

如果控件忙,则输出 Status, Busy。如果请求未被识别,则控件输出Unknown和新提示>

从上面的屏幕截图中我们可以看到一个>附加到了终端,但我没有看到一个未知字符串,这让我相信这不是一个格式错误的请求。

我读了回复:

我也尝试过使用getStringFromBytesAvailable,但这会产生相同的输出,我上面的读取方法直接从rxBuffer.

有没有人知道我可能做错了什么?我的串口配置与第一张图片中的配置不匹配,还是我的字符串写入不正确/读取不正确。我已经坚持了好几天了,感觉我无处可去。

0 投票
0 回答
26 浏览

ios - 关键字“协议”作为函数参数

我对函数参数有疑问。我使用redpark串行电缆,当它连接调用的委托方法时, 在此处输入图像描述 但在称为“协议”的函数参数中。
在此处输入图像描述

是否有可能获得此参数的值?

0 投票
0 回答
47 浏览

xamarin.ios - 应用程序在启动时关闭 - 适用于 Xamarin iOS 的 Redpark SDK 绑定

我已将本机框架Redpark Serial SDK 1.0.5转换为绑定库(名为:RedparkBinding)并在我的一个项目中使用它。

我仔细按照演练中的每个步骤:绑定 iOS Objective-C 库 RedparkBinding 项目的构建结果是成功的。

但是,我面临一个奇怪的问题。应用程序在启动时崩溃(原因:NullReferenceException - 在 sdk 内部有一个始终为空的单例类)。

在此处输入图像描述

更多细节:

  • 这发生在 DEBUG 和 RELEASE 模式中。
  • 支持的架构是 ARM64
  • 链接器行为:仅链接框架 SDK
  • 本机 SDK 示例完美运行。

我知道库本身按预期工作,因为它也用于原生 iOS 应用程序。我只是想弄清楚我的 Binding 项目配置中缺少什么。

这是与我的 .a 库关联的源 .h 文件:

这是用Sharpie创建的C#关联接口

这是 .a 文件的 LinkWith 选项 [assembly: LinkWith("libRedparkBinding.a”, SmartLink = true, ForceLoad = true)]

和 Makefile 文件:

此外,我在此处附加了所有必需的文件(本机库框架、本机库示例代码、绑定代码、SDK 用户指南)。

我感谢社区的任何建议。