Pass-Thru CAN插件通过SAE J2534 Pass-Thru API访问CAN适配器。SAE J2534是用于从x86 Windows PC访问车载总线的标准。虽然API仅为32位Windows指定,但一些供应商也提供64位Windows和其他操作系统(如Linux)的实现。
PassThruCAN usage
要使用PassThruCAN,必须安装CAN适配器的相应供应商驱动程序。供应商还必须通过共享库的方式提供J2534 API的实现。目前,仅支持4.04版本的Pass-Thru API。
当使用x64版本的Qt时,只有当CAN设备供应商也提供64位版本的J2534 Pass-Thru接口库时,这个插件才能工作。如果供应商只提供32位的J2534接口,则需要32位的Qt构建来使用它。
为了自动发现设备,供应商软件还必须在Windows注册表中列出和描述可用的适配器。在Windows以外的系统上,目前不支持自动发现。
Creating CAN Bus Devices
首先,有必要检查QCanBus是否提供所需的插件:
if (QCanBus::instance()->plugins().contains(QStringLiteral("passthrucan"))) {
// plugin available
}
其中passthrucan是插件名。
在Windows上,应该使用自动设备发现来列出可通过Pass-Thru API访问的可用CAN适配器:
const auto adap