using System; using System.Collections.Generic; using System.Text; namespace DirectUSB.VirtualPackets { public class PingSetModePacket : VirtualPacket { #region Declarations public enum CalculatorMode : ulong { Startup = 0x000100010000, Basic = 0x000200010000, Normal = 0x000300010000 }; #endregion #region Constructors / Teardown public PingSetModePacket(CalculatorMode mode, uint value) : base(0x0001) { var data = new byte[10]; data[0] = (byte)(((ulong)mode & 0xFF0000000000) >> 40); data[1] = (byte)(((ulong)mode & 0x00FF00000000) >> 32); data[2] = (byte)(((ulong)mode & 0x0000FF000000) >> 24); data[3] = (byte)(((ulong)mode & 0x000000FF0000) >> 16); data[4] = (byte)(((ulong)mode & 0x00000000FF00) >> 8); data[5] = (byte)(((ulong)mode & 0x0000000000FF) >> 0); data[6] = (byte)((value & 0xFF000000) >> 24); data[7] = (byte)((value & 0x00FF0000) >> 16); data[8] = (byte)((value & 0x0000FF00) >> 8); data[9] = (byte)((value & 0x000000FF) >> 0); Data = data; } #endregion } }