Esempio n. 1
0
        public static byte[] ConstructRawCommand(this Enums.RAW_COMMAND_ID CommandID, byte[] payload = null)
        {
            byte[] rt = null;
            switch (CommandID)
            {
            case Enums.RAW_COMMAND_ID.RAW_COMMAND_GET_PROTOCOL_VERSION:
                rt = new byte[3] {
                    0x00, Enums.RAW_COMMAND_ID.RAW_COMMAND_GET_PROTOCOL_VERSION.ToByte(), 0x00
                };
                break;

            case Enums.RAW_COMMAND_ID.RAW_COMMAND_ENABLE_KEY_EVENT_REPORT:
                rt = new byte[3] {
                    0x00, Enums.RAW_COMMAND_ID.RAW_COMMAND_ENABLE_KEY_EVENT_REPORT.ToByte(), 0x00
                };
                break;

            case Enums.RAW_COMMAND_ID.RAW_COMMAND_DISABLE_KEY_EVENT_REPORT:
                rt = new byte[3] {
                    0x00, Enums.RAW_COMMAND_ID.RAW_COMMAND_DISABLE_KEY_EVENT_REPORT.ToByte(), 0x00
                };
                break;

            case Enums.RAW_COMMAND_ID.RAW_COMMAND_CHANGE_COLOR:
                if (payload.Length < 3)
                {
                    rt = null;
                }
                else
                {
                    rt = new byte[6] {
                        0x00, Enums.RAW_COMMAND_ID.RAW_COMMAND_CHANGE_COLOR.ToByte(), 0x03, payload[0], payload[1], payload[2]
                    };
                }
                break;

            case Enums.RAW_COMMAND_ID.RAW_COMMAND_HEARTBEAT_PING:
                rt = new byte[4] {
                    0x00, Enums.RAW_COMMAND_ID.RAW_COMMAND_HEARTBEAT_PING.ToByte(), 0x01, Program.HeartBeatCount
                };
                break;

            default:
                break;
            }
            return(rt);
        }
Esempio n. 2
0
 public static byte ToByte(this Enums.RAW_COMMAND_ID id)
 {
     return((byte)id);
 }