code: func (m *SimState) Decode(buf []byte) {
  	data := bytes.NewBuffer(buf)
  	binary.Read(data, binary.LittleEndian, &m.Q1)
  	binary.Read(data, binary.LittleEndian, &m.Q2)
  	binary.Read(data, binary.LittleEndian, &m.Q3)
  	binary.Read(data, binary.LittleEndian, &m.Q4)
  	binary.Read(data, binary.LittleEndian, &m.ROLL)
  	binary.Read(data, binary.LittleEndian, &m.PITCH)
  	binary.Read(data, binary.LittleEndian, &m.YAW)
  	binary.Read(data, binary.LittleEndian, &m.XACC)
  	binary.Read(data, binary.LittleEndian, &m.YACC)
  	binary.Read(data, binary.LittleEndian, &m.ZACC)
  	binary.Read(data, binary.LittleEndian, &m.XGYRO)
  	binary.Read(data, binary.LittleEndian, &m.YGYRO)
  	binary.Read(data, binary.LittleEndian, &m.ZGYRO)
  	binary.Read(data, binary.LittleEndian, &m.LAT)
  	binary.Read(data, binary.LittleEndian, &m.LON)
  	binary.Read(data, binary.LittleEndian, &m.ALT)
  	binary.Read(data, binary.LittleEndian, &m.STD_DEV_HORZ)
  	binary.Read(data, binary.LittleEndian, &m.STD_DEV_VERT)
  	binary.Read(data, binary.LittleEndian, &m.VN)
  	binary.Read(data, binary.LittleEndian, &m.VE)
  	binary.Read(data, binary.LittleEndian, &m.VD)
  }
docs: // Decode accepts a packed byte array and populates the fields of the SimState