public void SendPacket(int bank, CommandPacket commandPacket) { IOutputPort dataPort; switch (bank) { case 0: dataPort = _portLayout.BankOneDataPort; break; case 1: dataPort = _portLayout.BankTwoDataPort; break; default: throw new Exception("invalid bank"); } ulong command = commandPacket.GetCommand(); ShiftOut(dataPort, _portLayout.ClockPort, BitOrder.MSBFirst, ((byte)(command >> 24))); ShiftOut(dataPort, _portLayout.ClockPort, BitOrder.MSBFirst, ((byte)(command >> 16))); ShiftOut(dataPort, _portLayout.ClockPort, BitOrder.MSBFirst, ((byte)(command >> 8))); ShiftOut(dataPort, _portLayout.ClockPort, BitOrder.MSBFirst, ((byte)command)); _logger.Log("Shifted command packet:"); _logger.Log(command.ToString()); //maybe? }
public void RedValuePlacedCorrectly() { var packet = new CommandPacket {RedCommand = 1023}; var command = packet.GetCommand(); Assert.AreEqual("11111111110000000000", Convert.ToString(command, 2)); }