我正在尝试在Windows 7上运行node-hid(https://github.com/node-hid/node-hid)模块.我可以打开一个设备并写入它,但没有数据到达.
我已经验证设备正在发送数据.我已经挖掘了节点隐藏代码(HID.cc)并尝试了几个方法来使其工作:
在Windows 8上,通过hid_read_timeout调用更改,这一切都正常.我不确定这两个系统之间可能有什么变化,但我也计划在Windows XP上使用它,所以我不能称之为好.
我正在努力想出更多有关如何调试此问题的想法.有没有人成功地做过这件事?有没有更好的选择将Node.js与HID设备一起使用?
我目前正在我的打字稿项目中实现一些协议缓冲区转换。我已将原型文件加载到 ProtoBuilder 中(使用protobufjs.d.ts中的打字稿定义文件),并且从构建器返回了 ProtoBuf。
如果我在名为 pb 的变量中拥有 ProtoBuf 对象后设置断点,我可以在控制台中调用 pb.decode(buffer) 并且它可以工作。然而,TypeScript 不喜欢这种语法。
经过多次探索和刺激,包括尝试以下方法:
pb["decode"](buffer)
Run Code Online (Sandbox Code Playgroud)
(这会产生错误 TS2349 无法调用其类型缺少调用签名的表达式。)
我仍然无法像代码一样获得 TypeScript 编译器。
如何从 TypeScript ProtoBuf 对象获取隐藏在 MetaMessage 对象中的解码函数?
如果重要的话,我正在 Visual Studio 2015 中执行此操作。
编辑:我可以使用以下方法解决问题:
var decoder: any = pb["decode"];
decoder(buffer);
Run Code Online (Sandbox Code Playgroud)
但如果存在的话,我更喜欢一种更优雅的解决方案。