什么是initDigitalPort的wpilibj 2017替换方法?

时间:2017-01-12 02:47:20

标签: java robotics

我对2016款控制系统的一些遗留代码产生了一些问题。我试图用this library控制adis16448电路板 它在2016年的wpilibj中编译得很好,但在2017版本中没有编译。现在,我想快速启动并运行,而不必等待开发人员更新,实际上只有两个错误。 相关代码:

private static class InterruptSource extends DigitalSource {
    public InterruptSource(int channel) {
      initDigitalPort(channel, true);
    }
}

首先,InterruptSource类有一些来自父类的未实现方法。我刚刚为这些添加了空定义,这个错误显然已经消失了。接下来是没有从父类定义方法initDigitalPort。这是我被困住的部分。

在检查API Javadoc,github上的源代码以及此代码的上下文后,我仍然无法弄清楚这是做什么或如何解决它。我猜这个已经在2017年的wpilibj库中被折旧了。

我的问题是,initDigitalPort的替换方法是什么?

请原谅我,我忽视了一些简单的事情,我们是一个新的FRC团队,所以我们有0次使用wpilibj的经验。

此外,如果我理解DigitalSource类实际上做了什么,它可能会有所帮助,它似乎涉及编码器,但由于这个板没有,所以它不对。有人可以向我解释一下吗?

谢谢,帮助很大![/ p>

2 个答案:

答案 0 :(得分:0)

有问题的图书馆现已更新为this commit。新类称为DigitalInput,并且在此类的构造函数中调用initDigitalPort方法,该方法为端口提供参数。

<强>实施例

public InterruptSource(int channel) {
       initDigitalPort(channel, true);
}

可以用

取代
DigitalInput m_interrupt = new DigitalInput(10)

并将提供几乎相同的功能,包括类结构和方法。

答案 1 :(得分:-1)

  private static class InterruptSource extends DigitalInput {
        public InterruptSource(int channel) {
            super(channel);
        }
      }