code: func (h *LIDARLiteDriver) Distance() (distance int, err error) {
  	if _, err = h.connection.Write([]byte{0x00, 0x04}); err != nil {
  		return
  	}
  	time.Sleep(20 * time.Millisecond)
  
  	if _, err = h.connection.Write([]byte{0x0F}); err != nil {
  		return
  	}
  
  	upper := []byte{0}
  	bytesRead, err := h.connection.Read(upper)
  	if err != nil {
  		return
  	}
  
  	if bytesRead != 1 {
  		err = ErrNotEnoughBytes
  		return
  	}
  
  	if _, err = h.connection.Write([]byte{0x10}); err != nil {
  		return
  	}
  
  	lower := []byte{0}
  	bytesRead, err = h.connection.Read(lower)
  	if err != nil {
  		return
  	}
  
  	if bytesRead != 1 {
  		err = ErrNotEnoughBytes
  		return
  	}
  
  	distance = ((int(upper[0]) & 0xff) << 8) | (int(lower[0]) & 0xff)
  
  	return
  }
docs: // Distance returns the current distance in cm