Muchos reportes MAX30100

Estimados tengo un oxímetro 30100, en estos momentos estoy usando este código:

Les adjunto el código ya que supera los carácter permitidos, disculpen.

Me está entregando valores correctos, me tome el pulso y es concordante y la saturación también 95%, yo hago apnea (buceo sin estanque) por eso estoy haciendo este proyecto, hice un trabajo hipoxico y bajo perfectamente a 90%, luego hiperventilé y llego a los 99%.

El problema está que entre cada detección me “printea” muchas lineas, y quisera que fuese solo 1.
Alguna sugerencia?
Entre pulso la cantidad de lineas son variables a veces me entrega 5 luego 8, 7, etc… pero siempre en un rango de 4 a 9 por pulso

Aclaraciones
uso print, para para mostrar en pantalla de manera lineal y solo hacer salto de linea al final, ya que con python recojo los datos y en pyserial es necesario ese salto de línea y esa coma para hacer split y separar los valores.

Quedo atento.
Gracias

#include "MAX30100.h"
 
MAX30100* pulseOxymeter;
 
void setup() {
  Wire.begin();
  Serial.begin(115200);
  Serial.println("Pulse oxymeter test!");
 
  pulseOxymeter = new MAX30100();
  pinMode(2, OUTPUT);
 
}
void loop() {
  //You have to call update with frequency at least 37Hz. But the closer you call it to 100Hz the better, the filter will work.
  pulseoxymeter_t result = pulseOxymeter->update();
  
  if( result.pulseDetected == true ){
  Serial.print( result.heartBPM/100 );
  Serial.print( "__" );
  Serial.println( result.SaO2 );
  result.pulseDetected = false;
  }
}

MAX30100.cpp (12.4 KB)

MAX30100.h (7.82 KB)

max30100.ino (580 Bytes)

Pero el código dice que cada vez que detecte lo muestre,no hay forma de alterar eso.

Que criterio quieres agregar para que no lo haga?

Tampoco te serviría que mostrara solo los valores de Saturación diferentes del anterior.

digamos 88 89 90 pero nada repetido

Lo que sucede es que me imprime en serial como +-4 lineas se detiene, vuelve a latir el corazón e imprime +-4

Según las librerías si debug esta en true entonces imprime información para justamente ver que esta pasando pero pareciera que no es el caso.
Puedo poner una captura de lo que muestra en la pantalla?