calculate Step Rate
Calcula la tasa de pasos por minuto basada en el conteo actual y anterior.
Este método acumula la diferencia de pasos y el tiempo transcurrido entre llamadas. La tasa de pasos (pasos por minuto) se calcula solo cuando se cumplen dos condiciones:
Ha habido un incremento en el contador de pasos (
accumulatedSteps > 0).Ha transcurrido un intervalo de tiempo mínimo (MIN_STEP_RATE_INTERVAL_MS) desde la última vez que se calculó la tasa o desde la inicialización (
accumulatedTimeMs >= MIN_STEP_RATE_INTERVAL_MS). Esto ayuda a evitar cálculos erráticos basados en intervalos muy cortos y a proporcionar una estimación más estable de la cadencia.
Comportamiento en casos especiales:
Primera llamada o después de un reseteo: Si
lastStepTimestampes 0 (lo que indica la primera llamada o un reseteo manual a través de resetStepRate), se inicializanlastStepCountylastStepTimestampcon los valores actuales y se devuelvenull, ya que no hay datos previos para calcular una tasa.Reinicio del sensor: Si
currentStepCountes menor quelastStepCount(lo que puede indicar un reinicio del sensor de pasos del dispositivo), se llama a resetStepRate para limpiar los valores acumulados y de referencia, se actualizanlastStepCountylastStepTimestamp, y se devuelvenull.Sin incremento de pasos o intervalo corto: Si no hay nuevos pasos acumulados o el tiempo acumulado es menor que MIN_STEP_RATE_INTERVAL_MS, se actualizan
lastStepCountylastStepTimestamppara la siguiente llamada, pero se devuelvenullya que no se calcula una nueva tasa. Los contadoresaccumulatedStepsyaccumulatedTimeMscontinúan acumulando.
Cuando se calcula una tasa válida: