public QuPad(TcpClient client, Mixer mixer)
        {
            qu16 = mixer;
            qu16.OnQueueDataForQuPad += qu16_OnQueueDataForQuPad;
            qu16.OnTriggerQuPadSend += qu16_OnTriggerQuPadSend;

            quPad = new ConnectedDevice (client);
            quPad.OnDataReceived += qupad_OnDataReceived;

            parser.OnSingleCommand += parser_OnSingleCommand;
        }
 void initConnection(string strIpAddress, int port)
 {
     qu16 = new ConnectedDevice (strIpAddress, port);
     qu16.QueueForSend (new byte[] {
         0xF0, 0x00, 0x00, 0x1A, 0x50, 0x11, 0x01, 0x00, 0x7F, 0x10, 0x01, 0xF7 // request all current mixer settings on startup
     });
     qu16.OnException += (sender, ex) => {
         if (OnException != null)
             OnException(sender, ex);
     };
     qu16.OnDataReceived += (sender, data) => {
         qu16Parser.Parse (data);
         if (OnTriggerQuPadSend != null)
             OnTriggerQuPadSend (this, EventArgs.Empty);
     };
     qu16.OnConnected += (sender, e) => {
         qu16.Start ();
         qu16.Send (); // request initial settings immediately after starting
         if (OnConnected != null)
             OnConnected(this, EventArgs.Empty);
     };
 }