private short ReadInt16(RegisterAG register) { Span <byte> val = stackalloc byte[2]; Read(register, val); return(BinaryPrimitives.ReadInt16LittleEndian(val)); }
private void WriteByte(RegisterAG register, byte data) { Span <byte> buff = stackalloc byte[2] { (byte)register, data }; _i2c.Write(buff); }
private Vector3 ReadVector3(RegisterAG register) { Span <byte> vec = stackalloc byte[6]; Read(register, vec); short x = BinaryPrimitives.ReadInt16LittleEndian(vec.Slice(0, 2)); short y = BinaryPrimitives.ReadInt16LittleEndian(vec.Slice(2, 2)); short z = BinaryPrimitives.ReadInt16LittleEndian(vec.Slice(4, 2)); return(new Vector3(x, y, z)); }
private void Read(RegisterAG register, Span <byte> buffer) { _i2c.WriteByte((byte)((byte)register | ReadMask)); _i2c.Read(buffer); }