code: func (n *Driver) parse(buf *bytes.Buffer) {
  	for buf.Len() > 2 {
  		b1, _ := buf.ReadByte()
  		b2, _ := buf.ReadByte()
  		if b1 == BTSync && b2 == BTSync {
  			length, _ := buf.ReadByte()
  			payload := make([]byte, length)
  			buf.Read(payload)
  			//checksum, _ := buf.ReadByte()
  			buf.Next(1)
  			n.parsePacket(bytes.NewBuffer(payload))
  		}
  	}
  }
docs: // parse converts bytes buffer into packets until no more data is present