public void GetI2CReply_BytesToRead_Parameter_Is0() { var connection = new MockSerialConnection(); var session = CreateFirmataSession(connection); connection.EnqueueRequest(0xF0, 0x76, 0x01, 0x08, 0x00, 0x00, 0xF7); connection.EnqueueResponse(0xF0, 0x77, 0x01, 0x00, 0x00, 0x00, 0xF7); I2CReply reply = session.GetI2CReply(1, 0); Assert.AreEqual(1, reply.Address); Assert.AreEqual(0, reply.Register); Assert.AreEqual(0, reply.Data.Length); }
public void GetI2CReply_WithSlaveRegister() { var connection = new MockSerialConnection(); var session = CreateFirmataSession(connection); connection.EnqueueRequest(0xF0, 0x76, 0x01, 0x08, 0x02, 0x00, 0x01, 0x00, 0xF7); connection.EnqueueResponse(0xF0, 0x77, 0x01, 0x00, 0x02, 0x00, 0x04, 0x00, 0xF7); I2CReply reply = session.GetI2CReply(1, 2, 1); Assert.AreEqual(1, reply.Address); Assert.AreEqual(2, reply.Register); Assert.AreEqual(1, reply.Data.Length); Assert.AreEqual(4, reply.Data[0]); }
public void GetI2CReplyAsync_WithSlaveRegister() { var connection = new MockSerialConnection(); var session = CreateFirmataSession(connection); connection.EnqueueRequest(0xF0, 0x76, 0x7F, 0x08, 0x04, 0x02, 0x02, 0x00, 0xF7); connection.EnqueueResponse(0xF0, 0x77, 0x7F, 0x00, 0x04, 0x02, 0x7F, 0x01, 0x7E, 0x01, 0xF7); I2CReply reply = session.GetI2CReplyAsync(127, 260, 2).Result; Assert.AreEqual(127, reply.Address); Assert.AreEqual(260, reply.Register); Assert.AreEqual(2, reply.Data.Length); Assert.AreEqual(255, reply.Data[0]); Assert.AreEqual(254, reply.Data[1]); }
public void GetI2CReply() { var connection = new MockSerialConnection(); var session = CreateFirmataSession(connection); connection.EnqueueRequest(0xF0, 0x76, 0x01, 0x08, 0x03, 0x00, 0xF7); connection.EnqueueResponse(0xF0, 0x77, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x07, 0x00, 0xF7); I2CReply reply = session.GetI2CReply(1, 3); Assert.AreEqual(1, reply.Address); Assert.AreEqual(0, reply.Register); Assert.AreEqual(3, reply.Data.Length); Assert.AreEqual(5, reply.Data[0]); Assert.AreEqual(6, reply.Data[1]); Assert.AreEqual(7, reply.Data[2]); }
public void I2CReplyReceived() { var connection = new MockSerialConnection(); var session = CreateFirmataSession(connection); int eventHits = 0; session.I2CReplyReceived += (o, e) => { Assert.AreEqual(1, e.Value.Address); Assert.AreEqual(0, e.Value.Register); Assert.AreEqual(3, e.Value.Data.Length); Assert.AreEqual(5, e.Value.Data[0]); Assert.AreEqual(6, e.Value.Data[1]); Assert.AreEqual(7, e.Value.Data[2]); eventHits++; }; connection.EnqueueRequest(0xF0, 0x76, 0x01, 0x08, 0x03, 0x00, 0xF7); connection.EnqueueResponse(0xF0, 0x77, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x07, 0x00, 0xF7); I2CReply reply = session.GetI2CReply(1, 3); Assert.AreEqual(1, eventHits); }