private boolean interruptCalibration() {
        duration += nanoTime() - startTime;
        getEventHandler().handleEvent(new CalibrationMessage(epoch, sse, TimeUnit.MILLISECONDS.convert(duration, TimeUnit.NANOSECONDS)));
        if (isWalking()) {
            try {
                sleep(5l);
                startTime = nanoTime();
            } catch (InterruptedException ex) {
                getLogger(NetworkController.class.getName()).log(Level.SEVERE, null, ex);
                duration = 0l;
                stopped = true;
                return true;
            }
        }
        if (isStepping() || isPaused()) {
            paused = true;
            return true;
        }
        return false;
    }