Counter class issues

I am using the counter class as a makeshift encoder. During testing I had the code print out what value the getPeriod function was getting. The print statement however, was only outputting the correct number when the sensor gave a pulse. While there was no pulse it gave me zeroes. Does anyone have any clue as to why this may be happening?

getPeriod() would be working as intended. If the encoder is not getting a pulse it means the velocity is zero and thus getPeriod is zero.

Here’s the actual source code for the method.

public double getPeriod() {
        double period;
        if (m_counter.readTimerOutput_Stalled()) {
            return Double.POSITIVE_INFINITY;
        } else {
            period = (double) m_counter.readTimerOutput_Period() / (double) m_counter.readTimerOutput_Count();
        return period / 1.0e6;

The counter class will run the getStopped() method if the pulse did not change within x period and set the time to stalled.

public boolean getStopped() {
        return m_counter.readTimerOutput_Stalled();