I bought myself a mini lidar and the code seems to work but I don’t understnad the following code:

unsigned int t1 = Serial.read(); //Byte-3

unsigned int t2 = Serial.read(); //Byte-4

t2 <<= 8;

t2 += t1;

Lidar_afstand = t2;

I bought myself a mini lidar and the code seems to work but I don’t understnad the following code:

unsigned int t1 = Serial.read(); //Byte-3

unsigned int t2 = Serial.read(); //Byte-4

t2 <<= 8;

t2 += t1;

Lidar_afstand = t2;

You're forming a sixteen bit value from two eight bit values.

```
unsigned int t1 = Serial.read(); //Byte-3
unsigned int t2 = Serial.read(); //Byte-4
t2 *= 256;
t2 += t1;
Lidar_afstand = t2;
```

yes, not a very common way of coding it, more common `Lidar_afstand = (t2<<8) | t1;`

I bought myself a mini lidar and the code seems to work but I don’t understand the following code:

unsigned int t1 = Serial.read(); //Byte-3 contains the ‘lower byte’ of the distance in HEX

unsigned int t2 = Serial.read(); //Byte-4 contains the ‘higher byte’ of the distance in HEX

t2 <<= 8; // this shifts the byte to the left 8 positions…?

t2 += t1; // adds the higher byte to the shifted lower byte…?

Lidar_distance = t2;

according to the specs now t2 contains a hexadecimal number (in mm)

I have no idea why not decimal, but anyway

I want a decimal value

Can I convert this t2 into a decimal number? and how?

I can’t find a simple 'HEX to DEC function anywhere on the web

(No idea why those makers of the lidar give a decent example or library… grrrrrr)

That's just to misguide you :) they mean they rebuilt the full 2 byte integer in t2

just print t2 and you'll see it in decimal

```
Serial.print(t2); // in decimal or Serial.print(t2, DEC); but DEC not needed as this is the default
Serial.print(t2, HEX); // in hexadecimal
Serial.print(t2, BIN); // in base 2 (binary)
```

T1 and T2 are 8-bit binary numbers. Once combined into Lidar_distance you have a 16-bit binary number. You can then display the number in decimal:

```
Serial.print(Lidar_distance);
```

(No idea why those makers of the lidar give a decent example or library... grrrrrr)

No idea why you started a new thread with the same question when you already had an answer.

Grrrr.

Threads merged - do not cross-post.

according to the specs now t2 contains a hexadecimal number (in mm)

It also contains a binary number, also in mm

Amazing

AWOL: It also contains a binary number, also in mm

Amazing

:)