private void SetMotorStepsForVirtualDistance(float virtualDistance)
    {
        short motorSteps = (short)TableLookup.lookup(virtualDistance, CalibrationData.distances, CalibrationData.steps);

        if (motorSteps < 0)
        {
            motorSteps = 0;
        }
        logger.DebugLog("Stepping motor to " + motorSteps + " for virtual distance " + virtualDistance + " meters");
        motorController.SetMotorSteps(motorSteps, () => {
            lastDistanceMeters = virtualDistance;
        });
    }