Nooploop TOF sensor

Buongiorno a tutti,
sto cercando di leggere l'output seriale di questo sensore di cui il datasheet è quasi solo in cinese..

con un veloce google translate mi sembra di aver capito che lui di default esce in seriale TTL

con questo codice:

#include <M5Stack.h>


void setup() {

  M5.begin();

  Serial.begin(115200);

  // Serial2.begin(unsigned long baud, uint32_t config, int8_t rxPin, int8_t txPin, bool invert)
  Serial2.begin(921600, SERIAL_8N1, 22, 21);
  pinMode(5, OUTPUT);
  digitalWrite(5, 1);
}

void loop() {

 if(Serial2.available()) {
   int data = Serial2.read();
   Serial.write(data);

 }

}

nel monitor seriale ho questo output:

⸮⸮H⸮⸮⸮W⸮⸮Hv⸮W⸮)Iba⸮2W⸮jIe⸮*W⸮⸮Ia⸮⸮W⸮⸮I⸮⸮'W⸮.J9 ⸮W⸮oJ⸮W⸮⸮J⸮⸮⸮W⸮⸮J⸮⸮W⸮2K⸮a⸮⸮W⸮sK⸮9W⸮⸮L5
⸮⸮W⸮⸮Lg⸮⸮W⸮#M⸮⸮⸮W⸮dM⸮⸮⸮W⸮⸮M<⸮⸮W⸮⸮M⸮⸮QW⸮(N⸮⸮W⸮iNa⸮rW⸮⸮N!a⸮wW⸮⸮Na⸮⸮W⸮-Os⸮MW⸮nOX⸮qW⸮⸮P⸮⸮+W⸮⸮P⸮⸮|W⸮Q⸮a⸮jW⸮_QQ⸮]W⸮⸮Q⸮⸮⸮W⸮⸮Q⸮⸮bW⸮#RN⸮W⸮dR⸮+W⸮⸮R⸮⸮CW⸮⸮R⸮⸮*W⸮(SLa⸮%W⸮iSc⸮⸮W⸮⸮TM⸮⸮W⸮⸮T⸮⸮W⸮Uj⸮<W⸮ZU⸮⸮W⸮⸮U[⸮⸮W⸮⸮Ua⸮⸮W⸮V⸮⸮⸮W⸮_V⸮⸮⸮W⸮⸮V⸮⸮
W⸮⸮VI⸮⸮W⸮"WC⸮eW⸮cW:⸮OW⸮⸮XX⸮⸮W⸮⸮X6a⸮⸮W⸮YE⸮
W⸮TY⸮⸮⸮W⸮⸮Y⸮MW⸮⸮Y⸮⸮3W⸮Z^⸮,W⸮YZ-a⸮>W⸮⸮Z⸮⸮"W⸮⸮Z⸮⸮W⸮[⸮a⸮⸮W⸮^[⸮a⸮⸮W⸮⸮\a⸮KW⸮⸮\⸮⸮W⸮]⸮a⸮`W⸮O]⸮⸮⸮W⸮⸮]9⸮⸮W⸮⸮]⸮⸮SW⸮^
⸮⸮W⸮T^⸮⸮⸮W⸮⸮^⸮lW⸮⸮^)⸮⸮W⸮_⸮a⸮[W⸮Y_q⸮⸮W⸮⸮`⸮^W⸮⸮`⸮
⸮lW⸮ a⸮⸮W⸮Ja⸮
W⸮⸮a3⸮|W⸮⸮a|⸮W⸮b⸮⸮⸮W⸮Ob⸮⸮⸮W⸮⸮b⸮⸮⸮W⸮⸮bi
⸮⸮W⸮c⸮
⸮⸮W⸮Tc⸮⸮⸮W⸮⸮d⸮_W⸮⸮dz⸮⸮W⸮eo⸮;W⸮EeB⸮GW⸮⸮e⸮⸮<W⸮⸮e⸮⸮⸮W⸮ f⸮⸮⸮W⸮Jf⸮&W⸮⸮f⸮^W⸮⸮f⸮⸮rW⸮
g⸮⸮⸮W⸮Ngza⸮⸮W⸮|h⸮EW⸮⸮h⸮⸮W⸮⸮hp⸮2W⸮?i⸮⸮⸮W⸮⸮i⸮⸮W⸮⸮i⸮⸮yW⸮j⸮⸮⸮W⸮Dj⸮a⸮⸮W⸮⸮j⸮RW⸮⸮j⸮⸮8W⸮ak⸮⸮W⸮Hk⸮a⸮⸮W⸮vl>⸮|W⸮⸮l⸮⸮eW⸮⸮l?⸮⸮W⸮9m⸮⸮⸮W⸮zm⸮⸮⸮W⸮⸮m⸮ ⸮2W⸮⸮m⸮⸮⸮W⸮>n⸮⸮⸮W⸮n5⸮|W⸮⸮np⸮W⸮or⸮?W⸮Bo}⸮⸮W⸮pp⸮⸮⸮W⸮⸮p⸮⸮W⸮⸮p⸮⸮⸮W⸮3q⸮⸮⸮W⸮tq⸮⸮⸮W⸮⸮qy⸮⸮W⸮⸮qSa⸮W⸮8r'⸮-W⸮yr⸮⸮;W⸮⸮r⸮a⸮*W⸮⸮r⸮⸮⸮W⸮=s⸮⸮aW⸮kt⸮YW⸮⸮t⸮⸮uW⸮⸮ta⸮⸮W⸮`u:a⸮mW⸮⸮u⸮⸮W⸮⸮u⸮⸮xW⸮#v⸮a⸮xW⸮dvN⸮⸮W⸮⸮v⸮⸮W⸮⸮v⸮ ⸮cW⸮(w5⸮8W⸮Ux⸮⸮⸮W⸮⸮xR⸮⸮W⸮⸮x"⸮⸮W⸮y⸮W⸮Yy
⸮8W⸮⸮y⸮⸮W⸮⸮y[⸮W⸮z⸮⸮⸮W⸮]z"
⸮]W⸮⸮z⸮⸮W⸮⸮zX⸮W⸮!{⸮⸮{W⸮O|⸮⸮#W⸮⸮|w⸮⸮W⸮⸮|:a⸮⸮W⸮}^⸮KW⸮S}%⸮QW⸮⸮}⸮⸮9W⸮⸮}6⸮⸮W⸮~⸮a⸮⸮W⸮X~H⸮yW⸮⸮~⸮
⸮7W⸮⸮~e⸮⸮W⸮⸮ ⸮⸮W⸮J⸮ra⸮⸮W⸮⸮⸮⸮⸮KW⸮̀⸮⸮⸮W⸮
⸮p⸮aW⸮N⸮⸮⸮⸮W⸮⸮⸮u⸮⸮W⸮сla⸮W⸮⸮⸮⸮W⸮S⸮k⸮⸮W⸮Ƃ#⸮⸮W⸮a⸮⸮⸮⸮W⸮5⸮Sa⸮jW⸮v⸮r⸮⸮W⸮⸮⸮I⸮⸮W⸮⸮⸮l⸮DW⸮9⸮
a⸮&W⸮⸮⸮⸮⸮'W⸮⸮W⸮#W⸮-⸮⸮a⸮⸮W⸮n⸮⸮aW⸮⸮⸮⸮⸮\W⸮⸮H⸮W⸮⸮⸮

come faccio a rendere comprensibile l'output?

grazie

con questo nuovo codice l'output è molto piu ordinato...

void setup() {

  M5.begin();

  Serial.begin(115200);

  // Serial2.begin(unsigned long baud, uint32_t config, int8_t rxPin, int8_t txPin, bool invert)
  Serial2.begin(921600, SERIAL_8N1, 22, 21);
  pinMode(5, OUTPUT);
  digitalWrite(5, 1);
}

void loop() {

  for (int i = 0; i < 16; i++) {
    while (!Serial2.available()); // wait for a character
    int incomingByte = Serial2.read();
    Serial.print(incomingByte, HEX);
    Serial.print(' ');
  }
  Serial.println();


}

output:

57 0 FF 0 C4 97 27 0 67 7 0 2 1 0 FF 48 
57 0 FF 0 6 98 27 0 C9 7 0 2 1 0 FF ED 
57 0 FF 0 7A 98 27 0 FB 7 0 0 2 0 FF 92 
57 0 FF 0 BB 98 27 0 37 8 0 2 0 0 FF 10 
57 0 FF 0 FC 98 27 0 C9 7 0 2 0 0 FF E2 
57 0 FF 0 6F 99 27 0 B4 7 0 2 0 0 FF 41 
57 0 FF 0 E2 99 27 0 EE 7 0 1 1 0 FF EE 
57 0 FF 0 24 9A 27 0 FB 7 0 2 1 0 FF 3F 
57 0 FF 0 51 9B 27 0 B0 6 0 2 0 0 FF 20

ora cercherò di estrapolare il dato sulla distanza che mi serve.....